Posts mit dem Label gpodder werden angezeigt. Alle Posts anzeigen
Posts mit dem Label gpodder werden angezeigt. Alle Posts anzeigen

Samstag, 19. April 2014

My N9 apps and games now self-hosted and on openrepos.net

As the versions of my apps on Nokia Store grow more and more outdated, I've decided to remove the apps from there and instead self-host them on my web page and/or put them on OpenRepos.net instead. A handful of apps stay on Nokia Store; those are mostly S40 apps or apps for which a Symbian version also exists.

Here's a list of my N9 apps that you can now get for free ("deb download" is as of posting this, for new versions visit the webpage or openrepos.net):
And here's a list of my N9 games that you can now get for free (again, "deb download" is as of posting this; new versions on the webpage or openrepos.net):
Of these, the "greatest hits" and most useful apps/most fun games are (in my opinion): Billboard, Volume+ As Camera Button and chro.mono, but also give qw The Game and Petals a try :)

A list of all my apps on OpenRepos.net is also available.

Please note that unless otherwise noted, do not copy the .deb files and distribute them yourself, please always link to the project webpage (the page, not the file) or the openrepos.net page - this makes sure users can always download the latest version and from a known-good source (always be careful when downloading and installing .debs from random webpages). For end users who want to stay up to date and install the packages comfortably, the Warehouse client for OpenRepos.net is recommended.

For some of these apps (not games) that are not open source yet, I plan to clean up and publish the source at some point in the future, so interested developers can have a look, add features and/or port it to new platforms.

Samstag, 15. März 2014

gPodder 4.0.0 for Sailfish OS released

While we're supplying N9 users with fresh releases of gPodder 3 regularly (the latest version, 3.6.1, has been released last week, and the update is available on gpodder.org/downloads), of course we've also been busy working on a newer, Qt 5 and PyOtherSide-based version of gPodder. After weeks of testing, I think it's good enough for a first release now, so let's warmly welcome gPodder 4.0.0 to the world of Sailfish apps. You can download it and its dependencies from the gPodder downloads page.

