Michal Čihař - Confused with N950 development options

Confused with N950 development options

As the main reason why I got Nokia N950 is that I promised to write some applications for that, I started to look deeply at available options how to write them. Unfortunately there are too many options and all documentation I've found is pretty confusing.

The short story is that you should use Qt for user interface. However it is not that easy as it looks, you can use regular Qt, which can be run on the phone, but looks ugly in the end (maybe I did something wrong, but it did look completely different to anything else running in the phone). You can use Qt Quick, which is easy to write (simple UI definition and JavaScript variant for code), but it does not seem to support much of the widgets. And then there is Meego Touch library, which seems like a best option, however not mentioned at all on Nokia developer website.

Looks like I need to learn few more things before actually starting to code.

Comments

wrote on July 25, 2011, 9:14 p.m.

As a future N8 owner, I hope that every future N950 and N9 developers consider developing mostly with Qt, and create code as compatible as possible with the Symbian-based "poor cousins". Of course, if you have some application that needs something other than Qt, go ahead. But Qt is very emphatically suggested.

Now regarding "plain" Qt versus Qt Quick, using QML stuff etc, I am not exactly experienced, but I have no idea why you might have got a bad result from using "straight" Qt. Your confusion seems to be arising from an unexpected result that is in fact a bug or error.

QML should help you a lot to create basic interfaces, and help you to work with UI designers that are not willing to handle C code... But if you need non-supported widgets, well, do what you got to do, there is no confusion here again. You shouldn't _need_ Qt Quick to create acceptable good looking applications.

I feel it's like Glade. You are saying you didn't manage to make a pure gtkmm application, you were forced to use Glade. That's not a confusion between alternatives, there is just something that is not working there...

wrote on July 26, 2011, 2:19 a.m.

My intention is definitely to make my code work on Symbian (as it's my second phone, which I will still use when I will need longer battery life or smaller phone).

I think I had to be doing something wrong, however after having troubles with installing Nokia SDK, I can't be sure it's not incorrectly installed.

Moritz Mühlenhoff wrote on July 26, 2011, 4:03 p.m.

You don't need QT, you can run and compile standard C code on the N950. If you download the SDK, it provides a Scratchbox environment to crosscompile for Arm:
http://harmattan-dev.nokia.com/Introduction.html

wrote on July 26, 2011, 4:52 p.m.

Well I prefer to use Qt to allow running on other platforms in future as well.

Especially given how unclear is future of MeeGo for the phones.

wrote on July 27, 2011, 12:45 a.m.

Don't use QWidgets with N9/N950

They will work but they are neither optimized for touch screens nor do they have the same style.

MeeGo Touch is an N9 only library that is dead even before birth. If you use it, you will be tied to N9.

The best way to go forward is QtQuick and QML. I've been trying to stay away from QML but after trying to create some cool animations for 3 days using MeeGo Touch and failing, I decided to give QML a try and in 10 minutes I got something.

There are also Qt components for symbian so hopefully N9 QML apps will run on symbian.

wrote on July 27, 2011, 10:35 a.m.

That's what I do for now. However given that you need to import com.meego to get UI widgets, I'm a bit skeptical about portability to Symbian...

Rezza wrote on July 27, 2011, 12:17 p.m.

Definitely Qt Components. MTF is dead (hurray)! Standard Qt widgets are not going to be included in Qt 5 (it will be standalone module, desktop only and even for desktop there will be Qt Components). Plain Qt Quick is great for games or custom content but you have to write everything from scratch (as I do right now ;-).

For Symbian portability - long time ago, there were different Qt Components for MeeGo, Symbian but now they are merging it. So there's basic set of components for all targets (soon it should be one import) and platform specific add-ons. On the other hand - you will always want to customize Symbian, Harmattan, MeeGo look and feel just to match the platform philosophy.

Join as @ openmobility.cz, we also have one N950 owner.