Sunday, December 20, 2009

Please test NewsRob 3.4

NewsRob 3.4 is coming out soon and I would like you to test it.

Among other things it adds a sync option: "Keep and Sync Unread Articles Only", which only fetches unread articles from Google Reader. It also deletes read articles on your phone during the next sync to make room for older unread articles in your Google Reader account.

A couple of people have already been testing it, but I would like to get some more test exposure for this feature.

So please have a look at this discussion, download the beta linked there and feed back into the discussion if it works for you or if something is broken.

There are also other new features in this release. You can find details in the discussion from above.

Monday, December 7, 2009

Vote for your favorite feature at uservoice

Hi,

I am trying out uservoice. You can add feature requests there and vote on them.

Check it out. You can also access it from the "feedback" tab on the left.

We'll see how well this goes. If it works for us, we'll keep it.

Sunday, November 15, 2009

Fifty Thousands Downloads

Update: As a response to user feedback from the next version on NewsRob will not collect any stats anymore for the time being.
*If* I will turn it back on I will do so in a *loud* way and will ask the users for feedback *first*.

I am very happy to announce that NewsRob now has been downloaded more than 50,000 times from the Android Market. Thank you!


I have been frequently asked about different stats on NewsRob. I think this is a good time to share some data.

NewsRob was published to the Android Market in the mid of January 2009, but I just started tracking the number of active users in May 2009. So here are the active users since then:



The ups are when a new version was published, except for the last one, that was the introduction of the Droid. The downs are the weekends.
Active users are unique users on that particular day, think visitors. Passive NewsRob installations that just sync, but the NewsRob UI was not launched, are not taken into account.

This is the geo distribution of NewsRob users:


Interestingly Spain is the single largest NewsRob user base in Europe. Muchas gracias.
The top four European countries combined are about the same population as the US alone, but that wasn't surprising ;-)


I personally find the following interesting:


The average time of a NewsRob session is 20 minutes and on average the NewsRob GUI is launched three times a day by a user.

When taking the number of users of a single day, say 8,000, multiply it by the number of sessions, say three, and by the average session length, you'll get 8,000*3*20/60/24 = 333 days of usage per calendar day.

If you continue that example you'll get to 25 years of usage for November, or 19 year for October as seen above. Pretty cool I would say. It far out weights the time I spent working on NewsRob.

Last not least here are some technical parameters you may find interesting:


Roughly every 5th NewsRob user runs cyanogenmod:


In case you are curious, this data is provided by flurry.

Bonus: Walking Down Memory Lane

Ok, you made it until here, so there is a special treat for you. Tim Suh posted a video of NewsRob nine months ago on YouTube. I think it's interesting to see that today. There are still some elements left that are in today's version of NewsRob.


NOTE: THIS IS NOT THE CURRENT VERSION OF NEWSROB.

Wednesday, November 11, 2009

Droid takes the world by storm?

I read a couple of times now that the Motorola Droid is selling like hot cake. On the first weekend 100,000 devices might have been sold?!

The NewsRob users may not be representative, but looking at the numbers it seems that every tenth NewsRob user is now a Droid user.

The numbers are from yesterday. Look at the percentages:

I am waiting for the Droid myself, but it will take another couple of days until it is available in Europe as Motorola Milestone.

Posted via email from newsrob's posterous

Monday, October 12, 2009

NewsRob 3.2.2

Update: Just rolled out 3.2.4 rolling back the new up-sync, because it produced duplicate state changes.

Deviating from my standard practice I wrote release notes for this one as there is something I'd like you to know.

NewsRob 3.2.0 and 3.2.1 use incremental syncing with the Google Reader service. Unfortunately this seems to be inaccurate/erroneous at the moment.
Therefore in NewsRob 3.2.2 it is turned off for the time being. But I try to get to the bottom of it (link).

I will push out 3.2.2 right now to prevent confusion about the effects. Having said that, it is not too bad. Some articles will be accidentally shown as read, but are not. The Google Reader web interface will still show them as unread, so that you don't miss articles completely.

I added a switch in the settings so that you can turn it on again if performance is more important to you than accuracy.

If you have any relevant experiences you'd like to share, please do so here.

The release:

- Added switch for incremental syncing, off by default (for now)
- Using SAX for parsing instead of DOM (flatter memory profile, fixes continuation problems)
- Faster sync of local changes ("Synchronizing state ...")
- Initial capacity 20 -> 50
- Cyanogen Mod Rom version is now part of the information gathered during the bug report creation

Posted via email from newsrob's posterous

Friday, October 9, 2009

Can't Support Cyanogen Mod ROMs Anymore - Sorry

Update: All is good for now. See in the comments, there is a bug tracker for CM that I wasn't aware of and Bugabundo offered his help.

(If NewsRob took you to this page then you just hit a bug that most likely only happens on Cyanogen Mod. If that is not the case, let me know in the comments.)

The situation

Meanwhile 90% of the bug reports I receive are from phones running some version of Cyanogen Mod (4.0.4, 4.1.11.1, 4.1.999).

The problem is that I don't know what to do with them. The bugs don't happen with a stock Android and I don't know how to contact Steve in a way that is efficient for me. I don't even have his email address. It needs to be efficient, because I have my own bug fixing and development to do so I can't go through all the messages on the XDA developer forums (but you could, if you like, see below).
I don't see what else to do, but to stop supporting CM. I would be willing to fix my code if it is the problem. I would also do some small CM-specific changes if necessary, but for that I would need to know what and without an efficient communication channel that is not possible?!

Don't get me wrong, it's great that there is CM. A short while ago I was running 4.11.1 myself to get Wifi-Tether.
I uninstalled it, because it was spontaneously rebooting. Mind you the version I used was experimental and it's understandable that it's not rock solid. The problem here is that people are using it not to weed out bugs, but for their day to day operations and expect support for it, including for the experimental version. And that would be fine with me, if there would be somebody on the other side caring for the bugs.

I also fully understand that if Steve would look at each bug report and weed out the duplicates himself, then he wouldn't have the time to develop CM.


Where to go from here?

If you want NewsRob 3.2.0, which didn't crash that often on CM I can sent you a version by email or put it up on the web someplace. It wasn't using SQL views and SQL UNIONs as hard as NewsRob 3.2.1 does and this might be the reason, why it isn't crashing on CM that often.
I would advise you not to do it this way though. You won't get updates this way and 3.2.0 has some bugs that are fixed in 3.2.1 (Mark All Read doesn't work for "my recently starred" and "friends recently shared"), but I'll leave that up to you.

If you want to downgrade to stock Donut, you'll find instructions here.

