Nokia’s developer-related press release yesterday was mainly about solely using Qt going forward to develop for Symbian and MeeGo. This applies both internally at Nokia and to 3rd party developers. In the future, the built-in phone applications will be written using Qt itself.
However, having read a post by Gorkem Ercan (who works at Nokia on the Java platform), I think Nokia’s changes are as much about UIs as they are about tools and operating systems.
First, lets look at what we have previously been told. Symbian^4 was to have a new UI called "UI Extensions for Mobile", previously codenamed "Orbit". This is the new UI to match (or beat?) that provided by the iPhone and Android. The new UI (pdf) was built using Qt and looks something like this…
One problem with the UI was that it was going to totally supersede the S60 Avkon UI Framework thus making all past 3rd party applications incompatible. This sort of made sense because you don’t want both old and new style UI apps running in the same phone – it would look a complete mess.
At the same time, Nokia was working on a new UI for MeeGo called MeeGo Touch. Again, this was created on to of Qt. The developer guidelines show it looking something like this…
Referring to Gorkem’s post we are told that "Orbit UI and its sister MeeGo touch now vanishes and Qt and the new Qt Quick becomes the main developer focus for Nokia’s internal and external developers."
As Gorkem puts it these UIs "did not provide a superior solution to a technical problem". In other words, they were not good enough. This has serious implications. It also explains why MeeGo has been delayed.
So what’s the future for Nokia’s UIs? Here are some observations and thoughts.
- The previous Orbit and MeeGo Touch efforts were too separate. Although Nokia proclaim the benefits of cross-platform development using Qt, the UI part would have used different libraries for Symbian and MeeGo. As a third party developer (or even a developer at Nokia), this isn’t what I want if I need to move my app between the platforms.
- The example images above are surprisingly similar. Any re-worked Symbian/MeeGo UIs might also be similar. If they are, why can’t they use the same developer API but display (adapt) differently on the different devices/OS platforms?
- Taking this further, a more radical approach might be to have the same UI on Symbian and MeeGo. Nokia has proven it’s difficult for them to create just one great UI so why double the problems (and costs)?
Many Nokia N8 users are celebrating that they were told yesterday that their Symbian^3 devices will be getting incremental improvements that will take them to what would have been Symbian^4. I currently don’t see how this can happen technically without allowing both new and old UIs to co-exist on the same phone (which is messy) or breaking support for older (Symbian) apps. I suspect it will be the latter now that Symbian won’t be a development option. I suspect the compatibility promise will be just for apps developed with Qt.
Update: After I wrote this, Gorkem updated his post to say… "The good folks on Forum Nokia has informed me about MeeGo touch. Appearently, MeeGo touch is not going away immediately in Harmattan, however it is not the recommended UI toolkit.". I am not sure this changes much. "not going away immediately" and "not the recommended" seems to imply it will eventually disappear.