Balancing simplicity with complexity
sean at openmoko.com
Mon Aug 20 18:08:07 CEST 2007
A top ten complaint that we have received is directed at our user
interface. Many people feel like the current interface doesn't address
their exact needs. The organization is not "intuitive"; the colors are
not pleasing; there is no simple way to navigate "exactly" where you
want, exactly when you want.
All Hardware has limits. All FOSS runs on hardware. Our current
interface (OM-2007) was drawn almost in it's entirety before our
designers had seen a working Neo. We had to live without an embedded
stylus in the current version. And we had to learn to adapt to the lip
on the touch screen preventing us from using interface elements on the
edge of the display -- prime real estate regions. It was tough. We
pressed on, faithful in our belief that our community would overcome
this limitation and begin exploring our new found oceans.
Personally, I feel that one of the most important areas for this project
is the development and exploration of the mobile user interface. The
human-machine interface is the intersection of art and technology. Great
interfaces blend the visual with the technical. They balance simplicity
with complexity. Often times, I feel, really great new interfaces are
not immediately intuitive. They are not instantly natural. In fact, I
would even argue this can be detrimental to improving interface design.
If an interface is to be superior it must be different. Therefore it
can't be intuitive, that is, familiar. A better metric, perhaps, is the
learning time it takes until the interface feel's natural and intuitive.
Now that we have freed phones, everyone can contribute to an improved
baseline interface. This is our collective challenge. Can we create
something truly different? Can we lead this incredibly important field?
Recently, emails have been pouring in, questioning the community's
ability to make our user interface into something insanely great. While
some doubted, others stepped up. Thomas Wood, of our extended team (AKA:
OpenedHand), sent an email, entitled, "OpenMoko Design Suggestions"
proposing -- in detail -- a redesigned interface concept that was
totally finger-based, optimized for GTK+ at 285ppi and, might I add,
very cool looking.
We went back to the drawing board with OpenedHand -- lead by their vast
experience with GTK+, Matchbox, and mobile user interfaces -- and
redesigned an incredibly promising new interface.
Today I'm extremely excited to announce that everyone can find this,
right now, in our subversion repository, under the name OM-2007.2. We
have already converted the following applications to the new framework:
You can find an official snapshot here:
The remaining applications and wiki specifications will be converted as
we approach phase 2. We have new style guidelines here:
Here's a list of the major changes we've made with respect to this new
1) We redesigned the user interface to better fit both the hardware
capability of the Neo and its physical form factor.
2) Performance was improved by streamlining the visual appearance, still
keeping it attractive, but at the same time lessening the resource
impact. The current design allows for further future performance
3) We vastly simplified the UI design and optimized the available screen
real estate and physical characteristics. This included the following:
* Improved the interface clarity by taking into account the screen's
* Allowed functions to be accessible using less accurate finger
methods with requiring the stylus.
* Placed common functions on easy access prominent buttons and
increased the button target areas.
* Reduced the number of objects on screen at once by splitting
applications into tabs and redesigned the application layout.
* Added more natural interaction methods, such as finger scrolling.
* Removed some unnecessary elements such as the footer. Improved
usage and accessibility of existing ones.
3) Application management and navigation is now improved by with a
completely rewritten today app and by using the Neo's hardware keys.
4) This is now an interface that uses the strengths of our toolkit so
that we can keep the extra framework and developer learning curve to a
Please keep in mind that this new interface is still, very much, a work
in progress. This is the earliest possible stage than we can release
something with enough of a framework for you all to start exploring.
It's a huge advancement in balancing simplicity with it's digital
antagonist -- complexity.
Also, thanks to Jon Phillips help, we've finally got around to licensing
our artwork for this new interface under Creative Commons (CC BY-SA 3.0).
The introduction of OM-2007.2 goes hand in hand with merging the
OpenMoko OpenEmbedded overlay into the upstream repository
org.openembedded.dev. We are now based directly on the upstream metadata
found in OpenEmbedded and synchronized with the most recent developments.
Here are a few examples many of you have requested:
* dbus 1.0.2
* glib 2.12.12
* Cairo 1.4.10
* Gtk+ 2.10.14
* GStreamer 0.10
Finally, we are very close to publishing our extensive software roadmap
covering plans for adding more exciting software components and
detailing areas where you can get involved and help us reach our goal of
freeing phones around the world.
Stay tuned for more information!
The OpenMoko Team.
More information about the community