You can also, of course, stop using NewsRob ;-( I understand! Still, please don't let me know about it, that would make me sad.


This all costs me time that I cannot spend on NewsRob. So I would like to ask you to accept my decision and not start an endless discussion that will also keep me from developing NewsRob.


A proposition

If you are really interested in CM and NewsRob and you happen to be a developer, I have a proposition for you.

Until CM sets up a bug tracker or some lieutenant that weeds through bug reports, you can be that person and act as a mediator between NewsRob and CM. When NewsRob hits an error the compose email screen opens with a stack trace from NewsRob etc. Take this information and go to the XDA developers forum or on the IRC channel of CM (you need to be authenticated, however that works) and contact Steve. I believe it is your job to check through the overwhelming number of messages on XDA first to see if there is any information about this problem, and if not, post the information from the bug report there.
If you can spare the time, it would be even better if you use the Log Collector app to create a logfile which contains all the necessary information. For most cases this will be much more helpful.
If NewsRob automatically took you to this page, then the latter is your only option anyway.

This process will hopefully yield some useful information and if you get back to me with them, I am happy to help.

Update: Of course, if the CM/NR combination works for you, then there is no need for a change. It would be interesting to know what the percentage of users without problems is.


Posted via email from newsrob's posterous

Wednesday, September 16, 2009

Donut ready

Google today released the SDK for Android 1.6 Donut.

Fortunately this time nothing in NewsRob had to be changed to make it compatible with the new release. So don't let NewsRob hold up your migration (as if) to Donut: I tested NewsRob 3.0.0 and it works fine.

I will wait some time for the vast majority of users to catch the new Android version before I release Donut specific functionality. Likely candidates for NewsRob are gestures as well as the participation in the system wide search.

Saturday, September 5, 2009

Broken Permissions Due To Rooting Your Phone

Hi,

instead of visiting this web page you would usually see a mail like the following popping up on your phone:

Sorry!

NewsRob hit a wall. Please send this mail, so that the developer can analyze/fix the issue.
If it is not too much to ask, please add to this mail what you just did:

-- Time: Fri Sep 04 18:35:37 GMT+01:00 2009
-- Android Version: sdk=3, release=1.5, inc=150275
-- Memory free: 0,51MB total: 3,07MB max: 16,00MB
-- NewsRob Version: 2.8.0/280
-- Stacktrace:(1516)
java.lang.RuntimeException: Unable to start receiver com.newsrob.WakeupAndSynchronizeReceiver: java.lang.SecurityException: Neither user 10085 nor current process has android.permission.WAKE_LOCK.
at android.app.ActivityThread.handleReceiver(ActivityThread.java:2429)
at android.app.ActivityThread.access$2700(ActivityThread.java:112)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1753)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:3960)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.SecurityException: Neither user 10085 nor current process has android.permission.WAKE_LOCK.
at android.os.Parcel.readException(Parcel.java:1234)
at android.os.Parcel.readException(Parcel.java:1222)
at android.os.IPowerManager$Stub$Proxy.acquireWakeLock(IPowerManager.java:178)
at android.os.PowerManager$WakeLock.acquire(PowerManager.java:228)
at com.newsrob.SynchronizationService.acquireWakeLock(SynchronizationService.java:452)
at com.newsrob.WakeupAndSynchronizeReceiver.onReceive(WakeupAndSynchronizeReceiver.java:23)
at android.app.ActivityThread.handleReceiver(ActivityThread.java:2420)
... 10 more

But as this now happens more than 30 times a week I have trouble keeping up with answering those "bug reports" in a timely fashion. Hence I created this explanation and you are now directed from within NewsRob to this page.

So here it goes. You have rooted your phone, probably moved your apps to the SD card. In the process the permissions that you initially granted to your apps have been broken.

You can now either wipe the phone, re-install the apps or run some magic script from your ROM provider to correct the permissions issue.


If you have further insights, share them in the comments.


Matt Zimmerman added:

"I had this problem, and fix_permissions did not fix it. The trouble was not with UNIX filesystem permissions (which is what fix_permissions tries to fix), but with Android security permissions.

I fixed it by re-installing the affected applications, including NewsRob: http://mdzlog.alcor.net/2010/01/31/fix-broken-android-permissions-by-re-installing-apps/"

Chris Haworth added:

"Current cyanogen rom, just go to terminal
emulator and hit enter then type fix_permissions and let that finish.
Then keep typing exit and enter til it exits you out."

I hope that helps!

Update: Please keep the comments on this particular article on topic. I will remove other comments as this page will stay the landing page for this single issue for some time and discussions of other NewsRob issues wouldn't be all that helpful.

You can go off-topic on any other article ;-)

Saturday, August 29, 2009

Back on the 7th of September

Hi,

I am out-of-country on a business trip with limited, if any, network connectivity and time. I will resume answering comments after the 7th of September.

You may want to post your question to the forums: http://groups.google.com/group/newsrob There's a lot of experienced NewsRob users there who can answer most questions.

Cheers, Mariano

Wednesday, August 26, 2009

NewsRob 2.8

- Autoskip empty dashboard

- Titles can have varying lengths

- Bug fixes (e.g. embedded URLs ending in a dot)

- Small improvements (e.g. extra padding at the bottom of articles in feed view, so that the zoom controls don't overlay the bottom of an article)

- Small cosmetic changes (e.g. read indicator)

- and more small stuff


Saturday, August 15, 2009

Please upgrade to NewsRob 2.7.7

Sorry, major screw up on my part.

NewsRob 2.7.5 included a minor bug (please ignore all NewsRob app icons but the one called "NewsRob", that was just an experiment), which I removed again in NewsRob 2.7.6.

Unfortunately I was mishandling my tools and as the consequence some other work-in-progress code was released in 2.7.6. This time it's more than a minor annoyance. 2.7.7 will stop refreshing after the first refresh.

So please upgrade to NewsRob 2.7.7 and accept my sincere apologies!

NewsRob 2.7.7 is available from the Android Market and AndAppStore.

Monday, August 10, 2009

Android Network Awards - Vote for NewsRob

NewsRob has been nominated in the category "Best News App" of the Android Network Awards. This is great news.

I embedded the voting widget to the right of this post.
So, if you like NewsRob, please vote for it - this will make a small app very happy ;-)

Friday, July 10, 2009

Notifications in NewsRob 2.5

There wasn't much of a response to my question if the release notes are needed. So now I keep those to a minimum and post them directly to the Android Market. I'll use the freed time to work on NewsRob instead then ;-)

This morning I released NewsRob 2.5 and I already have a couple of support requests, so maybe here is a bit of a release note helpful:

The idea behind notifications in NewsRob is to stay closely in touch with a very few selected feeds, e.g. feeds of personal friends. Those feeds get special attention now.

In NewsRob you can configure which feeds should be monitored for new articles. You do
this via the Manage Feed dialog, accessible from a feed's context menu.

When there are new articles in those feeds a notification is displayed. This notification displays
the number of new articles since you last used NewsRob. The notification goes away when you open the notification or open any activity of NewsRob.

You can configure in the settings menu if you want the notification to be accompanied by flashing your phone's LED or a vibration signal.

When opening the notification a NewsRob activity will be launched that shows all new articles in your specified folders that have been fetched since you last had started a NewsRob activity.


Posted via email from newsrob's posterous

Friday, May 29, 2009

NewsRob 2.3

I am going on vacation for two weeks. So here is a quick update with some pending stuff:


Mark All Read

It sometimes feels like Mark All Read is the most important feature of NewsRob ;-) - at least it's the feature I get the most feedback and suggestions about.

