Comment Maemo, Apple SDK, Nokia UI .... (Score 1) 419
The Nokia hardware platform problem is multitouch. Resistive touchscreens are much less expensive to build, and multitouch is possible on such technology- but like the early days of LCD TV trying to compete with Plasma, the behavior is manifestly worse. Just like the old LCDs did a terrible job with motion, the current resistive screens do a really terrible job of recognizing a user's touch. Even a single-touch action gets mishandled or unrecognized from time to time. It's a hardware problem, and IMO Nokia's premier product is behind the competition in touchscreen. Resistive screens may catch up Capacitative screens in the future, or Nokia might switch in a future product... but right now, even the N900 is frustrating to use, and this is the main reason why.
The software problem is upcoming, not yet even present in Maemo v5. As you all know, Nokia bought Trolltech, the makers of the 'Qt' graphics toolkit. Nearly all of 'Qt' is now open source code, LGPL. (The switch to this particular license, granting un-revocable and very liberal terms others to use as they please, was a Nokia choice, subsequent to the purchase.) Software developers were, and are, thrilled by the possibility of "write once, run anywhere" graphical applications. And I think that this was an important reason for Nokia's acquisition, even if the main reason had been a defensive purchase of TrollTech's toolkit 'intellectual property' before it got bought by someone else and patented/re-licensed under nasty terms by someone else.I'll guess that both considerations were considered to be extremely important.
But Maemo 6 inherits two GUI tookits: It's own, which is fairly complete but totally non-portable; and QT v4, which is beautifully designed, but not yet sufficiently complete, not even for computer applications. (You need to provide tons of widgets yourself, either by writing them raw or using another toolkit to "help out" with additional elements. KDE and the Maemo 6 Graphics Library can theoretically utilize qt elements as "lower layer" items, but it's hard to do it all from inside Qt-- it just isn't there yet.) KDE uses Qt very heavily, as an underlying "layer". Maemo use of Qt brand new, and IMO you're better off using the legacy elements. Instead of instantiating a Qt window, with it's controls, you're going to want to create a Maemo window, in the "old" way. After you've committed yourself to which kind of App Window it is, all the child controls and methods are totally different source code. So, if you want to create an App for both desktop KDE and Symbian phones, your code grows into a huge jungle of #ifdef MAEMO
I don't think the problem comes from departmental infighting, I think that it's more a question of not-enough-time. It takes time, LOTS of time, to unify those toolkits, and everyone who already wrote something (the writers of KDE4; the writers of KDE Apps; all the writers of Maemo Apps) depends on the groups of developers (i.e., the writers of Qt and the writers of the Maemo graphics tookit) not to break their existing GUI code. The time and money simply wasn't there for such an enormous project. I won't be surprised if it isn't there for Mameo-7, or Maemo-8, either. Because every time you choose do to something, you're choosing NOT to do something else. Nokia will be bringing lots of new capabilities to their upcoming portable devices, and it would/will costs huge amounts of money. Per many comments, Nokia's margins currently suck- they can't be blowing a lot of money on such a venture. And anyway-- when actual computer screens become touch oriented in a well-defined, not proprietary-only-to-Microsoft way, a lot of it might need to be re-done anyway.
But Maemo is good. Really, really good. The Apple SDK isn't all that great as a software platform, people use it in order to implement on the wonderful iPhone hardware. (Lots of people who "like it" have no experience on Maemo 5 or Maemo 6 preview: They're coming from WinMo 6.x, which makes just about ANYTHING look breathtakingly good to a Developer.) After Nokia gets past their we-don't have-a-decent-touchscreen hardware issue, I think that the features and ease-of-coding provided by the software platform, along with the beauty of the results, will runs circles around Apple's SDK. In the long run, the real competitor is Android, along with those manufacturers who are free to use it. Can Nokia's still-proprietary location-aware code library and supporting database compete with Google? Can Apple compete with both? Will Microsoft "partners" like HTC give up on using WinMo in exchange for all of that MS co-marketing bribery money, or will they kill their Android offering after WinMo 7 gets to be solid?
One thing's for sure: the upcoming competition will be very, very interesting.