Showing posts with label fremantle. Show all posts
Showing posts with label fremantle. Show all posts

New packages in Extras-Testing: gPodder 2.12, TV out control widget

gPodder 2.12 "The Odyssey of Flight 33" has been released, which is purely a bugfix release for those of you who found an empty podcast list after skipping a gPodder version during upgrades (this release fixes both the initial problem and tries to recover databases for which migration has failed). The updated package is also available in Diablo Extras already for N8x0 users. Please test and vote for gPodder 2.12-1 in Extras-Testing!

A new desktop widget written by Ville Syrjäl has been packaged for Extras. TV out control lets you control advanced features of the N900's TV out such as aspect ratio and scaling - those settings are not accessible from the official control panel applet, which is closed source (vote for that bug if you'd like to see it open sourced and improved through the Community SSU). Please test and vote for the TV out control widget in Extras-Testing!

qw 0.1 is now available for Maemo 5

My second new game this year - qw - has been released for Maemo 5 today. Version 0.1 (a tech demo, not a proper final release) gives you a sneak peek on the gameplay with 9 different levels and four-player support (if you hook up an external USB keyboard or get together really close for some N900 keyboard multiplayer action). The gameplay is simple: You need to control your player cursor (either via touchscreen gestures or keyboard) and enclose areas of the game with lines in order to fill them with a colored image. Beware of the enemies, as they will destroy your lines and split your points in half. If you enclose one or more small enemies, your points are multiplied.

A .deb for Maemo 5 is available from the qw homepage and packages for Symbian are also available. Try it out and send some feedback :) Enjoy!

That Rabbit Game 1.2 is now available for Maemo 5

I've blogged about it already, and even showed some code during an Interview at Nokia World, but there have not been any releases of That Rabbit Game so far, mostly due to Ovi Store QA not understanding what Optification means and requesting that the version number of the application appears somewhere in the app UI (after 15 days in QA). I've made the requested changes, added scoring and pushed new releases (of version 1.2) for both Symbian and Maemo 5 to Ovi QA.

Until the game gets published on Ovi, I decided to release packages on the website so you can download and enjoy the game right away - and maybe even provide some feedback. Please don't mirror/redistribute the packages, but link directly to the website. Download That Rabbit Game for Maemo 5!

Controls are via accelerometer (to tilt the rabbit head left/right) and via touchscreen (tap to flap your wings - the longer you tap, the harder the wings flap). The goal is to lose 10 coins in 90 seconds by getting shot 10 times. After that, the next goal is to lose the 10 coins in as little time as possible. Yes, you control the rabbit head, and not the crosshairs.

Updates and changes will be announced via @thatrabbitgame on Twitter, so follow it and tell your friends. Enjoy!

The Qt promise and what Maemo 5 needs

