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