Google Drive Sync for premium and automatic Download for all Users

Written by sven. Posted in releases

For users of the pre­mi­um ver­sion this release brings a big change: Instead of my own servers this ver­sion uses Google Dri­ve for syn­chro­niz­ing your uPod devices. Not only is the sync faster, but also the Google servers are a bit (just a tiny bit) more reli­able than the sin­gle serv­er I’ve used before. So there will be less down­time. You won’t notice any changes, as uPod behaves the same way as before — only on the first start you will need to grant uPod the required per­mis­sions to access your Google Dri­ve account. And you should quick­ly update all of your devices as they’ll run out of sync oth­er­wise when one will sync against the old­er serv­er and oth­ers against Google Dri­ve.

For users of the free ver­sion I have a lit­tle present: A fea­ture which was exclu­sive to the pre­mi­um ver­sion is now avail­able to all of you and that will make your live with uPod even eas­iere. It is the full auto­mat­ic down­load. Already before you could con­fig­ure which episodes should be added to the down­load queue auto­mat­i­cal­ly, but with ver­sion 6 uPod will now auto­mat­i­cal­ly down­load all episodes from the queue when­ev­er a WiFi con­nec­tion is avail­able.

And for all of you there are some oth­er new fea­tures:

  • uPod now uses Android’s job sched­ul­ing API when run­ning on Android 5 or above. This might result in less accu­rate sched­ul­ing for tasks like auto­mat­ic sync and down­load, but helps Android to save bat­tery.
  • I’ve restruc­tured the nav­i­ga­tion draw­er on the left to more clear­ly show what’s the scope of the Saved for Lat­er sec­tion.
  • Lists with epi­does from mul­ti­ple pod­casts (like the playlist) no longer use the pod­cast col­or for the episodes’ progress bar, but uPod’s key col­or instead, to make the UI less gaudy.
  • I’ve increased the drag and drop speed when mov­ing episodes around in the playlist or the down­load queue.

Fur­ther on a lot of bugs have been fixed.

Have fun!

Falling asleep with uPod…

Written by sven. Posted in features, releases

Are you falling asleep while lis­ten­ing to your pod­casts? Regard­ing the fact, that the sleep timer was on rank four of the most request­ed fea­tures on uPod’s sup­port site this seems to be a com­mon prob­lem among pod­cast lis­ten­ers. If this is the case for you, I sug­gest that you think about whether you are lis­ten­ing to the right pod­casts. If you are sure this is already the case, then you might be hap­py to read that uPod 5.1 Pre­mi­um final­ly brings a sleep timer.

But a sleep timer not only helps you to avoid miss­ing too much con­tent when falling asleep. It also gives you a pos­si­bil­i­ty to auto­mat­i­cal­ly let you know when your work­out or your lunch break is over and it gives you an easy option to fin­ish play­back at the next sens­ful break posi­tion (end of chap­ter or episode).

To acti­vate the sleep timer sim­ply bring up uPod’s play­back screen eighter by tap­ping the play­back bar inside uPod or the play­back noti­fi­ca­tion from Android’s sta­tus bar. If you are a user of the pre­mi­um ver­sion, you will find a new sleep timer icon in the low­er right of the play­back screen while a play­back is run­ning. Sim­ply tap it and pick one of the three options from the menu (see screen­shot above):

  1. Stop at end of chap­ter
  2. Stop at end of episode
  3. Sleep timer

After­wards the sleep timer icon will be shown »active« and a text besides it indi­cates the cur­rent mode: »Chap­ter«, »Episode« or the remain­ing time of the timer (see screen­shot below).

I am always try­ing to pro­vide an out­stand­ing usabil­i­ty in uPod. Input of the desired timer val­ue is one such cas­es: Oth­er play­ers let you scroll through huge lists of dura­tions with an accu­ra­cy of five min­utes or more. Due to an effec­tive timer input con­trol (sim­i­lar to the one of Lollipop’s stock timer app) you can quick­ly enter any timer val­ue you want in uPod with an accu­ra­cy of a sin­gle sec­ond with just a few taps. For those devel­op­er who want to raise the usabil­i­ty of their app to the same lev­el, I’ve open sourced the timer dura­tion pick­er on GitHub.

Hap­py sleep­ing!

uPod 5.0: A new Chapter in Playback

Written by sven. Posted in features, releases

