Samstag, 28. Mai 2011

MeeGo Conference 2011 in San Francisco

I've been lucky to be among the sponsored participants for the MeeGo Conference 2011 in San Francisco this week (thanks to the Linux Foundation). As with the last events, it's always nice to meet up with fellow Maemo community members whom I already knew from previous summits/conferences and also to finally meet some new community members in person for the first time.

Intel loaned out ExoPC hardware running MeeGo Tablet UX for MeeGo development during the AppUp Event on the Warm-Up weekend. Conny had the great idea to start a multi-touch Pong game that we now call "Mong" (Gitorious repo) and that we now collectively develop with some community members (sounds - recorded live from the Air Hockey tables at the Hacker Lounge! - by Erik, graphics by Tim, code by Conny and me):


More photos of the event: Conference and Party on Flickr. Don't forget to add your photos to the MeeGoConf2011 Flickr group. My Python + PySide talk went well, too bad that Matti (who helped prepare the presentation - thanks!) couldn't come. Slides are already available, and check out the MeeGo-Python tutorial if you want to get started. I'd be grateful for any feedback on the session and the tutorial - especially the things that weren't clear and could be improved.

About the keynote, I mostly agree with Jaffa's thoughts about how it could have been better, and that there should have been some announcements or commitments to release MeeGo-related end user products to give the project some much-needed(?) backing from vendors. I also agree with "MeeGo needs Harmattan a lot more than Harmattan needs MeeGo" - even though it isn't "real MeeGo", it's presumably the single polished MeeGo-related handset product that will (hopefully?) be available soon-ish.

But again, from a community perspective, MeeGoConf SF 2011 was great (thanks to LF for the sponsoring and to the organizers for choosing a great venue), San Francisco the city was awesome and - judging from the rumors on TMO - I'm pretty sure that we're looking forward to a great June that will allow us to finally port our apps to new MeeGo-related hardware.

Let's hope that we have an opportunity to meet up again in some future Maemo/MeeGo-related event :) Thanks for a great week!

Mittwoch, 11. Mai 2011

gPodder on the N900 MeeGo 1.2 Developer Edition

If you want to try the MeeGo N900 Developer Edition for the N900 but think that clicking through the Widgets Gallery gets boring after 45 minutes, why not try out the QML UI of gPodder on it? It's pretty easy. This post assumes that you are using the alpha release of the N900 Developer Edition from a microSD card and boot via USB.

Thankfully, Python 2.6 is already preinstalled, but you need recent PySide packages for gPodder to work (PySide exposes the Qt framework to the Python world), you can get them from PySide binaries for MeeGo. You don't need to upgrade Qt, simply installing the PySide packages is enough:

zypper addrepo http://download.meego.com/live/home:/renatofilho/Trunk/ pyside
zypper install python-pyside


What you need now is a recent Git checkout of gPodder's "tres" branch. I suggest you do that on your computer:

git clone git://repo.or.cz/gpodder.git
cd gpodder
git checkout tres


Now there are two pure Python dependencies for gPodder that you also need. As there are no packages for them in MeeGo yet, you also have to provide them manually. The first one is the Universal Feedparser. Grab a recent release from the downloads page and copy the file feedparser.py to the src/ folder in your gPodder checkout. The second dependency is mygpoclient, a client library for the gpodder.net web service. You can check out the latest version from Git:

git clone git://repo.or.cz/mygpoclient.git

In the checkout, you will find a folder called mygpoclient - copy this to src/ in your gPodder checkout. Now you have a complete, self-contained gPodder checkout on your computer. Use rsync or scp -r to copy it over to your N900 (you can use USB Networking for that).

