2014-03-15

gPodder 4 vs gPodder 3: Release notes and changes

As pointed out by Tim on Twitter, yesterday's release was missing some proper release notes, and while if you have been following gPodder 4's development process (here, here, here and here), you kind-of know where it comes from, it's probably useful to summarize the differences between gPodder 3.x and gPodder 4 in a separate post here, especially for users wondering about the differences of gPodder 3 and gPodder 4.

Some early plans for gPodder 4 considered rewriting parts of the core in C++ for performance and portability, but in the end, we decided to take a less risky approach, and split off from gPodder 3.5.1 in April 2013 and work on trimming down, refactoring and replacing the codebase there one-by-one.

Even though we went with the existing codebase, we took this opportunity to go Python 3-only with this release (because Python 2 is a dead-end), as well as have a split between the core library (now know as gpodder-core) and user interfaces (gpodder-ui-qml and gpodder-sailfish at the moment). Another opportunity to make a clean cut was migrating from feedparser to our own, custom-written podcastparser (performance gains are goody), so we have more control over what and how we parse things, and properly split YouTube, Vimeo and Soundcloud integration into separate, self-contained modules.

Here's a list of things gPodder 4 can do better than gPodder 3:
  • Native Sailfish OS port
  • Blackberry 10 port
  • Potential ports to other Qt 5 platforms (Android, iOS, ...) in the future
  • Qt 5 and Python 3 support via PyOtherSide
  • CLI interface ("gpo") with new features (querying episodes, etc..)
  • Faster parsing of RSS and Atom feeds using podcastparser

In the end, the list of things we added in gPodder 4 is probably shorter than the things we removed compared to gPodder 3. Here's what gPodder 3 can do that gPodder 4 can't (at the moment):
  • Gtk UI (Linux, OS X and Windows "Desktop" UI)
  • Harmattan (Nokia N9) QML UI (PySide and Qt 4-based)
  • MP3 player sync, iPod sync
  • Extension scripts (e.g. convert files, Ubuntu Unity integration, etc..)
  • gpodder.net integration into the core
  • Web UI (was never really completed, anyway)
  • Flattr integration into the core
  • Python 2 support
While features like gpodder.net and Flattr integration are things that we want to integrate into gPodder 4, this hasn't happened yet, and in some cases, it might be better to put these things into the UIs rather than handling them in the core (e.g. gPodder 4's QML UI actually has gpodder.net directory search, done purely in QML/JavaScript).

In case of Flattr, Stefan actually implemented Flattr integration into the gpodder.net web service (so you can Flattr via gpodder.net without having to integrate Flatter directly into the client), so we might opt to use gpodder.net's service here - this has the nice side-effect that you don't have to deal with logging into your Flattr account on your mobile device; just set up gpodder.net and Flattr in your browser on your PC, notebook or tablet at home, and then let gpodder.net handle Flattr'ing of episodes you have listened on your mobile device (the mobile device will send play events to gpodder.net, and gpodder.net can Flattr all played episodes on your behalf if you tell it to do so).


For users of gPodder on the Desktop (Mac OS X, Linux, Windows), this means that you probably don't want to upgrade to gPodder 4 at all at the moment, and that's fine (I personally use and will continue to use gPodder 3 on the Desktop). Stick with gPodder 3.x, which has all the features you have come to expect from gPodder. We'll continue updating gPodder 3.x for some time to come (after all, we don't expect feature parity in gPodder 4 any time soon, and don't even aim for it). Mobile touch UI development will happen in gPodder 4, with a focus on performance, ease of use and integration with our webservice, gpodder.net.

2 comments:

  1. Mann... That's all well you're moving to v 4 but please, tell me... why as such basic feature as seeking into file is still missing in version 3? Or is it that well hidden and I can't just figure it out how to get to it?

    ReplyDelete
    Replies
    1. On which platform are you using seeking on gPodder 3? The MeeGo Harmattan (N9) version has it. The other versions don't even have playback functionality.

      Delete

Comments are moderated. Not all comments will be published. Feel free to post replies on your own blog if your comment is not published here.