Get more podcasts on your screen with new display options

Written by sven. Posted in preview

The cur­rent pod­cast grid dis­played by uPod wher­ev­er a list of pod­casts needs to be dis­played is quite styl­ish and works great on tablets. Unfor­tu­nate­ly on phone dis­plays it requires quite a lot of space, so that you end up with only four pod­casts being dis­played in por­trait mode and three in land­scape. That’s OK for a lot of users, but if you have a huge list of pod­casts you may want more.

That’s why I’ve intro­duced two new set­tings which allow you to con­fig­ure your pre­ferred pod­cast view inde­pen­dent for por­trait and land­scape view. You can choose among the fol­low­ing three options:

  1. clas­si­cal grid with cov­er­art and text (four items on phone in por­trait mode)
  2. list with cov­er­art and text (six items on phone in por­trait mode)
  3. tiny grid with cov­er­art only (12 items on phone in por­trait mode)

On my Nexus 10 I use option 1 and on my brand new Nexus 5 I pre­fer option 3.

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


Written by sven. Posted in preview

Today I present you the episode down­load of uPod. In con­trast to oth­er pod­cast play­ers, uPod pro­vides a trans­par­ent mech­a­nism, which clear­ly shows you what will be down­loaded next: The down­load queue (see the first screen­shot at the bot­tom). Like the playlist the down­load queue is an episode list which you can reorder via drag and drop. The cur­rent­ly down­load­ing episode is pinned at the top. If a down­load fails the episode is marked with a red warn­ing sign and is moved to the end of the down­load queue.

But how are episodes added to the playlist? There are two pos­si­bil­i­ties:

  • man­u­al­ly by start­ing an imme­di­ate down­load or by adding it to the queue using the rel­e­vant menu entry or
  • auto­mat­i­cal­ly

For auto­mat­ic addi­tion there are two options in the down­load set­tings (sec­ond screen­shot):

  • Auto­mat­i­cal­ly add playlist episodes: All episodes you put on the playlist will also be added to the down­load queue.
  • Auto­mat­i­cal­ly add library episodes: All your library episodes will also be added to the down­load queue.

Down­load­ing the queue can also be either start­ed man­u­al­ly or auto­mat­i­cal­ly when­ev­er a net­work is avail­able. For the lat­ter case you can spec­i­fy in the set­tings whether only non-metered con­nec­tions (Wifi) should trig­ger an auto­mat­ic down­load. As soon as the con­fig­ured con­nec­tion isn’t avail­able any more the down­load will be sus­pend­ed. The auto­mat­ic down­load will also run when your device is in stand­by. Note: If you man­u­al­ly start a down­load it will always start imme­di­ate­ly — no mat­ter which con­nec­tion is avail­able. If you want the down­load only to hap­pen on your pre­ferred con­nec­tion you should add the episode to the down­load queue instead.

While a down­load is run­ning you will find an infor­ma­tive noti­fi­ca­tion in the sta­tus bar (third screen­shot) show­ing you the down­load progress and the esti­mat­ed remain­ing time. Fur­ther on the noti­fi­ca­tion con­tains a but­ton (on Jel­ly Bean and above) allow­ing you to sus­pend the down­load — it can be resumed lat­er on.

To sum up: If you use the stan­dard set­tings (auto­mat­i­cal­ly add all library episodes and auto­mat­i­cal­ly down­load on Wifi) you will nev­er need to care about your down­loads again — it will sim­ply hap­pen auto­mat­i­cal­ly in the back­ground.

That’s it for today. And here are the promised screen­shots:

Download queueDownload settingsDownload notification

Subscribing to Podcasts

Written by sven. Posted in preview

Until now uPod allowed you to add sub­scrip­tions by import­ing an OPML file. Now you can also flex­i­bly sub­scribe to new pod­casts sim­ply by using your web brows­er: Open your favorite podcast’s web­page, tap on the RSS link and android will pro­vide you the option to open the pod­cast in uPod.

This will bring up infor­ma­tion about the pod­cast and it’s lat­est episodes as shown in the screen­shot below. In this view you can sub­scribe to the pod­cast with one tap. For sub­scribed pod­casts the most recent ten episodes and all upcom­ing episodes are auto­mat­i­cal­ly deliv­ered to your uPod inbox. Or you can add sin­gle episodes to your library even with­out sub­scrib­ing to the pod­cast.

