EDIT (11/12/2010): I just found some info about Toshl in Qt as well, and figure I’d add it to the article.
I am quite fond of Nokia. There is a lot to like about their phones and smartphones, but it isn’t always the wide array of applications available. Qt is supposed to solve this, according to Nokia, but will it? I realise that this is THE golden question, and I don’t aim to have any definite answer, but I do want to explore some real life examples.
As for what Qt is, in short Qt is a cross-platform application and UI framework. Using Qt, you can write web-enabled applications once and deploy them across desktop, mobile and embedded operating systems without rewriting the source code. Nokia purchased Qt some years ago, and last October made a very firm commitment that leaves little doubt that Qt is the way forward for development on Nokia devices. The fact that it is cross-platform is important, as Nokia uses both Symbian and Maemo/MeeGo for their smartphone product range. In theory, one can develop a twitter client in Qt and run it, with little modification, on both Symbian and MeeGo devices.
I particularly wanted to explore this aspect of Qt development. However, I have had to sadly establish that there are hardly any apps written in Qt available on both Symbian and Maemo smartphones. The only two examples I have found, really, are WordPress and Angry Birds.
WordPress for Nokia
WordPress for Nokia is a nice example of an app written in Qt to run on both the Nokia N900 and Nokia N8 (and also S60 5th edition). In order to try this I used my own Nokia N8 and a N900 that the kind people from WOMWorld/Nokia lend me. These are my findings:
- It has of course all the functions you imagine: read and write blogposts, manage and write comments, and see stats. See also this post from Nokia Conversations for details.
- Performance is great on both phones, both in terms of start-up time and performance throughout the application. Given that the N900’s specs are better that the N8’s specs, I thought that it would perhaps run better on the N900, but both are fantastic! In that sense, it feels way better than Web Run Time applications which are sluggish even on the N8, I feel.
- The behaviour and appearance of the application is very similar between the N900 and N8. This is good to see, given the different screen resolutions. The only obvious difference is that in landscape mode, the N900 has the action buttons on the right-hand side of the screen while on the N8 they are on the bottom (as with any other app on the N8). Personally I prefer the buttons to be on the right side as I have more than enough horizontal space but far less vertical space.
- Actual writing of a post is a very nice experience on the N900 due to the slide out keyboard. In turn, on the N8 it is not as good. As you may know, the text input dialogue screen on the N8 takes over the whole screen. This means that you can only see the text of the paragraph you are writing (you can’t scroll in the text input dialogue). To see the whole post you are working on, you have to “exit” the text input dialogue first. A bit cumbersome, but it works ok’ish, and hopefully the split screen text input update in the early 2011 firmware will fix this.
- As a side note, in this interview, the developer states that the experience of working with Qt was a good one.
For comparison’s sake, I have also installed WordPress on my wife’s Samsung Galaxy S (android) phone. For Nokia to be successful, the same applications have to run equally well on Symbian^3 and Maemo/MeeGo devices as iPhone and Android. In general, I found the experience between the Nokia application and Android application to be very similar. Both perform great. Currently, Android has a better on-screen text input option than my Nokia N8 offers. If this gets fixed, then it bodes well for the N8 version.
Both Angry Birds and Bounce Evolution on the N900 have been developed in Qt by Rovio. They run fantastic and those games really don’t need any introduction or description. Rovio mentioned that Qt was for them a very productive development environment and a powerful “runtime”. Symbian^3 phones also run Angry Birds and I can only assume that it was developed in Qt as well, but I could not find confirmation of that. I would like to point out, though, that it runs great on my Nokia N8. No complaints at all.
Toshl is a web service that allows the user to track expenses easily while on the move. Two days ago, on their web site they only had mobile apps for iPhone, Android and Maemo. As of yesterday, they also have an app for Symbian^3. On twitter I read that the Symbian^3 application is written in Qt. I figured that the Maemo version would also be programmed in Qt, but in fact it is actually programmed in Python.
The Maemo and Symbian versions are quite different as opposed to what I have observed for WordPress and Angry Birds. This can of course be due to many reasons. Even before I knew that the Maemo version was not in Qt, I already preferred the Symbian^3 version: it is so simple, smooth and pretty at the same time. Is this because of Qt? Quite possibly not, but I can assure you if Toshl for Symbian was written in WRT, my preference would have gone to the Maemo version. Qt does deliver on performance.
Furthermore, the guys from @Toshl told me over twitter that the next Maemo version will be in Qt. When I asked them whether Qt served them well for this cross-platform development, they said “Qt seems to work as advertised”.
The only problem I encountered was that the Symbian^3 application would not authorise to sync with the web service, whereas with Maemo and Android there was no problem. I may be doing something wrong, or it is a bug. I don’t read others mentioning this, so it may be just me.
I must say that there is still a long way ahead for Qt. Sure, it sounds promising and there are some good showcases, but they are few and far between. Nokia proudly mentions the large quantity of developers using Qt, they estimate 350.000 developers, but that doesn’t mean much in real terms, yet, for Symbian or Maemo smartphone owners. That being said, I love WordPress for Nokia and am very optimistic about Qt’s possibilities, in that sense. And with Nokia finally pushing this very hard, I do hope we can soon see the fruits of this strategic push. Let’s just hope it looks and “feels” good.