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