Categories
android

Reader Widget Pro V1.6 out

I have just uploaded V1.6 of Reader Widget Pro to the Market. Here’s the change log:

  • New feature: headline list is now expandable to view article summaries. The summary is text only at present but this might change in the future. Tapping on the summary launches a new browser window for that article.
  • Improved clean up on last widget deletion
  • Bug fix: the loading message on the large widget was too brief.
  • Bug fix: duplicate headlines in pop-up list.
  • Bug fix: relaunching tag list after launching Greed from it no longer goes back to Greed. This is part of Android’s default activity behaviour and I found it confusing so put a stop to it.
  • Bug fix: tag and headline lists now relaunch properly. Sometimes they wouldn’t launch, freezing the screen until the back button was pressed.

Recently I was on the train without coverage and realised that the large widget actually makes a half decent offline Google Reader client. Especially with summaries in the headlines list now.

Categories
android

Reader Widget Small V1.6 out

Just a quick bug fix to the Adfonic ad code in this one.

Categories
android

Reader Widget Small V1.5 out

I have uploaded a new version of the free widget to the Market and the usual place. Here’s the changelog:

  • Manual login option for users with Google Reader accounts separate from their Android account. Automatic login is still there for everyone else (and selected by default).
  • Text ads from Adfonic in the configuration screens
  • Handling of no network connectivity improved
  • Tidy up on widget deletion improved
  • JSON version of Google Reader API used for lower data usage
Categories
android

Reader Widget Pro V1.5 Out

Get it while its fresh. Here’s the change log:

  • Friend’s starred items support added. This is for when a friend has shared their starred items with you.
  • Handling of no network connectivity improved.
  • Rotation handling on configuration screens improved
  • Blank headlines handled in large widget.
  • Bug fix: Sometimes the large widget would Force close when updating. This was because the retrieval of headlines timed out. This is now handled properly.
  • Bug fix: Timestamp default value for small widget added.
  • Bug fix: adding two widgets in quick succession would sometimes cause the tags and feeds unread count to get zeroed.
Categories
android

Benchmarking JSON vs XML Parsing in Android

I finally found a JSON version of the Google Reader Atom reading list so I decided to see which is faster for Android. The JSON responses are about 25% smaller so they should be faster to download and process overall. For benchmarking I used my G1 as it has the least memory out of my two Android phones.

In Android SAX is supposed to be the fastest way to parse XML and so in Reader Widget Pro 1.4 I started using it (instead of XML Pull parsing) to handle the Atom reading list. Downloading and processing the reading list over Wifi, SAX takes about 85 milliseconds per item. For large lists of 1000 items plus, this actually goes down to 41 milliseconds.

The JSON parsing built into Android does not have streaming functionality yet. Using it would mean downloading the whole reading list into memory which would cause OutOfMemory errors for large lists. To get around this limitation I used json-simple which has streaming built in. Downloading and processing the reading list over Wifi, json-simple takes about 267 milliseconds per item.

So despite having smaller response sizes, overall JSON is 3 times slower! For the foreseeable future I’ll stick with the Atom reading list and SAX. Hopefully a future version of Android will have JSON streaming support built in.

Disclaimer: the benchmarks did not follow a rigorous scientific method and results might differ for other APIs, Android versions, networks and phones.

Categories
android

Reader Widget Pro 1.4 out on the Market

This is a fairly big update. Here’s the change log:

  • Manual login option for users with Google Reader accounts separate from their Android account. Automatic login is still there for everyone else (and selected by default).
  • Switching orientation now supported in configuration screens.
  • XML parser changed from XML Pull to SAX which should improve speed of headline processing. Some people complained of slow updates when they had hundreds of unread items. This should help.
  • Icon next to timestamp in small widget.
  • Bug fix: Some headlines when clicked on in the list would not spawn a browser window.
  • Bug fix: Untagged feeds not visible in tag list pop-up.
  • Other efficiency improvements.

I’m going to take a break from the Pro version and restart work on the free one. There’s some things I’ve been meaning to update in it for a while now.

Categories
android

Reader Widget Pro: upcoming version

I’ve been working hard on the next version of Reader Widget Pro and barring any unknown bugs here’s what’s going to be in it:

  • Manual login option for users with Google Reader accounts separate from their Android account. Automatic login is still there for everyone else.
  • XML parser changed from XML Pull to SAX which should improve speed of headline processing.
  • Bug fix: Some headlines when clicked on in the list would not spawn a browser window.
  • Other minor efficiency improvements.

The manual login option took longer than expected because of having to deal with rotation and virtual keyboards. This is the first version that will actually need keyboard input!

Categories
android

Reader Widget Pro V1.3

Just a quick bug fix in this one. Sometimes the large widget would force close when launching the headlines list.

Categories
android

Reader Widget Pro V1.2

Reader Widget Pro V1.2 is up on the market. Here’s the changelog:

  • Headline list pops-up when tapping the headline section of the large widget. Tapping on a headline spawns a browser window for that story.
  • Both last refresh and unread item times shown on medium and large widgets. This means people won’t have to choose between them on these widgets.
  • Slightly enlarged tag list button on large widget to make it easier to tap on.
  • “People you follow” tag now in list.

Soon I will start work on a more major update to add a manual login option. This will allow users with Google Reader accounts that are separate from their phone to use the widgets.

Categories
webapps

Touch screen implementations and browser size

I have noticed something not mentioned much elsewhere when testing the PubCrawler on various devices. It is how much screen space is devoted to a web page. This is not a simply dependent on screen size as these screenshots show:

iPod Touch/iPhone 3.0 HTC Dream/T-mobile G1 Android 1.5 HTC Hero
iPhone Dream Hero

All the devices have the same resolution at 320×480 but the iPhone has the larger screen at 3.5 inches. The other two have 3.2 inch screens. It is obvious that the iPhone is showing less of the page, chopping off the bottom of the map. This is an important thing to remember for a single page web app like PubCrawler. The map should resize dynamically for each device which is something I might look into. Luckily the iPhone does not need the controls at the bottom thanks to multitouch pinch and zoom. The reason for the lack of browser room is the absence of physical buttons on the iPhone. This means it has to show more buttons on the screen which take up valuable space. Some people have wandered why there are so many physical buttons on Android devices but they are there for a reason: freeing up screen space and providing more options.
As mentioned before the Hero turns the entire screen over to the browser window forsaking even the notification bar. This leaves a big gap between the map and the controls at the bottom. Space for an ad perhaps? Maybe but you wouldn’t see that ad on the other devices!