[sugar] Sugar Clock

Gary C Martin gary
Tue Oct 14 18:09:10 EDT 2008


On 14 Oct 2008, at 18:40, Benjamin M. Schwartz wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Eben Eliason wrote:
> | On Mon, Oct 13, 2008 at 6:53 AM, Carlo Falciola  
> <cfalciola at yahoo.it> wrote:
> |> Carlo : nowhere in the default GUI there is a clock, even if, in  
> the
> control panel there is a panel to configure it. I think that personal
> watches are maybe not so easily owned by kids around the word, so a
> standard clock could be a little, but welcomed feature. (not talking  
> about
> the clock activity that it is more a "learn to read a clock" thing  
> than an
> everyday tool). any feedback and suggestion regarding how and where to
> put/show it are welcomed.
> |
> | I personally would like to see this built.  I've always thought  
> that a
> | "clock device" would fit perfectly into the bottom edge of the  
> Frame.
> | I'd really like to see us rework the devices a bit so that they are
> | more naturally "pluggable" (at most, the user would only have to add
> | one directory at some location in the system to add a new device).  
> In
> | the future perhaps we can extend this to a user-facing management of
> | installed devices.
> |
> | Apart from the trickiness (and potential CPU hit) of dynamically
> | updating the clock icon (I envision an analog clock here, with  
> digital
> | display and date and/or calendar in the palette, so granularity  
> would
> | be on the order of a minute or so).
>
> There are a few issues here:
>
> 1. The current Sugar icon system is problematic in general, and  
> especially
> in this case.  The Frame Device code does not allow arbitrary widgets.
> Instead, each device must specify a discrete group of SVG icons.  The
> device may then select one of these icons to display.  I tried to  
> build a
> frame device clock, but gave up when I realized it would require
> generating hundreds of different icons.  (The same problem affects the
> "signal strength meter" icons representing each network, which are
> naturally continuous, but are drawn by selecting one of about 10  
> different
> fixed icon shapes.)
>
> Fix: change the frame device system to allow arbitrary widgets, or at
> least arbitrary pixmaps.

When you suggested the clock device icon some time back I thought it  
was a great idea, and great place for it to live. Hmmm, I wonder how  
many tricks the current svg pipeline supports (probably not many),  
animation as part of the svg image definition was quite a core part of  
the original idea. However, I wouldn't be surprised if it's not  
supported in the tool chain we have.

> 2. The current power management system on XO provides no timed  
> wakeups.
> Timed wakeups require significant work in both the kernel and EC.   
> As far
> as I am aware, no one is actively working on this.  Without timed  
> wakeups,
> the system could easily suspend with the clock displayed, freezing the
> time and misleading users as to what time it is.  Until we have  
> timed (or
> periodic) wakeups, a clock cannot be part of the default view,  
> because an
> incorrect clock is worse than none at all.
>
> Fix: Relegate the clock to an Activity, which can inhibit suspend when
> visible, to ensure that the clock updates appropriately.  Work on EC- 
> based
> timed wakeups.  A good intermediate target might be to have the EC  
> wake up
> the system every 60 seconds without hooking into the scheduler at  
> all, so
> that any wakeups scheduled in the previous minute (e.g. from the  
> presence
> service) can fire.

All good points.

> 3. Analog clocks are deprecated.  Outside of the West, clocks vary  
> widely,
> and 12-hour mechanical circular dial clocks are by no means the  
> norm.  In
> Europe, 24-hour digital clocks are the most common type.  Even in  
> the US,
> children often have difficulty reading small analog clocks until  
> late in
> middle school, because virtually all such clocks have been replaced by
> digital displays.  The small XO screen will make an analog clock  
> icon even
> less legible.

I'd want to argue with this somewhat :-) Not that you're wrong, but  
teaching kids to read analogue face clocks helps maths, fractions,  
ideas in geometry etc. I'd also vote that an analogue clock face would  
be much more in keeping with the Sugar UI and HIG. Digital, as I think  
Eben mentioned, could be in the palette pop-up, allowing both analogue  
and digital to be displayed together, again a help for learning how to  
read time.

> Fix: Draw a digital clock to 1-minute precision using a simple GTK  
> text
> display.  Format the time according to strftime's %X or %c.  (See
> http://docs.python.org/library/datetime.html#strftime-behavior)
>
> - --Ben


--Gary



More information about the Sugar-devel mailing list