Man what a head­line! I should have become a mar­ket­ing guy! But now back to my unglamarous devel­op­er live: I am real­ly proud to present chap­ter sup­port in uPod! Espe­cial­ly in the Ger­man pod­cast scene chap­ter marks are a wide­ly used fea­ture. They pro­vide you the pos­si­bil­i­ty to skip chap­ters not rel­e­vant to you or to relis­ten spe­cif­ic top­cis lat­er. Fur­ther on they may pro­vide furhter infor­ma­tion like images or web links. uPod 5 imple­ments all of these fea­tures.

So con­tact the pub­lish­ers of your favorite pod­casts and con­vince them to include chap­ter marks in the future. I already use them in my pod­casts and it is real­ly quite easy if you set the chap­ter marks imme­di­ate­ly dur­ing record­ing. The only thing the pub­lish­er has to do then is to name the chap­ters in the post pro­duc­tion and to embed them in the final media files which is easy with Auphon­ic. (And using Auphon­ic is any­way a good idea as it nor­mal­izes the lev­els of all record­ing tracks. Would all pub­lish­ers use it, I could remove the gain but­ton in uPod…). The auphon­ic blog con­tains a help­ful post regard­ing chap­ter marks for pro­duc­ers.

How do Chapters work?

uPod sup­ports chap­ter marks in MP3 and M4A/AAC/MP4 files. This is some­thing I am espe­cial­ly proud of: As there are no ready to use Java libraries avail­able to extract chap­ter infor­ma­tion from these files (except things like FFMPEG or MP4Box which would blow up the APK’s size to more than 50MBs) I’ve imple­ment­ed 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 chap­ter infor­ma­tion is extract­ed from the media file, the file needs to be down­loaded to make chap­ter infor­ma­tion avail­able. 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 play­back screen

In the episode details screen the chap­ter list is for infor­ma­tion­al pur­pose only. More inter­est­ing is the play­back screen: Here you get a chap­ter bar at the bot­tom. It con­tains infor­ma­tion about the chap­ter at the cur­rent play­back posi­tion includ­ing

  • the title,
  • a pos­si­ble link (tap it to open it in the brows­er) and
  • the play­back posi­tion with­in the chap­ter itself.

Fur­ther on it pro­vides but­tons to jump to the next chap­ter or to the begin­ning of the chap­ter or the pre­vi­ous chap­ter (when pressed with­in the first three sec­onds of the chap­ter).

Addi­tion­al­ly, if the chap­ter has a chap­ter image, it will be shown in the play­back area.

You can drag up the bar to unveil the full chap­ter list. For each chap­ter you get its start posi­tion, title, image and/or link indi­ca­tor and dura­tion. Here you can:
  • tap a chap­ter to direct­ly jump to it while paused or play­ing
  • tap an image or link indi­ca­tor to open the image or link

Headset Controls

If your head­set pro­vides but­tons to skip and go back, then you can use these to nav­i­gate bete­ween chap­ters: If the episode con­tains chap­ters you will nav­i­gate between them. Oth­er­wise the con­trols behave like before and will skip the full episode. This fea­tures is enabled by default in uPod. You can dis­able it in the play­back set­tings.

Who will get it?

Access­ing infor­ma­tion for the chap­ter cur­rent­ly play­ing includ­ing image and link is avail­able to all users. Access­ing the full chap­ter list and nav­i­gat­ing between chap­ters is avail­able to users of the pre­mi­um ver­sion only.

This is my com­pro­mise to help broad­en the usage of chap­ters on the one hand and to mak­ing the pre­mi­um ver­sion more inter­est­ing on the oth­er hand.

Full change log

Here is the full change log of uPod 5:

  • Chap­ter sup­port as described above
  • More intel­li­gent col­or extrac­tion from pod­cast cov­er­arts (now also the accent col­or may be extract­ed from the cov­er­art if there is a vibrant col­or with enough con­trast to the back­ground)
  • Fling scrolling is final­ly pos­si­ble in the episode details now
  • Playlist but­ton in play­back view
  • Replaced the mate­r­i­al share icon with the old, but bet­ter known one
  • Fixed dou­ble dia­log bor­der on pre-Android 5 devices
  • Sev­er­al bug fix­es

Another new Playback View

Written by sven. Posted in releases

