Reply
Thread Tools
qgil's Avatar
Posts: 3,105 | Thanked: 11,088 times | Joined on Jul 2007 @ Mountain View (CA, USA)
#21
Er... before going deeper into panic mode, would you mind giving some time to the Qt specialists to have a say? I'll ask tomorrow.

Maemo and Symbian have to concentrate in different use cases and different priorities for different form factors. Both are equally interested in keeping a common ground for plain Qt applications.

Remember that the post-trolls are behind and in the middle of the Qt strategy for Nokia. They know a bit about Qt today and tomorrow, in Nokia platforms and beyond.

There were 4 key people (at least) in the Maemo Summit with relevant roles relating to this subject: Tomas Junonen, Alex Luddy, Sergiy Dubovik and Ian Monroe. Did you go to their sessions? Did you talk to them? Do you really thing these guys have poor knowledge and no good reasons to do what they are doing?

Another intersting contact is Ville Lavonius, product manager of the Maemo development platform. He also had a presentation in the Maemo Summit about Qt application development on Harmattan.

Actually I decided to start with the Miniature pet project having plain Qt 4.6 as a main requirement precisely to check "in real time" that Nokia's Qt cross-platform promise is real and attractive. So far looks good and we have already binaries for Maemo 5 and Ubuntu compiled from the same source.

I invite you to do the same: come up with plain Qt 4.6 applications running on Maemo 5 or Symbian, try to run them in different platforms (e.g. Harmattan as soon as we have an SDK out) and then complain if you are unhappy about the results.

About the Maemo 6 UI Framework (or the future Symbian UI framework based on Qt for that matter) do just do the same: have a look, see if they provide something interesting for you, try to extend your plain Qt 4.6 apps using them, see how much work that brings and whether it's worth the effort and then we can talk properly.

Still, I'll try to get some feedback from the Harmattan guys tomorrow. Keep discussing, all the better if you are familiar with Qt and have got a look to the Maemo 6 UI framework code before.
 

The Following 14 Users Say Thank You to qgil For This Useful Post:
Texrat's Avatar
Posts: 11,700 | Thanked: 10,045 times | Joined on Jun 2006 @ North Texas, USA
#22
Originally Posted by Thor View Post
Are you Humphrey Appleby?
No, he's Attila the Hun!
__________________
Nokia Developer Champion
Different <> Wrong | Listen - Judgment = Progress | People + Trust = Success
My personal site: http://texrat.net
 
qole's Avatar
Moderator | Posts: 7,109 | Thanked: 8,820 times | Joined on Oct 2007 @ Vancouver, BC, Canada
#23
Originally Posted by jsa View Post
I think it's this conversation behind the link that makes svdwal anxious about the compatibility between Maemo6 and Symbian^4. From what I gather, there is no official stance from Nokia on this.

http://developer.symbian.org/forum/s...ead.php?t=3363
The most worrying thing in that thread is the one from markw that says:

Originally Posted by markw
Of course you'll be able to run pure Qt apps on both platforms, but if they don't look like native apps because they don't use native widgets that's a big problem for many. There'd be no major problem with separate implementations of the widgets on the two platforms as long as they shared a common set of interfaces (i.e. as long as we have source compatibility - and functional compatibility, not just "it compiles on both"). However, that doesn't appear to be the case from what I've seen so far...
Having been very disappointed by what Maemo did to the GTK+ toolkit in Maemo 5 (breaking lots of standard widgets and putting the "fixes" into custom widgets), I desperately hope that they do it right for Qt.

Really, it's great if you add some mobile-specific stuff to a Maemo-specific custom widget set, but please, don't break the generic widgets. You shouldn't have to use the Maemo stuff to make your app look OK, although it's fine if you need to use Maemo stuff to make your app look awesome.

qgil's post is reassuring; if their "generic" QT app continues to look "right" in Maemo and Ubuntu, I'll relax completely.
__________________
qole.org --- twitter --- Easy Debian wiki page
Please don't send me a private message, post to the appropriate thread.
Thank you all for your donations!
 

