Reply
Thread Tools
Posts: 523 | Thanked: 292 times | Joined on Jan 2010
#161
Reading between the lines I assume the MeeGo-Harmattan Hybrid will not be called just plain Meego as most of us assumed but something along the lines of MeaGo (I can see another lenghy " chuck norris speculation about ..." thread starting already!) However surely this will lead to more confusion amongst developers who will now have to think about developing for meamo or MeaGo or simply sit and wait for MeeGo to appear.

I appreciate QT should mean this is not an issue but since PR1.2 I haven't seen one decent game/app developed on QT released or any suggestion we are likely to see any sometime soon.

Is all the work getting a community based MeaGo going to be any real benefit to an average N900 user?
 
qgil's Avatar
Posts: 3,105 | Thanked: 11,088 times | Joined on Jul 2007 @ Mountain View (CA, USA)
#162
Originally Posted by droitwichgas View Post
this will lead to more confusion amongst developers
Are you a developer? What is exactly confusing for you now?

Even for developers the situation is now about targeting Qt / Maemo 5 and for the rest wait and see. There are not evden much details about the Web Runtime, which will bring a level of cross-compatibility that can't be compared to native programming.
 
Posts: 523 | Thanked: 292 times | Joined on Jan 2010
#163
Originally Posted by qgil View Post
Are you a developer? What is exactly confusing for you now?

Even for developers the situation is now about targeting Qt / Maemo 5 and for the rest wait and see. There are not evden much details about the Web Runtime, which will bring a level of cross-compatibility that can't be compared to native programming.
No just an end user who's disappointed at the lack of any quality games/apps availablefor the phone via the Ovi store, which I am more than willing to purchase should they ever appear.
 
Venemo's Avatar
Posts: 1,296 | Thanked: 1,773 times | Joined on Aug 2009 @ Budapest, Hungary
#164
Originally Posted by droitwichgas View Post
No just an end user who's disappointed
And what makes you think that developers will be confused by this?
Developers are smart people, you know.

By the way, my thoughts are:

What Quim said, basically means this:
"If you want to develop for MeeGo, start developing today for Maemo 5, and we promise that your app will run on MeeGo with a single click on a button."

That's it.
The good thing about this is that it is actually true provided you wrap your platform-specific API calls within #if-s (or don't use them at all).

Last edited by Venemo; 2010-06-12 at 08:28.
 
qgil's Avatar
Posts: 3,105 | Thanked: 11,088 times | Joined on Jul 2007 @ Mountain View (CA, USA)
#165
The games you are looking for probably are based on OpenGL ES, and I don't think the developers working on those games will get confused.
 

The Following User Says Thank You to qgil For This Useful Post:
Posts: 523 | Thanked: 292 times | Joined on Jan 2010
#166
Originally Posted by Venemo View Post
And what makes you think that developers will be confused by this?
Developers are smart people, you know.

By the way, my thoughts are:

What Quim said, basically means this:
"If you want to develop for MeeGo, start developing today for Maemo 5, and we promise that your app will run on MeeGo with a single click on a button."

That's it.
The good thing about this is that it is actually true provided you wrap your platform-specific API calls within #if-s (or don't use them at all).
If that is the case why is it that we are not seeing any decent games/apps for the N900, are developers simply not interested in this device/platform, if so, why is that, are Nokia not encouraging them to develope anything?

Since PR1.2 the only thing, bar Angry Birds Level 1, I have downloaded is the World Cup app but it is irratating to see that they are already advertising apparently decent games for the N8.
 
Posts: 3,319 | Thanked: 5,610 times | Joined on Aug 2008 @ Finland
#167
Originally Posted by Venemo View Post
What Quim said, basically means this:
"If you want to develop for MeeGo, start developing today for Maemo 5, and we promise that your app will run on MeeGo with a single click on a button."

That's it.
The good thing about this is that it is actually true provided you wrap your platform-specific API calls within #if-s (or don't use them at all).
#ifdefs don’t cut it. That was one of the reason Qt was born in the first place.