From this release on the confirmation dialog is gone. So when you hit Mark All Read, you better mean it.

You can also reach Mark All Read now from the context menu (long press) on the Dashboard and Feed List. Btw. From the latter you can also select Manage Feed now.

And of course you can still use Mark All Read directly from the Dashboard to mark everything as read: a real time saver ;-)


Last Compatibility Fix for Cupcake

On Cupcake sometimes a change in the Settings didn't take effect until the next reboot. I meanwhile found a workaround to solve this.
I think this is the last change to make NewsRob run smoothly on Cupcake.

Posted via email from newsrob's posterous

Wednesday, May 20, 2009

NewsRob 2.2

What's new and changed in this release?

Articles Are Now Browsable By Feed

If you have comments about this new feature, please add to this discussion.

Bugfix: Sync

Fixed a bug that caused NewsRob to sync more often than expected. 

Mark All Read Now Possible During A Running Sync

Many of you have asked for that.

Flurry Integration

Testing the use of flurry (http://flurry.com) to track data like NewsRob and OS versions, session durations, usage frequency of "Mark All Read", etc.

It came as a surprise to me that so many of you complained about "Mark All Read" not being possible during a running synchronization. I considered "Mark All Read" not being important at all, but it seems many of you are using it. Hopefully flurry will over time give me some more insights about things that don't fit my expectations. 

BugFix: Fast Sync

After each change (unread -> read, unshared -> shared, etc.) a countdown runs down from 5 minutes to 0. When reaching 0 only the local changes are upload to Google Reader. When you change another article during this 5 minutes the countdown restarts. 

The idea behind this is that NewsRob should do a sync with Google Reader during the time you need from the train/tube/metro/underground/bus to your desk. So that when you access Google Reader from your desk the articles you just read on the train are not showing up anymore.

The fast sync will be signaled with "Uploading Changes" in the status bar.

This was already implemented, but at least in the last release it was doing too much and taking too long. With this release it is actually working as intended: fast.

Sync Notification Is Back

As longtime NewsRob users will likely remember there used to be a notification in the status bar when NewsRob is running. At that time sometimes the notification would hang around even though the sync was finished. As a result I removed it.

I think I now got it right and re-added it. Let me know if there is still a problem.

The idea behind the notification is to show that NewsRob is doing something in the background with your phone. It shouldn't slow it down in theory, because those background activities run with a very low priority, but in reality it is just a phone and so you will be impacted a little bit.

It's a NewsRob-Anti-Marketing feature ;-)


NewsRob Testing

Once again, many thanks to Matthias for testing this release. We were off with a very rocky start this time ;-)

Thank you, Matt!


Bug Fixes

Like with the the other releases, bugs that are reported now will be fixed right away and new versions might come out rapidly over the next hours, maybe one or two days. After that I will only bring out a new release when I encounter a serious bug.

So if you don't like frequent updates, wait for a short while.

See and download the full gallery on posterous

Posted via email from newsrob's posterous


Update 2.2.1:

  • Some images weren't downloaded and the article was marked with a red dot, most notably this sometimes happened with engadget and gizmodo.
  • Removed sync notification again. In some cases it still seems to hang around, even though the sync is finished.
    Also some users seem to be a strongly and loudly against this feature. So if I will fix it, it will come back as an option only. 

Midterm Future Of NewsRob

Just to keep you updated on my current thinking. Everything might be subject to change.
The Near Future

Until the end of May I want to expose the feeds themselves. Currently NewsRob knows feeds under the hood and you can change the download and display preferences on a per feed basis, but you can't browse your articles by feed. That will be added.

I am always trying to make NewsRob as simple as possible to use without sacrificing important functionality. A redesign of the GUI symbols should help to make some more complex concepts, e.g. full and partial feeds, more self evident.

The Midterm Future

I will then have one or two vacation releases ;) and start afterward with re-working the website and shooting some videos that explain and promote NewsRob. The current plans include making some task focused videos accessible from within NewsRob, I will resume implementing new features after that. There are a lot of feature requests. One is notifications. Quite a few users mentioned they want a notification when new articles have been downloaded.
Also noteworthy on my list of feature candidates are subscribing to and unsubscribing from feeds within NewsRob.

It should also be possible to launch the built-in YouTube player from within an article in NewsRob. Futhermore embedded short URLs get more and more weight due to Facebook and Twitter status updates. It's unfortunate that there is no proper support for that in NewsRob. I will think about better ways to handle those embedded URLs.

I am also interested how many people are using Cupcake then. If >90% of the users have Cupcake installed I might implement a Widget that shows the latest articles or a smart folder doing something like that.

And there is lots of stuff that I want to make better, faster, more lightweight and more intuitive.

Will NewsRob support podcasts?
As the infrastructure for podcast support is in place already it might seem obvious to offer downloading, playing and managing podcasts. But I have to draw the line somewhere and right now the line is at podcasts. I am very focused on details and there are many details that can use more work in NewsRob. So I would rather spent more time on cleanup than on opening NewsRob up for another use. I am also not sure if both concepts play well together. I wouldn't want to dilute the user experience to let NewsRob be everything to everyone.

Posted via email from newsrob's posterous

Friday, May 1, 2009

NewsRob 2.1


NewsRob 2.1 mostly carries bug fixes/adjustments to better cope with Cupcake.

- WebView's zoom controls look good again (see screenshot, near the bottom).

- When an OutOfMemory error happens (bug report subject: Unable to start activity ....) on a Cupcake phone the resulting bug report will now include a heap dump. This should finally give me a clue how to solve this issue, at least to see what is taking up all that memory.

- As suggested by Greg KH "Mark All Read" now works much faster.

- As a result of the changes I made for the latter a "ConcurrentModificationException", as reported by Troy, should be gone now too.

Posted via email from newsrob's posterous

Sunday, April 26, 2009

NewsRob 2.0


NewsRob 2.0 is just another release. Nothing earth shattering, completely backward compatible. 
It's the 10th major release and could have been NewsRob 1.10 if Android's versioning scheme would have supported that.

I would like to thank Matthias for helping out again. He beta tested the new release!

Locale integration is included and described here. Also the fix – recently mentioned here – made it into the release. Especially the latter was quite some work and I really hope that I didn't break things. Let me know if you experience otherwise.


Cupcake

NewsRob checks for a new version once a day when the UI is opened. As part of that request it transmits the current NewsRob version and the installed SDK (more about that in another post). I need this information to decide what versions I still need to support.
An interesting, or at least unexpected, insight I gathered was that 12% of the NewsRob users already use Cupcake.

I don't want to risk running Cupcake on my G1. I fear that I somehow will not be able to get back to the supported version, which is what most of you use. But I run Cupcake in the emulator and meanwhile fixed all issue I found so far.
Except one, when changing preferences on the settings screen, some of them change the schedule of synchronizations. With cupcake that sometimes works and sometimes it doesn't. If it works you will see a toast-message saying that a new schedule is in place. If you don't see a message it didn't work and the new schedule will only be activated after the next reboot. This is relevant for the "Auto-Sync" setting and the "Synchronization Interval".

