Nokia's Maemo Switching To Qt
suka writes "During a keynote at the Gran Canaria Desktop Summit, Nokia's Quim Gil announced that a future release of Maemo is going to be built around Qt. Maemo Harmattan is going to switch away from GTK+ / Hildon, derStandard.at reports from the conference." Michael Pyne also writes with a post describing day one of the conference from a KDE perspective.
That's all fun and games, but why are there no new products in the Internet Table line? C'mon, it's been almost 2 years since N810. The OS lives while the hardware was abandoned? Weird.
There is a lot of software for the Nokia N810 and below. Switching out to a new UI means a lot of stuff will either get uprooted or there will be a lot of libraries loaded into the machine's precious little memory.
Still, if the developers of software port over to the new environment quickly enough, it won't matter but I can't imagine things will be quick enough.
What can be done under Qt that can't be done under GTK? Is Qt more efficient in some way? What are advantages of Qt over GTK? I've never been clear on the differences... I just know they are different.
I can tell you right now, this will kill Maemo. QT is a pretty good GUI toolkit, but this is going to draw in QT Embedded (QWS server and such). I personally have been working on an Embedded QT device for 2 years and can tell you, QT Embedded is horrible. Nothing more then a Demo written by Trolltech to try and expand the market share. The biggest pain with QT, is that since it tries to be cross platform is it re-implements everything (Networking, Audio, Mutexs etc... etc..). They make it fairly easy to use their bad, slow code, while the "beautiful" non-standard signal slot system makes it a pain to integrate with real C or C++ code. If they wanted C++ they should of gone with GTKmm.
Nokia wants a common platform across their internet tablets and smart phones. Given that the Symbian is going to support Qt, and the Symbian user base is much greater, its makes sense that Maemo would want to have access to the 3rd party apps written for the user base that numbers in the millions
And really it was clear in the talk he gave that the Maemo stack is still mostly unchange, and still using most of the Gnome libraries including crucial stuff like Tracker. Really even with the change in UI toolkit, its more Gnome then KDE, especially as none of the Maemo stack actually originated from the KDE community, where as much of it did from the Gnome camp.
With the Mono infection and the reliance on GTK, the best thing would be for GNOME to go away. It started because Qt wasn't LGPL. That no longer applies, so let it die.
If you want GNOME to go away, there first has to be a halfway decent Qt-based desktop environment. Even after a year and a half after it's initial release KDE4 isn't up to par.
KDE4 needs to die.
Nokia has its own lightweight GUI library that they use with Symbian--and their UIs suck. They have built applications with Gtk+--and their UIs suck. They have build Windows and OS X desktop apps--and their UIs still suck. I think the problem Nokia has with GUIs and software has to do with how they develop software, not whether they use Gtk+ or Qt.
Another problem with their choice is that it ties them to C++; the trend in mobile development, however, is towards other languages, like Javascript (Pre), Java (Android), Objective-C (iPhone), and C# (Windows Mobile). Only Symbian steadfastly clings to C and C++. That would be fine if Symbian actually ended up being the fastest and having the best UI of the bunch, but it's actually the slowest and least responsive of the bunch.
I absolutely agree with you that too many people write Nokia off the phone market due to nothing but "kool-aid". Either Apple or Google (android) kool-aid. Or the fact that they only know the US market, but have no idea of what happens elsewhere.
One point people seem to miss is that not everyone wants/can/will buy such ridiculously expensive phones to start with.
However.... I own a G1, have messed around with an iPhone, and played a lot with my GF's Nokia 5300 X-Press music. Nokia's current problem is that their phones are not designed around the expectation that the user has a "all you can eat data-plan". While this allows them to sell phones to people without a data plan. It has lead to a mess of connection settings, connection permissions, and syncing.
As a phone, and multimedia player the 5300 beats the shit out of the G1 (lousy battery, heavy). But Nokia really needs to clean their act regarding internet browsing, application download (ovi sucks!), and syncing.
The Qt designers don't just create widgets etc, they design components that are easy to program with. As part of this, they avoid stuff that requires the tricky/ugly parts of C++. For instance, you rarely need to explicitly delete objects, because their libraries use reference counting to automagically delete objects at the earliest appropriate time.
So it is easy for any good programmer to learn enough C++ to use Qt effectively.
(Actually, Qt uses an extended version of C++, implemented via a preprocessor. The extensions provide "signals" (like no-op methods) and "slots" (methods which can be connected to signals), plus a limited-and-very-useful facility for run-time widget class information. As usual with Qt, these facilities are just extensive enough make it easy to do the things most people want to do, rather than trying to provide everything that anyone might want.)
Ignorance is bliss, isn't it? You do know that GNOME has a HIG because it NEEDS it, in order to specify every toothgrinding little detail that is mostly done automatically in Qt/KDE... Congratulations to the GNOME brainwashing team for making a virtue of necessity so successfully that people think it's a weakness of the competition to not have one as extensive. :>