Sonntag, 23. Dezember 2012

gPodder 3.4.0 for MeeGo 1.2 Harmattan

As promised, following the 2.20.3 release for Maemo 4 and Maemo 5, a new version of gPodder 3 has been released today. This release brings some new improvements to the QML UI that should make scrolling in the episode list faster, as well as align a bit more with the Harmattan UX Guidelines.

gPodder 3.4.0 running on MeeGo 1.2 Harmattan (N9)
As always, updated packages will be available via Nokia Store once the QA process has finished. As there have been problems with recently (3.3.0 isn't even out of the staging area yet, after 3 months), we now provide a package of gPodder for MeeGo 1.2 Harmattan on for those who want to avoid or can't use Nokia Store (you have to enable packages from unknown sources, and you might have to uninstall the previous version if it came from Nokia Store or Apps For MeeGo due to the Aegis security policy). The source and packaging is available in the "harmattan" branch in Git, as has always been the case.

I hope you like the new UI changes. If you are missing the feed update button in the lower left corner, try "pull to refresh" on the podcast list (this avoids accidental updates when pressing the back button twice). I'd like to create a nicer "pull to refresh" implementation, but the limitations of Qt 4's QML Flickable prevent me from creating a better one (if you have a better implementation than gPodder's PullDownHandle, I'd love to hear from you). Scrolling the episode list should now also be faster (than before), and some unnecessary animations were removed in the process.

gPodder 2.20.3 for Maemo 4 and Maemo 5

A new release of gPodder 2.x for Maemo 4 (aka Diablo, N800 + N810) and Maemo 5 (aka Fremantle, N900) is out, fixing YouTube-related issues (again ;).

gPodder 2.20.3 running on Maemo 4 (N810)
Packages have been uploaded to Maemo Extras, but as people have reported problems with the autobuilder, and as seems to be moving these days, anyway (to the Hildon Foundation, apparently), we also provide for the first time since.. well, since a very long time I guess.. binary .deb packages for gPodder on Maemo 4 and Maemo 5 :)

gPodder 2.20.3 running on Maemo 5 (N900)
You can find the download links on the gPodder download page - you can directly download gPodder 2.20.3 from the web browser in both OS versions, and choose to open the .deb file with the Application Manager. Be sure to choose the right package for your device (N8x0 users choose the Maemo 4 version, N900 users choose the Maemo 5 version). Enjoy :) Next up: A new release of gPodder 3.x for Harmattan. Soon!

Donnerstag, 13. Dezember 2012

Billboard 1.0.7 available in Nokia Store

A new version of Billboard, the standby screen customizing app for the N9 has been released and is now available from Nokia Store. It brings some nifty features such as in-line color customization, a battery bar and a battery icon:

The full ChangeLog is available on the Billboard website.
Questions and feedback can be left in the support thread on TMO.

Dienstag, 20. November 2012

apkenv 42.1.0 source code release

The compatibility layer for applications packed as .apk (that are running natively and use OpenGL ES) has seen its source code released yesterday. Supports Maemo 5 (Fremantle) and MeeGo 1.2 (Harmattan), which means your N900, N950 and N9 are covered. Documentation is provided in the source, and the wrapper generator scripts are also released. Looking forward to contributions and new modules from the community. Details can be found on the apkenv website.

Dienstag, 13. November 2012

The quick way to USB tethering via SSH on your N9

Here's something obvious (and I'm sure it has been discussed before, I just can't find the link right now), but it might be helpful if you haven't played around with SSH much yet, and your Wi-Fi Hotspot isn't working (the case for me right now). The goal is to get an internet connection over your N9/N950 from a PC (tested with Linux, expected to work with OS X and probably also works on Windows - on Windows you might need something like PuTTY).
  1. Enable developer mode on your device
  2. Connect your device to your computer via USB
  3. Select "SDK mode" when asked for the USB connection type
  4. Use the SDK connection utility, and select USB connection
  5. Note the password displayed in the "Connectivity Details" screen
  6. On your computer, use "ssh -D 9898 developer@"
  7. Accept the host key question, and enter the password from step 5
  8. You should be greeted by a Busybox prompt "/home/developer $" - leave that open in the terminal window in the background
  9. At this point, a SOCKS proxy server is running on port 9898, and you can use it in any applications supporting a SOCKS proxy (there are even utilities like socksify(1) (Debian package: dante-client) that make generic network applications work through a SOCKS proxy)
  10. To use it in Firefox, go to Edit - Preferences - Advanced - Network - Settings..., then choose "Manual proxy configuration" and set "SOCKS Host:" to localhost and port to 9898 (be sure to disable the proxy again when you want to browse via a normal Wi-Fi/Ethernet connection)
Instead of doing steps 4 and 5, you can set up a permanent password for your "user" account on the N9, and even set up a SSH key on the N9 to avoid having to enter the password. You can make step 6 simpler by adding an entry to your ~/.ssh/config file (on your host) - see ssh_config(5) for details:

Host n9proxy
    User developer
    DynamicForward 9898

After that, a "ssh n9proxy" (possibly followed by the developer password) is all you need to set up the proxy. This method is arguably easier (and definitely safer) than using the Wi-Fi hotspot, and instead of using up battery on your N9, it gets charged via the USB port while you are using it.