I support Cupcake, as good as I can. So if you run into a bug, don't hesitate to report it.

I don't plan to release Cupcake-only functionality in the next two months though. I think that widgets or live folders would be a nice way to display the latest articles, but I will wait until Cupcake is rolled out widely before doing that.


Resume Show Article Now Has A Memory

As reported by Michelle NewsRob forgot the zoom settings and which part of an article was shown in the Show Article screen. When for example a SMS arrived a new dialogue from SMS popup would appear on top of the Show Article screen. After dealing with the SMS and the dismissal of the popup the NewsRob screen would be shown again, but the zoom settings were gone and the document was shown at the beginning again.
In this scenario NewsRob will now return into the same state it was left before the SMS dialog popped up.



Hiding Downloaded Assets

Images that are downloaded by NewsRob or other apps and stored to the SD care are picked up by Android's Camera/Pictures application, which can be a bit confusing. It would be nice it the pictures application could be tweaked to hide certain folders, but a bug report/enhancement request going into this direction has not even been acknowledged by Google. 
As that doesn't make me confident that Google will do something about it in the foreseeable future NewsRob now masks all file extensions of downloaded assets so that images are now longer found by the media scanner that the Pictures app uses. 
It will only do that for the articles that are downloaded from now on forward. Hence it will take a bit of time until the "newsrob" album completely disappears from the Pictures app.

I also changed the way that the downloaded articles are organized. This should speed some use cases up quite a bit, but will also only take effect slowly.

Posted via email from newsrob's posterous

NewsRob 2.0 Preview - Locale Integration

In the upcoming release NewsRob features a basic integration with Locale. Locale is a Grand Prize winner of Google's Android Developer Challenge.

Based on situations/zones (e.g. @home, low battery) you can define settings (e.g. turn the ringer off, turn WiFi on) or, as of the NewsRob's 2.0 release, request NewsRob to synchronize. 

This integration should take care of the need to do a synchronization at a certain point in time as Ben and Julian Felke requested.  

The screenshots below illustrate a scenario where NewsRob is triggered to synchronize every workday at 6am. On a sidebar: It doesn't make it necessary to use GPS or any other of the more advanced features of Locale.
Please note that you need to use the actions from the option menu to apply the changes you made in the dialogs. You'll see what I mean when you press the option menu.


Ok, let me know how this integration works for you. And, of course, I am aware that a broader integration (e.g. turning auto-sync on/off) is imaginable ;-) It is on my TODO list, but not near the top.

See and download the full gallery on posterous

Posted via email from newsrob's posterous

Wednesday, April 22, 2009

Manual "Refresh" not working anymore? XML Parser issues! Beta?

"Refresh" not working anymore?

Daniel of Bedside fame reported that "Refresh" doesn't work anymore with NewsRob 1.9. It turns out that this is true ;( 

With the last release I added the option "WiFi only" to the auto-sync settings.
Unfortunately the way I implemented it didn't make a distinction between a manual "Refresh" and an auto-sync, which lead to the manual refresh not working, when the auto-sync settings were set to "disabled" or "WiFi only" and no WiFi was available.

Matthias also mentioned yesterday by chat that "Refresh" doesn't work when WiFi is not available and auto-sync is set to WiFi-only. At the time I thought of this more of a feature request, but in the light of the other bug from above I now consider that behavior a bug too.

So the new/changed behavior is that a tap on the "Refresh" button or a trigger from Locale (will be included in an upcoming release) are considered manual refreshs. That means they ignore any setting in the auto-sync preference. 
When auto-sync is triggered by the sync interval set in NewsRob it is an auto-sync and obeys the setting in the auto-sync preference - as it should.


XML parser issues

NewsRob used the kXML pull parser to handle the feed data from Google Reader.
kXML is very small and specifically designed to run on embedded devices like phones. Unfortunately it seems that it is not full-featured what led to a couple of problems.
You can read more details here.

One of the bigger problems surfaced for the first time yesterday and was reported by Gaboo. A consequence of kXML not being able to parse a certain part of the Google Reader input was that the "fetching new entries" phase of NewsRob was interrupted every time, so it renders NewsRob useless. This only happens when there are special characters used in the subscribed feeds and I only know about a single case, but nevertheless there may be more.

I now changed my code to use a DOM parser. This is not a drop-in replacement though, but a deep rework of a central part of NewsRob.
Also I stumbled over another alleged bug in the DOM parser of Android.
As a result I will not release that code yet, but will let it mature a bit more on my phone. As I don't have any other bug reports that we haven't found a workaround for, that should be ok.
If you are a victim of this bug too, let me know. I may help you to find a workaround or release the fix earlier.

So far the fix works great and I haven't had any problems with it. 
If you want to help to test this release with fixes for the both mentioned issues, let me know. I'll send you a version by mail, but you would need to uninstall the current installation of NewsRob to run it.

Saturday, April 18, 2009

NewsRob 1.9 - Rabbit

(Updates at the end of the article)

What's new in NewsRob 1.9?



More Control Of Downloading And Displaying

The biggest feature in the new version allows for more fine grained control of the download process to reduce download times and storage consumption to the necessary minimum.

On a related note it is now possible to define in which mode an article should be opened ("Feed", "Web"). That should make navigation quicker.

More information here.

Share Link

As suggested by Eric Sinclair and Marcus Schmidtke I reworked "Share By Mail" and made it more general. It is now called "Share Link" and looks like this:







The mentioned applications are just exemplary. The actual applications on your phone that participate in sharing might be different (YMMV).

Rescheduling background synchronization after upgrade

Marcus also reported that he needs to set the synchronization schedule again after each update.

The problem here is that an upgrade on Android is an uninstall followed by an install. And during the uninstall the scheduled alarms get uninstalled also – which makes sense – leaving the phone in a pristine state. Unfortunately the app doesn't get notified during the install process to (re-)establish any alarms.

So for NewsRob that meant that the alarm was only re-scheduled when you visited the preference screen or when the phone was booted again.

From this version on every time NewsRob is launched by the user it checks if auto-sync is enabled (the default) and if that is the case it schedules the next sync, if there isn't a schedule already.

Still, if you don't launch NewsRob after an upgrade the auto synchronization will not resume until the next reboot.

Clearing Cache On Install Now Features A Progress Dialog

Another problem stemming from the above issue of not being notified when the app is installed or uninstalled is that NewsRob isn't able to properly clean up after itself. In particular the stored articles on the SD card are not removed during an uninstall. You can, of course, push "Clear Cache" before uninstalling it.

This led to a problem where you installed NewsRob, uninstalled it and re-installed it at some later point. As the NewsRob database gots unistalled the downloaded files don't mean much anymore as the "index" is missing. So every time NewsRob instantiates a storage provider or switches it (phone memory <-> SD card) it cleans the old and new storage provider.

So during a new install where NewsRob finds old files on the SD card, they get removed first. Unfortunately I forgot to put a progress monitor around it which lead to the dreaded "Application Not Responding" as well as to other weird GUI behavior. This has been fixed now.

Ejecting SD Card During Synchronization Now Longer Leads To A Forced Close: NullPointerException

