Archive for February, 2016

uPod 5.0: A new Chapter in Playback

Written by sven. Posted in features, releases

Man what a headline! I should have become a marketing guy! But now back to my unglamarous developer live: I am really proud to present chapter support in uPod! Especially in the German podcast scene chapter marks are a widely used feature. They provide you the possibility to skip chapters not relevant to you or to relisten specific topcis later. Further on they may provide furhter information like images or web links. uPod 5 implements all of these features.

So contact the publishers of your favorite podcasts and convince them to include chapter marks in the future. I already use them in my podcasts and it is really quite easy if you set the chapter marks immediately during recording. The only thing the publisher has to do then is to name the chapters in the post production and to embed them in the final media files which is easy with Auphonic. (And using Auphonic is anyway a good idea as it normalizes the levels of all recording tracks. Would all publishers use it, I could remove the gain button in uPod…). The auphonic blog contains a helpful post regarding chapter marks for producers.

How do Chapters work?

uPod supports chapter marks in MP3 and M4A/AAC/MP4 files. This is something I am especially proud of: As there are no ready to use Java libraries available to extract chapter information from these files (except things like FFMPEG or MP4Box which would blow up the APK’s size to more than 50MBs) I’ve implemented my own parsers. This was easy for MP3 but a bit more tricky for M4A. I hope I’ll find the time to upload the stuff to GitHub some day.

As the chapter information is extracted from the media file, the file needs to be downloaded to make chapter information available. Then you can access it in two places:

  1. The epsiode details screen (the one you get when you tap an episode in a list of episodes)
  2. The playback screen

In the episode details screen the chapter list is for informational purpose only. More interesting is the playback screen: Here you get a chapter bar at the bottom. It contains information about the chapter at the current playback position including

  • the title,
  • a possible link (tap it to open it in the browser) and
  • the playback position within the chapter itself.

Further on it provides buttons to jump to the next chapter or to the beginning of the chapter or the previous chapter (when pressed within the first three seconds of the chapter).

Additionally, if the chapter has a chapter image, it will be shown in the playback area.

You can drag up the bar to unveil the full chapter list. For each chapter you get its start position, title, image and/or link indicator and duration. Here you can:

  • tap a chapter to directly jump to it while paused or playing
  • tap an image or link indicator to open the image or link

Headset Controls

If your headset provides buttons to skip and go back, then you can use these to navigate beteween chapters: If the episode contains chapters you will navigate between them. Otherwise the controls behave like before and will skip the full episode. This features is enabled by default in uPod. You can disable it in the playback settings.

Who will get it?

Accessing information for the chapter currently playing including image and link is available to all users. Accessing the full chapter list and navigating between chapters is available to users of the premium version only.

This is my compromise to help broaden the usage of chapters on the one hand and to making the premium version more interesting on the other hand.

Full change log

Here is the full change log of uPod 5:

  • Chapter support as described above
  • More intelligent color extraction from podcast coverarts (now also the accent color may be extracted from the coverart if there is a vibrant color with enough contrast to the background)
  • Fling scrolling is finally possible in the episode details now
  • Playlist button in playback view
  • Replaced the material share icon with the old, but better known one
  • Fixed double dialog border on pre-Android 5 devices
  • Several bug fixes