If you haven't read last year's article about Python and Qt 5, now might be a good time to do so. PyOtherSide is a much more minimalistic approach to Python bindings, and - in my obviously biased opinion - works better for gluing together a QML UI with a Python backend. In fact, it lends itself to clearly splitting the frontend from the backend, and with the "asynchronous by default" design, you have to work really hard to block your UI thread with long-running Python code (or multithreaded Python code that's waiting for the GIL to be released). PyOtherSide these days is also well-documented, and some early annoyances and bugs have been fixed with recent releases in February. In combination with Qt 5 and Python 3, it works well on OS X, Blackberry 10, Linux, Sailfish OS and Windows. With Qt 5.2 having official support for Android, and a Python 3 port being available, it's only a matter of time before PyOtherSide lands on Android.

For all Sailfish OS users out there: Until the next Sailfish OS update, you might have to install some dependencies before gPodder will correctly start up, these are:
  1. libpython3 (the Python 3 interpreter)
  2. python3-base (the Python 3 standard library)
  3. pyotherside (the Qt 5-Python3 bindings)
As these links point to the current version in OBS, they will break once one of these packages is updated. In this case, just look into the home:thp:gpodder armv7hl repository for the latest versions of these packages. With the next Sailfish OS update, recent-enough packages of PyOtherSide should be in the repositories, so you don't need to install the dependencies manually.

Dienstag, 5. März 2013

Porting Harmattan Apps to Sailfish Silica (and back)

So the Sailfish SDK was released last week, and as explained in the last blog post, gPodder is already running on Sailfish Silica Components. Of course, this has only been possible because Silica is quite similar in API design to Harmattan Qt Components (whenever I write "Harmattan" in this blog post, I usually talk about Harmattan Qt components, and whenever I write "Sailfish" it usually means "Sailfish Silica Components"). But of course porting "from" Harmattan "to" Sailfish with no way back would be kind of annoying - either Harmattan gets dropped, or somebody has to maintain two codebases, something I'd rather avoid. So, just like in "good old" Maemo 4 and Maemo 5 times, the goal here is to convert a Harmattan-only codebase to Harmattan-and-Sailfish, so that both can be maintained in the same codebase and improvements to Harmattan benefit the Sailfish port and vice versa.

In fact, while porting gPodder from Harmattan to Sailfish, it reminded me of porting from Maemo 4 to Maemo 5 - same toolkit (then Gtk+, now Qt/QML), similar extensions (then Hildon, now Components) but different concepts (then normal menus in Maemo 4 vs. HildonAppMenu in Maemo 5, now toolbars and context menus in Harmattan vs. pulley menus in Silica).

Obviously, as gPodder is written in Python here, this applies mostly to PySide-based applications, but the real difference is in the QML (there's really only one short snippet in the Python code that decides which QML import path to use). The approach taken is somewhat simliar to what the Jolla guys have been presenting at FOSDEM 2013, but I don't recall everything and have tailored the approach to better fit my workflow.

Before we start, be sure to know that qt-components is in the Sailfish Emulator (once you install it via "zypper in qt-components" as root), so that could be a shortcut for quick porting exercises and as an interim solution.

For starters, I've cleaned up gPodder's QML UI to make better use of Qt Components (historically, gPodder's QML UI was started at a time where Harmattan Qt Components were not even out or announced, so wazd and me came up with our own style - yes, that's pre-feb11 even!). So, instead of custom transitions and state management, everything is a Page, and transitions happen via the PageStack (the Silica equivalents are also called Page and PageStack). So, assuming you only have pages and so on, you could theoretically already use this or that depending on which platform you are on. Unfortunately, QML doesn't have conditional imports or something like that, so we have to add some abstraction layer.

Here's the basic idea:
  1. Create a new "Components" set - I'm calling mine "org.gpodder.qmlui"
  2. You define which items your components have, and a common API
  3. You implement your components twice: Once for Harmattan, once for Sailfish
  4. At runtime (or even compile time if you would want that) you decide which set of components you use
  5. Your application GUI code only imports QtQuick, maybe QtMultimediaKit (if you need it - it's available on both platforms) and your custom components (org.gpodder.qmlui in my case)
Just in case you are already running to the gPodder Git repo now to check it out, here's a short disclaimer: The UI isn't fully ported yet, so there's still a few remaining "com.nokia.meego" (Harmattan Qt Components) imports in my QML UI, but that's just temporary until I have found a good replacement for things like Sheet and MultiSelectionDialog in Silica.

My custom components at this time look like this:
Most of these are just thin wrappers around the "native" components on the target platform. For example, WindowWindow.qml (harmattan, sailfish) is just a wrapper for PageStackWindow (on Harmattan) and ApplicationWindow (on Sailfish). Where I said "import com.nokia.meego 1.0" and "PageStackWindow {}" previously, I now say "import org.gpodder.qmlui 1.0" and "WindowWindow {}". In the case of the Harmattan implementation, this is just the same as before, but on Sailfish, an ApplicationWindow will be used.

Other wrappers just deal with API differences. For example, ScrollDecorator exists in both Harmattan and Sailfish, but in Harmattan the property is called "flickableItem" and on Sailfish it's "flickable". So my ScrollScroll (harmattan, sailfish - also, noticed a naming pattern there? ;) takes care of hiding the differences, and I just use "flickable" on a ScrollScroll, and it will do The Right Thing on the platform it's currently running on.

When the API is the same (e.g. for Button), you still need to create pass-through components because of the different import path: Button (harmattan, sailfish).

But there's also some more elaborate differences. For example, I want to have menus - a toolbar menu on Harmattan and a pulley menu on Sailfish. So I defined a very simple Action (I'd be surprised if such a component doesn't already exist, but I didn't find one when I wasn't looking (sic)) that basically has a text and some signal attached to it. In my application code, I define actions as a property on my PagePage (which is a Page with some special code to transform actions into whatever the platform representation is). See the main page actions for an example. The ActionMenu (harmattan, sailfish) then takes care of creating a ContextMenu (Harmattan) or PullDownMenu (Sailfish) and PagePage (harmattan, sailfish) takes care of creating a toolbar on Harmattan and forwarding a reference to the listview to which the PullDownMenu should be attached to (in Harmattan, I still need to pass the listview there, but it's not used).

The same customization also happens for the ListList (harmattan, sailfish), which is a ListView (Harmattan) or SilicaListView (Sailfish), but also takes care of displaying a header (which still needs to be styled correctly on Sailfish) if the platform requires it.

Once you've created your custom set of components, you have to create a qmldir file that lists the components available and in which version of the components they are available. Read up on Declarative Modules in the official documentation.

So there you have it. One QML codebase, two UX targets that are well-integrated. You can see the results in the just-released gPodder 3.5.0, which is more Harmattan-ish on the N9 than before (although some items have moved from the toolbar into the menu for simplicity reasons, and I actually think it's cleaner now) and also looks and feels quite native on Sailfish (it's not done yet, and I'm sure the UI will evolve and adapt once Silica gets more mature and we see more Sailfish apps).

What I'd like to see in the Sailfish SDK: Different Ambiance backgrounds (darker, brighter, different hues) so that developers like me can test if their apps look good atop more than just the nice blue default background.

As a last hint (I couldn't find that in the API docs, but in the component gallery): Sailfish Silica's Label Component has a "truncationMode" property. If you set it to "TruncationMode.Fade", you never want to see elided text again, because it looks so sexy! :)

Samstag, 2. März 2013

How to try out gPodder in the Sailfish OS Emulator

You might have seen this one coming: gPodder is already working on Sailfish OS. If you want to try it out in the emulator yourself (no MP3 playback due to missing codecs, and some parts of the UI have not yet been ported), install the Sailfish SDK and start the emulator (thanks to the interpreted'ness of Python, we don't have to care about cross-compiling at this point). Then, SSH into the emulator as user "nemo" (I'm purposefully vague here - if you can't figure out how to SSH into the emulator, then you probably shouldn't be trying it out at this point).

From the "nemo" user, become root (use "su -", root password is "nemo") and then install some dependencies:

zypper in python-pyside git qt-components

With that in place, go back to the "nemo" user and get gPodder from Git:

git clone git://github.com/gpodder/gpodder.git

Then, cd into the Git checkout and start it as usual:

cd gpodder
python tools/localdepends.py
bin/gpodder

Again, you don't have to do any installation or compilation steps for gPodder - it will work straight out of a Git checkout (that's how I use it all the time). If you "export" the Emulator as appliance in VirtualBox and then "import" it on a different machine, you can even work with this nicely on Mac OS X and Windows. The fact that the emulator is just another Mer installation also means that you can install a compiler and -devel packages for quick development and testing. Vim 7.3 is already installed, I only wish zsh was also available in the Mer repos :)

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 apps.formeego.org 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 gpodder.org/downloads 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 maemo.org 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!

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 http://www.debian.org/CD/netinst/
  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 (maemo-scratchbox-install_5.0.sh) and the SDK installer script (maemo-sdk-install_5.0.sh):
    http://repository.maemo.org/stable/5.0/maemo-scratchbox-install_5.0.sh
    http://repository.maemo.org/stable/5.0/maemo-sdk-install_5.0.sh 
  15. Login to your new VM, then wget the two scripts above
  16. sudo sh maemo-scratchbox-install_5.0.sh
  17. sudo sh maemo-scratchbox-install_5.0.sh -u user
  18. Log out and log back in again
  19. sh maemo-sdk-install_5.0.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 http://repository.maemo.org/extras-devel fremantle free non-free
    deb-src http://repository.maemo.org/extras-devel fremantle free
  3. fakeroot apt-get install python2.5 python-feedparser python-mygpoclient python-dev maemo-optify
  4. git clone git://github.com/gpodder/gpodder.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.

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.

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 gpodder.net 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 bugs.gpodder.org :)

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 http://apps.formeego.org/ 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 gpodder.net 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 http://bugs.gpodder.org/ - and don't forget to QA the package in Apps For MeeGo.

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.

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 apps.formeego.org 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 bugs.gpodder.org - 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! :)