When ejecting the SD card in the middle of the "Reduce To Capacity" phase – NewsRob deletes the articles that are over the configured maximum number of articles – lead to a forced close with a NullPointerException.

Hanaguro reported this problem and helped me over the course of many emails, tests and the use of Log Collector (Now that's a great Android Market rating!) to track the problem down. It is now fixed. Many thanks Hanaguro.

New Auto-Sync Mode: "WiFi-Only"

With another user I exchanged a couple of mails on using NewsRob without a flat rate data plan. As a result there is a new option that not only for the content download, but also the auto-sync, you can now specify a "WiFi only" option.

But, please be careful. NewsRob checks occasionally if WiFi is no longer available, e.g. between article downloads, between chunks of new articles, but this is very coarse grained. NewsRob is not cancelling the downloading of a file in the middle of the download.

The upload-only synchronization that kicks in 5 minutes after the last status change, now is also dependent on the auto-sync setting.

I'd also like to add, at least in my personal experience, the G1 loves to hop on and off WiFi.

Having said that, I want to make sure you guys understand that NewsRob is a bandwidth hog, no matter which way you slice the issue. If you don't have a flat rate, please don't use NewsRob. And if you must, make sure that you go into "offline" mode by changing the APN settings automatically or whatever.

Last and least new/changed feature: The article's context menu – as accessible by a long press on the article header on the Show Article Screen or on a row in the Article List – is now also the option menu (hardkey "menu") on the Show Article screen.

And as always many more little details.


Like with the next release - this one was tested, but there will likely be bugs small and possibly big that you will find and report. During the first three days of the release I will upload new versions frequently. So if you don't want to help testing the app and bugs and upgrades make you throw up, please wait another three days before taking the upgrade.

With this release I now have implemented Feeds as entities of their own right, as opposed to just being the feed title as before. They are used to set the download and display references. In one of the next two releases I plan to surface them, so that they are one more level to browse through the articles.

Also planned for one of the next two releases is the basic integration of Locale.

For the releases thereafter I currently plan on fixing whatever bugs come my way, documentation (website, videos) and vacation.

And I am thinking about stopping those release notes. The note from yesterday and this take together almost 6 hours to prepare. This time I am not working on features or fixing bugs. Worst of all, when reading the mails I get, I can't fight the feeling that the release notes are read only by a minority. And the same is true for the web site. Please leave a comment if you read this ;-) "Read it" would be fine, but more verbose comments would be acceptable too ;-)

Maybe videos that are linked directly in the app are better?!

UPDATE - NewsRob 1.9.1:

Fixed a NullPointerException that happened during synchronization when a category doesn't have a label. 
Many thanks to Matthias Nitschke for sending logs, XML files, emails and IMs; also for the "instant" replies ;-)

Cupcake. With Cupcake the Enter-key and DPAD_CENTER-touch didn't work anymore on articles in the Article List. NewsRob 1.9.1 
I see that 10% of 1.9.0 is installed on Cupcake. Please give me feedback what else doesn't work.
I am only aware that preferences changes are not always reflected in a new schedule.

Friday, April 17, 2009

NewsRob 1.9 Preview - More Download Control

NewsRob 1.9 is around the corner. So I'd like to share some bits before the release.

More Download Control

The new version brings you more fine grained control over what is downloaded and how long it takes.

I often hear that NewsRob is slow and it takes very long to make the web pages available offline.


Let me tell you what happens:

NewsRob downloads the feed content and the web page. Let's first have a look at the feed content. The feed content's text is already part of the feed that is synced with Google Reader. So only the images that are referenced in the text need to be downloaded – so that you can see them more quickly when browsing through your articles, or that you can see them at all when you are offline.

This is a relative straight forward process and doesn't take all that long. And in many cases that is all that is needed. So from now on you can select a download option called "feed content" to stop after that.

There are lots of web pages – in particular the commercial websites that really want you to see the ads on their webpage to make their business model work – that only provide summaries in the feed. That's called a partial feed as opposed to a full feed that contains the full text and all the images.

When you encounter those partial feeds in Google Reader you'll see only a line or two describing the content in the article's body. To read the actual article you have to click on the title to open up the web page as a new tab/window in your browser. That is slightly annoying when you are at your desktop, but really annoying when on Android. It just takes very long to open a new browser window or even launch the browser.

(Btw. If any of you know of a Mac or browser based reader application that does what NewsRob does, please let me know.)

So to take care of that NewsRob let's you display the web page inside NewsRob.

That is possible when the content is downloaded as well as when the content is not downloaded (yet). In the latter case NewsRob just acts as an ordinary browser and downloads the page on the fly. This also works when you use the download options "headers only" and "feed content".

The web page that is referenced in the article is called "alternate content".

To offer this alternate content offline, NewsRob downloads the html page and goes through it looking for images. When it finds a reference to an image it downloads that image, saves it to the SD card/phone memory and changes the reference in the html page to point to the local file.

Then it repeats the process for all the stylesheets. After the stylesheets are downloaded, they are processed the same way – that is NewsRob looks for image references, downloads the images, changes the stylesheet, etc.

I hope you can imagine that this takes a bit of time. Please also consider that the web pages are not meant originally to be downloaded to a mobile phone. A typical commercial web page has 100-300 images embedded. Those images are usually very small though: these are rounded-corners, dividers, navigation elements and whatever else the history of the internet brought with it.

So if you don't need the web page – because the feed you're interested in is a full feed – use the "feed content" option; otherwise use the "feed content + web page" option.

Why a "feed content + web page" option, not a "web page" only option? Doesn't this take up more space and time than necessary?

The web page and the feed content share the same content and NewsRob preserves that. So if an image is downloaded for the feed content, the same instance of the images is also used in the web page or vice versa. As a consequence the feed content comes "for free".
The "feed content + web page" option was the default – and only option – in NewsRob until now.

The new default is "feed content".

And there is a third choice now "headers only"; this means that no feed content is downloaded.

This is basically the functionality you have when you use the mobile version of Google Reader.

You can still see the feed content, but the images are downloaded on demand. You can also still see the web page, but it is downloaded on demand.

So it's not exactly as the mobile version of Google Reader as you don't need to open a new window when you want to look at a linked web page, the alternate content.

The "headers only" option is great for feeds that just contain short textual information. All information is then already contained in the feed. There is no need to download the alternate content or images in the feed for status updates of your Facebook buddies or the latest tweets.

The option is also great for partial feeds that contain some articles that you like, but you don't care for all of them. So with "headers only" you stay informed what articles are there and can look at the alternate content when you are online, it just takes a little bit longer as it has not been downloaded ahead of time.

You can specify the new download option on a per-feed basis and also set a global default:



manage_feed_1.png
manage_feed_2.png

manage_feed_3.png


manage_feed_5.png

manage_feed_6.png



There is another new option you can specify on a per-feed basis: the display preference.

The default is that for a feed where you specified that the web page should be downloaded an article from this feed will also be opened in the "Web" mode. This is also the case when you navigate between articles on the Show Article screen.


manage_feed_4.png

If you specified that NewsRob should not download the content or only the feed content, then the default is that the Show Article screen is opened in "(Display) Feed" mode.