Fur­ther on uPod’s pod­cast view now also allows you to access old­er episodes of your exist­ing pod­casts.

In the next step I plan to imple­ment the down­load queue and the episode down­load.

A Podcast and it's Episodes

Still alive…

Written by sven. Posted in preview

I just want­ed to let you know, that I am still alive. In August I was on vaca­tion for two weeks and guess what: I’ve left the lap­top at home :-) But in the mean­while I am back at work. I’ve imple­ment­ed the episode’s show notes view, the drag and drop sort­ing for the playlist (thanks to Carl Bauer for his great work) and this week­end I’ve fin­ished the push sync which syn­chro­nizes changes you’ve made on your phone back to the serv­er, so that they are pop­u­lat­ed to your oth­er devices.

The uPod Workflow

Written by sven. Posted in preview

Inbox vs. Library

All pod­cast play­ers can play pod­casts. Where it comes to dif­fer­ences is how good they sup­port you in han­dling your episodes. This is some­thing where most of the tools I have used in the past are poor. Today I will tell you a lit­tle bit about how uPod sup­ports you here.

I have two kinds of pod­cast sub­scrip­tions: Pod­casts where I lis­ten to (near­ly) each episode they pub­lish and pod­casts where I selec­tive­ly pick only a few episodes. The for­mer one is sup­port­ed well by all play­ers, but the lat­ter case is where it gets tricky. Most of the play­ers are sim­ply mix­ing up episodes I’ve already tak­en a look at and new episodes and there­fore make it near­ly impos­si­ble to judge new episodes and decide whether I plan to lis­ten to them or not.

As shown in the screen­shot on the right, uPod sup­ports you by track­ing two sep­a­rate areas:

  • your inbox and
  • your library.

The library is the place where all the episodes are kept which you plan to lis­ten to. For the pod­casts you love most you can con­fig­ure uPod to put all new episodes direct­ly into the library. All oth­er 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 selec­tive­ly to the library or to dis­miss them. So to sum­ma­rize: The uPod library only con­tains episodes you plan to lis­ten to. This brings anoth­er inter­est­ing side effect: You do not need to selec­tive­ly down­load episodes — instead you sim­ply can con­fig­ure uPod to ensure that your whole library is always avail­able offline for lis­ten­ing.

Also keep in mind, that the inbox/library stuff isn’t an issue local to your device — instead this sep­a­ra­tion already exists on the uPod serv­er. This allows you to com­fort­ably 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 morn­ing it is ready to serve you all the great new stuff you’ve select­ed.

For the clos­ing of this arti­cle lets take a look at how easy and com­fort­able it is to scan through your inbox and cat­e­go­rize the episodes. The screen­shot below shows you, that the actions for adding an inbox episode to the library and for dis­miss­ing unin­ter­est­ing episodes (and some oth­er enhanced options like live stream­ing, adding to the playlist and so on) are avail­able in three places:

  1. each episode entry in the inbox list pro­vides actions affect­ing only this episode
  2. the action bar at the top pro­vides the same actions affect­ing all list­ed episodes
  3. you can select one or more episodes by tap­ping their pod­cast image (or tap­ping and hold­ing them) and per­form the actions on all of the select­ed episodes.

This brings you enough flex­i­bil­i­ty 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 screen­shots of uPod. This was a long way — much longer than I expect­ed. The prob­lem with design­ing is, that it is main­ly tri­al-and-error and a lot of time con­sum­ing pix­el shift­ing. You start with an idea, but it doesn’t look like you expect­ed it and then you try some­thing else. Each time you have to cre­ate new image assets and adjust the code.

But it was def­i­nite­ly worth the effort. The uPod user inter­face brings a fresh new look and feel which mim­ics the hottest most recent designs like for exam­ple Google’s brand new Play Music app. Fur­ther on it uti­lizes some brand new UI pat­terns like the nav­i­ga­tion draw­er on the left which has been intro­duced just two weeks ago on Google IO 2013 and is now used in Google’s lat­est updates like the new Google Mail app and again Play Music.

The nav­i­ga­tion draw­er is the start­ing point of the app and allows you to select what you want to view. The draw­er can be opened on a phone by tap­ping the app icon in the title bar or by swip­ing it in from the left edge of the screen.

