[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