Kate is maemo chief engineer in Forum Nokia,
She has long Linux/Open Source developer background.
kate.alhola | 11 April, 2009 06:31
After having several questions and face to face discussions in Linux Foundation Collaboration Summit I think that I should tell to wider audience what I had in my mind. I had a presentation titled Animated UI technologies in maeemo 5 "animated_ui_elc_2009.pdf" and I have been talking about Maemo Qt since last summer. Once again I needed to answer questions about what Nokia will do with Gnome.
I remember when I saw first Clutter demo in Guadec 2007, my immediate reaction was that I want this to maemo. We hacked internally Clutter to work in N810 but due legal reasons we were unable to release needed OpenGL-ES drivers for N810.
I also did experimental Qt port for maemo based Qt 3.3.4 but once again it was depending some non public files in these days. Then pieces started to get together.
Summer 2008 we Hired Antonio Aloisio for doing Qt maemo port and in Maemo Summit September 2008 Nokia announced that Next generation maemo device will have OpenGL-ES2.0 support. When Maemo 5 Alpha SDK was released in March 2 2009, we released same day Qt 4.5 with OpenGL-ES2.0 support for Maemo. Same Qt 4.5 port will also run in maemo Diablo but without hardware acceleration. Now we were in situation where all pieces were in their places and developers could start developing animated UI for maemo.
We saw quickly results like Kaj Grönholm's http://kgronholm.blogspot.com/2009/04/qt-animation-framework.html animation example or morpheuz animated layouts example http://labs.morpheuz.eng.br/blog/04/04/2009/more-update-about-animated-layouts. The nice thing is that in Kai's example Qt4.5 performs well in N810 even without hardware acceleration.
In my opinion, the future in mobile platforms belongs to the animated UI, it is not just for wow effect, but more importantly, it also it allows to improved usability in small screen mobile devices that are mainly used with finger.
I try strongly emphasize that developers should give up in their mindset about old static 2D widget UI model. Time is to innovate new better ways to build user interfaces. The animated UI toolkits like Clutter or Qt GraphicsView/Kinetic are no longer same thing than old GTK+ and UI design simply has to be done differently than thinking about boxes, what is stored in the box, menu items and the like. It may be hard to some to give up in their minds their old comfortable GTK+ or Qtopia and learn to think the new way.
The animation toolkits are not the only new thing to learn. We can do scriptable UI where actual user interface look and feel is defined by Javascript and XML files or use embedded browser technology to build user interface.
The legacy GTK+ applications will still run in maemo 5 and most of applications still are made with GTK+ but I just would like to advice developers of new applications to check out the Animated UI technologies and the vast possibilities for usability they offer. I also remind that Gnome and Qt are still based on same Free desktop foundation layer technologies like Dbus, Gstreamer, Telepathy, Pulse audio etc. They remain same even if we do user interface by new way.
Comment to about consistency.
The stupid Blog tol did't allow me to comment my own posts :(
Now is time for innovate, time to get ideas to converging consistent UI comes afterwards.
We have realized this issue and we are working on it. But we need to proceed step by step.
We have taken lot of steps to release Fremantle Alpha SDK, Qt 4.5 for Maemo. Also in Qt SW the QT-Kinetic is still in Qt-Labs. Next steps will follow but i think that also developers should prepare their way of thinking to this new technology and not be stuck in old world.
Consistency continued
I did not say that we are not working for consistent animated UI, I said
that we must proceed step by step, building stone by stone.
I did not say that consistent UI is not required. Don't even
think that Alpha-SDK pre-pre releases of software are ones
that we are going to release as final product.
There is two choices, we can release code and SDK step by step so that
developers can make them familiar with new features or we can keep
everything closed until in some day we have all consistent new UI.
If you like to use animated UI when we have all consistent UI, you simply
can ignore all our alpha SDK's and wait until we have final version out.
I think that majority of developers rather see open development model
from Nokia when we release lot of development versions before final product.
kate.alhola | 08 April, 2009 21:27
The Embedded Linux Conference 2009 is over. Small but technical conference in nice San Francisco Japantown. I will be there also participationg in Linux Foundation Collaborations summit listening to presentations.
In Tuesday evening we had a demo session where I was running maemo on Beagleboad. It looks like Beagleboard is going to be popular hacker toy. I wrote in my Hotel room small demo how to use Qt for animation to make picture carousel, it just took couple of hours and few dozens of lines of code. I run code in both Scratchbox and Beagleboard but it was possible to demonstrate actual compositing window manager feture only in Beagleboard.
The Animated UI technologies in maeemo 5 Fremantle can be found here animated_ui_elc_2009.pdf OpenGL-ES2.0 looks like being the thing that raises more and more questons among the developers. Even if OpenGL is not new any more, many developers are still using OpenGL 1.0 style API's and now that the OpenGL-ES2.0 forces to use programable shaders, it is big change. Writing animated UI looks also being an area where a lot of new technology development happens. Now is the time for new ideas and lot of paralel development happens at the same area. Then later comes time for convergence .
The Maemo 5 Fremantle presentation is here fremantle_elc_2009.pdf.
Modified 9.4.2009 After demo someones asked source of the simple Qt animation demo i had running in beaglboard. There is source gt4.tgz, feel free to look and try it.
kate.alhola | 05 April, 2009 21:28
I have two maemo related presentations in Embedded Linux Conference in San Francisco . Monday 11:00 i have "Animated UI technologies in maemo 5" where i tell more about new UI enabling technologies like OpenGL-ES2.0, Clutter and Qt .Tuesday 2:30 pm i have "Maemo 5 mobileLinux environment with cellular connectivity" where I tell more about what is Maemo 5 .
There is in Tuesday evening demo session. I demonstrate Beagleboard running maemo Fremantle alpha.
ELC is arranged co-operation with Linux Foundation Collaboration Summit in same location . ELC is April 6..8 and Collaboration Summit April 8..10 . I will be there around all of the week. There is some well known persons from Maemo community having presentation in Collaboration summit .
If there is maemo developers around and like to talk, feel free and come to talk. May be we can arrange some informal maemo meeting there also .
I will be in San Francisco area untill April 27, i will kep there couple of weeks my vacation .