As you can also see on the screen­shots, the app has been designed from the ground up to be respon­sive — mean­ing the screen lay­out opti­mizes itself for the screen size it is run­ning on. For exam­ple on the tablet in land­scape mode the nav­i­ga­tion draw­er is always vis­i­ble and the play­back bar is aligned ver­ti­cal­ly on the right edge.

The pod­cast view makes heavy use of your podcast’s cov­er art. This makes using the app a joy as it looks great and helps you to quick­ly find your way to the episodes you want to access.

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

Stay tuned for fur­ther updates.

uPod on Tablet

Pull Synchronization

Written by sven. Posted in preview

This is anoth­er quick sta­tus report to keep you informed about my progress. The pull sync is ful­ly imple­ment­ed and work­ing. The pull sync is respon­si­ble for updat­ing the app’s local data with infor­ma­tion from the serv­er. This includes things like new­ly avail­able episodes, the con­tents of your episode library, your playlist and play­back posi­tions or in short: Every­thing which has to do with pod­cast sub­scrip­tions and cross device syn­chro­niza­tion.

Cur­rent­ly I am already work­ing on the user inter­face and I am mak­ing quite good progress. I am uti­liz­ing some of the hottest new user inter­face best prac­tice which have been intro­duced by Google on the lat­est Google I/O just one week ago (look­out for the appli­ca­tion draw­er). In my next sta­tus report I will pro­vide you the first screen­shots. 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 want­ed to use the oppor­tu­ni­ty to let you know about the progress I am mak­ing. As I’ve already have a quite com­plete idea of how the user inter­face will look and work like I’ve decid­ed to devel­op the app bot­tom up — mean­ing I start with the stor­age and syn­chro­niza­tion stuff, so that I can use real data when work­ing on the user inter­face. This also implies, that it will take some time until I can pro­vide you the first screen­shots of the app.

Today I want to tell you a lit­tle bit about the uPod ser­vice. Though you will nev­er see it when using the app, it is a very impor­tant part of uPod. As a for­mer user of Google read­er and an own­er of an Android phone and tablet I want to have full syn­chro­niza­tion across all my devices right from the begin­ning. For exam­ple at home in the evening I want to use the big screen of my Nexus 10 to scan through new pod­cast episodes and add them to my library and playlist and when I am on my way in the morn­ing I want to lis­ten to this playlist on my Galaxy Nexus.

To make this pos­si­ble my sub­scrip­tions, episode library and playlist need to be stored in the cloud and my devices need to syn­chro­nize with this stored infor­ma­tion. And this is where the uPod ser­vice comes on to the scene — it will be run­ning in the cloud and store all the infor­ma­tion required by my devices includ­ing my sub­scrip­tions, my library, playlist (includ­ing episode order­ing) play­back posi­tions and gen­er­al lis­ten pref­er­ences. The ser­vice is also respon­si­ble for check­ing the sub­scrip­tions of all users for new episodes and push­ing them to our uPod inbox­es. Keep­ing this log­ic on the serv­er helps to reduce the syn­chro­niza­tion log­ic and the amount of data to be trans­ferred dur­ing a sync on the mobile device. Final­ly the uPod ser­vice pro­vides a web ser­vice API which is used by the uPod app to access all the required infor­ma­tion and push back changes.

Now you may ask how the authen­ti­ca­tion against the uPod ser­vice works? That’s sim­ple: When start­ing the uPod app for the first time you will get an account pick­er pro­vid­ing you all your google accounts. Sim­ply select one of them and all your uPod infor­ma­tion will be linked to your google account — no need to cre­ate anoth­er account and select anoth­er user­name and pass­word.

The good news is that the imple­men­ta­tion of the ser­vice is near­ly fin­ished and it is work­ing well. For the devel­op­ers among you who are inter­est­ed in the tech­ni­cal details: The uPod ser­vice pro­vides a REST like web ser­vice API and is imple­ment­ed using the pro­gram­ming lan­guage Scala and the Play 2.1 frame­work. Mon­goDB serves as the stor­age back­end for the ser­vice.

Next I will start work­ing on the uPod app, start­ing with it’s stor­age and syn­chro­niza­tion lay­er. I guess it will require a com­pa­ra­ble effort like imple­ment­ing the uPod ser­vice. Stay tuned!