(tl;dr: Nokia should provide updated Qt packages as official SSU for Maemo 5.) Before I start, here are some facts (correct me if I'm wrong):

  • The N900 runs the Maemo 5 operating system
  • Maemo 5 received some updates (the latest one being PR1.3)
  • We don't really expect PR1.4 to come out any time soon, if at all
  • The MeeGo Handset images from meego.com are inferior to Maemo 5 and not a replacement (and never will be)
  • The MeeGo operating system on the first Nokia MeeGo handset will have a proprietary UX and proprietary apps, and won't be available for the N900

In summary, it means: We are stuck with Maemo 5 on the N900. And that is a good thing! Lots of useful apps, a helpful community (if you subtract the trolls) and a polished OS. Sure, there's room for improvement, and lots of open bugs that should be fixed, but that's another issue (which will ideally be solved by open sourcing closed components with bugs that Nokia isn't interested in fixing anymore and by the Community SSU). This one is about Qt.

Two days ago, an e-mail was sent to maemo-community, proposing a "community service pack", which basically is a big pile of workarounds. Read my response for some initial thoughts.

When Qt arrived on Maemo 5, the promise was two-fold:

  • Write your apps in Qt and you're ready for MeeGo (apps written now will run on the platform released in the future)
  • Maemo 5 gets Qt support, so MeeGo apps will run on the N900 (apps written in the future will run on the platform released now)

It turns out that the first one will probably hold true (surely with QML, maybe even with QWidget), while the second one is doubtful, as Maemo 5 has only got Qt 4.7.0 through the official channels (PR1.3), with no real official update in sight. If you use QML, use QtQuickCompat as workaround ("Qt Qml plugin that reregisters all “Qt 4.7” types in the “QtQuick 1.0” namespace … useful if you’re forced to stay with 4.7.0 (e.g. on N900), but still want to use the new namespace.").

There is also a real bug (yes, a bug!) in Qt 4.7.0 on the N900, and the fix isn't released as update - it's a new package: libqt4-bearer-hotfix ("This is a hotfix for the broken ICD package in Qt 4.7.0. It can be removed once Qt mobility 1.1 is released."). Now, the proposed "Community service pack" would combine all these fixes into a single dependendable metapackage (yes, a new one). It becomes the "Unbreak my Qt" feature that every app developer has to depend on and specify in the packaging.

This is wrong! No developer targetting MeeGo who has not heard about Maemo 5 will go through all those ugly workarounds and spend a week fixing things up for Maemo 5 just so that the app works. Now imagine what would happen if the first MeeGo device also introduces such kludges once it falls out of its support life cycle. Or what if the problems on Symbian are similar, and developers have to special-case things there. Not only for Symbian^3, but also for S60v5? Fragmentation.

How to avoid fragmentation? Simple: Provide Qt as a "feature" with a quicker release cycle that can be updated every month if need be. Provide Qt updates also for operating systems that don't get updates for the OS anymore. Here's my proposal:

  • Provide SSU updates for Maemo 5 for Qt (and Qt Mobility) through official channels (that's the important part here!)
  • A new Qt (and Qt Mobility) release should be available on all platforms (Maemo 5, S60v5, Symbian^3, MeeGo) at the same time through official (end-user approved) channels
  • Apps targetting stores and repositories (Maemo Extras, Ovi Store, MeeGo Apps/Downloads) should be able to depend on the latest Qt (and Qt Mobility) version

Without that, you'll get fragmentation similar to Android: The 1.5, 1.6, 2.1 versions are similar to Qt 4.6, Qt 4.7.0 and Qt 4.7.1 (for example). Again, you don't need to update the OS, just update the framework - through official channels!

Hildon UI elements in QML

I've been playing with PySide and QML this week (more on that soon), but here's something that might be interesting to the Maemo community: Using the native Hildon look and feel of Maemo 5 in QML.

This QML demo uses the current theme graphics of Hildon and provides QML components that can be used just like their Hildon counterparts, but inside QML UIs. This is not a complete library, just a test of what could be possible in case anyone wants to step up and create and maintain a Hildon library of QML components. Here's a video:

The code for this demo is on Gitorious - you can try it out on your N900 using qmlviewer.

gPodder 2.10 for Maemo 4 and Maemo 5 released

As promised last week, a new release of gPodder is out. The package for Maemo 5 is already in Extras-Testing, so test it and vote for it. The package for Maemo 4 has already been uploaded to the autobuilder and should be available shortly.

This new release brings yet another round of UI improvements, and it also incorporates the feedback that I got at the MeeGo Conference:

  • Expose "Pause subscription" in UI
  • Multi-delete in episode lists (Maemo bug 5182)
  • Setting for episode auto-delete on startup
  • Custom episode list model (faster loading)

You can find a detailed ChangeLog at gpodder.org/changelog/2.10.

If you are not yet a user of gPodder, why not take the opportunity to try it out? You could subscribe to the MeeGo Conference 2010 Video Podcast (Yahoo Pipe) and (re-)watch the sessions on your device. Of course, audio and video podcasts are supported as well, as are YouTube user channels and Soundcloud users.

Maemo 5 app UIs: {The,A} big picture

Sooner or later it will be necessary to create a QML UI for gPodder if it is to integrate nicely with devices on which Qt is the "native" toolkit for third party apps. At the moment, the reusable UI elements that can be used with QML (Qt Components) have not yet been officially released (the Git repository is available on Gitorious, though), and there are no UI style guidelines for Harmattan out (yet?). I'm also not able to locate UI style guidelines for QML apps on Symbian^3, and there are only a few small sample QML apps out right now.

Let's look at what we have on Maemo 5 right now. Here's a simplified overview of the current Maemo 5 UI of gPodder:

You can also check out the full-size image (~ 3.5 MB).

The UI follows the Maemo 5 Style Guide where it makes sense and tries to come up with better solutions where the Style Guide does not have a definitive answer. I'd like to hear your opinion about the current UX of gPodder and how these concepts can be translated into a QML app that integrates nicely with "future" UIs (Harmattan, S^3). The new-style episode list that can be seen in this picture will be made available with the next release that will be out Really Soon Now™.

MaePadWeb - A Web UI for MaePad running on your N900

One of the annoyances with task lists on mobile devices is that there is no easy way to view or edit your task list on your computer as well (there are some web services that allow for these things, but you have to trust your data to these services, and not all these services have a full-featured Maemo client app, and they mostly need to synchronize data between different clients).

So, what about having a simple HTTP server that you can start on your N900 and access from your computer's web browser to view and edit your MaePad checklists? Here's a short video of how it works at the moment:

Here's a screenshot of how the checklist view looks right now:

The MaePadWeb application will be available soon. On a related note, MaePad 1.8 is out now with live search support for the memo list - check it out and test it/vote for it!

SSH agent forwarding in Scratchbox

I usually have the Maemo SDK running inside a VM - either completely remote or on the same machine (so I can have a 32-bit minimal Debian install containing Scratchbox independent of the host system). I can then SSH into the development VM from my working machine using public key authentication and the SSH agent. I also have agent forwarding set up, so that I can SSH from the SDK machine directly to the N900 (to deploy binaries and .debs) or to some server requiring SSH access (e.g. drop.maemo.org) without having to generate lots of keys and distributing the key to all kinds of different machines.

Using -A (or ForwardAgent yes in .ssh/config) when SSHing into the SDK machine makes it possible to connect to other machines from it, utilizing your SSH key. This sadly does not work when starting scratchbox, because it opens a new environment, and the $SSH_AUTH_SOCK environment variable is lost. To fix this, I simply write the contents of this variable into a file accessible from Scratchbox and then export this variable in the Scratchbox login script. I usually also have a symlink in $HOME pointing to the SDK $HOME:

ln -s /scratchbox/users/$USER/home/$USER ~/sdk

With this in place, I can now edit the "normal" user's login script by adding the following line at the end of .bashrc:

echo $SSH_AUTH_SOCK >~/sdk/.ssh_auth_sock

Scratchbox has its own login script (also called .bashrc, but sitting in the Scratchbox home folder), so we edit this and add the following line:

export SSH_AUTH_SOCK=`cat .ssh_auth_sock`

After this, logout of Scratchbox, logout of the SSH session and then connect again with SSH forwarding:

ssh user@maemosdk -A
scratchbox
ssh-add -l

The last command should display the fingerprint of your SSH key. You can now connect to remote hosts from within your Scratchbox session while your SSH key still resides only on your local machine, loaded into the SSH agent.

gPodder 2.9 for Maemo 5 in Testing

A new release of gPodder is out. Test it and vote! It has got some fine-tuning of the UI for Maemo 5 users that you will discover one by one. I just want to highlight two UI changes that should enhance the user experience, and compare them to what the previous version had.

The episode list

gPodder 2.8 introduced MAFW integration, and with it came the ability to save position and duration information for each episode. This was displayed in the episode action dialog, but not in the episode list. We now display the position and duration in the episode list, which allows you to quickly scan for an episode depending on its duration (or check how far you have come for a given episode). In the "All Episodes" list, we also display the podcast name for each episode so that it is clearer from which podcast an episode is coming (the content of the episode "Mini Book Reviews" is much more predictable if you know that it comes from "Python411").

Updating feeds

Previous versions of gPodder changed the "Check for updates" button into a combined progress indicator and cancel button. It was not really obvious to first-time users that you can cancel the feed update, and if you accidentally tapped the button twice, the feed update would be cancelled and you might be confused. gPodder 2.9 introduces a fancy new progress bar that appears (and even slides in and out thanks to hildon.AnimationActor) during the update and has a more obvious red cancel button. With the gained screen space (the progress bar is much bigger), we can also show more information about the update process, like the name of the updated podcast.

A detailed changelog can be found at http://gpodder.org/changelog/2.9. Of course, the Maemo 4 (N800, N810) package has also been updated, and is available from Diablo Extras right now.

Modifying the Maemo 5 task switcher and launcher

This will be the last post for this week, I promise ;) After playing around with the MeeGo Handset launcher and task switcher, I decided to have a look at how this could be implemented in Fremantle, because the big previews and the paginated launcher are easier to use in some cases (you can also checkout the contents of a window while scrolling by without having to activate it). hildon-desktop manages the task switcher and launcher, among other things. The results of two days of hacking are two patches:

What I'm missing right now and did not succeed in implementing straight away is the "snapping" of TidyFingerScroll to page boundaries, so that whenever a scroll operation is finished, it automatically scrolls to center the icon page (for the launcher) or a preview window (for the task switcher). Obligatory demo video (.debs and patches are linked from the threads above if you want to try it out yourself) here:

If you happen to have experience in Clutter, why not give it a try? I suppose you would just need to implement another scroll mode in TidyFingerScroll and then request this mode in hd-task-navigator.c and hd-launcher-page.c. Who's up for the challenge? :)

Random observation: Hidden in hd-task-navigator.c one can find a geeky gem:

  xthumb = ythumb = 0xB002E;

A new gPodder release should be ready next week. And now back to some Uni stuff :)

gPodder 2.8 for Maemo 5: Notifications and MAFW integration

It's been some time since the last gPodder release, and I've been busy adding some nifty features to make the best use of the on-board facilities of Maemo 5. As already mentioned in a previous post, this new version comes with built-in notification support. After installation, you might have to re-start hildon-home (or your device) for the changes to become effective. That's what you will get when new episodes are found:

The other and more "invisible" change is that gPodder now listens to MAFW and also talks to it at times. MAFW is the backend of the Media Player application, and you profit in two ways from this integration:

  • The last playback position and duration of an episode are displayed in gPodder and synchronized to gpodder.net
  • Playback can be resumed even with the Media Player application

This means that users of the normal Media Player application will benefit from all the goodies that were previously only available in combination with Panucci. Combined with the new notifications, this makes for yet another great release with even better integration into the Maemo 5 environment.

gPodder 2.8 is now available from Extras-Testing, so please test, review and vote on the package.

Desktop notification support in gPodder

Three days ago, Maemo bug 11130 was filed: It complains about gPodder stealing focus when it has finished checking for new episodes in the background. This is true, and I've been bitten by this annoyance several times already, so I decided to finally have a look into the SMS/IM/Phone-style notifications (the "yellow" bubble that merges into your task switcher after some time). Thankfully, Daniel Would (of Witter fame) has published his research results some months ago already, so getting up and running was easy from that point. Here are the results so far:

One problem that I still have not figured out how to fix (even after digging in the hildon-home source tree) is how to attach such a notification to the a given window (or application) instead of having it appear as separate "window" in the task switcher (see the second screenshot). Can somebody in the know give me a hint? On the other hand, the callback for clicking on the notification works fine already and opens the new episodes dialog.

A related change that also prevents gPodder from stealing focus was to replace the progress indicator dialog with a HildonBanner - it might not look so good without a progress bar, but it makes gPodder less intrusive when the user interacts with other applications.

headphoned 1.9 for the N900 is now in Extras-Testing

The beloved Headphone Daemon, who usually sleeps in the darker corners of your N900 and makes sure that you do not embarrass yourself in front of other passengers or pedestrians with whatever kind of experimental music you happen to listen to when the headphones are accidentally unplugged (also known as public transport situations) got a small facelift (also known as code change).

A few changes that have accumulated over the last few months have now been packed up into the shiny new 1.9 release:

  • Support for libplayback / whitelisting (by Faheem Pervez)
  • Support for pausing Martin Grimme's MediaBox
  • Detect headphoned disconnect during active calls and send pause command after the hangup

The last one in this list might be of special interest to some of you who have complained about headphoned not working when the headphones are unplugged during a call. This won't happen now, as headphoned now monitors the call status via D-Bus and keeps track of active calls. When the headphones are unplugged while a call is active, the pause signal will not only be sent right away, but also a second time when the call gets disconnected. This work for all types of voice calls, and should work for video calls as well (untested).

During the summer holidays, I have had less time to do more development and releases, but things are starting to move slowly again - expect new releases of packages like gPodder and MaePad in the upcoming weeks. I'd also love to port gPodder to Harmattan and add a fancy new MeeGo Touch UI on top of it (in March I said that Maemo 6/MeeGo is for later this year - which might be very soon now), so you can all enjoy your favourite podcatcher with the usual native UI support. Let's hope that the Harmattan SDK and/or Harmattan developer images get released for the N900 soon (and then the Python bindings soon afterwards - the PyMaemo team was very fast in previous release cycles), so the community developers have enough time preparing their apps for the next big release.

For now, please test and enjoy this new headphoned release, and don't forget to vote for and comment on the package once you have verified the new release from Extras-Testing.

Fine-grained playback status in gPodder and Panucci

I've just uploaded Panucci 0.9-alpha0 to Maemo 5 Extras-Devel. This package is the first one based on the new codebase, which includes support for sending fine-grained playback status messages to gPodder and also receive metadata about episodes from gPodder. This makes listening to podcasts and managing your listening queue even more comfortable. The following screenshots are from development versions of gPodder, but you'll soon be able to enjoy these new features with the upcoming release. Until then: Please test Panucci 0.9-alpha0 in Extras-Devel (I won't be promoting this package to -Testing yet, but report bugs against it if you try it from -Devel), so we can fix any outstanding bugs until the first final release.

So, what's working so far? gPodder gained the display of the current position and total time in the episode actions dialog:

This position information is automatically sent from the newer Panucci version (so it depends on you using Panucci for playing podcasts). Another cool side-effect is that this information will be synchronized with gpodder.net if you are logged in and have enabled synchronization, so you can finally start playing back episodes on your computer, and then pick up where you left on your mobile phone on the go. You can also view a detailed overview of what parts of an episode are played on gpodder.net:

This is really an important feature milestone for gPodder (and Panucci), and it's nice to finally have playback status and episode duration information inside gPodder. Expect a new gPodder release soon, released together with the new version of Panucci (due to the branching history of Panucci, there are some feature regressions, like missing display orientation controls, but these will be re-added in the next few weeks as we move along).

gPodder 2.6 for Maemo 5: A visual tour

gPodder 2.6 (an app for Maemo that can subscribe to and download podcasts, YouTube videos and tracks from Soundcloud) has been released today. The package is in Extras-Testing, so please test it and vote for it! A package for Diablo (Maemo 4, N8x0) is also available already, and includes some Diablo-specific fixes (the "New episodes available" selection was broken, but works correctly now).

I've prepared some screenshots to compare the UI of gPodder 2.5 for Fremantle with the UI of gPodder 2.6. Here are a few examples:


The episode actions dialog now has a dedicated "Delete" button for downloaded episodes


The settings dialog has proper "Save" semantics now (close the dialog to discard changes, click on "Save" to apply changes) - this has been suggested during UX-Week 1


The progress bar for the episode list has rounded corners (useless, but looks better)

Another feature that isn't visible at first: If you get "New episodes available", and you can't decide from the title of an episode if it's worth downloading, just long-tap the episode and choose "Shownotes" from the context menu to display the complete shownotes in a window.

This release includes improved gpodder.net support (easier configuration, restoring of subscriptions now works on first run), and will feature more fine-grained episode playback status synchronization with the (yet-to-be-released) new version of Panucci.

gPodder 2.5 "easter egg": Diablo UI on Fremantle

As you probably already know, all gPodder versions (Linux Desktop, Maemo 4 and Maemo 5) use the same codebase, and as Python is an interpreted language, the choice of which UI to run can be made at run time (you could do this for compiled languages, too, but it's easier for interpreted ones). In current versions of gPodder, this happens by using command-line arguments. gpodder alone will start the Desktop version (which does not work on Maemo for obvious reasons - an "auto-detect" feature might be implemented in the future). On Maemo 5, you will usually want to use gpodder --fremantle, which will start the Maemo 5 UI as you know it (that's also the command that gets executed when gPodder is started from its application icon). On Maemo 4, the command is gpodder --maemo.

If you are a gPodder/Maemo old-timer, you might still remember the "good old days" of two-panel, stylus-based podcast goodness with multiple selections, the funky context menu and the thick toolbar on your N8x0. Ever wondered how that would feel on the N900? Try it out! Simply run gpodder --maemo in X Terminal and give your podcasts a little retro interaction (the database and downloads are the same in both versions and are therefore shared).

Try it out - it might come in handy if you are a stylus cowboy or have really small fingers (or a big N900 and normal-sized fingers...). Also, give the multiple-selection feature in the episode list a try. All you need is gPodder version 2.5, as it contains some compatibility fixes to make the Diablo version not be totally unusable on Fremantle.

Brain Party ported to the N900

Brain Party from Hudzilla Games has been released as open source for Linux some days ago. A thread on t.m.o suggested somebody port this over to Maemo. An afternoon of tinkering later (and with the help of Javispedro's SDL-GLES library), I've got the game to run on the N900 (see the patch for details on the changes - as you can see, the original source code is pretty clean, so porting was mostly straightforward after being told about SDL-GLES, fixing a parameter for glTexImage2D and doing some math to scale the game to the N900's screen and scale the input coordinates the same way). The package is currently in Extras-Devel, soon to be promoted to Extras-Testing. In the mean time, you can grab binary and source packages from this page (use apt-get -f install afterwards to satisfy dependencies).

Please test it and vote for it on the Maemo.org package page when it enters Extras-Testing (did you know that you can follow @maemoextras on Twitter to see packages entering Extras-Testing and Extras? Now you do..).

It's good to see developers porting their games to Linux and open sourcing them, which makes learning from their code and porting the games to other platforms very easy. If you like the game, please support the developers by purchasing Brain Party for the iPhone (you probably don't have an iPhone, so show the N900 game off to your freedom-hating friends and tell them that they should purchase the game for their iPhone/iPod touch on the App Store). The game is also available for Windows Mobile and Xbox 360.

App updates: gPodder 2.4 and MaePad 1.5

This week, it's once again time to update two of the more prominent apps in my collection: gPodder 2.4 "The Pants Alternative" for both Diablo and Fremantle and MaePad 1.5 "Productive" for Fremantle.

With the installation of PR1.2 on the autobuilder, MaePad can once again be built on it, so I've resumed uploading of MaePad releases to Maemo.org.

So, what's in it for you? Let's start with gPodder:

  • Progress bar for loading episodes (and optimized episode list loading)
  • "All episodes" view is not grouped per-podcast anymore (all episodes are now sorted descending by date)
  • Faster download resuming on application start (with progress dialog)
  • Automatic clean-up of finished downloads
  • Simplified layout of progress indicator dialogs (e.g. deleting episodes, unsubscribing from podcasts)

And now for your favourite productivity tool, the MaePad:

  • "w" in the checklist/sketch view now saves the database
  • Fullscreen mode of checklists uses portrait mode (for shopping use, etc..)
  • Node type displayed in overview (there's a themeing issue here with the highlights and the secondary text color.. suggestions welcome)

Now it's your turn: Please test the new packages and then vote for the packages here: MaePad QA page and gPodder QA page. Any bugs that you will find should be reported here: new bug against gPodder and MæPad t.m.o thread.

The PR1.2 SDK on the autobuilder adds a dependency on a newer Hildon version that cannot be fulfilled in earlier firmware versions, so I'll build a package compatible with pre-PR1.2 firmware soon and publish the package on the MaePad homepage for manual installation during this transition period until PR1.2 becomes available for end users.

SketchyAetch, gPodder/Qt and living in the present

After the very interesting Nokia Mobile Developers Forum in Hagenberg on Friday and Saturday (Petri Niemi did several interesting Qt introductory talks), I decided to play a bit with QGraphicsView again and this time try to come up with an app that actually does something: SketchyAetch!

Having not done much with C++ for several months, the GCC error messages (at least for C++) are still kind of cryptic. The fact that code gets pre-processed by moc does not help here, as the error messages might appear in a different location than where the real error/typo is. It should not be too difficult to get around these issues after some practice, and from that point on, getting things done (in C++) with the Qt libraries should be nice.

Already-drawn lines will fade away when you shake your device just like you would expect. The package is available in Extras-Devel.

Now something for the Qt fanboys out there: If you're running gPodder 2.3 on your device, you can try

   python -m gpodder.qtui

for a PoC "yes we could use Qt for the UI layer". This is not something that we will be working on in the near future (after all, the Hildon-based Maemo 5 UI is perfectly fine and "native" and it will get some more fine-tuning with the next release), but it shows that it won't be too difficult to do a DirectUI GUI for gPodder on top of the existing podcast client for M6/MG. We probably get around to implementing a DirectUI GUI for gPodder later this year when it's time to think about "Maemo 6" support.

Looking back how strange the gPodder Fremantle UI looked back in June 2009 (and how much changed in both the Framework and gPodder until the first Fremantle version was released), there's no rush in switching to Qt or DirectUI (at least for existing applications). I just hope that good Python bindings will be available for DirectUI/Qt when it's time to support the new UI, but I'm sure the PyMaemo team will do a great job just as they did with Hildon/Fremantle.

Maemo 5 is very polished these days, and I expect it to be even more mature when PR1.2 is out. It's also nice to see the Qt bits fall in place, DirectUI widget demos being made available, and MADDE becoming integrated with QtCreator, so the tooling support is ready when it's time to write M6/MeeGo apps. Maemo 6/MeeGo is for later this year, now it's time to enjoy Maemo 5, the N900 and all the great open source apps :)