Get more podcasts on your screen with new display options

Written by sven. Posted in preview

The current podcast grid displayed by uPod wherever a list of podcasts needs to be displayed is quite stylish and works great on tablets. Unfortunately on phone displays it requires quite a lot of space, so that you end up with only four podcasts being displayed in portrait mode and three in landscape. That’s OK for a lot of users, but if you have a huge list of podcasts you may want more.

That’s why I’ve introduced two new settings which allow you to configure your preferred podcast view independent for portrait and landscape view. You can choose among the following three options:

  1. classical grid with coverart and text (four items on phone in portrait mode)
  2. list with coverart and text (six items on phone in portrait mode)
  3. tiny grid with coverart only (12 items on phone in portrait mode)

On my Nexus 10 I use option 1 and on my brand new Nexus 5 I prefer option 3.

Take a look at the screenshots below to get an idea of how the new view modes look.
Podcast GridPodcast ListTiny Podcast Grid

Downloading…

Written by sven. Posted in preview

Today I present you the episode download of uPod. In contrast to other podcast players, uPod provides a transparent mechanism, which clearly shows you what will be downloaded next: The download queue (see the first screenshot at the bottom). Like the playlist the download queue is an episode list which you can reorder via drag and drop. The currently downloading episode is pinned at the top. If a download fails the episode is marked with a red warning sign and is moved to the end of the download queue.

But how are episodes added to the playlist? There are two possibilities:

  • manually by starting an immediate download or by adding it to the queue using the relevant menu entry or
  • automatically

For automatic addition there are two options in the download settings (second screenshot):

  • Automatically add playlist episodes: All episodes you put on the playlist will also be added to the download queue.
  • Automatically add library episodes: All your library episodes will also be added to the download queue.

Downloading the queue can also be either started manually or automatically whenever a network is available. For the latter case you can specify in the settings whether only non-metered connections (Wifi) should trigger an automatic download. As soon as the configured connection isn’t available any more the download will be suspended. The automatic download will also run when your device is in standby. Note: If you manually start a download it will always start immediately — no matter which connection is available. If you want the download only to happen on your preferred connection you should add the episode to the download queue instead.

While a download is running you will find an informative notification in the status bar (third screenshot) showing you the download progress and the estimated remaining time. Further on the notification contains a button (on Jelly Bean and above) allowing you to suspend the download — it can be resumed later on.

To sum up: If you use the standard settings (automatically add all library episodes and automatically download on Wifi) you will never need to care about your downloads again — it will simply happen automatically in the background.

That’s it for today. And here are the promised screenshots:

Download queueDownload settingsDownload notification

Subscribing to Podcasts

Written by sven. Posted in preview

Until now uPod allowed you to add subscriptions by importing an OPML file. Now you can also flexibly subscribe to new podcasts simply by using your web browser: Open your favorite podcast’s webpage, tap on the RSS link and android will provide you the option to open the podcast in uPod.

This will bring up information about the podcast and it’s latest episodes as shown in the screenshot below. In this view you can subscribe to the podcast with one tap. For subscribed podcasts the most recent ten episodes and all upcoming episodes are automatically delivered to your uPod inbox. Or you can add single episodes to your library even without subscribing to the podcast.

Further on uPod’s podcast view now also allows you to access older episodes of your existing podcasts.

In the next step I plan to implement the download queue and the episode download.

A Podcast and it's Episodes

Still alive…

Written by sven. Posted in preview

I just wanted to let you know, that I am still alive. In August I was on vacation for two weeks and guess what: I’ve left the laptop at home :-) But in the meanwhile I am back at work. I’ve implemented the episode’s show notes view, the drag and drop sorting for the playlist (thanks to Carl Bauer for his great work) and this weekend I’ve finished the push sync which synchronizes changes you’ve made on your phone back to the server, so that they are populated to your other devices.

The uPod Workflow

Written by sven. Posted in preview

Inbox vs. Library

All podcast players can play podcasts. Where it comes to differences is how good they support you in handling your episodes. This is something where most of the tools I have used in the past are poor. Today I will tell you a little bit about how uPod supports you here.

I have two kinds of podcast subscriptions: Podcasts where I listen to (nearly) each episode they publish and podcasts where I selectively pick only a few episodes. The former one is supported well by all players, but the latter case is where it gets tricky. Most of the players are simply mixing up episodes I’ve already taken a look at and new episodes and therefore make it nearly impossible to judge new episodes and decide whether I plan to listen to them or not.

As shown in the screenshot on the right, uPod supports you by tracking two separate areas:

  • your inbox and
  • your library.

The library is the place where all the episodes are kept which you plan to listen to. For the podcasts you love most you can configure uPod to put all new episodes directly into the library. All other podcast’s new episodes will go to the inbox first. So it is easy for you to scan through the new episodes and add them selectively to the library or to dismiss them. So to summarize: The uPod library only contains episodes you plan to listen to. This brings another interesting side effect: You do not need to selectively download episodes — instead you simply can configure uPod to ensure that your whole library is always available offline for listening.