But you can also specify the "(Display) Feed" or "(Display) Web (Page)" mode explicitly.

Why would that make sense?

Consider this: You have a partial feed from a commercial news site, then it not only takes long to download the web page, but it also takes a lot of time to display it. Remember the 100-300 files?

So it may make sense for you for those feeds to configure downloading the feed content + web page, but open articles from this feed in "Feed" mode by default, so that you can browse very quickly through your articles and click on the header to change to the "Web" mode, if an article is interesting to you.

Does this make sense? You tell me – leave a comment. NewsRob is intended for people that live in their news reader, not so much for the casual users that checks once a week for something to read.

You could tap in the Article List on the globe to directly open the Show Article screen in "Web" mode before. With the introduction of the new configuration options this is an obsolete feature for most of the cases and so I removed it. If you are one of the two people using it, please don't fight the removal. In an attempt for more simplicity this feature is gone for good.

The "Feed" or "Web" mode is displayed in the upper left corner of the Show Article screen. Below that you'll see the download state as before (globe, phone).

The download state can also be seen in the Article list in a bit more detail than before.



article_list.png

show_article.png

Monday, April 6, 2009

NewsRob 1.8 - Phoenix

I have taken my sweet time to prepare a new release. Sorry for that.
To compensate the ads are gone for the time being.

Just to keep you up to date : As hinted to in my last post, Back To The Drawing Board, I went back to use the existing code base. I am therefore abandoning my previous performance work, but I will keep the experiences I made and will apply some of my new insights over the next releases.

With NewsRob 1.7 I introduced Q-Reports – a bug reporting feature – and it proved tremendously helpful to me.
I answered each and every single bug report and it proved to be a great and pleasant experience to communicate with you guys. It was way better than what I expected. But well, my expectation was set by the Android Market comments ;-)

In the last three weeks – since the release of NewsRob 1.7 – I got around 100 bug reports for about half a dozen bugs. I will continue to answer each bug report, so that the reports keep me honest on really chasing the bugs down, if only to have fewer bug reports to answer to ;-)
There were so many mails that it doesn't make any sense to mention everybody by name. but in any case, thank you very much for your participation. 

Most of those bugs are fixed now. Two are really hard to track down though and I have not been able to reproduce them. But even for the latter I implemented some changes that might or might not solve the problems. I need your bug reports to prove that the latter are gone or not.

This release's duration was a bit long and especially people that were reporting bugs in the last week were only getting a response saying that the bug is fixed already. I will keep an eye on that and if this turns out to be a frequent occurrence I will make NewsRob check against a list of know bugs to lift the burden of reporting known bugs from your shoulders.

  • New default for storage provider: SD card (most of the time)

    Some of you reported a bug that happened when the phone memory was low. The subject line of your bug report mail contained "NullPointerException: null" and the body contained: "CacheManager.java:391".

    This bug was actually happening not in the NewsRob code, but in the framework code. JBQ, a Google engineer, took care of the problem quickly, so that it should be fixed in an upcoming release (maybe Cupcake?). If you're interested in the details, you'll find them here and here.

    No data is harmed; so from this release on the bug is silently swallowed.
    However there is an underlying problem. The lack of memory was because NewsRob was configured to store the downloaded articles in the phone memory, not on the SD card.
    There was likely something else eating the phone memory too though as NewsRob stops downloading new stuff when a certain threshold is reached.

    But anyway storing into phone memory was the NewsRob default, because it is the simplest approach. On the other hand: SD cards have a higher capacity, but when using an SD card it must be accessible.

    It is not accessible when the SD card is not inserted (doh!), when the SD card is in read only mode or when the "Use for USB storage" is activated for the SD card. 

    The latter means that an Android app cannot share the SD card with the desktop computer you plug it into. This seems to be a limitation of the FAT32 file system, but don't take my word for it.

    As you can see using the SD card is interesting as it usually has a higher capacity, but is a bit more complicated.

    As I got at least 20 bug reports for this bug only, from now on the story goes like this: When the user first launches NewsRob the default is set to SD card, if an SD card is present and writable, otherwise the default is still the phone memory.

    Also when opening NewsRob and the SD card is not accessible even though NewsRob is configured to use it, NewsRob will complain about it. See screenshot below.

    "Refresh" and "Clear Cache" will be disabled until the SD card is accessible again or you change the Storage Provider to SD card in the settings. 

    That looks like the most sensible approach to me.


  • Display of online web content

    Marcus Schmidke suggested to show the Website inside NewsRob when the content has not been downloaded yet, but the user clicked on the phone symbol as if to view the downloaded Website.
    That was a small change to implement, but I experienced over the last week that this is quite handy.


  • Bug "IllegalStateException: Oops. moveToPosition shouldn't fail."

    This bug happened when the Show Article screen was displaying an article that then gets removed by a running synchronization. When trying to navigate to the next or previous article this bug occurred. 

    Tom Kerswill helped me to track down and reproduce the problem. As a result the bug is gone now. Thanks Tom.


  • Bug "CursorIndexOutOfBoundsException: Index n requested, with a size of n" and
    Bug "IllegalStateException: get field slot from row 0 col 0 failed"

    Those bugs I have not been able to reproduce, but I have a suspicion that they both are caused by a concurrency issue. I changed the implementation accordingly. 

    As I haven't been able to reproduce it with the old version I can't verify if it is gone in the new version. So send me those bug reports if you get them.

    Don't be afraid to send me the bug report every time it occurs. This way I know how urgent it is to fix the problem. 20 bug reports from 20 people is bad, but not as bad as 5 reports for the same bug from the same person over the cause of two days (Hi Michelle!).

    Even better than frequent bug reports are bug reports with instructions on how to reproduce the bug. If I can reproduce it there is a 99% change that I can fix it.


  • Bug "IllegalStateException: Entry was null in bindView. cursor.getString(0) = tag:google.com,2005:reader/item/xyz cursor.getPosition()=n

    This one is hot off the press. Version 1.8.0 had a concurrency issue that fortunately was found by Aaron Chancey literally minutes after the release. Together we were able to reproduce the concurrency issue very quickly and he also found that I yanked one permission too much when disabling the ads. Aaron, thanks for your swift support.

    Unfortunately fixing this concurrency issue was not a small thing. So I might have introduced more errors, but I hope not. On the sunny side, look at the scroll performance of the Article List. To fix the bug I adapted code that I developed during the performance project.

I will now work on making the download method configurable. In the future you should be able to define on a per-feed-basis if it should be downloaded as feed content,  downloaded as feed content + the website, or not downloaded.






Update: There was also a problem for first-time-users when NewsRob was started the first time on a fresh SD card. This is fixed in 1.8.4. This bug was reported by y2kcong. Thanks for helping with the testing.

Sunday, March 29, 2009

Back To The Drawing Board

The last two weeks I worked on NewsRob more than ever before. I ripped out most of its guts and replaced the existing, well partitioned implementation with another implementation that was geared for performance.

