In this edition...

  1. Front Page
    • Using Maemo Hildon UI elements in Qt Quick
  2. Applications
    • GPodder 2.10 released
  3. Development
    • QML tutorials
    • How QML's Scene Graph will get silky, velvety smooth animations
    • Hildon-esque QML on Nokia N8
  4. Announcements
    • RadioTimeToGo: Internet radio directory and playback
    • Bluetooth/USB mouse support on N900
    • First beta of PySide (Python for Qt) released, with Qt Quick support
    • RectBlock - Web Runtime-based game

Front Page

Using Maemo Hildon UI elements in Qt Quick

Qt Quick's primary language, QML, provides a new rapid development methodology for Maemo, MeeGo and Symbian. However, it's yet to get a core set of UI components. Qt Quick Components is the official answer; but is currently under development. There's also the community-developed Colibri; but there's now a third option: using the current theme's own elements to provide widgets which match the look & feel of the rest of the system. Thomas Perl explains, 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. A video of Thomas's experiments is available, and the source code is in Gitorious for further collaboration. Later in the issue, there are photos of the same code; with a Hildon theme; running on the Nokia N8 (a Symbian phone).


GPodder 2.10 released

Thomas Perl has updated his podcast application, GPodder, to version 2.10 for both Maemo 4 and Maemo 5: 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). Those interested in testing should bear in mind that the usual warnings still apply to Extras-testing, and take care in that effort.


QML tutorials

Intel's Elliot Smith has been expanding his Qt Quick knowledge and has started writing up his experiences in a series of tutorials: These aren't part of the official developer documentation, but I'd be interested to know if they are useful, whether they replicate ongoing work, whether there are better ways to do the things covered in them, etc. So far, they cover creating a transparent window; keyboard navigation; i18n and creating full screen applications. They're written in a MeeGo context, but should provide a useful starting point in a cross-platform context.

How QML's Scene Graph will get silky, velvety smooth animations

"gunnar", on Nokia's Qt Labs blog describes the challenges in getting to silky-smooth, "velvet" animations; and how the refactoring of Qt to use a "scene graph" will help. One of the technical requirements is to be done on time. To reach 60 Hz, you need to be done in no more than 16.66 ms. If you ever shoot above, you missed your mark. That means that while doing animations, you cannot do anything else than updating a few properties and then draw the stuff. If it takes time, it either needs to be ready beforehand, or you do the work in a background thread as described in my previous post. Until recently, I was convinced that missing the mark once now and again, would not be disastrous, but it really makes the difference between velvet and sand paper. He also describes some workarounds, for problems such as display tearing on Maemo. Given the importance smooth animations seem to have on platform first-impressions, it's heartening to see particularly attention being paid to this issue.

Hildon-esque QML on Nokia N8

As mentioned earlier, Thomas Perl's experiments with building the Hildon widget set using QML is an intriguing and fascinating development. The possibilities are seen in this photo, which shows the same demo application in Gitorious running on a Nokia N8. Thomas has discussed with Carsten Munk the in-built theme's licencing, so it may be that the QML library uses the system theme on a Maemo device, and - for example - one of the open source themes, such as Marina, on non-Maemo systems.


RadioTimeToGo: Internet radio directory and playback

Frank Banul has put together a front-end to RadioTime, a database of web-based radio broadcasts: Seeing the need, I present you with a very minimalistic but capable interface to RadioTime. I'm using kmplayer to play the stations since it's so capable of so many formats. The lightweight interface and kmplayer format compatiblity open up tens of thousands of radio stations for your N900. RadioTimeToGo is currently available in Extras-devel, so the usual boilerplate applies.

Bluetooth/USB mouse support on N900

One of the big changes with Fremantle compared to prior Maemo releases was the move to Xorg for the X server (from Matchbox). This change brought with it much simpler mouse support (as it didn't need to be hacked into Matchbox any longer). Ivaylo Dimitrov has finally put together a package to provide simple mouse support for Fremantle.

Support for both USB and Bluetooth HID mice is provided, interested testers should note that the package is in Extras-devel, and as it messes with system drivers, should take extra care if they decide to install and use it.

First beta of PySide (Python for Qt) released, with Qt Quick support

Luciano Wolf has announced that the open source Python bindings for Qt, PySide, have had a new beta release: The PySide team is proud to announce the first beta release of PySide: Python for Qt. Also, new versions of the PySide toolchain components (API Extractor, Generator Runner, and Shiboken) have been released. [...] In addition to fixing bugs, we have also reviewed our Qt Quick support, and as of now, it is perfectly feasible to do QML user interfaces for Python software. The only thing missing is the ability to register QML types from Python; we hope to have this issue resolved soon. There are also a number of interesting links in the comments, including - from the erstwhile Thomas Perl - to a series of tutorials on using PySide he's written on the Forum Nokia wiki.

RectBlock - Web Runtime-based game

Although it looks similar to Bejeweled-style games, Juuso Kosonen's new game - RectBlock - is somewhat different: This isn’t a re-make from older game, or I haven’t never seen game like this anyway. Have you? In this game you should create rectangle shapes with four (4) corner blocks. The "wgt" file should get automatically installed by Maemo when downloaded.