[Cuis] Fixing the Taskbar

H. Hirzel hannes.hirzel at gmail.com
Wed Jan 1 08:58:04 CST 2014


Hello Ken

I just read the code of your taskbar implementation and re-read your post below.

It is amazing that you managed to implement it in two classes only
with just 110 lines of code. A good illustration how  to use the
Morphic implementation of Cuis.

See my question about the dash board below.

Regards
Hannes


On 10/31/13, Ken Dickey <Ken.Dickey at whidbey.com> wrote:
> On Thu, 31 Oct 2013 08:44:09 -0700
> Casey Ransberger <casey.obrien.r at gmail.com> wrote:
>
>> Iconic representation of "task" (or really, "activity," task is so
>> age-of-productivity and we're quite over that for the most part I think)
>> to my mind is still of value. The hard part is to decide when to use an
>> iconic symbol and when to use zooming. Obviously if having zoomed out, one
>> can't make sense of the zoomed-out thing by looking it, the zooming
>> strategy has failed. Beyond that, it's hard to think about, because I've
>> never used a zooming interface before.
>
> I think of two main metaphors or roles for a Taskbar:
>  [1] A historical set of visual "bookmarks" to take me back somewhere (bread
> crumbs/Adrian's thread).
>  [2] A Dashboard -- instruments reflecting my current focus in the world.

At the moment there is a clock in the dash board.
There is an instance variable for it but it is not used (currently nil).

Taskbar>>initialize
	super initialize.
	viewBox _ LayoutMorph newRow.
        "add dash board"
	self
		addMorph: UpdatingStringMorph initializedInstance
		layoutSpec:  (LayoutSpec morphWidthProportionalHeight: 1.0).
	
        "viewBox contains the minimized windows called 'TaskbarTasks' "
	
        self
		addMorph: viewBox
		layoutSpec: (LayoutSpec
			proportionalWidth: 1.0
			proportionalHeight: 1.0
			minorDirectionPadding: #right).
	viewBox separation: 5


The question is -- what else could the dashboard be used for?

>
> As to place (Where are we?) there are two main parts:
>  [A] Location  (<X/Y/Z>, <E-W/Up-Down/N-S>, <Rho/Theta/Depth>,
> <transforms>...) relative to an origin <0/0/0>.
>  [B] Scale/Magnification  ( <ratio>, <percent>, ...)
> and possibly
>  [D] Direction of view
>
> So I have a current location relative to some "center of the Cartesian
> universe" seen through zero or more transforms.  One can think of describing
> a camera position with a lens which magnifies/reduces/...
>
> Things I might want on my dashboard include a clock/calendar, current
> location (map & compass, altitude, pressure, weather forcast), topical
> interests (stock market, ocean temperatures, list of current tasks/to-do's,
> ...), heartbeat (VM is alive and sending steps), connections, ...
>
> Given these two basic orienting viewpoints (dashboard, visual locations) I
> need a way to get to my toolset and a way to (re)configure the Taskbar.
>
> Back to current Cuis and setting the stage for the future: we have a
> baseline scale (1) and location (pixels=X/Y, delta-Z=0) for graphical
> entities.  We have morphs for which we can display thumbnails.  As the
> morphs are live, today they might broadcast a #appearanceChanged event which
> means "Taskbar, update my icon".
>
> Note that some morphs might like to display themselves differently at
> different scales.  E.g. a Clock might go from analog to digital format when
> displayed at a small scale.  A clock could "triggerEvent:
> #appearanceChanged" every minute/second to update the clock display.
>
> Where am I?
> What can I do here?
> Where have I been?
> What can I do/Where can I go (planning)?
>
> The Taskbar can be a meta-compass to help orient and remember.
>
> What is the simplest thing that will work?
>
>
> -KenD




More information about the Cuis mailing list