The Following 2 Users Say Thank You to qole For This Useful Post:
daperl's Avatar
Posts: 2,427 | Thanked: 2,986 times | Joined on Dec 2007
#24
Originally Posted by qole View Post
Having been very disappointed by what Maemo did to the GTK+ toolkit in Maemo 5 (breaking lots of standard widgets and putting the "fixes" into custom widgets), I desperately hope that they do it right for Qt.
One consolation is that Nokia should be able to control the Qt codebase. [SDRF*]Not like when GTK+ 2.12 eradicated Maemo from the face of the Earth[/SDRF]. But don't worry, I only counted a little less than 540 "#ifdef MAEMO_CHANGES" in the 2.14 resurrection.

*Slightly Distorted Reality Field
__________________
N9: Go white or go home
 
Posts: 182 | Thanked: 540 times | Joined on Aug 2009 @ Finland
#25
Originally Posted by msoini View Post
What I would be interested to know is that if QGraphicsView is the way to go, which means not using standard (let's call them e.g. "Desktop") Qt widgets...

Then what exactly is the strongly emphasized cross-platform story of Qt on the UI level (not just Nokia's Maemo and Symbian, but other Qt platforms)?

To maximize cross-platformity, one extreme possibility would be for each and every application to code their own QGraphicsView-based widgets themselves from scratch, but I fail to see the cost-efficiency and UI consistency in such approach.
If you want to maximize cross-platform take, use "standard" widgets. Hopefully, those will work fine and in style with overall system. Of course, certain features would be not possible to implement without going beyond standard widgets -- it is exact reason why QGraphicsView was created by Qt people in 2006, used in KDE for Plasma project and by many others.

If you would re-read what I was saying, my observations were on pointing exactly this fact: Qt has for long time been working on ways to innovate in UI beyond standard widgets for those developers who want it. There probably wasn't enough need and energy in every single Qt-based project to use those enablers but case with KDE4's Plasma shows they are still there. Multiple cases on Windows with commercial applications based on Qt or any other non-standard UI toolkit are also contributing to this view, as standard "Desktop" widgets are relatively rare in use in many Windows applications.

Who will provide "Qt standard widgets" on top of QGraphicsView by default as Qt API, whether this will really happen anytime soon (in next several years), will it be in use by someone on cross-platform market, still remains to be seen. However, I do not see any sort of panic mode activated.
 

The Following User Says Thank You to abbra For This Useful Post:
Posts: 19 | Thanked: 56 times | Joined on Nov 2009 @ The Netherlands
#26
Originally Posted by NvyUs View Post
why do they have to maintain two in future? s60 no longer as to be maintained by nokia as its dead and all code is/will be contributed to symbian foundation for the new unified symbian platform, where it will not be there sole responsibility to maintain.
btw you forgot about s40 from what I've read in the future sometime symbian will replace it on low to mid priced devices so they will have gained 1 platform and lost 1 1/2
I am not talking about S60 but about Symbian ^4/Qt. I want source compatibility between Symbian ^4/Qt and Maemo 6/Qt.
 
Posts: 19 | Thanked: 56 times | Joined on Nov 2009 @ The Netherlands
#27
Originally Posted by qgil View Post
Er... before going deeper into panic mode, would you mind giving some time to the Qt specialists to have a say? I'll ask tomorrow.
I am concerned, not panicking ;-) And I certainly would like to hear the Qt specialists on this matter.

Maemo and Symbian have to concentrate in different use cases and different priorities for different form factors. Both are equally interested in keeping a common ground for plain Qt applications.
Compared to the differences between a desktop PC and a smartphone, the differences between Maemo and Symbian ^4 are minute. Small enough to be abstracted away.

Besides, last monday Nokia announced that their Nseries devices will start using Maemo 6/Qt beginning in 2012. Currently Nseries devices are smartphones, and if they stay with the Nseries brand these devices will still be seen as the same device category, but with greatly enhanced software capabilities.

Remember that the post-trolls are behind and in the middle of the Qt strategy for Nokia. They know a bit about Qt today and tomorrow, in Nokia platforms and beyond.
Is this good or bad? What's a post troll?

There were 4 key people (at least) in the Maemo Summit with relevant roles relating to this subject: Tomas Junonen, Alex Luddy, Sergiy Dubovik and Ian Monroe. Did you go to their sessions? Did you talk to them? Do you really thing these guys have poor knowledge and no good reasons to do what they are doing?
I am talking about policy here, not about engineering. Engineering comes after policy, not before. What I am seeing as a commercial developer is that Nokia is publicly stating one policy, which is single source/multiple deployment. In practice however Nokia has a completely different policy which is different sources for different platforms. At the StackOverflow devday in Amsterdam two weeks ago Nokia was giving a presentation about how easy it was with Qt to have a single source (and one #ifdef) and build live binaries for both WinXP and Symbian/Qt.

At the Maemo conference I voiced my concerns about Maemo 6/Qt and Symbian^4/Qt not having the same UI toolkit after I found out that there was going to be a difference. At that time I was still under the impression that the bulk of an app was still plain Qt, but with extra widgets.
But after examining the Maemo 6 examples and looking at the source, I saw that everything was changed. Oops, that's not what Nokia is publicly stating what their policy is.

[QUOTE]
Another intersting contact is Ville Lavonius, product manager of the Maemo development platform. He also had a presentation in the Maemo Summit about Qt application development on Harmattan.

Actually I decided to start with the Miniature pet project having plain Qt 4.6 as a main requirement precisely to check "in real time" that Nokia's Qt cross-platform promise is real and attractive. So far looks good and we have already binaries for Maemo 5 and Ubuntu compiled from the same source.

I invite you to do the same: come up with plain Qt 4.6 applications running on Maemo 5 or Symbian, try to run them in different platforms (e.g. Harmattan as soon as we have an SDK out) and then complain if you are unhappy about the results.
[QUOTE]

Sigh. How much spare time do I have, you think? Besides, seeing that a framework, that is supposed to be abstracting away system differences, and that is know to be capable of this feat, is going to be subclassed for the main application objects is enough to raise all kinds of alarm bells. Been there, seen that. Symbian had at some point four slightly different app frameworks, and Nokia itself has publicly stated that S80 was to be discontinued because it was too expensive for Nokia to maintain two frameworks (S90 was dead already at that time). And what do i see now: Nokia again having multiple frameworks that are (slightly) different. And that was too expensive?

About the Maemo 6 UI Framework (or the future Symbian UI framework based on Qt for that matter) do just do the same: have a look, see if they provide something interesting for you, try to extend your plain Qt 4.6 apps using them, see how much work that brings and whether it's worth the effort and then we can talk properly.
I am sorry, but your priorities are wrong. I am here to be convinced by Nokia that developing for their single Qt platform is a good value proposition for commercial developers. But after coming here I find they have two platforms, three if you count plain Qt as a different platform, which is not what they are telling to developers. I am not going to invest time and money in producing code until that matter is cleared.

Still, I'll try to get some feedback from the Harmattan guys tomorrow. Keep discussing, all the better if you are familiar with Qt and have got a look to the Maemo 6 UI framework code before.
Excellent, I'll await their comments.
 
Posts: 19 | Thanked: 56 times | Joined on Nov 2009 @ The Netherlands
#28
[QUOTE=abbra;381424]If you want to maximize cross-platform take, use "standard" widgets. Hopefully, those will work fine and in style with overall system. Of course, certain features would be not possible to implement without going beyond standard widgets -- it is exact reason why QGraphicsView was created by Qt people in 2006, used in KDE for Plasma project and by many others.
[QUOTE]

First things first.

Qt apps start with constructing a QtApplication, Direct UI apps start with constructing a DuiApplication. Two different classes, it is then reasonable to assume that DuiApplication does something that QtApplication does not, and that something is important for multi-touch devices. Now, what are my changes that a Qt application is going to run good enough on a maemo (and symbian ^4 for that matter)? I don't know, unless I compile my plain Qt app, run and test it, and then port it to Dui, and run and test it again.

yes, for a good test I must be able to compare the differences between the plain Qt and the Direct UI versions of the app. Today's commercial mobile software environment is very competitive and having an app that is not top-notch means that your changes are not good.

I can reduce work and increase my changes by not bothering to do the plain Qt build and test, but go straight to porting. And then, I have two (sleightly) different versions of my app, and my maintainence costs are now twice as big, or were, unless I add in even more work to refactor the common stuff out.

This is all under the assumption that DuiApplication is actually doing useful work, and that work cannot be done in QtApplication.

But for the life of me I have no idea what it is that DuiApplication is doing what cannot be done inside QtApplication. So all I am seeing now is more time to spend on things that do not make money, because somebody thought having a Dui instead of a Qt is cute. No, it is not.

Next class, QtWindow versus DuiWindow, same exercise.


If you would re-read what I was saying, my observations were on pointing exactly this fact: Qt has for long time been working on ways to innovate in UI beyond standard widgets for those developers who want it. There probably wasn't enough need and energy in every single Qt-based project to use those enablers but case with KDE4's Plasma shows they are still there. Multiple cases on Windows with commercial applications based on Qt or any other non-standard UI toolkit are also contributing to this view, as standard "Desktop" widgets are relatively rare in use in many Windows applications.

Who will provide "Qt standard widgets" on top of QGraphicsView by default as Qt API, whether this will really happen anytime soon (in next several years), will it be in use by someone on cross-platform market, still remains to be seen. However, I do not see any sort of panic mode activated.
You will find that on mobile devices there is not a big need for lots of screen widgets. Symbian never had many, iPhone doesn't have many either, even less than Symbian. Having a few standard widgets is enough for the bulk of apps. Mobile means simple and intuitive.
 
zchydem's Avatar
Posts: 41 | Thanked: 144 times | Joined on Dec 2007 @ Lieto, Finland
#29
Interesting post I may not have read every post in this thread with care, but here's my opinion.

Nothing prevents you to run "Plain Qt" applications on top of Maemo 6 UI Framework AFAIK. In that case you dont' use DuIApplication and other DuiStuff. Instead you use QApplication and other QWidgets. It will probably work as it works on Hildon Qt. Antonio ported Qt to Hildon environment so that it handles e.g. all the QActions in a toolbar, meaning that you don't see the regular "file", "edit" menus on toolbar. Instead you see them when pressing the view menu on the Hildon toolbar. I hope that they will provide a Maemo specific Qt style which makes regular QWidget based widgets such as buttons to look more like maemo buttons.

All this means that you are forced to use Qt version that is ported on the device, but that's all.

What comes to the Dui side. I guess Nokia wants to provide a certain set of widgets built on top of QGraphicsView so that it would be easier to build an application on the Harmattan based device. So AFAIK nothing prevents you to run plain Qt application on Harmattan device.

I don't know anything about Qt on Symbian, so I have no opinion on that, but according the Qt ideology, code once, use everywhere should work there also. But this conserns only applications that are based Qt API directly, not the API of Maemo 6 UI Framework... I believe.

FYI:
In Qt developer days Qt guys informed that some times in the future the all QWidget based widgets are planned to move on top of QGraphicsView. This is so big change that I guess we need to wait this quite long, but you never know.

NOTE:
These are just my personal opinions, assumptions and hopes
__________________
- zchydem -
 

The Following User Says Thank You to zchydem For This Useful Post:
Posts: 654 | Thanked: 664 times | Joined on Feb 2009 @ Germany
#30
Originally Posted by zchydem View Post
All this means that you are forced to use Qt version that is ported on the device, but that's all.
No, probably no one will force us, like today no one is forcing us to use Hildon in addition to Gtk. The only problem is that pure Gtk applications look like crap on Fremantle. So the question is whether Qt will handle this situation better or not.

I´m currently planning to do a complete rewrite of my code using Qt, so I´m observing this situation closely. I want Qt, because I´m hoping to support more platforms without using #ifdefs everywhere. But if those applications will look like 2nd class applications on Maemo I´m not sure I want this.

</end panic mode>
 
Reply

Tags
cross-platform, dui, future, harmattan, libdui, maemo, maemo 6, plain qt, programming, source compatibility, symbian

Thread Tools

 
Forum Jump


All times are GMT. The time now is 23:02.