The last update brought a new play­back view. Though the visu­al update was wel­come by most of you, some had com­plaints regard­ing the arrange­ment of the play­back con­trols and the fact that show notes were pro­vid­ed using a bot­tom sheet:

  • The new arrange­ment of the con­trols in the play­back view caused acci­den­tal clicks on the seek bar and thus unwant­ed posi­tion changes dur­ing play­back.
  • Pro­vid­ing show notes as a bot­tom sheet made id impos­si­ble to view the show notes and con­trol the play­back at the same time what is an impor­tant use case for some of you.

Thanks to all of those who shared their thoughts!

That’s why I have again over­worked the play­back view in uPod 4.7: The seek bar is placed above the play­back con­trols again now to get it out of the way and avoid acci­den­tal taps. The show notes have got their own brand new play­back view which pro­vides a lot of space for the notes and a full play­back bar includ­ing seek but­ton and a seek bar at the bot­tom. I hope you enjoy the new view as much as I do.

As a bonus uPod 4.7 brings episode counter bub­bles in the »My pod­casts« grid view show­ing the num­ber of unfin­ished episodes for each pod­cast.
New playback viewPlayback show notes

New Playback View

Written by sven. Posted in releases

New playback view

The lat­est uPod release brings a brand new play­back view which focus­es even more on the podcast’s col­ors and makes room for addi­tion­al play­back con­trols planned for future releas­es. Access­ing the show notes from the play­back view is a joy now: Tap on the show notes but­ton in the bot­tom bar and they will slide up from the bot­tom (see screen­shot below). Swipe them up to fill the screen. Swipe them down to dis­miss them.

Sliding Show Notes

Some users com­plained about a change in the pre­vi­ous release where only the lat­est episode of a pod­cast is added to the »New« sec­tion, when sub­scrib­ing to the pod­cast. This requires a lot of man­u­al work to save all of a podcast’s episodes for lat­er. That’s why I intro­duce a new action to save all unfin­ished episodes of a pod­cast for lat­er. You can find it in the action menu when view­ing the episodes of a pod­cast.

And for those who want to clean up there device’s stor­age I’ve intro­duced an action to imme­di­ate­ly delete all episodes list­ed in the »Recent­ly fin­ished« sec­tion.

Here is the full change log:

  • New play­back view with more col­or and slid­ing show notes
  • Vol­ume gain indi­ca­tor shows cur­rent gain
  • Action to delete all recent­ly fin­ished episode down­loads
  • Menu action with­in a pod­cast to save all unfin­ished episodes for lat­er
  • New icons for play list and down­load list

uPod loves Marshmallows

Written by sven. Posted in releases

By the end of Sep­tem­ber Google released Android 6 aka »Marsh­mal­low«. Besides the new doze mode — which is a huge bat­tery saver — and a lot of oth­er nifty stuff Google com­plete­ly revised Android’s per­mis­sion sys­tem: Instead of forc­ing the user to acknowl­edge a bunch of detailed per­mis­sions upfront while installing the app, instal­la­tion and update now pass silent­ly and the apps requests the per­mis­sions in the moment they are required for the first time. To make this work the app needs to be build native­ly for Android 6.

The newest release of uPod — ver­sion 4.5 — does exact­ly this. And the best thing: I’ve over­worked uPod’s per­mis­sions, so that it doesn’t con­tain any crit­i­cal once at all. So when you install uPod on Marsh­mal­low you won’t be asked to acknowl­edge a sin­gle per­mis­sion — not dur­ing instal­la­tion and also not lat­er on.

Besides native Marsh­mal­low sup­port uPod 4.5 brings the fol­low­ing changes:

  • When sub­scrib­ing to a pod­cast only the lat­est episode is deliv­ered to your »New«-section (instead of all episodes like before).
  • When stream­ing an episode, the down­load noti­fi­ca­tion in the sta­tus bar is no longer vis­i­ble.
  • The drag han­dle in the play list has been updat­ed to more clear­ly state it’s pur­pose.

Playback Speed and Gain Control

Written by sven. Posted in releases

I have good and bad news. Bad news first: All uPod users who are on Android 4.0.x (ICS) will no longer be able to use play­back speed con­trol for audio episodes as uPod no longer sup­ports 3rd par­ty apps for play­back con­trol. The good news: All users on Android 4.1 (Jelly­Bean) and above ben­e­fit from the new inte­grat­ed play­back speed con­trol!

