Showing posts with label harmattan. Show all posts
Showing posts with label harmattan. Show all posts

Sunday, April 29, 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 :)

Wednesday, March 28, 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.

Monday, January 9, 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! :)

Tuesday, December 13, 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.

Sunday, December 4, 2011

This weekend's releases: Tap Tap N950, qw.py and the IP Address Widget

Over the weekend, I've pushed out some code for your enjoyment: First up is the incomplete but maybe interesting QML source code of the Tap Tap N950 prototype. I probably won't find time to work on this, but it would be sad to let the small piece of code rot - maybe someone wants to pick up the development of it. I'll answer any questions related to the code in the thread :)

Next up is the open source release of the qw prototype "qw.py", which has been developed during the Super GameDev Weekend 2010 at the Metalab Vienna last December (the next one is at the upcoming weekend; stop by if you are in Vienna!) - nearly 1 year ago. This is not the same as qw The Game in Ovi Store, but it's an earlier version, which still contains multi-player support (4 players on one PC keyboard), and it's written in Python, so it should be easily hackable.

And last but maybe not least is the IP Address "Widget" for Harmattan. This small hack (which is inspired by the earlier Calenderr calendar icon hack) makes use of the fact that the Harmattan UX reloads the icon of an application whenever the .desktop file or the icon file itself changes. The details (and a .deb for easy installation) can be found on the website - basically it shows a way to have semi-interactive "widgets" on the app list on Harmattan. I'm sure that creative readers can come up with some cool ideas :)

Monday, November 21, 2011

Plonk (formerly known as Mong) for Harmattan

Plonk (formerly known as Mong, but renamed since) is now available in Nokia Store for the N9 and N950 as free download:


This is a multi-touch game for two persons, so go out into the big blue room and ask somebody to have a game of Plonk with you :) As you probably already know, this game has been developed at the MeeGo Conference in collaboration with Cornelius Hald and Tim Samoff - sounds have been recorded directly at the hacker lounge by Erik Stein, and Randall Arnold came up with the new name. A real collaborative project, and the source is available from Gitorious! One challenge with Harmattan was disabling Swipe, we solved that with a nifty little class called SwipeControl - it's open source if you want to use it in your game, too :)

Tuesday, November 15, 2011

Hack Tuesday: Tap Tap N950 and Calenderr

The unexpected lack of lectures today (Tag des Landespatrons) left time for some one-off hacks, and here are two for you:

First up is Tap Tap N950, a very basic QML prototype of what could become a funny DDR/TTR clone - no code published yet, it still need some more polishing (and touch area support for multi-touch, plus scoring is also missing).

The other one is a simple hack to make the Calendar app icon always show today's date (day-of-month). The existence of calendar icons for each day (1-31) in the theme on the device lets me suspect that this feature was either planned and then abandoned or that it will come built-in in some future firmware. For now, you can grab this lame shell script and execute it (ideally with "nohup" - see the comment inside - also needs customizations if you changed your root password, and you definitely need developer mode for now) to have an auto-updating calendar icon until the next reboot. Watch the accompanying video for a quick demo. There's now also a forum thread for support and discussion. Sometimes I really wish cron was pre-installed on Harmattan..

Bonus exercise: Store your app's .desktop file in /home/user/.local/, generate the icon dynamically via code and update the .desktop file for some icon overlay action / new items notification ;)

Wednesday, October 19, 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.

Thursday, September 1, 2011

qw The Game 1.5.1 is here - for MeeGo and Symbian

Control the white ship to fill areas.
Last December, I started to work on a new game: qw ("cuvée"), an area filling game similar to Qix. Since the tech demo has been released, I've been working on a fancy QML menu, a balanced scoring system, nice rendering effects for enemies and the player's trail and obviously some more levels, which results in this new release, version 1.5.1, with 13 high-definition images that are waiting for you to get their colors back.

