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
), 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
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
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.