Note:- Some corrections or clarifications to the post
1. The Article is about QT on Symbian. It does not concern other implementations of QT including Meego, Linux, Mac or PC.
2. Aron from Nokia clarified that UI designing issues are already being addressed with QT-quick along with QtDesigner so I am striking that off ..
QT is the runtime of choice for Nokia. Considering that Nokia has been consistently loosing developer mindshare, one would have expected QT to be somewhat a gamechanger. On current evidence, it’s absolutely not. Here are my thoughts on how Nokia could improve it !
At Mobisy, we have been working on various Mobile Development SDKs for years including Symbian C++, J2ME, Blackberry Java, Android, Windows Mobile and iPhone. Choice of development purely from developer perspective depends on 2 parameters.
1. Ease of programming with the native capabilities needed for the app
2. Ability to create an awesome interactive app for end consumers without spending inordinate amount of effort.
Below is a map of SDKs based on my experience in complexity of Mobile app development on various runtimes wrt the power they offer.
As you can see, Mobile web is extremely easy to develop but with very limited native features. Symbian has all the features/ power a developer needs but is extremely hard to program to. Android seems to have done the balance pretty well, it’s relatively much easier to program and offers access to very powerful features through it’s sdk. No wonder, it’s the most popular Mobile development SDK !!
Now consider QT for Nokia. It should have been much closer to iPhone / Android in ease of use but it’s closer to older Symbian S60 runtime (which BTW is the toughest Mobile SDK to write to in world). In terms of capabilities/features it’s much further than older Symbian S60 than it should have been.
Here is another graph based on ability of different SDKs to create awesome user experience with limited efforts.
As you can see, blackberry is toughest to create an engaging user experience for where as iPhone is the easiest one. So if I want to write a cool app, I would go for iPhone as an environment of choice.
Where does QT stand? It’s again closer to Windows Mobile/J2ME rather than Android/iPhone. It’s surely an improvement on Symbian S60 but nothing dramatic.
So where does it leave Nokia now? I had an interesting chat at a developer conference last Saturday on same topic. Based on that discussion, here are 5 things Nokia can do to improve QT
1. Examples must work
There are some demo examples given with SDK, some of them do not work at all (OpenGL and QCamera for example). It’s fairly simple thing even a startup like us knows. If it isn’t working, don’t release it.
2. Installation has to be straight foreward
Creating a QT installer to test on your phone has a learning curve and it’s not well documented at least not well enough. Things get more complicated when you want to run your QT app on S60 3rd or 5th edition Nokia phones vs Symbian^3 phones. Developers and users must not find it so hard to install a QT app on their phones.
3. Don’t discriminate between developers
This is the thing developers hate the most. For long Nokia had this approach in providing access to ‘private’ APIs to some ‘privileged’ developers and companies. I would recommend them to take an ‘Android’ view of things and let users decide if something is going to harm their phones.
4. Make it easy to build compelling UI
5. Involve developers while building SDK.
- Working Open GL library for 3D graphics
- Web 2.0 working library (Similer to Three20)
- 2d working library(similar to Cocos2D)
- Standard json, xml parsers