Also keep in mind, that the inbox/library stuff isn’t an issue local to your device — instead this separation already exists on the uPod server. This allows you to comfortably scan through your new episodes on your tablet when lying on the couch in the evening. And when you pick up your mobile in the morning it is ready to serve you all the great new stuff you’ve selected.

For the closing of this article lets take a look at how easy and comfortable it is to scan through your inbox and categorize the episodes. The screenshot below shows you, that the actions for adding an inbox episode to the library and for dismissing uninteresting episodes (and some other enhanced options like live streaming, adding to the playlist and so on) are available in three places:

  1. each episode entry in the inbox list provides actions affecting only this episode
  2. the action bar at the top provides the same actions affecting all listed episodes
  3. you can select one or more episodes by tapping their podcast image (or tapping and holding them) and perform the actions on all of the selected episodes.

This brings you enough flexibility to do the stuff the way you want and I hope you like it.
Inbox Actions

First Screenshots

Written by sven. Posted in preview

uPod on Phone

Today I am proud to present you the first screenshots of uPod. This was a long way — much longer than I expected. The problem with designing is, that it is mainly trial-and-error and a lot of time consuming pixel shifting. You start with an idea, but it doesn’t look like you expected it and then you try something else. Each time you have to create new image assets and adjust the code.

But it was definitely worth the effort. The uPod user interface brings a fresh new look and feel which mimics the hottest most recent designs like for example Google’s brand new Play Music app. Further on it utilizes some brand new UI patterns like the navigation drawer on the left which has been introduced just two weeks ago on Google IO 2013 and is now used in Google’s latest updates like the new Google Mail app and again Play Music.

The navigation drawer is the starting point of the app and allows you to select what you want to view. The drawer can be opened on a phone by tapping the app icon in the title bar or by swiping it in from the left edge of the screen.

As you can also see on the screenshots, the app has been designed from the ground up to be responsive — meaning the screen layout optimizes itself for the screen size it is running on. For example on the tablet in landscape mode the navigation drawer is always visible and the playback bar is aligned vertically on the right edge.

The podcast view makes heavy use of your podcast’s cover art. This makes using the app a joy as it looks great and helps you to quickly find your way to the episodes you want to access.

I hope you like the results as much as I do.

Stay tuned for further updates.

uPod on Tablet

Pull Synchronization

Written by sven. Posted in preview

This is another quick status report to keep you informed about my progress. The pull sync is fully implemented and working. The pull sync is responsible for updating the app’s local data with information from the server. This includes things like newly available episodes, the contents of your episode library, your playlist and playback positions or in short: Everything which has to do with podcast subscriptions and cross device synchronization.

Currently I am already working on the user interface and I am making quite good progress. I am utilizing some of the hottest new user interface best practice which have been introduced by Google on the latest Google I/O just one week ago (lookout for the application drawer). In my next status report I will provide you the first screenshots. So stay tuned!

The uPod Service

Written by sven. Posted in preview

Though the first release of the uPod app is still far away, I wanted to use the opportunity to let you know about the progress I am making. As I’ve already have a quite complete idea of how the user interface will look and work like I’ve decided to develop the app bottom up — meaning I start with the storage and synchronization stuff, so that I can use real data when working on the user interface. This also implies, that it will take some time until I can provide you the first screenshots of the app.

Today I want to tell you a little bit about the uPod service. Though you will never see it when using the app, it is a very important part of uPod. As a former user of Google reader and an owner of an Android phone and tablet I want to have full synchronization across all my devices right from the beginning. For example at home in the evening I want to use the big screen of my Nexus 10 to scan through new podcast episodes and add them to my library and playlist and when I am on my way in the morning I want to listen to this playlist on my Galaxy Nexus.

To make this possible my subscriptions, episode library and playlist need to be stored in the cloud and my devices need to synchronize with this stored information. And this is where the uPod service comes on to the scene — it will be running in the cloud and store all the information required by my devices including my subscriptions, my library, playlist (including episode ordering) playback positions and general listen preferences. The service is also responsible for checking the subscriptions of all users for new episodes and pushing them to our uPod inboxes. Keeping this logic on the server helps to reduce the synchronization logic and the amount of data to be transferred during a sync on the mobile device. Finally the uPod service provides a web service API which is used by the uPod app to access all the required information and push back changes.

Now you may ask how the authentication against the uPod service works? That’s simple: When starting the uPod app for the first time you will get an account picker providing you all your google accounts. Simply select one of them and all your uPod information will be linked to your google account — no need to create another account and select another username and password.

The good news is that the implementation of the service is nearly finished and it is working well. For the developers among you who are interested in the technical details: The uPod service provides a REST like web service API and is implemented using the programming language Scala and the Play 2.1 framework. MongoDB serves as the storage backend for the service.

Next I will start working on the uPod app, starting with it’s storage and synchronization layer. I guess it will require a comparable effort like implementing the uPod service. Stay tuned!