By the way: You will have to manually connect your N9 to your mobile internet connection, this won't happen automatically.

Dienstag, 23. Oktober 2012

Dalvik "Hello World" on Harmattan (in a chroot)

Here's a quick and boring tutorial on how to get a Java "Hello World" application running on the Dalvik VM of Nitdroid within Harmattan. This requires the Nitdroid Open Mode Kernel (might or might not work with Inception), all Nitdroid files and a bit of patience. This might brick your device or worse, and require a reflash at best. As you can see from the screenshot below, it's not that exciting ;)
  1. If you want to avoid the Open Mode Warning on each boot, remove the disclaimer from the cal area (this can only be done while in closed mode, as the cal area becomes read-only when flashing open mode until closed mode is re-flashed. This is also the reason why you can't set a device lock code in open mode - the lock code is saved in the cal area) - this is an optional step, and just a cosmetic fix.
  2. Flash the Nitdroid Open Mode Kernel (be sure to read the "Known limitations" on that post) - this works both on the N950 and N9.
  3. Boot into Harmattan open mode and replace the preinit script to allow booting into Nitdroid (again, read and understand the warnings on that post)
  4. Then, download a Nitdroid tarball (the latest is alpha 5, but I had better luck with alpha 4) and extract it to /home/nitdroid/ - the post explains the steps in great detail, including the kernel flashing and preinit replacement
  5. Reboot into Nitdroid (this might be optional, but do it just to check if your Nitdroid installation is working)
  6. Reboot into Harmattan again - the following commands are all carried out as root user inside Harmattan (using "devel-su")
  7. Bind mount /dev/ and /sys/ into Nitdroid:
    mount --bind /dev/ /home/nitdroid/dev/
    mount --bind /sys/ /home/nitdroid/sys/
  8. chroot into the Nitdroid hierarchy:
    /usr/sbin/chroot /home/nitdroid/
  9. Set some environment variables (not all of them might be needed, you can find them in "setup the global environment" of init.rc -- save these commands into "" or something in /home/nitdroid/ and save yourself some typing):
    export PATH=/system/bin:/system/xbin:/usr/sbin:/usr/bin:/sbin:/bin
    export LD_LIBRARY_PATH=/system/lib
    export ANDROID_ROOT=/system
    export ANDROID_ASSETS=/system/app
    export ANDROID_DATA=/data
    export EXTERNAL_STORAGE=/mnt/sdcard
    export ASEC_MOUNTPOINT=/mnt/asec
    export LOOP_MOUNTPOINT=/mnt/obb
    export BOOTCLASSPATH=/system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/sys
  10. Start the Dalvik VM:
    / # /system/bin/dalvikvm
    Dalvik VM requires a class name
Ok, great - 10 steps to start the Dalvik VM, but I promised a Hello World. For that, you need the Android SDK (and the corresponding Java JDK) and follow the "Basic Dalvik VM Invocation" instructions (steps 1 to 6 on your host computer, from step 6 on your Harmattan device):
  1. With your favorite editor (mine is vim), create a file "" with the following content:
    public class Foo {
        public static void main(String [] args) {
            System.out.println("Hello, world");
  2. Compile it:
  3. Use the "dx" utility (from the Android SDK) to package the Foo.class (generated by javac) into a .jar
    dx --dex --output=foo.jar Foo.class
  4. Bonus exercise: "less" the foo.jar file to see its contents:
    % less foo.jar
    Archive:  foo.jar
     Length   Method    Size  Cmpr    Date    Time   CRC-32   Name
    --------  ------  ------- ---- ---------- ----- --------  ----
          72  Defl:N       70   3% 2012-10-23 15:51 1294a38f  META-INF/MANIFEST.MF
         732  Defl:N      404  45% 2012-10-23 15:51 b6e3654e  classes.dex
    --------          -------  ---                            -------
         804              474  41%                            2 files
  5. Copy this over to your Harmattan device (assuming USB Networking + Developer Mode + "user" access, "developer" should also work):
    scp foo.jar user@
  6. SSH into your Harmattan device, become root (devel-su) and copy the .jar file into the Nitdroid hierarchy:
    cp /home/user/foo.jar /home/nitdroid/
  7. chroot into Nitdroid again and set up the environment (see above)
  8. Finally, run Dalvik VM, telling it to run the class "Foo" and using a classpath of "foo.jar":
    / # /system/bin/dalvikvm -cp foo.jar Foo
  9. ...

Montag, 24. September 2012

gPodder 2.20.2 for Maemo 4/5, gPodder 3.3.0 for MeeGo 1.2 Harmattan

gPodder 2.20.2 has been released today, and gPodder 3.3.0 has also been released. Version 2.20.2 is for users of Maemo 4 (N800/N810) and Maemo 5 (N900) and version 3.3.0 is for MeeGo 1.2 Harmattan users (N950/N9).

The reason why another 2.x release comes out at this point in time is because YouTube downloading was broken by another website change recently, and of course we don't want to leave our good old Maemo users without their daily YouTube video fix. A full list of changes for Maemo 4 and 5 can be found in the 2.20.2 release announcement.

Version 3.3.0 for MeeGo 1.2 Harmattan brings some nice features like download resuming, filters for unfinished files, scroll position improvements and display of the publish date and file size in the shownotes. Of course, 3.3.0 also includes the YouTube download fix. A full list of changes can be found in the 3.3.0 release annoucement.

As a side note, Maemo 5 support has now been completely removed from the master branch as of 3.3.0 (it has never been officially supported, but you could kind of run in on the N900 with some motivation and work). N900 users really wanting to use gPodder 3 should use it on Nemo Mobile, supporting gPodder 3 and its QML UI in Maemo 5 is just too much work, and the time working on gPodder is better spent improving the Harmattan version and making sure that the 2.x branch doesn't break.

Here's the run-down of the release status for various versions and targets:

gPodder 2.20.2 is ready for testing in Extras-Testing for Maemo 5 Fremantle.
gPodder 2.20.2 is already in Extras for Maemo 4 Diablo.
gPodder 3.3.0 has been uploaded to Nokia Store QA for MeeGo 1.2 Harmattan.
gPodder 3.3.0 has also been uploaded to the MeeGo Community OBS.

HOWTO: Set up a Maemo 5 Scratchbox SDK VM (and upload packages)

I've somehow lost my good old "MaemoSDK" VirtualBox VM, so while I'm setting up the new VM, here are the instructions in case I or somebody else needs to do that again.

The goal: To have a nice VM (more lightweight than the Maemo SDK VMs offered online) that one can SSH into and build packages for Maemo 4 and Maemo 5:
  1. Get the Debian i386 netinst CD image from
  2. Create a new VirtualBox VM (Name: MaemoSDK, Operating System: Linux, Version: Debian) - the default size (8 GB) should be okay, less is also okay
  3. Go to Settings, Storage, IDE Controller, select the .iso you downloaded in step 1
  4. Power up the VM, select "Install" in the menu
  5. Set the hostname to "maemosdk"
  6. Use an empty root password (you can use "sudo" from your user)
  7. Full name for the new user: Maemo Developer
  8. Username for the new user: user
  9. Password for the new user: maemo
  10. Use the default options for partitioning, and wait until the base system is installed
  11. Select the "SSH Server" option when the Debian Installer offers it
  12. Install GRUB into the MBR of the VM
  13. Go to the Maemo 5 SDK Download Page on Nokia Developer
  14. From the SDK Download page, get the Scratchbox installer script ( and the SDK installer script ( 
  15. Login to your new VM, then wget the two scripts above
  16. sudo sh
  17. sudo sh -u user
  18. Log out and log back in again
  19. sh
  20. When asked, I chose Full + Development packages, but feel free to chose a more minimal variant (in that case, you might have to install -dev packages later on as build-dependencies)
You can also read up on how to set up SSH agent forwarding in the VM, so that you don't need to store your SSH key on the SDK VM.

As for building gPodder from source in this SDK, here are the instructions:
  1. scratchbox
  2. vi /etc/apt/sources.list # then add these entries:
    deb fremantle free non-free
    deb-src fremantle free
  3. fakeroot apt-get install python2.5 python-feedparser python-mygpoclient python-dev maemo-optify
  4. git clone git://
  5. cd gpodder
  6. git checkout origin/maemo-5
  7. dpkg-buildpackage -rfakeroot -S -sa -I.git -i.git # for the source upload
  8. dpkg-buildpackage -rfakeroot -b # for the binary to test locally
You can also build the Maemo 4 (N800/N810) package by replacing "maemo-5" with "maemo-4" in the "git checkout" command.

To get files out of the SDK without setting up fancy SSH stuff, you can also just use netcat (on the target: nc -l 9999 | tar xzv, on the source: tar czv /path/to/files/ | nc a.b.c.d 9999).

To upload files to Maemo Extras, follow the instructions at Uploading to Extras.

Sonntag, 2. September 2012

Numpty Physics 0.3.3 for Harmattan is here

Another project that has been on the back burner for a while is the new NumptyPhysics port to Harmattan ("new" because Aapo has ported it once before). One of the most important bug fixes (avoiding the multi-touch drawing error) has been committed a month ago, and

So, this weekend, Numpty Physics 0.3.3 has been released. This version includes some basic Harmattan integration work (single-instance, swipe lock integration, pause-in-background, squircle-style icon by flopjoke, ...) that will - hopefully - allow the application to also go into Nokia Store as free app (as Apps For MeeGo is still down).

NumptyPhysics is available as download on Github, or you can wait until it gets approved by Nokia Store QA and install it via the client. It's yet another project that used the shared "harmattan" organization on Github: - feel free to improve the code and send pull requests :) Also, please report any integration issues or minor things that could be improved for Harmattan integration on the bug tracker.

Freitag, 31. August 2012

Brain Party Git repository, new release 0.5.990

Back in March I've been working on Brain Party for the N950/N9, and since then, I've uploaded it to Apps For MeeGo in May. With Apps For MeeGo being down more often recently, I thought it might be a good idea to upload it to Nokia Store, so more people can discover this nice game.

Before uploading to Nokia Store, some things have to be fixed - a big icon and screenshots have to be made/taken, single-instance launching and being a good multitasking citizen (pausing gameplay when put into background) is a precondition for QA to not fail, so these things have now been implemented.

In order to properly maintain Brain Party for the N950/N9 in the future, and to track changes, I've set up a Git repository in the Collaborative Harmattan Repository on Github (which gets used a lot - as of today, we have 35 repositories and 16 organization members, and you can get yourself added easily).

The Git repository of Brain Party starts off with an initial commit that is just a copy of the 0.5.91-2 source package contents from Fremantle (sans the artwork/music, which got added in a separate commit later), and then has (in a single commit) all Harmattan customizations that I did back in March, May and today. The repository content is quite big, as the images, sounds and music are all included now, but that shouldn't stop you from cloning it and hacking the code ;)

As written in the announcement on TMO, you can get your .deb from the downloads page or wait until it surfaces on Nokia Store as free app. As with most repositories on Github, we have an issue tracker where you can file pull requests, bugs and other things that you notice while using Brain Party :)

Samstag, 28. Juli 2012

gPodder 3.2.0 (and 3.2.1) released for Harmattan

gPodder 3.2.0 "The Great Radish Famine" has been released this week, and some users (not including me, otherwise I would have caught the bug earlier) had problems with the upgrade (see bug 1627 for details), so that's why gPodder 3.2.1 is already on its way to AFM and Nokia Store today. Expect the bug fix to appear as an update in the next few days.

Highlights of 3.2.0 are an improved UI (e.g. cover art in the "All episodes" list) and Flattr integration, so you can now support podcast authors via micropayments (you'll find the Flattr button below the shownotes for podcasts that publish a Flattr URL).

The gory details about what went wrong with packaging this time can be found in the 3.2.1 blog post, and bug 1627 contains - special thanks to Reiner for providing the necessary debugging info needed to get this sorted out (again, I was not experiencing this bug myself).

If your 3.2.0 update worked out fine (the bug didn't affect all users), this is not for you - just enjoy 3.2.0, and install 3.2.1 when it comes out :)

Samstag, 30. Juni 2012

Impressions from the BlackBerry 10 Jam Event in Berlin

I was visiting Berlin this week for the BlackBerry 10 Jam World Tour, as a few other Maemo folks were also going, and I saw it as a good opportunity to meet up with some good old community members, and visit Berlin once again (my last visit to Berlin was in 2008 for the Maemo Summit 2008). Cosimo organized a meet-up at the c-base (same location as for the Maemo Summit 2008) the night before the Blackberry Jam. Before I get too much into details, you can have a look at all my photos from Berlin.

PreJam. The meetup on Wednesday at the c-base was great, meeting old community members and discussing.. erm "recent events". Meetups like this also provide a nice opportunity to meet the faces behind nicknames in the online community. While we were sitting outside, the Google I/O event was streamed in the c-base. The Blackberry guys also joined the party and talked with us about apps and the supported development approaches (web, native, Android, Flash/AIR).

BB10 Jam. The BlackBerry event itself was held at the Spreespeicher on Thursday. After a short breakfast, the event was kicked off with a keynote - no filming or photography was allowed for the whole duration of the event in the presentation room. A few presentations (web or native in parallel tracks) later, Lunch was served and then there were a few more presentations outlining the whole developer story and focusing on mobile development itself. Having done some mobile development on other platforms myself already, the only interesting parts were the Blackberry-specific content items: How packaging and publishing works, how to load apps onto the development device, etc.. At the end, Dev Alpha devices were given out to developers and drinks and snacks were served to finish off the event.

Developing on BB10. Andrew already described the porting procedure for pure-QML apps (e.g. from Harmattan or Symbian) to BB10. After registering with Blackberry, and requesting a debug certificate (which takes at least 2 hours to get a reply back), the registration procedure for the device can be carried out, which will set everything up, so that you can deploy apps to the device. It seems a bit weird having to get everything signed by Blackberry servers before being able to sideload apps to the device (with Android and MeeGo at least, you could just take any device, switch it into developer mode and deploy - without having to "ask" anyone for permission). The Eclipse-based SDK does help with all the steps that are required to set up the device, so it's not too difficult, but annoying fir the first time (after it has been configured, the debug certificate has to be renewed regularly, but you can just deploy the app locally without a network roundtrip). Not counting all the web-based registration process and requesting the certificate, it probably took me about 30 minutes to get everything set up to build qw The Game for the BB10 Dev Alpha - including device-specific modifications to the code. That's quite neat :)

The good parts. The Dev Alpha is a nice device, with hardware specs that are up to date. The SDK is available for Windows, Mac OS X and Linux (that's how you do it, developers should be able to use the host operating system of their choice!). The SDK uses Qt by default, but you can write against pure OpenGL ES, too if you want - and according to the developer docs, an SDL port is also available. Some folks are working on a Python port to BB10, which will allow developers to easily port PySide-based applications (gPodder?) to BB10.

Improvement suggestions. You don't have root on the device. While it's okay to have a consumer device locked down, it'd be great if there was the option to have root on the developer device, if just for looking around the QNX system. Another problem is that - as far as I know - there are no UX guidelines published. Harmattan has them. Android has them. iOS has them. Publish UX guidelines and provide good example applications (not just "widget galleries" or "cookbooks") - ideally something that will look and behave like stock applications. It would be great if instead of having the PlayBook Tablet UI on the Dev Alpha, they would have provided a barebones BB10 phone UI just so that developers get a better feeling for how everything behaves.

All in all, BlackBerry has done a great job with the BB10 Jam World Tour, and I really enjoyed my time in Berlin - it was great to meet up with Maemoistas and see what they are up to these days :) Hopefully I'll get the chance to see you guys at some future events. Keep on hacking!

Sonntag, 24. Juni 2012

qw The Game ported to Android

I decided it's time to port qw The Game to Android, as a way to see how the publisher story works on Google Play compared to Ovi Publish and also to see how mature the Qt port to Android is.

For my port, I used Necessitas alpha 3 update 4, which you can download from the project website. Necessitas already includes both the Android SDK (that's the SDK you use in general, and contains all the Java APIs, etc..) and the Android NDK (that's used if you want to do native C/C++ development), so no need to install anything else. You can start Necessitas Qt Creator using "QtCreator/bin/qtcreator" in the Necessitas installation directory, but Necessitas also creates a launcher icon if you shy away from command lines.

The assumption is now that you have an existing Qt project with a qmake project file (.pro). Just open that .pro file in Necessitas Qt Creator and let it create the Android scaffolding. You can now try to build the project and run it - either in the Android emulator, an actual Android device or your N900, N950 or N9 running Nitdroid (the N950/N9 port is actually quite nice these days, and can be installed alongside Harmattan by flashing an open mode kernel with Android patches, replacing some init files and placing the Nitdroid rootfs inside /home/nitdroid/).

When you first start a Qt-based application on Android, it will redirect you to Google Play to download Ministro, which will take care of downloading the Qt libraries and storing them in a central, shared place, so that all Qt-based apps can use the same Qt libraries (which means that you can do closed-source apps, because they are dynamically linked to the LGPL'd Qt, and it also means that apps are smaller, because Qt doesn't need to be shipped with each app). One disadvantage is that the end user experience is not seamless on first startup, because your users will have to install Ministro first and wait for the Qt libraries to download.

Anyway, now you got that far and got your application running - or not. If you are missing libraries, and your application doesn't start, open the "Projects" tab in Necessitas Qt Creator and click on the "Run" tab for the Android target. There, open "Package configurations" and click on "Libraries" and check all Qt libraries that you need. When you compiled your application, there's a button ("Read information from application") that will analyze your binary and check the right Qt libraries. You can also add "Prebundled libraries", which are dynamically-linked shared libraries that will be shipped with your application. You can also check out the "Manifest", "Application" and "Permissions" tabs and configure it to your liking.

Protip: You can build the Android package on the command line using "ant" as soon as you have used Necessitas Qt Creator to create the initial scaffolding. The "android" folder will be created inside the folder where your .pro is located, and there you will find a build.xml.

Now to some code-level customizations that I had to do for my game, qw:
  • QtMultimediaKit was not found - I had to comment out sound effects for now
  • Automatic screen rotation - My game is landscape-only, and I had to tell the Android system in the AndroidManifest.xml file
  • Qt.labs.particles was not found - Again, I simply commented it out for now; I guess these QML plugins should be easy to add to Necessitas, but I didn't bother to find out for this first try
  • Screen resolutions! - Don't assume 800x480 (in case of the N900) or 854x480 (in case of the N950 and N9); make your app scale properly to the screen resolution at hand. Test this by creating a non-fullscreen window on your Desktop in different sizes, and see if the content looks right. For a quick'n'dirty first try, use QGraphicsView::scale
As far as the publishing experience goes: You have to pay a one-time fee of $25 to be allowed to publish to the Play Store (compare this to a one-time fee of 1 Euro for Ovi Publish and a yearly fee of $99 for the iOS App Store). What I found interesting is that there's basically no QA (apart from automated checks that are very helpful and give guiding error messages) and an application uploaded is published in a matter of minutes. I also like the fact that you can add a YouTube video link to the Play Store submission, so users can get a preview of how the experience is like. I published the app for free, and the UI warned me that it's not possible to convert a free app into a paid one in the future, which doesn't matter for me, but it might be a useful hint for other publishers.

qw The game is now available on Google Play for free. It's also available in Nokia store for free. Go play!

Montag, 28. Mai 2012

gPodder 3.1.2 for MeeGo Harmattan

It's another month, and (given the monthly release schedule of the app) it's not really a surprise that a new version of gPodder has been released. This is mostly a bugfix release, but brings one very useful feature to gPodder: The ability to hide downloaded podcasts from the Music app. While this is nothing new to command-line fans who edit tracker-miner-fs.cfg by hand, there has not been an end-user friendly way to do it. Now there is: You can just flip a switch in the gPodder Settings and hide the podcasts from the Music app (which does nothing more than adding or removing the gPodder directory to tracker-miner-fs.cfg's IgnoredDirectories list), which is especially useful in a situation where your downloaded podcast accumulate (this happens to me right now - less time to listen to podcasts) and you play your music in "Shuffle all" mode.

Other improvements include a small fix for the episode list filter button for locales where the text sometimes became longer than the button:

As you can see, in the left screenshot (gPodder 3.1.1) the "Hide deleted" text (in German: "Gelöschte verstecken") goes over the toolbar button. To "fix" this, the toolbar button has been made wider (right screenshot, gPodder 3.1.2), which (in my opinion) also looks a bit nicer.

The rest of the improvements include some fixes to the CLI, updated and added translations, and some minor build system fixes - read the full changelog if you want the gory details :)

The MeeGo 1.2 Harmattan package for gPodder 3.1.2 has been uploaded to Apps For MeeGo and Nokia Store already, it should hit Apps For MeeGo Staging in a few hours (please do the QA procedure for it then, so it can land in Apps For MeeGo proper) and it should hit Nokia Store in a few days when QA has finished.

Samstag, 26. Mai 2012

Billboard now available in Nokia Store

At the last Hack-A-N9 meetup, I've been working on a test app to show the currently-playing song. This has then been extended to a fully-fledged app that is easily configurable for the user, so that non-developers could use it (after all, hacks and scripts existed before that did the same thing).

The app is called "Billboard", and its goal is to provide useful information on the low-power-mode screen of the N9 in a way that "normal" users can use it. It also tries to be very lightweight on resources, and smart about updates so that updates are only made when needed, which saves battery power.

Billboard website:
Nokia Store link:

The currently-released version on Nokia Store is version 1.0.0, and an update (version 1.0.1) with some fixes to allow co-operation with MeeCast, fLPMC and other applications has been uploaded today and is currently waiting in the Ovi QA queue.

There's also a support thread on TMO in case you need help or have suggestions.

Montag, 14. Mai 2012

Tizen Conference 2012 Review

The Linux Foundation sponsored my trip to the Tizen Conference 2012 in San Francisco last week, and I'm supposed to blog about it. Also, I think it's good to share what I've seen with fellow Maemo/MeeGo community members, even if Tizen is something different. You can find my photos of the event on Flickr.

As with last year's MeeGo Conference 2011, the Tizen Conference took place in the Hyatt Regency in San Francisco, the same hotel that's also featured in Mel Brooks' High Anxiety from 1977. I arrived on Sunday evening, but in contrast to last year's event, there were no weekend activities (the Hacker Lounge was already open, though), and the event itself only really began on Tuesday, with Monday afternoon and evening used for registration and a keynote by Jim Zemlin.

Tuesday started with a proper keynote that showed actual Tizen demos, which was nice (it was the Tizen Conference, after all). Throughout the day, the demo sessions were open where companies like ProFUSION showed off demos like a fridge interface and experimental JavaScript bindings to use EFL (not as nice as QML, but better than using EFL from the C API).

On Wednesday morning, the Linux Foundation was giving Tizen developer devices to attendees, with a remote shell accessible via the "sdb" tool from the Tizen SDK (similar to "adb" in the Android world). Oh, and basic X11 tools like "xeyes" and "xclock" were pre-installed, allowing for quickly checking how normal X applications would work in the window manager. Also on Wednesday was my talk about gPodder on mobile devices and the web service - I'll post the slides soon.

On Wednesday evening, Quim Gil and the local Qt chapter Silicon Valley organized the Qt Overlapping event for Qt developers being in town for either the Tizen Conference or the Ubuntu Developer Summit. After coming back, the Hacker Lounge was still open, so we played a round of ping pong until the early hours. I left on Thursday evening and had some time for sightseeing in the afternoon - check out the photos if you are interested.

After coming back from the conference, my first goal was to get Python and some GUI running. That's done now: You can run Python and PyGame on Tizen. Similar to this, PySide should also be possible once one takes the time to get it to compile it using the Scratchbox2-based SDK. I've also got Qt 4.8.1 running on the device, but of course it needs some more polishing and integration.

Still, Tizen has a long and challenging road ahead until it will become useful (from what we see now), but maybe they will get something good going. As for now, there's still Harmattan and all the great things about it (and compared to the supposed-to-have-a-future Tizen, the supposed-to-be-dead Harmattan looks very, very good today and works really great, no question about that!).

It was good to meet again some people that I knew since the beginning of Maemo events in 2008 and new people that have been involved in MeeGo recently. Looking forward to doing some more hacks on Harmattan, and maybe also looking forward to that wind-named future OS from that company that already brought you wind-named OSes a few years ago. Thanks for the great time so far :)

Sonntag, 29. April 2012

gPodder 3.1.1 for MeeGo 1.2 Harmattan

A new version of gPodder, the podcast manager, has been released, and with it (as always) come some new features for the Harmattan (N950 and N9) version. The most visible on (apart from bugfixes) is the new multi-episode selection sheet, which allows users to select multiple episodes at once to either download, playback or delete. Options for "Select all", "Select downloaded", "Select none" and "Invert selection" are provided by the longpress context menu in that list and will modify the selection accordingly.

And yes (as some people are still surprised to learn that): With gPodder, you can also subscribe to YouTube and Vimeo channels (users) and download the videos to your device for easy offline viewing and archiving. Combined with the N9 Media Pushing plug-in by Georg Jens, you can then even play back your YouTube or Vimeo videos on DLNA devices on your home network. Of course, this also works for the RSS "video podcasts" that gPodder also supports in addition to YouTube and Vimeo.

gPodder 3.1.1 "The Preachification of Convincing John" has been uploaded to the Community OBS (Apps For MeeGo) and to Ovi Publish (Nokia Store), and should be available to users in the upcoming days. As always, enjoy this new release and report any bugs or feature requests at :)

Samstag, 21. April 2012

N9 Wallpapers

I've been in Copenhagen in January (creating a 20-controller PS Move installation game with friends) and more recently in Evora, Portugal for the Science and Technology Week, talking about the history of gPodder. With some sightseeing squeezed into each trip, and no compact camera around, the N9 did a great job making some nice photos that work great as wallpapers of the standby screen.

Just in case you're looking for a way to spice up your standby screen, have a look at the wallpaper photo set for all wallpapers or click on one of the preview images below.





Find all images in the photo set on Flickr. In related news, a small update for gPodder should be ready soon that fixes some minor bugs since the last release in March.

Mittwoch, 28. März 2012

gPodder 3.1.0 in Apps For MeeGo Staging and Nokia Store

A new version of gPodder has been released, and the package is already available from Nokia Store here, and waiting for your QA feedback in Apps For MeeGo here. This works for both N950 and N9 users. To get access to Apps For MeeGo, go to on your device, and install the Client from there.

The new gPodder version comes with some improvements for Harmattan users:

  • Redesigned artwork for the main window and episode list
  • Better arrangement of podcast list and cover artwork there
  • New preferences menu, containing and orientation settings
  • New empty state UI for first-time users
  • Various other changes to be more in line with the UX Guidelines
  • Context menu item to delete episodes without downloading them

I hope you enjoy this new release - please report any issues you find or ideas you have at - and don't forget to QA the package in Apps For MeeGo.

Samstag, 24. März 2012

Brain Party for the N950 and N9

Nearly two years ago (in April 2010), I ported Brain Party to the N900 using javispedro's awesome SDL_gles library. Having nearly forgotten about it, I "ported" it to Harmattan today - It's even a bit easier with Harmattan's SDL, which includes the necessary changes. The game doesn't pause/silence when put into the background, but the basic functionalities work, including sound.

Download here: brainparty_0.5.91-3_armel.deb (39 MB)
Source here: brainparty_0.5.91-3.dsc / brainparty_0.5.91-3.tar.gz

The game itself has been written by Hudzilla Games, who also published the game for the iPhone and XBox 360 - if you like the game, you can support them by buying the game from there. This port is based on the open source version of the game.

Samstag, 18. Februar 2012

gPodder 2.20.1 for Fremantle (N900) and Diablo (N8x0)

Good news for all gPodder users on the N800, N810 and N900 - you just got another gPodder update. Version 2.20.1 is just a bugfix release, but fixes some problems with YouTube feeds and other issues (see the release announcement for details). Jonas Kölker has also backported a patch from gPodder 3 to add support for YouTube playlists, so you can subscribe to these too, now.

Just in case you easily get confused by Debian version numbers: The old release is "2.20-1" (version 2.20, package version 1) and the new one is "2.20.1-1" (version 2.20.1, package version 1). Note that dots and dashes are not the same thing.

The gPodder update is already available in Diablo Extras and has been promoted to Fremantle Extras-Testing, so please test it and rate it on the QA page.

Samstag, 11. Februar 2012

Next Tuesday (2012-02-14): Hack-A-N9 Session at Metalab Vienna

Following the Meetup in January, local N9 developers are meeting up once again at the Metalab in Vienna. We plan to work a bit more on gotoVienna, have a look at Open Mode flashing and have a look at PR1.2 beta on the N950 as it relates to development. N8x0 and N900 users and developers are of course also welcome :)

Dienstag, 24. Januar 2012

gPodder 3.0.4 for Harmattan

Version 3.0.4 of gPodder has been released today. A new Harmattan package has been built and uploaded to Ovi Store (still waiting in QA) and Apps For MeeGo. You can already get gPodder 3.0.4 for Harmattan from Apps For MeeGo Staging now. Please test this version and review/rate it on so it can be put into the non-staging (stable) area of AFM.

While you can look at the complete list of changes in the release announcement, Harmattan users might be happy to know that the episode prefix elimination has been further improved and a play queue (screenshot 1, screenshot 2) and episode list filters (screenshot 1, screenshot 2) have been added.

The play queue feature comes in handy when you have a long car commute and want to listen to several episodes back to back without having to interact with the screen to play the next episode. It is also helpful to queue up several music podcasts to use as background music while working.

The episode list filters help you to quickly find the episodes you want, e.g. only show episodes that have been downloaded. Text search is not yet possible, but you can now hide deleted episodes just like on Maemo 5.

Samstag, 21. Januar 2012

gPodder/QML on the N900 - Yesteryear and today

I just found this pre-feb11 gPodder/QML on a N900 on 2011-02-04 video and someone on TMO recently asked me about the status of gPodder for the N900, so I thought I'd try the current version of gPodder on the N900.

The result is a new video of gPodder/QML on a N900 today, which shows what works and what does not.

If you want to try it yourself, get the latest CSSU for your N900 and enable Extras-Devel (the usual disclaimers apparently still apply). Now, make sure to install all of PySide and Qt Mobility 1.2, and the packages qt-components and qt-components-blanco-theme. The theme package is broken right now, so you need to copy /usr/share/themes/blanco/meegotouch from a Harmattan device or the Harmattan SDK onto your N900 manually. When you have done that, simply checkout gPodder (master branch) from its Git repository.

What doesn't work yet:

  • Text input fields are missing their backgrounds
  • Screen rotation doesn't work (Qt Components bug?)
  • Task switching is only possible with Ctrl+Backspace

Apart from these annoyances (and the problem with the missing blanco theme files), everything else works as one would expect. If these problems get fixed (so that all dependencies are readily available from Extras-Devel), I might be able to make some time to package gPodder 3 for the N900.

Harmattan (N9/N950) users: Have a look at the video to see how the play queue and episode list filters work, which will land in a new gPodder release "soon".

Samstag, 14. Januar 2012

The N9 week: Hack-A-N9, gotoVienna, Camerra, gPodder

While the first week back in Vienna after the holidays was sad for a Maemoista walking around in the city (aka Admazing (sic) Everyday), there was also enough time to release gPodder 3.0.3 (already in AFM - thanks, testers!), catch up with local Maemoistas at the Hack-A-N9 and work on gotoVienna, the Camerra hack and even more post-3.0.3 gPodder goodness. But one after the other..

gotoVienna is a public transport live ticker app by kelvan. In the days after meeting at the Hack-A-N9, we implemented a nice line number input UI that makes it easy to quickly get live information for a given line - the code is in Git, and as a side-product, merlin1991 has implemented a stdeb/distutils extension to inject an Aegis manifest and create the digsigsums file - check it out if you want to build Python packages for Harmattan without Scratchbox/the SDK.

Next up is the Camerra hack, a quick'n'dirty "app" that monitors the Volume+ hardware button and (when the Camera UI is in the foreground) simulates a click on the shutter button, effectively making the Volume+ work as a shutter button. Ideal for all your self-portraying needs! It's called a hack, because it uses the likes of xprop and xresponse directly - a "proper" implementation would use QmSystem, XTest and Xlib from C/C++, just in case someone feels like spending time on rewriting something that Works For Me ;) There's a support thread on t.m.c, the Python and PySide powered code is available on Github, and the package is available on the website and (hopefully soon) also on Apps For MeeGo.

As for the post-3.0.3 gPodder goodness: Episode list filters (bug 1527) are currently being developed, a first patch is already written, and screenshot 1 and screenshot 2 show you how it currently looks. Don't forget to report any bugs and feature requests over at - don't keep them for yourself! :p

And now for the next two weeks for something completely different (i.e. Uni semester wrap-ups, exams, lab interviews and lab exercises).. ;) Enjoy the newly released stuff!

Montag, 9. Januar 2012

gPodder 3.0.3 for Harmattan

A new version of gPodder - a podcast and video manager - has been released today. In addition to improvements to the existing YouTube support, this version adds support for downloading videos from Vimeo (so if you wanted to get ahold of ye olde Maemo 5 "Getting Started" video from two years ago, subscribe to metalab on Vimeo, but I'm pretty confident that you can come up with better uses of the Vimeo support ;).

Anyway, the new king of Harmattan repos is Apps For MeeGo, as everyone knows, and so start your Community QA engines and review gPodder 3.0.3 in Apps For MeeGo Testing. If you don't have the Apps For MeeGo Client on your N950 or N9, click here to download the enabler. It has also been uploaded to Ovi Publish, but if and when it appears there is anyone's guess. Don't hold your breath and switch to Apps For MeeGo for downloading (and publishing if you do!) your open source Harmattan apps.

The 3.0.3 version of gPodder packs some long overdue improvements to the Harmattan QML UI (for example, the toolbar has been cleaned up, an about box has been added and you can now check for new episodes from the toolbar) with more to come in the future. In general, 3.0.3 should provide you with a more Harmattan-esque user experience. You can always get your wishes and problems heard at the gPodder bug tracker - make use of it! :)

Sonntag, 8. Januar 2012

Maemo devices in movies: 770 and N950

Jukka just posted "No such thing as silver N950 except for Transformers 3 ;)", which reminded me of the movie appearances of the Nokia 770. But first to the silver N950 appearance which I somehow missed: A quick TMO "site:"-search reveals the obligatory thread for the N950-in-Transformers 3 appearance with a frame grab by ro25anav:

As for the 770, it starred in a Harold and Kumar movie, in a Fantastic Four movie and in a Die Hard movie, but you probably already knew that. The 770 appearances are well documented (with screencaps) over at if you don't have the time to watch all three movies. Any other movies in which Maemo devices appear? What about the N800, N810 and N900? Googling doesn't really yield any useful results, with most hits being about "watching movies on device so and so".

Montag, 2. Januar 2012

Next Tuesday (2012-01-10): Hack-A-N9 Session at Metalab Vienna

After a successful N9 Hackathon in October (where projects like Rodrigo's Forever Alone Hack were started), it's once again time for the local Maemo/MeeGo users to get together and do some hacking in person, so here's the official announcement so you can't say you didn't know ;)

Among other things, we'll try to get some locally-relevant apps (like kelvan's gotoVienna) in shape for, see how far we get with open mode and Christian of Maemo 5 Community SSU fame will probably be hacking on some NFC stuff. If you have time, stop by and say hi :)