Yes, you no longer need to install an insta­ble, bat­tery suck­ing 3rd par­ty app to con­trol the play­back speed of your audio pod­casts. uPod has it inte­grat­ed now (includ­ing insta­bil­i­ty and bat­tery suck­ing). Because it’s a new fea­ture I’ve marked it as exper­i­men­tal and dis­abled it by default. To use it you need to switch from the default »Android Play­er« in uPod’s play­back set­tings to the exper­i­men­tal new »Son­ic Play­er«.

As a bonus the new Son­ic play­er brings anoth­er fea­ture which — for me — is even more use­ful than speed con­trol: Vol­ume gain. Do you also know the sit­u­a­tion where you try to lis­ten to an episode with low record­ing lev­els in a noisy envi­ron­ment and though you’ve set the vol­ume to the max­i­mum the stuff isn’t loud enough? Con­sid­er this solved! The new inte­grat­ed vol­ume gain con­trol increas­es the lev­el of the audio file (the max­i­mum ampli­tude) and can make play­back way loud­er! Nat­u­ral­ly this fea­ture has it’s lim­its: If you try too high gains you will get sound arti­facts. Sim­ply try it out — it’s awe­some!

The price con­scious users among you might be hap­py to hear that both fea­tures are avail­able in the free ver­sion!

Here is the full list of changes for uPod 4.1:

  • Inte­grat­ed audio speed con­trol
  • Inte­grat­ed vol­ume gain con­trol
  • New option to auto­mat­i­cal­ly down­load »New episodes and episodes saved for lat­er«
  • Episodes added auto­mat­i­cal­ly to the playlist can keep their »New« state now
  • Tons of bug fix­es (many thanks to Peter Hard­man who helped me to fixed two extreme­ly hairy ones)

Playback speed controlVolume gain

uPod 4 — A lot has changed

Written by sven. Posted in releases

Colors
Version 4 turns uPod upside down. It’s main change is the move from a serv­er based syn­chro­niza­tion to a local one. In the past the uPod serv­er was respon­si­ble for rec­og­niz­ing new episodes and trig­ger­ing all devices to sync. Star­ing with uPod 4 the devices do the sync on their own.

What does this mean for you as a user? Well, most of you even wont rec­og­nize it. On the down­side there is the fact that your device is now polling for pod­cast changes — be sure to adjust the new sync set­tings (fre­quen­cy, con­crete times of the day) to your needs. On the upside there are quite a few points:

  • Full con­trol when to sync — sim­ply swipe down in most views to start a sync.
  • Pod­cast spe­cif­ic sync — swipe down in a sin­gle podcast’s episode list to only check for updates of this pod­cast.
  • All meta data for all episodes of your pod­casts are now avail­able on your device. No more nasty load­ing from the serv­er when scrolling through large episode lists.
  • Pod­casts with sync errors are marked now as erro­neous and pro­vide tech­ni­cal error infor­ma­tion.

As a result the uPod serv­er is no longer involved in the sync­ing process (except for cross device syn­chro­niza­tion — see below) and a run­ning uPod instance does no longer cause me any costs. That’s why I am now able to pro­vide a free ver­sion of uPod and that’s exact­ly what I do: What was just a tri­al before is now a full fea­tured, free pod­cast play­er!

For the pow­er users a pre­mi­um license is avail­able which pro­vides some more enhanced fea­tures like:

  • Cross device sync of play­back posi­tions, playlist and episode states tied to your Google account
  • Chrome­cast sup­port
  • Auto­mat­ic down­load of the down­load queue (e.g. when con­nect­ed via Wi-FI)
  • Pod­cast spe­cif­ic set­tings (e.g. auto add to playlist, only keep x lat­est episodes)
  • Up to two spe­cif­ic sync times per day

Of course all of you who’ve bought uPod in the past will auto­mat­i­cal­ly be upgrad­ed to uPod Pre­mi­um.

Anoth­er impor­tant change made is the way uPod han­dles episodes: Now you no longer _delete_ episodes you don’t need any­more, instead you mark them as _finished_. uPod tracks the state for all episode, so that you now have a bet­ter overview of what you’ve already con­sumed.

