Are you attending the Ubuntu Developer Summit? Maybe you want to try the UDS app then 😉
Some time ago I started writing a mobile UDS app to manage UDS affairs on my mobile phone. Being a Qt fanboy and owning multiple phones with Qt the choice of toolkit was rather obvious. And oh boy is it awesome.
Right now there are stable versions for Meego 1.2 Harmattan (Nokia N9 and N950) as well as Symbian^3 (basically every Nokia Symbian device after the N8). Additionally there is a working prototype for Maemo 5 (Nokia N900) as well as platform UI code for Android >= 1.6.
Get it while it is hot! From the Nokia Store (for the N9) or here (for Symbian^3).
If you want to help with the Desktop/Maemo5/Android UI please poke me on IRC or drop me a mail.
The code is available at projects.developer.nokia.com.
Hey, nice one! I was working on something similar this weekend for our LinuxAlt event but I’m not sure Nokia QA makes it by the time… For now only Harmattan, I’d like to try S^3 too… Not sure about N900 and Android (are there Qt Components/Qt Mobility in latest version?).
http://rezza.hofyland.cz/linuxalt/screenshots/
Btw.: it’s really quick hack, so…
Harmattan to Symbian is next to no effort since the Nokia provided components are almost identical on both platforms. Android is a viable target IMHO (at least < Android 3). Due to the back buttons provided by Android 1 and 2 devices you can implement a similar work flow as with Harmattan or Symbian, except you do not need to worry about having a toolbar with a back button as that is handled by Android. So you can simply copy the Harmattan or Symbian Page, PageStack and PageStackWindow components and use them almost identically on Android. If you have a look at the uds code you will find a very simple code base for android which does exactly that (you might also want to check the commit log for 'android' actually, as I might have done some mighty tricks I do not remember right now :)). As for N900, unless you know that a lot of people in your target audience use it, it probably is not worth the effort as it is really non trivial. If you take a look at the UDS maemo5 code you'll notice that the C++ side implements a Window and WindowStack (almost identicaly to what a Page and a PageStack is on Harmattan) with very hacky code. The problem with Maemo5 is that the stacking paradigm is implemented using actual platform windows and X11 magic, so I had to craft the QML magic around this doing nasty things to the QtDeclarative objects which in fact results in different execution contexts, which one needs to be aware of when doing the UI. Other than that you can mostly copy components from Harmattan or Symbian or make them yourself. Since Qt on Maemo5 is fully theme aware you will get sensible colors by default (for text for example). But really, for me that was more of a proof of concept adventure than actual use (well, I also know quite some Ubuntu people who have an N900 ;))
Your app looks really great for a quick hack 🙂
Ok, thanks especially for the Android part. And yeah, I know how Maemo magic works, played with pure Qt app there… But I expect a lot of people having N900 (it’s quite popular here). Yep, Symbian should not be a big problem (should, as hardware wise it’s always problem, I worked on pure QML based app for Nokia – all images has to be scaled down to just a thumbnail, because it was crashing on low memory – even on C7…).
Yep, it was a quick hack in Qt Quick 🙂
Well, I expect to do some more components on the Maemo side of things, so if you want you can use stuff from the UDS app 🙂
With pure QtQuick you indeed need to take care of all the memory management yourself, which can at times be tricky. Like with the Nokia components you have limited life cycles for all Pages, which makes it quite scalable as you have a somewhat natural limit to how much stuff you actually have in memory. Memory, the crux of mobile programming :S
For Maemo, we already have Sojourner which just needs an XML file to know about the content of your event.
What about webOS? MeeGo is even smaller in user base then webOS and yet you bring out an app for MeeGo but not for webOS?
Oh, awesome, if you tell me your Nokia Developers user name I will add you to the project so you can work on the webOS UI 🙂