Unfortunately it seems really hard to get the new, less well partitioned implementation stable again. Taking into account that I can't work on NewsRob on the next weekend it will take at least another two weeks to get it bug free. And I will always keep the penalty of high maintenance costs due to the lack of structure in the better performing implementation.

I just played with NewsRob 1.7.0 on my girl friends G1 and have to say that those high maintenance costs (read less features in the same time frame) don't seem worth the effort. NewsRob is performing quite well in most of the cases that count for me. Yes, the new version would make switching between the Article List and the Show Article screen almost instantly and the scrolling is much smoother, but at the end of the day this is more interesting for demos or people commenting in the Android Market than for the every day use.

Also I got a couple of mails that the performance is at least good enough and there were no lasting complaints on the previous blog entry.

So to make a long story short. I haven't made a decision yet, but I lean towards throwing away the work of the last two weeks and go back to NewsRob 1.7.0. I will think a little more about it though, but there is definitively no release coming out today.

If I have answered your bug reports/mails with "That's fixed in the next release.", well, that isn't exactly true anymore ;) I will go bug hunting in the old implementation then...

Thursday, March 19, 2009

Performance Regression?

Hi,

  I was under the impression that the latest release made NewsRob so much faster that performance shouldn't be my top priority anymore. I also got some user feedback that performance is now ok, but I got some comments in the Android Market now that say otherwise:



  Can anybody confirm that and give me details? Preferably someone with the tendency to communicate in full sentences (pl)?

  If I don't hear anything back I'll assume that those were clown comments and I will work on bugs and functionality instead. 

Saturday, March 14, 2009

NewsRob 1.7 - A Star Is Back!

That was a busy week. Changes from last week:

  • Starring icon is back

    Due to popular and partially loud demand the star is back, at least on the Show Article screen. I got four people writing me that they really need that feature.

    It is now located to the right of the article's header and works the same way as before. The feed title's text can now flow through it though, so that it's very space efficient, but in far less than 10% of the cases the feed's title might partially collide with the star icon. This is only a little cosmetic issue though.


  • New navigation

    After having a lengthy conversation with Shemp DeYoung about the current navigation and other NewsRob issues I concur that users don't want to read documentation or watch videos. They want intuitive to use features.

    So I followed his advise and had a second look at the navigation of Google's pictures manager that is part of the Camera app.

    And meanwhile I found a solution to my bigest gripe I had with it when I saw the navigation for the first time:
    In the pictures app you need to touch the screen once to get the on-screen-controls to show up and then another time to actually select them.

    The new navigation is based on the pictures-navigation, but if you tap on the part of the screen where the navigation will show up (it the same spots all the time) it already executes the tap on the on-screen-controls, so that you can navigate to the next article with one tap, instead of two.

    That sounds more complicated than it is. Try it for yourself.


  • Zoom Controls

    On the heels of the new navigation came the zoom controls.
    You can now use the same controls for zooming that you already know from the Android browser.


  • Larger touch areas

    The new icons (globe etc.) introduced in last week's release are smaller than the ones I used before and as a result they take up less space, leaving more room for actual information. That is a good thing, but as they also should be touchable the smaller size came at a price.

    I therefore enlarged the touch areas of the globe/phone and the star by 100%. So if you click a little to the right of the globe or a little to the left of the star on the right, you should still be ok and launch the action you intended.


  • Performance Improvements

    Marcus Schmidke gave me detailed feedback and suggestions regarding NewsRob's performance. As a result of this motivation it is roughly 50% faster now to open the first article after starting NewsRob. As you may remember opening the first article took very long and now only takes half very long ;-) There is still work to do left.

    Following another suggestion of Marcus the article row on the Article List screen now changes its background color to a shade of yellow to indicate that it recognized the touch, but it still takes a moment to actually change onto the Show Article screen.

    Also the background activities shouldn't be slowing down the phone as noticeable as before. Of course, it still makes a difference if NewsRob is currently performing a synchronization, but at this point I am not sure if I can implement this totally unobtrusively and please keep in mind that this is a mobile phone and not a multi-core desktop machine ;-)

    Let me know what you think about the current performance and which areas hurt you the most. When the current performance is good enough for you, I would also like to hear about it.

    Keeping me on the toes in terms of performance is ok, but it diverts my attention from other functionality to implement. So think about what you want most ;-)


  • Signing in with Google Apps For Your Domain

    Brint Kriebel reported that he couldn't use his GAFYD account with NewsRob.
    I checked with other apps and it wasn't possible there too. Fortunately Brint hooked me up with a test account for GAFYD and I was able to get it working.

    The implementation changes I had to do were a bit strange though. I actually implemented something the other way round as suggested by the documentation, but as it works and the whole API is somewhat unofficial I'll leave the solution in.

    I mentioned this so explicitly, because I want you to be aware of this issue if you suddenly can't login anymore. Let me know right away then and I will back out the change.

    I tested all known cases to me though and am somewhat confident that it is ok.


  • Q-Reports

    You probably noticed Q-Gate this week. As a result now automatic bug reports are collected by NewsRob when it crashes.

    It contains a stacktrace and version information. It is all pasted into a new mail and you can add what you did yourself and then send it.

    It would be great if you would send me all the bugs that occur. Even if it's something I can't fix (because it is a WebView problem for example) or you know that I know about it.
    The Q-Reports will give me qualitative information as provided in the mail and quantitative information as provided by the number of mails.

    I first thought about submitting the information automatically under the hood and directly to my server, but as this may look like a privacy invasion I then changed the idea and now use an semi-automatic approach using mail.

I will likely (no promise though) start something new this week. I will post a video of the new/changed features later on this week to illustrate them.


Feature-wise we are nearing completion of the initial need. Working on performance and optimization often means lots of research and trying out different implementations, only to through away all of them, but the one that works. So there is lots of work without much to show for.
Therefore, and because my personal life is too much on the backburner right now, I will go from a weekly release schedule to bi-weekly.

Thursday, March 12, 2009

Does NewsRob keep force closing on you when signing in???

Bug Report?

Well usually I am happy when somebody takes the time to comment on or rate NewsRob in the Android Market, but now I got this wonderful comment/rating (see on the right) and meanwhile believe that it might be fake. As I don't have any way of contacting the commenter and he didn't contact me, I'd like to know, just in case, if anybody else experiences NewsRob force closing (when signing in)?

If you do, please let me know. If you have any other issue, please contact me at newsrob.support@gmail.com. I might need your help to reproduce the error, but will look into that issue then.




Next Release


This weekend's release will be faster again, restore the star, will double the size of the touchable areas of buttons (star, globe), support Google Apps For Your Domain accounts and introduce a simpler navigation between articles.




Update to "Bug Report?"

As Quentyn isn't fake and subscribed to this blog, a line of communication opened and he is quite the nice gentleman. We were able to solve the situation quickly and will all live happily ever after.

One consequence from this encounter is that the next version of NewsRob will have an error reporting facility that makes it easy to let me know about crashes. I will call the reports I collect with this new facility: Q-Reports ;-)

Sunday, March 8, 2009

NewsRob 1.6