Enough now. Here’s the full list of changes in uPod 4:

  • Full fea­tured free ver­sion (no longer only a tri­al)
  • Pre­mi­um ver­sion with addi­tion­al fea­tures (for all who’ve already paid)
  • Sync log­ic moved from serv­er to device
  • Pull to sync in most views
  • Pull in podcast’s episode view to update cur­rent pod­cast only
  • Mate­r­i­al design for play­back view (thanks to Marc Große for his sug­ges­tions and feed­back)
  • Mark episodes as fin­ished instead of delet­ing them
  • New »Mark all as fin­ished from here« action
  • Action to move single/multiple episodes to top/bottom of playlist
  • Imme­di­ate OPML import
  • Intro­duc­tion cards instead of start­up wiz­ard
  • Fixed can­cel­la­tion of down­loads
  • Con­fig­urable space lim­it on the stor­age to be kept free

uPod 2.2

Written by sven. Posted in releases

I’ve had one week of vaca­tion which was a great chance to imple­ment some fea­tures I want­ed to have in uPod already since some time and here are the results! One of the big­ger changes is the pos­si­bil­i­ty to sort a podcast’s episodes start­ing with the old­est. This is espe­cial­ly use­ful if you dis­cov­ered a new pod­cast and want to lis­ten to it start­ing from the begin­ning.

Anoth­er impor­tant fea­ture for pod­casts which do not deliv­er the full show notes in their RSS is the new »Open in brows­er« but­ton below an episode’s show notes: It open’s the episode’s link in your system’s brows­er. If your pod­cast pub­lish­er has done his job well, this will bring you to the full show notes of the episode. Notice that not all pod­cast providers put a link ele­ment into their RSS, so you will not see this but­ton for all episodes.

If you are using mul­ti­ple pod­cast play­ers, you might like the new OPML export. This fea­ture allows you to export your uPod pod­cast sub­scrip­tions in the stan­dard OPML for­mat which is under­stood by most feed read­ers and pod­cast play­ers.

A tiny change makes the »Play next« action more use­ful: It still adds the affect­ed episode to the sec­ond posi­tion of the playlist when cur­rent­ly a play­back is run­ning or paused, but if no play­back is active it adds the episode to the top of the playlist which might be your inten­tion in this case.

A new option to skip not down­loaded episodes on the playlist avoids you from get­ting ruined as uPod will no longer auto­mat­i­cal­ly start to stream when you are on a mobile net­work. And final­ly the new action to delete a whole pod­cast includ­ing all of it’s episodes makes it eas­i­er for you to get rid of pod­casts you don’t like any more with­out need­ing to delete all of it’s episodes man­u­al­ly.

Here’s the full change log:

  • episode details view: but­ton to open episode’s link in brows­er
  • option to sort episodes old­est to newest in a podcast’s episode list
  • »Play next« action now adds episode to start of playlist when idle
  • action to delete a pod­cast and all it’s episodes from the library
  • OPML export
  • skip not down­loaded episodes on playlist by default
  • dis­missed Pol­ish and Rus­sion trans­la­tions
  • lots of bug fix­es

Better Media Control from your Bluetooth Headset

Written by sven. Posted in features, releases

Most blue­tooth head­sets pro­vide a pause/play but­ton and a skip and a back but­ton to move between music tracks. Often hold­ing down these but­tons per­forms a fast forward/rewind. For pod­casts jump­ing back and forth a defined time peri­od (e.g. 30 sec­onds) with­in the cur­rent episode is the most impor­tant use case using the head­set con­trols (besides tog­gling play and pause). This is why uPod pro­vides since its first ver­sion an option to swap the mean­ing of head­set con­trol but­tons, so that the skip and back but­tons do a fixed time back/forth jump with­in the episode. You can con­fig­ure this in uPod’s play­back set­tings.

In old­er ver­sions of android it was then pos­si­ble to tap and hold your headset’s skip but­ton to skip the episode in uPod. Unfor­tu­nate­ly this isn’t work­ing in new­er ver­sions any­more (don’t have clue why — if you find out please let me know). So the pos­si­bil­i­ty to skip to the next episode was effec­tive­ly lost.

That’s why the new uPod ver­sion 2.1 brings a new play­back set­ting: If you con­fig­ured your skip but­ton to do a fast for­ward instead and you enable the new dou­ble click option, then dou­ble click­ing your headset’s skip but­ton will bring you to the next episode on the playlist. Unfor­tu­nate­ly even this isn’t com­plete­ly flaw­less: If you make the dou­ble click to fast the sec­ond but­ton event will be fil­tered out by android or the head­set. Try it out and let me know whether you like it.