[sugar] Review of Build 539, firmware Q2C18

Ivo Emanuel Gonçalves justivo
Sat Sep 1 15:18:53 EDT 2007


Warning: This is long.

This is a review for Build 539, firmware Q2C18.  It's somewhat
outdated, what with new builds and firmware versions available, and me
being busy and also meticulous with my tests.  Hopefully, most of the
points addressed will still have some use to improve the laptop.

Build 539 was my first upgrade.  I previously used the stable build of
the 400 series (can't remember the exact number, I think it was 438)
that came by default on this B4 system and, in the process, I wrote a
review of it[1].

_The upgrade process and the new Sugar_

The first thing I noticed after upgrading was that the boot process
took a bit longer.  Or at least I think so.  Not being able to
benchmark it against the older system, I have no way to know if it was
a placebo effect caused by my expectations.  Still, the upgrade
process was pretty nice and easy.  I liked that.  I wonder though how
many updates will the disk drive support before it becomes corrupted.
It's a flash-based media, after all.

When Sugar loaded, I noticed three things: new programs, an
application already loaded with an icon similar to Write, and a
triangle.  I thought the triangle was a notification that there was a
device mounted: my USB pen drive.  Hovering the mouse over the
triangle showed a large black rectangle, as if the information was
corrupted or there were missing font glyphs.  I didn't know what it
was at the time, but later I found out it was a notification of a
wireless network close by.  Speaking of graphic glitches, I noticed
that sometimes after the battery is discharged, and I put it charging
again, the battery notification reports that "the battery is fully
charged", which is obviously impossible.

The icon similar to Write turned out to be Journal.  It loads by
default, so it must be a central piece of the XO experience.  I have
to confess though that besides listing previous activities that I have
gone through it doesn't seem to have any other purpose.  Am I mistaken
or is this not much of an important feature?

The Journal was my first experience of the new Sugar interface menus,
and -- I have to confess -- wasn't a positive one.  I loved the
simplicity of the early Sugar interface.  Now, I see an aberration in
the history of Interface Design: options split by tabs.  By tabs!  I
don't have screenshots, but use your memory.  The Abiword of the 400
series had a beautiful, simple interface.  The Abiword of build 539 is
a mess, complicated by a clunky, unintuitive interface.  Even the
Open/Save buttons are gone now, and it does feel clunky and confusing.
 Yes, it now allows space for tables and, yes, it now has these handy
mesh activity options, but I do not think the overall effect is well
conceived.

I have been thinking how to improve the interface and, while it may
not be the best solution, it is a fine proposal to consider.

_Proposal to improve the applications' interface_

My first suggestion is to get rid of the close button, which is placed
in the activity tab.  Have kids use the keyboard instead by making the
close key there (Esc key on a normal keyboard) actually do something
and close any of the Sugarized applications.  That's one less button
to worry about.  It's pretty annoying when you are working in an
application, say the browser, and when you want to exit it, you need
to switch to the activity tab to access the close button.  Not a good
approach to interactive design, in my opinion.

I also suggest making the activity not the default tab.  Yeah, the
meshing activities are a vital part of the system, but are they more
important than basic operations like Open/Save?  I don't think so.
Make it non-default and push it to the far right, so it will be in the
same location on every application.

Finally distribute the remaining buttons not by topic, but by
importance.  For instance, in Abiword the children will rarely use the
table functions or insert images.  While distributing options by topic
may at first seem logic, it makes a bad experience interactive-wise,
as children will have to move from tab to tab frequently.

With less tabs cluttering the interface it will be easier to make it
simple and beautiful again.  Maybe even go as far as get rid of the
tab bar, and put those options on the button bar, where they will
collapse right and left according to where the user clicks.  Nifty
effect that may be.  It would please the children and make the
interface that much less cluttered.

_Applications_

Hey, new programs!  This must be a video player and, what's this?
Connect?  Hm, where's the Reader?  Write, Watch, Browse...  No "Read"?
 Yeah, I guess everyone noticed by now that the icon for Read is (or
was) missing.  Anyhow, I had to find a way to open it somehow.

The terminal was of no use; I could not guess what command was needed
to launch the program, which is okay really; it's not like the
children will need to do the same.  It turns out the browser can be
used as a very basic file explorer.  It resembles somewhat the
directory listing of an Apache server.  Through it, I managed to
access my pen drive and try to open a PDF book.

Surprise!  A left sidebar showed up.  It seemed like your typical
clipboard, listing the file.  From there, I was able to click "open"
and get it to load on the Reader.  Yeah, it was here and with the new
interface.

Strangely enough, doing the same thing with an OpenDocument Text file
didn't work.  While the file did appear in the sidebar, the "open"
option was disabled.  Disappointment ensues: I expected Abiword to
open it.  Abiword appears not to be the default application for
ODT[BUG].

So, my pen drive was auto mounted by the system.  Nice.  This was a
much needed feature from the previous version.  Two problems showed
up, though: I cannot unmount it through the CLI, even as a root[BUG],
and it is mounted without the noatime option[2], which degrades the
amount of writing times I can get out of it.  Not good.  It's also (as
of this build) appending a .olpc_store folder to the drive's root,
which I see no use for.  I suggest not letting this "feature" stay.
Personally, I have always hated OS X for doing this, so why mimic it?
Is there any performance gain from doing it?  Any advantage to the
user?

