Sunday, December 20, 2009
Please test NewsRob 3.4
Monday, December 7, 2009
Vote for your favorite feature at uservoice
Sunday, November 15, 2009
Fifty Thousands Downloads
Wednesday, November 11, 2009
Droid takes the world by storm?
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.
Monday, October 12, 2009
NewsRob 3.2.2
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
Friday, October 9, 2009
Can't Support Cyanogen Mod ROMs Anymore - Sorry
(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.
Wednesday, September 16, 2009
Donut ready
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
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
Monday, August 10, 2009
Android Network Awards - Vote for NewsRob
I embedded the voting widget to the right of this post.
Friday, July 10, 2009
Notifications in NewsRob 2.5
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 dothis 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 displaysthe 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.
Friday, May 29, 2009
NewsRob 2.3
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
Friday, May 1, 2009
NewsRob 2.1
NewsRob 2.1 mostly carries bug fixes/adjustments to better cope with Cupcake.
Sunday, April 26, 2009
NewsRob 2.0
NewsRob 2.0 is just another release. Nothing earth shattering, completely backward compatible.
NewsRob 2.0 Preview - Locale Integration
Wednesday, April 22, 2009
Manual "Refresh" not working anymore? XML Parser issues! Beta?
Saturday, April 18, 2009
NewsRob 1.9 - Rabbit
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?!
Friday, April 17, 2009
NewsRob 1.9 Preview - More Download Control
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.
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:
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.
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.
Monday, April 6, 2009
NewsRob 1.8 - Phoenix
- 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.
Sunday, March 29, 2009
Back To The Drawing Board
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?
Saturday, March 14, 2009
NewsRob 1.7 - A Star Is Back!
- 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???
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
- 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.
Saturday, February 28, 2009
NewsRob 1.5
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.