An example about the confusion stems from the many announced promising technologies which, to the developer, have time unclear future or internal relations. Whatever you do on Maemo 5 will look crappy (or out-of-place at best) on Harmattan, and there is already UI technology that points beyond Harmattan. You already have three (or four, if the reference UX counts) different ways of doing an UI without the necessary background knowledge or insight to make a stategic decision which one to use. And I haven’t even started talking about Symbian, which will certainly be a major factor in technology choices in any paid developer’s work. So no, it’s not really clear, partially due to the speed of technology development, but is worsened a lot by the incoherent naming strategy which will have to be corrected before any final release is made.

And a general comment - ’smartness’ of developers have nothing to do with it. That’s like saying Qt doesn’t need documentation - if you’re smart enough you’ll figure it out based on the source. The goal is to make the tools easily approachable and to minimize the learning curve and potential communicational errors later on. A clear structure (naming included) helps *everyone* interested in the platform.
__________________
Blogging about mobile linux - The Penguin Moves!
Maintainer of PyQt (see introduction and docs), AppWatch, QuickBrownFox, etc
 

The Following 6 Users Say Thank You to attila77 For This Useful Post:
Venemo's Avatar
Posts: 1,296 | Thanked: 1,773 times | Joined on Aug 2009 @ Budapest, Hungary
#168
Originally Posted by attila77 View Post
#ifdefs don’t cut it. That was one of the reason Qt was born in the first place.
Qt offers platform-specific APIs for every platform.
This means that if I'd like my app to have the right look and feel for the platform, I'll need to use them.
If you want you app to run on other platforms as well, you should #ifdef them.

(Not to mention the platform-specific UI stuff that Qt has no abstraction for - in this case, direct reference to libraries of that platform are needed.)

