Sunday, June 23, 2013

Listen Up Group

I've made, finally, a Google Groups for Listen up, it's available here:

https://groups.google.com/forum/#!forum/listen-up-users

Please use this group instead of this blog for comments.  Moderating this blog for spam is taking too much time and energy.

Anyone can join and posts by new users are moderated.  Accepted users will not be moderated.

Monday, June 17, 2013

Listen Up - gpodder.net Update 4

Just a quick update to say that after deploying to enough devices, the gpodder.net feed service is having some issues keeping up with the load. This has lead to listen up users not being able to get new episodes. I have written to the gpodder people and I'm awaiting a reply. I'm considering other alternatives at the moment.

Update The gpodder guys are generously setting up a new server to handle the new traffic. Hopefully, this should be fully resolved shortly.

Saturday, May 25, 2013

Listen Up - gpodder.net Update 3


Fourth Saturday morning of work on Listen Up/Gpodder integration.

Completed:
  • Pulling in subscriptions
  • Pulling in episodes
  • Adding on device subscriptions to the gpodder account
  • Proper delta calculations, i.e., only download what has since been updated since the last connection to the service
  • Anonymous mode (for those who don't want a gpodder account)
  • Unsubscribe
  • Properly handle disconnecting from account and re-connecting later
  • Device id/integration with gpodder
  • UI for credentials
Remaining:
  • Discovery, will most likely do this tomorrow
Postponed
  • Server state of episodes (read, unread, position, etc.).  I've encountered a couple of issues here and I've notified the gpodder developers.  Will have to wait a bit more, doing discovery in this release instead
I plan on dogfooding this for the next little bit.  I would like to release this on June 9th but it will probably be June 16th.


Updated:

Adding link to this feature request from gpodder.  Until this is added, I won't be doing server side state of episodes


Saturday, May 18, 2013

Listen Up - gpodder.net Update 2


Third Saturday morning of work on Listen Up/Gpodder integration.

Completed:


  • Pulling in subscriptions
  • Pulling in episodes
  • Adding on device subscriptions to the gpodder account
  • Proper delta calculations, i.e., only download what has since been updated since the last connection to the service
  • Anonymous mode (for those who don't want a gpodder account)
  • Unsubscribe


Remaining:

  • Server state of episodes (read, unread, position, etc.)
  • Properly handle disconnecting from account and re-connecting later
  • Need some work on gpodder device handling, doesn't feel right
  • UI for credentials


Saturday, May 11, 2013

Listen Up - gpodder.net Update

Quick update. I've been busy but last Saturday I started work on this integration and continued this morning.

Completed:

  • Pulling in subscriptions
  • Pulling in episodes
  • Adding on device subscriptions to the gpodder account
  • Proper delta calculations, i.e., only download what has since been updated since the last connection to the service

Remaining:

  • Anonymous mode (for those who don't want a gpodder account)
  • Server state of episodes (read, unread, position, etc.) 
  • Unsubscribe 
  • Properly handle disconnecting from account and re-connecting later
  • Need some work on gpodder devices handling, doesn't feel right
Probably not for next version but will definitely do:
  • Search/Discovery/Recommendations using gpodder
  • Use their podcast image service for getting feed images.  This works without it but gpodder re-sizes the image on their server, saving precious milliamps on the device.
Also, I'm aware that gpodder offers an account provider for Android but decided not to use it for two reasons.  The first is that I'm worried about confusing some users, the other is that I can remove three privileges from the existing permission set of listen up, I couldn't resist.

A special thank you to +J.R. Freeman for suggesting gpodder.net in the first place.

Thursday, March 14, 2013

Google Reader Retirement

To answer everyone since I've already had a dozen or so inquiries. I don't know yet what I'll use to replace Google Reader in Listen Up now that it's being retired. Considering Listen Up has made about $175 thus far, that's before Google's cut and only because one user generously paid $51 for his copy, it will need to be a free solution. Sigh, I'm going to miss Google Reader.

Monday, August 6, 2012

Listen Up

To mourn the passing of Google Listen, I decided to write Listen Up. My version of what Google Listen would have been with continued maintenance. I'm not trying to compete with any of the podcast applications out there, I wrote the application for me and I'm now sharing it with the world.

It features a modern Android UI, a desktop widget and tries to do one thing well, which is to play audio podcasts. It uses your Google Reader account and the "Listen Subscriptions" label to automatically synchronize your feeds. The only major thing missing is a podcast search service. I was using the same service that Listen was using but in their announcement Google said they would be pulling the plug on that service too so I scrapped the feature.

Times are rough for everyone, if you can spare some change, the application will set you back $0.99, if you don't, no worries, you can get the free version.

The free version is identical to the paid one. That means the free version has no ads. There are no license checks either. I won't commit to never having ads in the free version but until the economy improves, I don't want to rush to add adverts without giving the chance to let people buy the paid version.

Link to the paid version

Link to the free version

Thursday, October 13, 2011

Dennis Ritchie R.I.P.

Some perspective by Rob Pike on Ritchie's passing.

Sunday, July 3, 2011

Managing Jar Hell

When I moved from Netbeans to Eclipse, I couldn't understand why the Eclipse library support was so bad. By bad, I mean it doesn't support relative paths in its user libraries feature. You can see the bug report here. It was reported in July of 2004. Why is it that?

Well, it turns out, it's because the people at Eclipse know that you can handle this just fine now, probably not in 2004 though, using a dependency manager and it will do a much better job of it. Ultimately, the problem with the Netbeans approach, and to be fair, we'll see that Netbeans does support the alternatives suggested here, is that it requires you to check in library modules, the jar files, into source control or some kind of shared resources.

Enter Ivy... and moving on to Maven. Ultimately, these two systems work with Maven central do automatically grab all your jars for you. Not only, but they will also grab javadoc and source jars for you at the same time.

If you're struggling with this, give Ivy and Maven a look. I started using Ivy a little while ago and it worked like advertised but hit some limitations with the AppEngine SDK and native libraries (OpenGL and OpenCL bindings).

Ultimately, I moved our builds to Maven. Not only does Maven manage jar dependencies, including native libraries and big and complex SDKs like AppEngine and GWT, it also allows you to generate your IDE projects.

Having the maven project file be the authoritative source means we can generate projects for Eclipse or IntelliJ and Netbeans can read maven pom files directly. On many tasks, we can move away from Eclipse but still get access to all its plugins when we need it.

There are other up and coming systems like Buildr which uses Ruby instead of XML and Gradle that uses Groovy but for now, my build and dependencies are driven by Maven. Upgrading jars to never versions is changing one digit in an XML file. New team members just need to have a maven aware IDE and everything just starts. No setup time, no nothing.

Wednesday, May 11, 2011

One More

Also top pick is the new svg renderer library for Android. This is the same library that Androinify uses.