Dienstag, 13. Dezember 2011

gPodder 3.0.2 for Harmattan

A new version of gPodder (a free podcast, YouTube and Soundcloud downloader) has been released today. It has been uploaded to the Community OBS (Apps For MeeGo) and to Ovi Store, and is waiting in each QA queue for approval. Some new things to look out for:
  • Common Prefix Elimination: A very cool name for a very space-efficient feature. If all episodes in a podcast have the same prefix in their title, the prefix is stripped. This usually gives you more information about the episode on screen without wasting space with repeated information.
  • Audio Player Scrubbing: You probably know the seeking buttons in the media player. These buttons now show their meaning in a text popup when pressed and - and here comes the cool part - allow you to "scrub" through a podcast.
What scrubbing means is that you can touch-and-hold a button and then scrub on the screen up and down (or left and right - it doesn't really matter, just the distance counts) and the action of the button will be carried out multiple times. This lets you quickly navigate through long podcasts or mixes if you are searching for a certain passage.

Some bugs (like the YouTube episode sorting issue) have also been fixed, more on that in the release announcement. gPodder 3.0.2 "Agent 99" will be available in Ovi Store and Apps For Meego shortly.

Donnerstag, 20. Oktober 2011

gPodder 2.20 for Maemo 4 and Maemo 5, 2.950.14 for Harmattan

gPodder 2.20 has been released. New packages are already available for Maemo 4 (in Extras) and Maemo 5 (in Extras-Testing). If you are using gPodder on Maemo 5, please test the package and vote for it on the package page, so it can get promoted to Extras when it has been tested by the community.

For all N950/N9 users: The Harmattan build of the gPodder QML UI is available for free in Ovi Store. The version available in Ovi Store is a development snapshot of the "tres" branch, where we will have an official release soon. I'm using it on a daily basis, and it's very stable and usable - new features will be added as we go along, so check out the new gPodder! You can grab the source code from the harmattan branch in our Git repository.

Donnerstag, 29. September 2011

gPodder Maemo 5 Remota Usability Test Videos

Back in August, Jarkko Mikael Palonkangas has been looking for Maemo 5 users without any experience in using gPodder. His Master's thesis is about the Thinking Aloud usability testing method on mobile devices, and he chose gPodder as the example application. The application used for managing the test cases has been written by Jarkko for Maemo 5 and is called Remota - it takes care of displaying the tasks to the users, recording screenshots and audio and retrieving the logging output from gPodder.

Remota log viewer with UI action log at the bottom

If you are interested in seeing how this looks, or if you would like to help to comment on the usability issues and find improvement ideas, please feel free to click through the videos below, which have now been uploaded:


Unfortunately, user 4's logging output had problems, so you only have audio and video for these tasks - for users 1 through 3 we also have logging output about UI interactions, which was possible by patching the gPodder source to add additional handlers to buttons and other UI elements while the UI was created on application startup.

Please feel free to add comments to the videos - Jarkko is going to process them and include the finding in his final work, so that would be an easy way to contribute.