A Tale of Two Qt Mobile UI Toolkits

8 Comments

In the now three years two years since Nokia [announced the] purchase of Qt I have been impressed to the extent that Nokia is taking advantage of their new Qt technology. It's basically turning into their development development SDK for all their smart phones. This is more or less what the press releases said at the time. But I'm sure eBay sent out a bunch of nice press releases about how helpful their 3 billion dollar Skype purchase was going to be for them... and look what that got them. However in the case of Qt those press releases (as I remember them) turned out to more or less be spot on.

As anyone with a N810 can tell you, you can't just stick a desktop UI on to a small device. It needs to be thumb-friendly.

One solution is QML. It's a declarative language, which opens up some interesting possibilities. However it currently isn't a toolkit, but only has primitive shapes. It's not really clear what the longterm plans for QML are. With its tight integration with QtScript its already pretty ideal for making simple applications or for something like a plasmoid. So it's not one of the "two Qt UI toolkits", as currently its use-cases are quite different.

At the Maemo conference in October, Nokia released the Maemo 6 UI Framework to Gitorious. This is a full-on QGV-based UI toolkit, with buttons, dialogs, lists, etc, everything you'd expect in a UI toolkit.

And now this month the "Orbit Team" has released a new QGV based UI toolkit on Gitorious called UI Extensions for Mobile. It's also a full-on UI toolkit with all the widgets you'd expect. It's target is Symbian^4 according to the Gitorious description. Someone already wrote a little demo since the included code doesn't really have anything to show it.

It's kind of funny to see both of these competing technologies listed one after the other on http://qt.gitorious.org/. Such interesting times we live in. :)

Tscheesy

actually this makes me worry - as a kubuntu and maemo(n900)-User i'm realy looking forward for a Qt-Version of maemo

i'm afraid nokia will stick onto Symbian till they won't sell anything anymore - (btw &%@#ΒΌ Symbian imho)

2010-02-12 12:55

Ian Monroe

It worries you that they are using a common development platform between the pipsqueak Maemo (which only became a phone a few months ago) and the goliath Symbian? It actually says a lot about Nokia's commitment to Maemo that they found a cross-platform solution even interesting.

2010-02-12 14:46

Jucato

I'm more worried about Qt on the desktop being different from Qt on Maemo from Qt on Symbian, etc. I've been hearing that, at the moment, things are like that already. The squabble over the multimedia framework is also worrying if it becomes a pattern. It sort of defeats the purpose of "Qt Everywhere". It might also hurt us (KDE) in some ways *if* Nokia decides to focus more on advancing Qt on mobile platforms, while desktop issues/considerations become an afterthought. (I've even heard remarks that Qt 4.6, the first release developed fully under Nokia's management, strategy, and vision, is quite bad so far)

But I'm hoping it's just a "growing pains" phase and things will eventually settle down for the better. But I also hope that they don't take too long, specially in the mobile area. Because while they're busy consolidating things, they're also losing the window of opportunity to grab the market again.

2010-02-12 20:23

Ian Monroe

Well of course Qt on the desktop will be different. In fact it better be, at least for the UI. Have you tried using a scrollbar on a phone before?

Yea I agree that multimedia framework thing was worrying, but that actually had little to do with mobile vs. not mobile. Mostly the issue there was just lack of vision and consistent management.. Still worrying though, just not related to Nokia acquisition much IMO.

I've heard rumors that 4.7 will be a stabilizing release. That didn't make total sense to me since thats what the future 4.6 releases are for. Personally I haven't had trouble with 4.6, but from what I heard it could use some more help.

2010-02-12 22:35

Mark Kretschmann

Ian,

my eyes are not what they used to be. The blog title seems to say "A BLOG BY IAN MONROE", but I can't be sure. It could be "Marilyn Monroe", for all I could tell.

Could you make the font just a little bit bigger? :p

Regards,
Mark.

2010-02-13 02:32

Enrico Ros

Hello Ian, thanks for this interesting article.
I'm not worried at all about the 2 frameworks, as long as at least ONE has a great API and great PERFORMANCE (even if from what I see this is not the case).
I'm used to rewrite my APIs 2-3 times before starting to like them, so I hope that one of the 2 frameworks is good, and that the other will soon converge into the other ;-)

2010-02-13 03:04

Alexis Menard

"(I've even heard remarks that Qt 4.6, the first release developed fully under Nokia's management, strategy, and vision, is quite bad so far)"

Qt 4.6 has some issues but you can't say it's bad. With a brand new port to S60 (which modify pretty much all files in Qt), animation API, state machine API, multi-touch support, a complete rewrite of the painting algorithm of QGV rendering stack then of course it brings potential problems even with auto-tests/QA. But it was worth it. Qt 4.7 has a little amount of features only so it should be a good release.

Concerning the difference desktop/mobile at some point you have to be realistic. QWidget derived classes can't perform on a device. Also the code for some widget that was written 10 years ago has no way to handle properly thumbs interaction like.

Qt has QGV it's kinda perform well on device if you use it properly but Qt doesn't have widgets for it. That what Orbit is about : "bringing widgets that makes sense for a mobile phone".

But if you have design an application you should know that in pretty much all cases the UI on the desktop is completely different than the one on the mobile. It's for obvious reasons like screen size, thumb interactions... That's where QML comes, a way to write UIs quickly so it helps you to write at least the one for the mobile fast.
But remember QML is a brand new technology that need to mature and will gain features so hopefully it will be the way to write UIs in general.

2010-02-13 17:48

eean

@Enrico Ros: yea that's my opinion. As long as there's only one in a couple of years I'm fine. :)

@Mark: Gah, sorry. I'll look into this.

@Alexis ++ on everything you said except the last part on QML. Due to all the other frameworks, the idea of QML being used for full-blown apps is a bit much. So far its carving out a different niche, and perhaps that could be expanded some (eg more complex qtscript apps) without overlap. But overall I think two QGV ui toolkits is enough. :)

2010-02-14 00:17