Changes from last week:

  • Downloading is much more stable and resilient now

    I literally looked at hundreds of downloads and its errors and made NewsRob much more resilient. This should make a huge, noticeable difference.
    Feedback is appreciated.


  • UI changes

    As suggested by Julian Felke I thought again about the icons that indicate if an article is downloaded.
    Now a world globe represents a downloaded web page, a solid phone represents the downloaded feed content including the images, a hollow phone an article that still needs to be downloaded and a hollow phone with a red dot an article that NewsRob tried to download but failed with an error that NewsRob believes is not recoverable with another attempt.

    I also changed the layout and the "star" button is removed. Instead starring and unstarring is now available from the context menu accessible by a long press on the article.

    As a result of the new layout scrolling in the list is faster now.

  • Alternate content is now shown properly

    Also reported by Julian was a bug regarding the alternate content. NewsRob now picks the right alternate content. Before sometimes enclosures, e.g. an image, were used.

    This affects the download of the web page content as well as the result of launching the browser with "Show in Browser".

  • Display of umlauts fixed

    In some cases umlauts were not displayed properly.
    Please let me know if you still find examples for umlauts that are rendered incorrectly.
Let me know how you like it.

Saturday, February 28, 2009

NewsRob 1.5

Please remove any shortcuts you may still have that were created before V1.2.

Also after the upgrade change the schedule interval or capacity in the settings once to trigger the background synchronization schedule to be setup.

Changes since last week:

  • Automatic upload of article state changes

    Consider the following scenario. You ride on the bus to work (that would mean you're European I guess) and you read a couple of articles. Five minutes after you hoped off of the bus you arrive at the desk and fire up the web interface of Google Reader. There you see some of the articles that you just read on the bus are still marked as unread.

    The reason for that is that the next scheduled background synchronization has not happened yet.

    From this release on a countdown of 5 minutes is started every time you change the state of an article, i.e. you mark an article as unread, or you read an article, or share it or star it etc.

    When the countdown gets to zero all the changed article states are uploaded to Google Reader. This is not a full-sync though and should only take a couple of seconds as no new articles are fetched, no old articles are deleted and no web pages are downloaded.

    The countdown is reset every time that you change the state of an article so that in effect the countdown only runs down to zero when you are finished with the last article (or you're reading very slowly or a long article).

  • Lots of performance improvements

    Scrolling through lists as well as opening of lists (Dashboard and Articles List) is much faster for larger amounts of articles, e.g. 500.

    Also the speed of "Clear Cache" and the "Deleting Articles Over Capacity" phase during the synchronization is much faster now.

    I am not totally happy with the current performance though and will keep an eye on it. The list layouts are not optimal for example and will get an overhaul during one of the next releases.
  • Bug fixed that under some circumstances caused the synchronization to finish pre-mature

    The symptom was that even though the schedule interval was set to for example 1h, the status bar on the dashboard showed that the last sync was longer ago than that.

    It was a strange bug that isn't easily reproducible, but I have a little bit of confidence that it is fixed now and I have total confidence, that the current version does better in this respect than the last version.

    Let me know if you still see the above mentioned behavior. Please make sure though that you setup the background synchronization first though (see above).

    The same phenomenon was likely responsible for the hung NewsRob-In-Sync notification. I will keep any eye on that this week and if this is the case, I will re-enable this notification again in the next release.
  • An empty Articles List is auto-skipped

    When clicking on a label with only one article, instead of showing the Article List the article itself is directly shown.

    From this release on this is also true for the other direction.

    If you started from a Articles List with a couple of entries that are all read after you looked through them the back button will directly return you the Dashboard instead of to the empty Articles List.
    This, of course, only happens when you are in the "Hide read articles" modus.

  • Ads are not changing so frequently anymore

    In v1.4 from last week I forgot to change a development setting of a new ad each 15 seconds back to the usual 60 seconds. In v1.5 the schedule is 60 seconds again.

  • Downloading of web pages is more robust now

    Web Pages that cause some problems during downloads, e.g. parsing errors or sites are temporarily unavailable because the server is not there, or more likely unreachable as the connection is gone, are now handled more gracefully.

    On the other hand there are still some problems left that I cannot fix without getting rid of the current RegExp-based parsing and implement my own web site parsing.
    I will get around to that eventually, but as this takes a serious amount of time to implement other functionality will not be implemented during that time ;-( and therefore this is not a top priority at the moment.

  • Lots of typos fixed in this release

    ... and probably lots of typos left. Let me know if you find any.

Friday, February 27, 2009

MiniReview /Mentioning On GeekHerd.Net

There was an awesome mini review / mentioning of NewsRob on geekherd.net.

NewsRob: If you are into RSS News Reading, and use google reader, this app is for you. It works awesome, synchronizes your google reader account in the background, you have almost all of the features found in google reader in the palm of your hand, and the developer is pretty great, updates the app frequently and listens to users for upcoming features. It has many other features. Check it out at newsrob.com or their google group at groups.google.com/group/newsrob

Sunday, February 22, 2009

Review of NewsRob at Androidworld.nl

Holland's biggest Android site just posted a review of NewsRob in Dutch.

NewsRob is really complete, it will be a considerable challenge to surpass it.
[..]
A must have on your home screen!
What more could a humble little NewsRob ask for? ;-)

If your Dutch skills are as good as mine here is a link to an automatic translation.

Saturday, February 21, 2009

NewsRob 1.4

Changes since last Sunday:

  • As requested feed content is now downloaded too.

    When downloading of web pages is enabled in the preferences the feed content is downloaded too. This shouldn't take much more bandwidth as mostly the same assets, i.e. images, are referenced from both representations and NewsRob only downloads them once.
    This should lead to an increased flip-through speed as images don't have to be downloaded anymore.

    Some time after the middle of March there will be a version of NewsRob that will let you decide on a feed-by-feed basis if you want both representations downloaded, only the feed content including the assets, only the web page including assets or nothing.

    Probably even more importantly this preference will also be used to decide which representation to use (feed content or web page) when flipping through the articles.
    This means when you swipe to the right to navigate to the next article and it's from a feed that you declared as "download webpage including all assets" then it will be opened with the downloaded web page representation, otherwise it will use the feed content.

    This way you get the fastest flip-through speed, using the feed content, and the full content when necessary, e.g. partial feeds.

  • Ads from admob are now shown.

    We'll see how well that goes. I put in some extra effort to only show the 48px high ads in the vertical orientation, so that they are unobtrusive and don't take lots of screen estate.

  • Last synced is now displayed.

    As requested the last time synced and if it was incomplete (due to an error) is now displayed in the status bar of the dashboard, but only if it is in its horizontal orientation.

  • The NewsRob icon shown in the status bar when synchronizing is gone for now.

    There is a bug that annoying the heck out of me. The sync-in-progress notification hangs around even though the synchronization is over.
    I completely disabled this notification for the time being, because my time is better spent on other stuff (features) than hunting down that particular bug.

    In my development/debug version of NewsRob that I carry around with me all week, the notification will still be there and keep me honest not to forget about it.

  • "Reading List" is now called "All Articles".

  • New pseudo label "Friends's Shared Articles".
I am very much interested in feedback, here in the comments on Twitter or in the recently created Google group.