Symbian & Maemo’s platform-specific UI frameworks – stop the madness
I must start this post with the disclaimer that these are my opinions, not those of my employer.
Recently I’ve become increasingly concerned about the different development paths Nokia is taking with its Qt-based UIs for Symbian & Maemo. The big promise of Qt, which Forum Nokia is busy touting at every event, is code-once deploy everyhwere. That is, it’s cross-platform – you shouldn’t have to make big changes to your code for it to look like a native application on any of the supported platforms.
However, reality in the mobile device world doesn’t appear to be turning out this way. Of course pure Qt applications will run on both platforms but that’s very misleading. As Kate Alhola made clear earlier this year, the future of mobile UIs lies with the animated UI technologies. In the case of Qt this is specifically those built around the Graphics View architecture and animation framework. This technology is still very much in development within Qt itself and there is only a set of tools to build such UIs, no common set of widgets or full UI framework yet.
As such, Nokia needs to build these widgets for their devices, and developers will need to use these, not the standard QWidgets that are available now to have great looking interfaces that match those of the devices they run on. Unfortunately it seems pretty clear for those watching the details that Nokia is building not one common set of widgets, but two separate ones – one for Symbian (called Orbit, or the Symbian^4 UI framework as it is currently being renamed – I posted about this change for Symbian here) and one for Maemo (the Maemo 6 UI framework).
Now, if Qt can be a complete application framework that abstracts away the details of everything from desktops down to phones and coffee machines with a single API, then it’s clear that it isn’t necessary to have separate UI frameworks for two platforms as similar as Symbian & Maemo. I was pointing out 18 months ago (in the comments to this post) that you can build completely different looking UIs with the same framework, and Qt proves that. I can believe that perhaps there isn’t time to build a complete animated UI framework for Qt that works across all platforms in the timescale of the Symbian^4 & Maemo 6 releases, but to not even try to make a single framework work across both of Nokia’s own platforms is completely messing up the implementation of an excellent strategy. Doesn’t Nokia want to be able to create beautiful apps that work on Symbian & Maemo with a single code-base too?
I also ranted about this on a Maemo Talk thread on the subject yesterday, if you want some more detail.
What I believe the Symbian and Maemo teams in Nokia need to do now is get together and fix this before it’s too late. Start by sitting down with the Trolls and agreeing a naming convention. Maemo 6 UI framework has DUIxxx classes and Symbian^4 UI framework has Hbxxx classes (you can’t actually look at the code for the Symbian version yet, but Hb comes from the details provided on the Symbian Foundation wiki). My first suggestion would be that they move to P-classes. P comes just before Q in the alphabet and can handily stand for "prototype" since that’s really what these things are in my eyes before they become fully fledged Q-classes as part of Qt, and developers should know to treat them as such. Next they have to agree a common API that is powerful and flexible enough for both platforms. Then the API needs to be reviewed by some senior Trolls with a lot of UI-design experience and the review comments addressed and checked. Then they have to go back and re-factor their code for the new interfaces. If they’ve done a decent job so far then they shouldn’t need to make big changes. If not then the resulting delays will massively improve quality!
Well, I can hope Nokia would wake up and avoid a big mistake that’s going to hurt their Qt developer ecosystem before it’s even properly started. Probably my suggestions will fall on deaf ears like those of half the strategy teams in Nokia that no-one listens too (or so I hear).
If you think this issue is important, why not add your support in the comments!
P.S. Not all my blogs are here on Forum Nokia now – I recently wrote about Apps & App Stores on the main Symbian blog and really technical future Symbian related stuff will mostly be here.
Enjoyed this post?Consider subscribing to our full feed RSS. You can also subscribe by email and have new posts sent directly to your inbox. | Share On Twitter & Facebook |