And speaking of the CLI, the XO's terminal emulator is now quite
unstable graphic-wise.  By unstable, I mean that when I use auto
complete (by pressing the Tab key) the command completely overlays
that same line, usually hiding the path and part of the command
itself[BUG].  This bug, which did not happen in the earlier version I
used, seems to be caused only by auto completing commands.

Back on Abiword issues, whatever happened to the Open/Save buttons?  I
am now forced to use the keyboard (Ctrl+O and Crtl+S) to access these
features.  Nothing wrong with using the keyboard, but how are the
children going to find out the shortcut keys?

Abiword strangely continues to support the Microsoft Word .doc format.
 Why?  I have previously shared my thoughts on this subject, but short
and sweet: the same way the XO does not support MP3, it should not
support .doc.  By doing so, you are allowing those who will work on
Open Education material to overlook the fact they should use Open
Media formats.  If their office suit only spawns .doc, and that works
on the XO, why should they care?  That reminds me of the time my test
machine was arriving and someone from the OLPC project sent me a
whooping 10 Mb .doc file over e-mail, which was supposed to be the XO
manual.  C'mon people!  If you do not give the example, nobody will.

_Suspend mode_

The power button used to turn off the whole machine.  Now, it suspends
the laptop.  While I'm not a fan of Suspend, it is a laptop-thing, so
it's at home here.  I found two problems, though:

1) When you suspend the XO, it will turn on automatically in about
eight or nine minutes without any interaction from the user[BUG].  It
will also forget the brightness levels and put them back on maximum.

2) Powering off via Sugar or Terminal's halt command sometimes doesn't
completely shut down the system[BUG].  It is only occasionally, and
I'm not sure yet what causes it, but when it does happen, the shut
down sequence is not 100% successful.  Even though the screen is
turned off, lights like the battery, or even my pen drive showing
activity stay on.  When this happens, the only way to power off the
machine is to press and hold the power button for a while.  There was
one occasion when not even that worked, and I had to take out the
battery.

Another thing I noticed, is that the screen now turns off after a
while when the XO is idle.  Pressing a key or using the touch pad
turns it back on and, here's the surprise, the brightness level is the
same as before, which is something that doesn't happen with Suspend
mode.

On the subject of level preserving, here's an issue that affected both
this build and the early 400 series: the ALSA Mixer levels[BUG].
Volume and PCM is always configured on the maximum and that's pretty
annoying, since changing the volume matters little for the Mixer since
it restarts to default levels at booting.  Every time I turn on the
machine, if I forget to low the volume, my ears bleed as I use
headphones.  I rather not affect my hearing capacity, and I doubt
anyone else wants that either, so please fix it, so the Mixer doesn't
reset the audio levels at every boot.  Bleeding ears!

_Other nitpicks_

The Open/Save dialog is the standard GTK one.  I believe someone
commented on my first review that this would change in the future.
Right now, it's here and showing the olpc home and the entire Linux
file system.  One of the new additions as of this build is the Search
option at the top, which I agree to be a good idea.  I think it should
hide the file system and show only /home for the user files and /media
for the external disks.  /home/olpc should be renamed to the user's
name, though.  Or to Documents, or something like that.

When I open the browser, instead of the internal library that was
available in the stable build (whatever happened to it?), the browser
now defaults to //google.es.  Google.es, the Spanish version of
Google.  Why?  I'm not Spanish.  The kids in Africa either speak
Portuguese or English.  So, why?  In case of doubt, use the standard
google.com.  It tends to examine the IP of the user and present Google
in the user's language, as well as prioritizing search results in that
language.  A much better deal I would say.