Now that you have everything on your N900, you have to add some subscriptions manually (mostly because the QML doesn't yet have the UI required to subscribe to new feeds) - use bin/gpo to start the command-line utility, then do something like subscribe fb:linuxoutlaws to subscribe to an example podcast. Quit the command line application and start the QML UI using bin/gpodder --qml, which should - after some loading time - show gPodder/QML on your MeeGo 1.2 Developer Edition environment.

If you have made it this far, don't stop here - try out the examples from the PySide/QML Tutorial and familiarize yourself with Python development on MeeGo - it's easy and fun!

Mittwoch, 4. Mai 2011

gPodder 2.15 available; QML UI plans and Diablo support

A new version of the open source podcatcher gPodder is now available for Maemo 4 (Diablo, N800 and N810) and Maemo 5 (Fremantle, N900). For Diablo, the package is already promoted to the Extras repository, so it should appear as an update soon, and for Fremantle, it's in Extras-Testing waiting for some reviews and votes from you (yes, you!). Please test and vote for gPodder 2.15-1 in Extras-Testing. This is a bugfix release in the stable 2.x release series, and also includes some translation updates as well. For full details, see the official release announcement.

Because I've been asked about the QML UI several times now: It's still not day-to-day usable, and missing some features. It's also only included in the "tres" branch, and won't be included in the 2.x release series. Judging from the current performance of QML UIs on Maemo 5, I also think that the Hildon-based Gtk+ UI might be better suited for Maemo 5, especially since it has been polished for the last 1.5 years - that's why the current Maemo 5 UI will most likely still be the default, even when gPodder 3 comes out (with the QML UI as an option).

Support for Diablo will be dropped in "tres", but as there haven't been any new features for Diablo in the last several months, that's not really a problem (bug fixes will still be made to the 2.x branch of gPodder, even after "tres" is released - you just have to report them).

That said, the QML UI will be available (and the default) for environments like the MeeGo N900 DE and probably any other MeeGo UIs (tablet, handset, etc..) in the future, and it will come with some exciting new features and a streamlined user interface.

Montag, 11. April 2011

gPodder 2.14 and Panucci 0.99.1 in Extras-Testing

If you are one of those N900 users who use their devices for listening to podcasts and audiobooks, please help getting the latest versions of gPodder and Panucci into Extras and provide feedback/bug reports. For Diablo (N800/N810) users, gPodder 2.14 is already available in Extras.

gPodder 2.14 is a bugfix release in the 2.x release series. It includes fixes for YouTube downloads (this fixes the HTTP 400 errors some users were reporting) and adds per-podcast "Keep episodes" settings (to avoid accidental removal of episodes that you want to archive/keep). This release also includes some fixes for feeds that don't include a valid guid element in their entries. Please test and vote for gPodder 2.14-1 in Extras-Testing.

Panucci 0.99.1 is the second experimental release of xerxes2's development branch of Panucci. As announced on t.m.o, this release includes persistence of settings between invocations and a Qt GUI that can be activated by running Panucci with the --qt command-line switch. Thanks to xerxes2 and Helmuth for collaborating on the improvements made to Panucci recently. Please test and vote for Panucci 0.99.1 in Extras-Testing.

Samstag, 2. April 2011

gPodder/QML progress update

While the 2.x branch of gPodder is still updated - a new release should be out soon - the awesome stuff happens in the "tres" branch, where the refactoring takes place and also where the QML UI is built. I've reserved some time this weekend to work a bit on the QML UI so that it is at least day-to-day usable for me, because it turns out if I don't force myself to use the QML UI, I'll just use the Maemo 5 UI and not work on the QML UI ;)

I've uploaded two new videos today: gPodder/QML on the N900 and gPodder/QML on a Desktop. This is exactly the same Python codebase (utilizing PySide), which is great for testing on the "big" computer. It's also truly cross-platform, as you can see it running on OS X in the Desktop video. Unfortunately, Qt Mobility 1.2's QML Video component is broken, so there's no video playback on the N900. Video playback great on the Desktop, though, and audio playback works fine on both the N900 and Desktop.

The UI is still in a rough state, but it's a great place for experimenting around with some ideas to see what works and what does not. I really like the integration of the playback feature into gPodder, as it provides a better integrated experience on handsets. It obviously also loads faster compared to loading a separate media player. The UI is scalable and should work well on tablets (which is especially useful for YouTube channels and video podcasts).

The new codebase still hast the Desktop GTK+ UI and the Maemo 5 GTK+/Hildon UI in there, they share the same backend code as the QML UI. The code is not ready for public consumption, but if you really want to try it out, you'll find the code in the "tres" branch in our Git repository. If that's too little information for you to get started, then you shouldn't yet use it :)

Dienstag, 8. März 2011

Improved tactile feedback with the Community SSU

The latest version of hildon-desktop features experimental support for improved tactile feedback. What this means for you is that if you enable this feature, you will "feel" app menus and dialogs appearing and disappearing, just like on some Symbian^3 devices. It's disabled by default, but you could give it a try and see if it improves your experience.

First of all, you have to install the tactile helper from Extras-Devel (Git repository here). Then, you need to edit /usr/share/hildon-desktop/transitions.ini with a text editor as root and set the value of tactilepopups to 1 (i.e. change "tactilepopups = 0" to "tactilepopups = 1"). Save the file, and the changes should be applied instantly (if you have the latest version of the CSSU installed). Yes, I know that this forks a new process every time a feedback is played, but this keeps the architecture open for experimentation and prototyping of new ideas. It also didn't noticeably hurt my N900's battery life when used for a few days.

One further improvement would be to add support for "tactile" into Hildon, so that it vibrates when you press a button, but it doesn't vibrate if you touch a non-sensitive area of the UI (because right now, it vibrates on every touch when configured to do so, and that's not really tactile feedback of UI elements - you can "feel" the screen anyway, and it doesn't matter if the device registered your touch if the touch turned out to fall into a spot where no action will be carried out). I'm not sure if Qt Mobility's Feedback API already supports controlling the N900's vibra motor, but if not, there would be another great improvement opportunity.

The tactile helper can be easily integrated in other apps, the source should be trivial to understand, and easy to utilize in third party applications. It also comes with an example ('tactile-demo.py') that you can have a look at for a more elaborate example :)

Dienstag, 1. März 2011

The Return Of Panucci (0.99.0 for Fremantle)

Since gPodder gained support for MAFW, and therefore resuming support for the built-in Maemo 5 Media Player, there was less of a reason for me to continue working on Panucci (though some users still prefer Panucci over the built-in Media player). Recently, Jens and Helmuth collaborated on bringing Bluetooth support back into the 0.9 branch in the Panucci thread on t.m.o.

Jens has also fixed some other issues and is now continuing development of Panucci, which is great :) I'll continue to package Panucci releases for Maemo 5, and review the commits and provide feedback, but won't be working on any features myself. Here's a teaser screenshot:


The new version, Panucci 0.99.0, has already been uploaded to Extras-Devel, and will be promoted to Extras-Testing soon. If you want to contribute, check out Panucci on GitHub - patches are gladly accepted!