The game is now available from Ovi Store for N950 and N9 users, and also for Symbian devices - the advantage of the MeeGo version being that it has higher-resolution artwork (it fully utilizes the higher screen resolution) and sound effects (for some reason Qt Mobility's QML SoundEffect has its problems on Symbian). Both versions use the feedback motor of the device for feedback when you draw, fill or die.

Here's a gameplay video of the first 3 levels, so you can get a feeling of how the game plays:

Monday, August 29, 2011

N9 Hackathon in Vienna (Austria) on October 8th and 9th 2011

For the launch of the N9 (yes, we are one of the countries in which the N9 will be officially available, and at least 3 of 4 operators will offer it with a contract), Nokia Austria is organizing a N9 Hackathon around the N9 on the second weekend of October (2011-10-08 + 2011-10-09) in Vienna. If you live in or around Austria, or wanted to have an excuse for coming to this nice place from abroad for some serious coding, this might be a good opportunity to meet some fellow Maemo/MeeGo community members and get some hacking done. We plan to have some hardware like NFC tags to develop cool stuff with the N9's hardware, so don't forget to bring your creativity as well as skills ;)





Accomodation and food/drinks at the Hackathon will be provided by Nokia Austria, but accomodation places are limited, so please get in touch if you are interested in coming, so I can make a list of people who plan to come, and can keep you up to date on the event. Bonus points if you want to demo and/or talk about one of your apps that you have already written (or are in the process of writing), but interested developers new to Maemo/MeeGo are also very welcome! :)

Monday, August 1, 2011

Panucci 0.99.3 for Fremantle is here

Jens has been working on the QML UI of Panucci (a resuming podcast and audiobook player for Maemo and MeeGo) to get it working on the N950 and he has recently fixed the Bluetooth headset support on the N950. While he does not have a N900 to test and build Panucci releases, I'm more than happy to jump in every once in a while and update the N900 build of Panucci for all Fremantle users. Today is such a "once in a while" day: Panucci 0.99.3 has been uploaded to the Extras repository and should be available in Extras-Testing soon. The default UI in this release is still the Gtk/Hildon UI, but you can opt to use the QWidget-based UI (panucci --qt) or the QML-based UI (panucci --qml) via command line switches:

We have not yet implemented a task switcher button in the Panucci QML UI, but that might come in the future, and then we might even change to using QML by default with Gtk/Hildon as an option. Jens has even written support for themeing the QML UI with colored themes:

The file selector and file details have also been (re-)written in pure QML for cross-platform compatibility:



Enjoy this new Panucci release, and thanks to Jens for keeping the application fresh and feature-rich. The Panucci bug tracker has now moved to bugs.gpodder.org, so if you find any problems with this release, please report it at bugs.gpodder.org in the Panucci product.

Thursday, July 7, 2011

New gPodder versions for your N8x0 and N9x0

It's been over two months since I've released a new stable release of gPodder. Now it's time again to catch up with some of the fixes that have landed in the "master" branch of gPodder (while we are still adding cool stuff to the "tres" branch, where the QML UI and other improvements happen). Anyway, gPodder 2.16 "Over There" should be available in Maemo Extras for both Diablo and Fremantle soon, please test the package and (in case of Fremantle / Maemo 5) also vote for it, so it can land in Extras eventually.

For the Nokia N950 (and also for the N9), there's already a very early alpha build of the QML for you to try - please note that you might have to remove your database and downloads to be compatible with any changes when the final version is out. There's a thread on forum.meego.com with instructions on how to get it and a screenshot - please also use this forum thread for feedback and any questions that you may have.

In related Maemo/MeeGo news, That Rabbit Game has been packaged for MeeGo Tablet and should be available in AppUp already. There's also a pure OpenGL ES port for webOS, although it's missing some features of the Qt version. If you haven't been following gaming news, our multi-touch game Mong (which is going to have its new name "Plonk" soon) is available for MeeGo tablets and I'll have a Harmattan package for you to try really soon! There is also the Harmattan Event Feed Library for Python which should make posting data to the event feed awesome. And if you really want to port your PySide apps to Android, try PySide for Android, which has just been released today. Yes, lots of stuff happening - expect more in the coming days/weeks :)

Wednesday, December 15, 2010

The Qt promise and what Maemo 5 needs

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

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

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

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

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

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

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

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

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

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

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

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

Friday, November 26, 2010

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

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

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

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

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

Friday, July 30, 2010

headphoned 1.9 for the N900 is now in Extras-Testing

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

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

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

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

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

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

Sunday, March 7, 2010

SketchyAetch, gPodder/Qt and living in the present

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

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

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

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

   python -m gpodder.qtui

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

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

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