Sean has made his announcement, so I’ll take a little bit of time to explain what happened.
We (myself and assorted others) at OpenedHand have been working with OpenMoko for the best part of a year now. We have been porting applications such as Contacts and Dates and helping develop new applications and libraries such as the Dialer and libmokojournal (an interface to the journal component of iCal, via ECal in Evolution data server).
About three or four months ago we noticed there was growing concern within the OpenMoko community about the GUI design. We had already noted some of the issues that were being raised, so we had a meeting at OpenedHand and discussed all the various problems and design issues and came up with some possible solutions.
|Old style UI|
- The theme was over complicated and caused serious performance problems. We had already looked into various patches and workarounds, but it was still difficult to get good performance from it.
- The GUI design was not adapted for small screens with very high DPI. There was lots of padding and spacing between elements in the UI, which meant small hit target areas and an increased sense of clutter. There were also a lot of lines and borders which again meant the interface looked very cramped on a small screen.
- Most of the interface was not usable with a finger input method, it had to be used with a stylus. This was a particular problem because the Neo1973 does not have a stylus holder.
- The top and bottom panels were very small and not very effective. The footer was also redundant most of the time since very few applications used the “status” area.
- Scrolling was supposed to be implemented with a “scroll wheel”, but most users didn’t understand how this worked. Otherwise traditional scroll bars were used, which are often difficult to use on touch screens.
- The design for stylus applications was split into two panes, displayed on the screen at the same time with a toolbar through the middle. This meant that neither pane was very useful because it ended up being too small to fit on the screen once you included the on screen keyboard. The toolbar buttons were also small and it was unclear what they should apply to.
- Task management was difficult, as there was no way to switch between windows of a current application and there was no standard way of switching applications.
- The application framework was difficult to maintain and we often spent more time fixing the extra widgets rather than building our own applications.
|New style UI|
One of our primary aims was to reduce the amount of extra widgets and framework built upon GTK+. Therefore, the theme design pulls on the strengths of GTK+ and the interface design can be implemented without using any custom widgets. This improves performance and cuts down on the amount of maintenance and bugs in the framework. We also worked on creating a set of guidelines, that would explain how developers should design and layout their applications in a consistent way.
- The theme was redesigned and made more suitable for the high DPI of the target screen. It was also made simpler which improves performance. There is also the possibility of using a custom GTK+ engine in the future to improve performance even further.
- Each application was split up into “pages” which represent a single interaction point such as browsing a list of contacts or dialing a number. This reduces the amount of information on the screen at once, providing a simpler and clearer interface.
- The toolbar was moved to the top of the screen and increased in size. This provides access to functions relevent to the current page
- A “switcher” was placed at the bottom of the screen that allows the user to switch to a different page. This is actually a standard GtkNotebook with the tabs displayed at the bottom.
- Scrolling would be possible by dragging a thumb or finger up and down the list. Chris has already mentioned his work on this.
- A new Today application that would incorporate a central place to start and manage applications as well as giving the normal overview on missed calls, unread messages, etc. This is quickly accessible from a hardware button on the Neo1973.
Over the last two months, we have re-written the Contacts, Dialer and Today applications to fit the new design. We are also working on a new version of Dates.
So now all the applications should be reasonably accessible with either using a finger or a stylus. The conversion path for “desktop to phone” should be a lot simpler and it will be fairly easy for anyone with GTK+ knowledge to start developing applications that will look and feel like they belong in OpenMoko.