Monday, February 21, 2011

Superior technology

I decided not to blog anything right after Nokia & Microsoft deal was published. And I'm glad about that, because I have now reached the state where I'm actually excited again! Volker Hilsheimer made a very good summary about the situation from Qt perspective.

Instead of going deep into politics and sales speeches, I decided to approach this from a technical perspective. Keeping things simple and concrete, here's one example UI implemented in few hours with Qt Quick & QML Scene Graph:



Please spend a bit time looking at what is really happening in there: wave, colorize, fading, water, text highlight... This is ~300 lines of QML + GLSL, performing smoothly on good ol' N900 hardware. Same can not be done using WP7 Silverlight & XAML, period.

Qt is still the best platform for "mobile phones" and we have also here good ingredients for the "future disruption" like Nokia management has outlined. But technology is nothing without a community (a.k.a. "ecosystem"), so question is that are we going to continue the work and do it? While you think about that, I'll continue hacking with my superior technology! =)

12 comments:

Anonymous said...

I think no one of us Qt-fellowers doubts that Qt is the superior technology.

But as you said (more or less) - the growth of the community was just brought to an 180° turning point.

For now, at least everyone that hoped for some revenue from Qt mobile development has crushed dreams and it's clear that _if at all_, it will take at least 3-4 years to see another try for a big "Qt-device".

So while I am sure the OSS community around the N900 will keep producing some nice little demo-effects and KDE will live on "forever", we'll have to see about the rest....

Anonymous said...

Nice! Brings back memories from the good old days. Time to replace the default music player of N900 with that.

Kaitsu said...

Anonymous: Good comment! Obviously this is a set back to us Qt-believers... But at least I see still a lot of possibilities. Nokia has estimated to have over 200 million Qt&QML capable symbian phones out there during this & next year. Even if this wouldn't fully materialize, there is still plenty of revenue possibilities. And MeeGo devices start appearing during this year from Nokia, Intel and other players, all powered by Qt.

Nokia decided to go with Microsoft in smart phones and that's fine, I hope together they can fight against androids. In my opinion Qt has currently superior technology, medium (size, not quality!) community and smallish ecosystem. There is a war of ecosystems and we should stick behind & build ours to be winners. I kinda like being behind an underdog right now and doing Nelson Muntz "haha" when we decide to cause the disruption ;-)

Jo said...

going for windows is a step back.

android, iOS, wp7 dont have real multitasking.

its sad cuz other webOS only platform that have it
were maemo, meego and symbian x 3

Anonymous said...

I say it this way:

If developers stop use the Qt:s "Ecosystem", you just play Microsofts game!

If devs prefer NET well fine for me but if you still like Qt dont stop develop cause The boards says soo.

Cause thats what Microsoft wants to happen! The only winner to abandon Qt is Microsoft. Dont say Nokia wins on this they gave invested lots of money in it.

Microsoft want Qt to fail. I am far from an bussiness expert and people may call me troll I dont care. But still do you people belive Nokia will abandon Meego if they get a hell lot of apps for S^3 and Meego?

I dont think so! Ofcousrse Microsoft wants this too happen. If people stop dev apps for S^3/Meego no one will buy the phones. Means Nokia loosing even more stockholders and at the end Microsoft buys Nokia.

Personally I dislike that. I am not that kind of person that is "Stallman fanatic". I would'nt mind if Nokia still cooperate with Microsoft but the way it is now where Microsoft seems to "dictate" the rules for Nokia I am not intrested. But I prefer too fight back in some way by still support Qt and doint get scared away cause the board try to do so...

There is two way for developers too go:

1. If wou like Qt keep write apps dont take Elop too serious, cause I will not. Its just Bussiness they may redecide if devs still want too use Qt! More apps more phones...

2. If you prefer Microsoft .NET well use that instead.


The third opion is too get scared away but if soo you prefer number 2...

Anonymous said...

I would be very clad, if I could install this kind of software on my n900 to show everyone that _the phone_ is better than any other. It would be super to be able to convice everyone.

If you only have any QML demos, just let us know!

Anonymous said...

Cool apps… but…
I want to use Qype’s apps, or Gowalla official apps, or Tumblr, or Tapatalk forum, Simeji, etc, etc.
Asking the creators of those application to release version using Qt that runs in Maemo and Meego seems to be futile attempt cause they wont bother (for example Tapatalk, had a number of topics requesting N900 version and got all ignored).


There is that great suggestion that you shouldn’t torture yourself and just use the product that fit your needs right now.
So what if, the majority of money go to iPhone even though it's inferior because it has what they need. If so, why they (the wallets that company cares) should force themselves using platform that force them to live with the limitation that they feel is significant?

Android quickly build that library of functionality and become viable alternative to iPhone that larger developers could bother to spend their time even though it means learning different platform; but MeeGo ?
Lets just forget WP7 for now. :D


That's from consumer PoV though, so it does seems odd in the developer's debate.

Kaitsu said...

Thanks for all comments!

Some time ago it was enough to have a small set of pre-installed applications and a browser to seek for more content. Now mobile application markets have exploded and healthy application ecosystem is a must.

What I can say is that with Qt & QML:
1) Implementing applications is easier than before, muuuch easier than with old symbian libraries
2) It's possible to reach new user experience with animations & effects
3) Same code works in symbian devices, MeeGo devices (phones, tablets, netbooks, IVI etc.) and in desktops with several operating systems. Although personally I would share the application logic between these and customize QML UIs to suit the target needs.

Technology is there, getting Qt versions of apps is up to companies & developers and having a healthy community plays a big role in here.

Stephan Jaensch said...

Sorry kaitsu, as a (former?) Qt developer I have to say the technology is not there yet. While developing QWidget-based apps is fast and straightforward, you just cannot do some of the more adanced UI features. That's where QML comes in. On the other hand, I have to read a tutorial with a 50 line QML file on how to implement a button. In what warped universe is that easy to develop? The QML UI components are not even released yet, you simply have no way to rapidly build native user interfaces with QML. That's why Nokia decided to ditch Qt/QML, I think.

I don't really care about wonderful animation effects if I have to hand-code my UI elements from some extremely low level primitives. And it doesn't help that just one year ago, QWidget-based UIs were supposed to be the way to develop cross-platform mobile apps.

Kaitsu said...

Stephan: You are absolutely right, QML common components are not there yet. I'm so used to building fully customised QML UIs and reusing own components that this hasn't been an issue for me, but it's definitely required when building native looking applications to any platform. Official story is Qt-components (http://qt.gitorious.org/qt-components) to provide the common API, theming and a reference implementation of core components and I'm sure there will be more components to come.

Jed said...

some interesting insights, thanks everyone.

Jed said...

I for one hope maemo/meego has a loooong life ahead of it yet.