_Proposal: Add Comix_

Comix is a Python application to read comic books, usually compressed
in ZIP or Tar files (and 7z in the future).  It can also be used as a
normal image viewer, which is useful considering that watching a bunch
of pictures through the Browser or Paint, one by one, is not very
efficient.  Very seriously so, I would say.  Hence, I believe Comix
would be a good addition to the XO library of applications.

_Proposal: Create a Game DevKit_

This was a random thought I got while writing this review, but bear
with me.  One way to bring in companies to produce educational
software and games for the XO is to provide them a proper DevKit,
optimized for this hardware.  It's unlikely that the XO will change
drastically in the near future, it has a SD card reader, and even game
play buttons near the screen.  It's crying to be turned into the GP-32
of educational material and games.

I suggest getting someone to assemble a nice and simple DevKit to send
companies.  Making it available to the public is also a very good
idea.

Maybe this was already considered.  If so, what's the status?

_Open Media Review_

And in this section ends my review.  While all points above are listed
in an attempt to improve the system, what I really have been testing
the XO is for Open Media compatibility, so let's go over it.

The Video/Audio player was a very nice addition.  I don't know what
it's based on, I suppose a GUI build especially for Sugar.  I assume
the backend to be gstreamer, like SJ told me in the one occasion we
met.

User-wise it has a few faults:

1) In the Import menu it states it can support pretty much anything
under the Sun, especially proprietary formats.  In fact, the only
thing I have been able to play in it were Theora and Vorbis files.
More on that later.

2) It only allows to open file by file manually.  It doesn't allow to
create a playlist.

3) Opening a file is annoying.  After browsing for it, I have to
reconfirm it is the right file by clicking OK.

Back to the Open Media review.  Watch plays only Theora and Vorbis.
This should be changed, in my opinion.  Watch should be able to _at
least_ play Theora, Vorbis, FLAC, and Speex.  It should also be able
to interact with XSPF playlists and the Matroska container (when it
contains Open Media formats).

The Watch developer(s) should also take in consideration that now the
recommended file extension for Theora (and for all video in Ogg) is
.ogv, while the MIME type is video/ogg.  Ogg FLAC (which is FLAC
within Ogg) is now .oga and audio/ogg.  Speex and Vorbis MIME types
have changed to audio/ogg; however, their file extension is kept for
backwards-compatibility.

Dirac and Wavpack support may also be considered.

Regarding SVG, it is a shame that the only SVG parser available is the
Gecko browser, which is still far from being compatible with the SVG
standard.  That's a fault of the Gecko developers, but also of the SVG
standard itself, which is quite complex.

Regarding XSPF, there's no support at all.  Neither the browser, nor
PenguinTV, nor Watch may interact with it.

Regarding Speex and FLAC, it is strange that their command line tools
are actually available.  The command line tools are of no use to the
children, though.

Regarding Theora and Vorbis, I hope that the browser will be updated
to use the patched Firefox <video> and <audio> support elements of
HTML 5, when said patch becomes more mature.  Those elements will
completely deprecate the need for Adobe Flash to interact with media
content over the Web.

Furthermore regarding those two, I noticed that they are the format
used by the Record software.  Theora is a good option.  Vorbis isn't.
Or rather, it isn't a bad option, but there are better, namely Speex.
Speex is totally optimized for voice alone, while Vorbis is a general
purpose codec.  The combination of Theora+Speex is possible -- that's
why those formats use the Ogg container.  All Xiph codecs may be mixed
inside Ogg in all kinds of imaginable combinations.

SJ mentioned that there were a few issues with Theora encoding.  Be
sure to forward them to me, or to the Theora-dev list at Xiph.  We'll
try to help in what we can.

_Final words_

You will notice [BUG] split throughout the review.  I intended to
submit those issues to Trac, but every time I have tried lately,
either Trac is down, or it doesn't allow me to login.  I gave up for
now.  This review has been too delayed, and I rather release it now
than when it becomes even less relevant.

I wish I would be more active in the community development behind the
XO, but this hasn't been possible so far.  Still, I am trying to help
in what way I can.

Keep up the good work.

For what it's worth, I release this work under the Creative Commons
Attribution License 3.0.

Best regards,
Ivo Emanuel Gon?alves,
Xiph.Org Foundation

[1] http://lists.laptop.org/pipermail/devel/2007-July/005922.html
[2] http://dev.laptop.org/ticket/2854



More information about the Sugar-devel mailing list