Whatever you do on Maemo 5 will look crappy (or out-of-place at best) on Harmattan
Why would it?
I guess QMainWindow and QPushButton and so on will look as defined in Harmattan's theme.
Of course, a little Harmattan-specific APIs here and there (with #ifdefs of course, to keep the app compiling on Maemo 5) and all is well.

And I haven't spoken about Symbian yet - if a Qt app needs to run on different versions of Symbian and on different versions of Maemo (and perhaps desktop?), and wants to maintain the best look and feel on each platform, #ifdefs are inevitable.

You already have three (or four, if the reference UX counts) different ways of doing an UI without the necessary background knowledge or insight to make a stategic decision which one to use.
What are those different ways?
I'm asking out of curiousity, as I'm quite new to Qt.

And a general comment - ’smartness’ of developers have nothing to do with it. That’s like saying Qt doesn’t need documentation
My point didn't have anything to do with Qt or its documentation.
My point was for a non-developer who assumed that developers would get confused.

A clear structure (naming included) helps *everyone* interested in the platform.
As I say the n-th time here: agreed!

Last edited by Venemo; 2010-06-12 at 10:09.
 
Posts: 3,319 | Thanked: 5,610 times | Joined on Aug 2008 @ Finland
#169
Originally Posted by Venemo View Post
Qt offers platform-specific APIs for every platform.
This means that if I'd like my app to have the right look and feel for the platform, I'll need to use them.
If you want you app to run on other platforms as well, you should #ifdef them.

Why would it?
I guess QMainWindow and QPushButton and so on will look as defined in Harmattan's theme.
Of course, a little Harmattan-specific APIs here and there (with #ifdefs of course, to keep the app compiling on Maemo 5) and all is well.

What are those different ways?
I'm asking out of curiousity, as I'm quite new to Qt.
I used to code in Qt from before the times Maemo existed. The great thing about Qt was that, in gereneal, there WAS no #ifdef required (i you had it, it was considered bad programming or platform incompatibility). Whether you coded for XP, Mac or Linux, you used the same API. It was (still is) a really cool thing. With mobile development this changed - my Maemo apps are already littered with #ifdefs as I want them to compile on my deskop, on Qt4.5 (for N8x0) and Qt4.6 (PR1.2), and chances are there will be another volley of #ifdefs for each release of Qt and each device (worse yet, every firmware release), and my Qt code starts looking as ugly as any bog-standard C++ code that is trying to be multiplatform. And that scares me as a developer, since Qt was supposed to (and did in the past) relieve me from that. And I’m not just talking widget libs here.

As for the different ways
  • the "standard widget from code" approach. This will work everywere, look fairly localized but also the one that users usually refer to as "crappy looking community apps". No whizz, no bang. Adaptation already needed due to input technologies (fingerscroll, etc). Requirements: Qt

  • QtDesigner approach - similar to above, but using the QtDesigner UI editor. Speeds up UI development by a more visual way of assembling components. The downside is that QtDesigner does not know anything about mobile use, so you are missing out not only on the mobile-specific widgets, but also the generic look and styling - you do not see how your app will actually look on the device (the same problem Qt Simulator has). Requirements: Qt4.0+

  • GraphicsView approach - you draw your own stuff, no "classic" layouting, but you can use widgets and custom elements. More whizz, more bang, animation friendly, but requires a LOT of trial-and-error work. Requirements: Qt4.4+

  • MeeGo Touch framework - Features include standardized window navigation, list and other widget behavior, and common theming for components. Also known as MeeGo UI framework. Also known as DirectUI framework. Also known as DUI framework. Requirements: Qt4.6+, MeeGo API

  • MeeGo reference UX (handheld/netbook/etc) - UI implementation based on the MeeGo Touch Framework. Not released yet, so not clear how much customization a "pure meego touch" based app will require to fit in nicely. Requirements: Qt4.6+, MeeGo

  • Orbit - An UI framework, parallel to the MeeGo Touch Framework, initially for use on Symbian devices, but demonstrated to work on Maemo, too. Also known as UI Extensions for Mobile. Also known as Uiemo. Requirements: Qt4.6+, Symbian^4

  • Harmattan UX - like the MeeGo reference UX, but specific to the N900 successor. Requirements: Qt4.6+, MeeGo

  • QML - a Declarative UI tool, in effect a markup language that defines UI elements and their behavior in a declarative manner, allowing, snappy, whizzy UIs. Requirements: Qt4.7+

  • Qt Quick - the Qt User Interface Creation Kit, which consists of QML, a specialized editor in QtCreator and all-around support for the declarative approach. Also known as Qt Declarative. Also known as Declarative UI. Also known as Bauhaus. Requirements: Qt4.7+

To make things more tricky, these overlap a bit, so you can incorporate elements of one into the other, and there are often backports that allow technologies to be tested on previous versions. Also, did get more that four ways... I think I’m going to make a Qt/MeeGo dictionary
__________________
Blogging about mobile linux - The Penguin Moves!
Maintainer of PyQt (see introduction and docs), AppWatch, QuickBrownFox, etc

Last edited by attila77; 2010-06-12 at 11:43.
 

The Following 12 Users Say Thank You to attila77 For This Useful Post:
Venemo's Avatar
Posts: 1,296 | Thanked: 1,773 times | Joined on Aug 2009 @ Budapest, Hungary
#170
Originally Posted by attila77 View Post
I used to code in Qt from before the times Maemo existed. The great thing about Qt was that, in gereneal, there WAS no #ifdef required (i you had it, it was considered bad programming or platform incompatibility). Whether you coded for XP, Mac or Linux, you used the same API. It was (still is) a really cool thing.
Yes, it is.
Or more correctly, it would be.

Originally Posted by attila77 View Post
With mobile development this changed - my Maemo apps are already littered with #ifdefs as I want them to compile on my deskop, on Qt4.5 (for N8x0) and Qt4.6 (PR1.2), and chances are there will be another volley of #ifdefs for each release of Qt and each device (worse yet, every firmware release), and my Qt code starts looking as ugly as any bog-standard C++ code that is trying to be multiplatform. And that scares me as a developer, since Qt was supposed to (and did in the past) relieve me from that. And I’m not just talking widget libs here.
Ah, now this is what I was talkig about.

If you don't mind, I'm gonna react to each of the ways you described.

Originally Posted by attila77 View Post
the "standard widget from code" approach. This will work everywere, look fairly localized but also the one that users usually refer to as "crappy looking community apps". No whizz, no bang. Adaptation already needed due to input technologies (fingerscroll, etc). Requirements: Qt
Well, this is essentially the same as the next one, minus the designer.

Originally Posted by attila77 View Post
QtDesigner approach - similar to above, but using the QtDesigner UI editor. Speeds up UI development by a more visual way of assembling components. The downside is that QtDesigner does not know anything about mobile use, so you are missing out not only on the mobile-specific widgets, but also the generic look and styling - you do not see how your app will actually look on the device (the same problem Qt Simulator has). Requirements: Qt4.0+
This is my current preferred way of doing things.
However, where the standard widgets don't look good enough for a platform, I'm not afraid to use platform-specific stuff.


Originally Posted by attila77 View Post
GraphicsView approach - you draw your own stuff, no "classic" layouting, but you can use widgets and custom elements. More whizz, more bang, animation friendly, but requires a LOT of trial-and-error work. Requirements: Qt4.4+
Seems nice, but way over my current needs.

Originally Posted by attila77 View Post
MeeGo Touch framework - Features include standardized window navigation, list and other widget behavior, and common theming for components. Also known as MeeGo UI framework. Also known as DirectUI framework. Also known as DUI framework. Requirements: Qt4.6+, MeeGo API
Since this is specific to MeeGo, I'm not very happy about using it. There was already an example somewhere - every class name began with "Dui" instead of "Q", very thoughtful.

Okay, for MeeGo-specific look and feel, I will gladly throw in some DuiThis or DuiThat, but building my entire app on these things seems wrong. (Unless the app only targets MeeGo.)

Originally Posted by attila77 View Post
MeeGo reference UX (handheld/netbook/etc) - UI implementation based on the MeeGo Touch Framework. Not released yet, so not clear how much customization a "pure meego touch" based app will require to fit in nicely. Requirements: Qt4.6+, MeeGo
So, this is based on the above, right?
More platform specific stuff, great!

Originally Posted by attila77 View Post
Orbit - An UI framework, parallel to the MeeGo Touch Framework, initially for use on Symbian devices, but demonstrated to work on Maemo, too. Also known as UI Extensions for Mobile. Also known as Uiemo. Requirements: Qt4.6+, Symbian^4
Hm, never heard of this one before, thanks for pointing at it.

Originally Posted by attila77 View Post
Harmattan UX - like the MeeGo reference UX, but specific to the N900 successor. Requirements: Qt4.6+, MeeGo
Very good, this is even more platform specific than anything mentioned.

Originally Posted by attila77 View Post
QML - a Declarative UI tool, in effect a markup language that defines UI elements and their behavior in a declarative manner, allowing, snappy, whizzy UIs. Requirements: Qt4.7+
QML seems great (as a competitor to XAML, I guess?), but it doesn't have anything to do with an app having platform-specific look and feel - rather an app looking the same on every platform.

Originally Posted by attila77 View Post
Qt Quick - the Qt User Interface Creation Kit, which consists of QML, a specialized editor in QtCreator and all-around support for the declarative approach. Also known as Qt Declarative. Also known as Declarative UI. Also known as Bauhaus. Requirements: Qt4.7+
Okay, so this is "just" some tooling for the above, isn't it?

Originally Posted by attila77 View Post
To make things more tricky, these overlap a bit, so you can incorporate elements of one into the other, and there are often backports that allow technologies to be tested on previous versions. Also, did get more that four ways... I think I’m going to make a Qt/MeeGo dictionary
This is the part that is great about Qt. We can use whatever things are there together - the right tool for each purpose.

Last edited by Venemo; 2010-06-12 at 12:07.
 
Reply

Tags
branding, buying nokia devices, buying non-nokia devices, intel is stinky, intel rocks, maemo, maemo 6, meego, meego versions, moblin, nokia, see tintin go bye-bye, sm - go back into hiding

Thread Tools

 
Forum Jump


All times are GMT. The time now is 03:10.