For this week’s developer spotlight, I was able to catch up with a friend of mine – Mariano Kamp – who has been developing what many would call the best Google Reader application in the Android market. The application I’m referring to is NewsRob. (No correlation with the Rob Jackson that runs the very site you’re reading this on.) He’s been working ever since the G1 came out and hasn’t slowed down since.
We talk about everything from fragmentation to monetization, from future interests to current raves, and everything in-between. There’s even a quick and interesting blurb about how myself and Mariano even met (let’s just say I had no idea that emailing a developer was worth a lot more than leaving a market comment in my naive Android days.) Catch a great read straight ahead!
You’ve been in the Android market for as long as I can remember. We even have a somewhat odd Developer/End-User relationship and history dating back to March of 2009. You’ve gained recognition by Android users as one of the best – if not the absolute best – RSS clients in the Android market with Google Reader support. Facing stiff competition, what’s kept you going?
Indeed I started to work on NewsRob in October 2008 and released it in January 2009. I used Byline on the iPhone for my Google Reader needs before and it improved the quality of my life to have *my* news in my *pocket*. It was not so great that I had to babysit the iPhone downloading the news instead of just reading them. So when Android and its ability to run background tasks was announced I was immediately thinking about NewsRob. I ordered my G1 from a Taiwanese website at a premium, to be delivered from California to Germany and eventually hired a cab to go pry it from the hands of some customs officials ;) Just to get my hands on it quickly.
NewsRob started out as scratching my own itch, but with a thriving and demanding user community it deviated from that pretty soon and meanwhile supports a lot of similar, but different usage styles. In my totally unbiased opinion NewsRob was and still is the best Google Reader client for Android, if you regularly keep up with your feeds on Google Reader. It probably isn’t so much for users that only turn casually to Google Reader. Regarding other apps I see bursts of activities and then the slow death of apps on Android. I try to avoid that by pacing myself. I am in this for the long run and want to constantly keep improving NewsRob for the time to come.
And this approach fits nicely to my day job. There I am expected not to do any coding, but only give shape to larger things. NewsRob is a way for me to keep in touch with the implementation part of the job and what I am passionate about. And that is one of the goals that NewsRob fulfills for me. The other goals to become rich, famous and beautiful are still very much work in progress ;).
Btw. Quentyn, I remember very vividly our first encounter and the resulting “Q-Reports”. This crash report collection facility turned out to be a godsend and is probably the single most important measure that improved NewsRob’s quality.
[Take a look above at my comment in March 2009 which stands out like a sore thumb from all of the 5 star votes. I still feel oddly proud of the outcome of that comment to this day.]
Care to indulge in some hard numbers? Downloads of free and pro version? Do ads help? Is it enough to afford you to quit your day job?
After the official Android Market’s numbers have been adjusted so often in the past I don’t have any confidence left in them anymore. Nevertheless for your entertainment, according to the Android Market the free version has been downloaded almost 300,000 times, the pro version almost 10,000 times. For NewsRob 4.2, which is the most recent version that completed the full cycle, 113,000 users saw the release notes. It was an unusual long release cycle for 4.2 though. Maybe 100,000 would be more accurate. Sales and ad revenue are fluctuating, but I think sales are two thirds of my revenues and ads add the other third. Overall NewsRob contributes less than 25% to my total income.
So no, I don’t think I could afford to quit my day job. On the other hand if I would spend more time on NewsRob and probably a 2nd app, or if I would would be a developer from a country with cheaper cost of living, things might look differently. Having said all that, the monetary aspect of NewsRob did beat my expectations by a wide margin. It’s much more than a hobby. I originally expected to get some money to buy a new desktop machine and to pay for my phones, but that was already possible after the initial sales peak.
Have you ever thought of taking your work to iOS some day? I normally wouldn’t ask this question, but you’ve remained committed to Android all of this time when you could (being realistic here) probably make more on other platforms. What’s keeping you grounded?
No, I haven’t. If I’d have time to spare, I would probably create a Flickr app or a strategy game, but not change platforms. If WebOS would’ve been released before Android, maybe it would be a different story. As much as I am whining about the Android SDK, at the end the platform is great. There are many users, the APIs are not too bad and I like in general how Google is steering it. I think it’s the closest we’ll come right now to a successful *and* open platform.
iOS seems to have been opening up a bit during the last months, but I feel that this has been due to Android putting the heat under it, not because Apple now suddenly believes it was a bad idea to forbid other runtimes on iOS, or put gag orders on developers or forbid sideloading of apps. But all the reasons above a more mostly theoretically. The practical reason is that NewsRob is already stretching me a bit thin and I would feel like letting my users down when diverting time for my NewsRob on Android to something else.
Since May, we’ve been greeted to significant upgrades every month without fail. Is this a trend you’re looking to continue?
Yes, absolutely. Given that NewsRob soon enters the third year of its life it is relatively mature and frequent updates would be a nuisance to many users. I think once a month works well and tried this since the beginning of the year. Since June it is now official and I put the name of the month into the release name, e.g. NewsRob 4.4 – October release, so that the release scheme becomes self-evident. If somebody wants more frequent updates they can come to the list (http://bit.ly/nr_list) and try out the beta releases.
What’s your single most favorite feature you’ve implemented in NewsRob?
It’s something that was in NewsRob from day one: Downloading full pages. Big news sites often publish partial feeds with just a summary for the article body. NewsRob can be configured for such a site (Manage Site -> Download Preference: Article + Images + Web Page) to make the actual full page available offline too and be displayed by default. As a consequence it’s much more efficient to go through those articles in NewsRob than on the desktop web app. For me NewsRob’s offline capabilities are not so much about being able to actually work offline, but browsing really quickly without waiting for the network, no matter how fast or reliable.
Well, getting beaten up like that wasn’t too much fun. But I also got quite some positive feedback and encouragements. A lot people said that they were happy that they are now finally able to pay for NewsRob and support me. In general interacting with a part of the Android community is not always a pleasant experience. It’s really a complicated situation. On one hand as a developer you want to know as much as possible about your users and what they like/dislike about your app, but on the other it is not fun to get your head bitten off by an angry crowd that feels entitled. I meanwhile don’t read Android Market comments anymore, except for the time directly after a new release.
The good thing about the Market comments is that after a new release you know after minutes if something broke. On the other hand the often displayed attitude an the sense of entitlement ruin my night then however ;(. Also the comments are not always helpful and I cannot contact the reporter to get more information. At the end of the day a comment like “new ver brok sync, 1star til fxed.” is not as helpful as one might think. I have to wait anyway until somebody comes to the list (http://bit.ly/nr_list) and gives me more information and can answer questions. The other side of the medal is the high user participation. We have a fantastic community. I get most of my ideas either directly from the NewsRob user community or my ideas get refined (or shot down) by them.
It’s also the dialog with the people on the list that give me perspective and hopefully is more indicative of the silent majority than the Android Market shouters. It’s the interaction with the community that motivates me to keep going. More than 600 people are subscribed to the mailing list and a few people have been since the very beginning. I also discussed the move to a paid app, pricing and what model to use with them beforehand. And so I didn’t feel too bad when some people vented about me being the fat old capitalistic app developer (my wording) ;)
One thing a lot of Reader developers had to deal with was using unofficial APIs to pull and parse data. Did Google ever open this up? I know they recently moved to OAuth for authentication, but did they make it any easier to develop apps for?
The Google Reader API is not official. However some Google engineers, in particular Mihai Parparita, are willing to unofficially answer the occasional question about it and are generally very helpful. The functional scope is very weak to create an efficient syncing client unfortunately and it doesn’t seem that this getting any better or that we’ll see an official statement on Google’s stance on 3rd party use. If an app is closely sticking to the same interaction model as the official web app, your golden, as an app developer. Otherwise you have to find all kind of work arounds that are not that efficient.
But the possibility alone to use their API is fantastic as it gives you a web backend and a web frontend for free. And meanwhile it’s the only game in town anyway. Currently NewsRob takes credentials directly from the user. That is a very unfortunate situation for the user as well as for me as the developer. I would prefer to use the Account/Authentication API introduced with Android 2.0. But so far I have not been able to get it completely working, e.g. also for Google Apps accounts, no interaction necessary after invalidation, no force closes. I will re-evaluate what’s possible with Gingerbread.
Maybe then Google will also have some official documentation how to use their service with the Android Account API. Then I will decide if I have to either partially drop functionality, e.g. Google Apps accounts, or if it doesn’t work at all then. Then I will go down the OAuth path. Unfortunately that would mean that the user can’t use the already registered accounts with his device, but has to authenticate separately.
Did you have a chance to catch Steve Jobs’ comments regarding Android? What are your thoughts on what he said?
Yes, I saw the YouTube video. There were two big surprises for me. One was that Steve Jobs gave so much room to Android in an Apple earnings call. The other one was how clueless he acted with respect to the false interpretation of TweetDeck’s numbers. I actually feel it is disingenuous for North Korea to criticize Porn OS for not being open enough. The open sourced code of Android nicely augments the thin documentation we have.
Of course it would be great if Google would do the development more in the open or work with the app developers. But if you look at the progression in the past, they do change, for the better, just not very quickly. Having said that, how cool is it that key Android OS developers like Dianne Hackborn, Romain Guy or Jean-Baptiste Queru participate on the mailing lists and did so since day one? Back to Steve Jobs, I remember the good old times when Google and Apple were still standing side by side.
That was much better for the consumer. Currently Steve Jobs seem to promote an air of exclusivity, either your with us or against us. That seems immature to me and doesn’t serve us users. Like many other I have an Android phone, but still my house is filled with Apple hardware. I get the feeling that I am now expected to choose sides.
Is fragmentation really a problem? Your app is one that doesn’t require the absolute latest version of Android, but it seems most apps are only available for 2.1 or higher these days. Is there any reason why a lot of these apps can’t be made for earlier versions of Android? Do you ever expect you’ll need to alienate those on 1.5 and 1.6 in the future? I know you wouldn’t want to, but would you pull the trigger for the sake of adding features exclusive to newer versions of Android?
The short answer: No, not a big issue. I think diversity and choice are good in the short and long term. Some of the accompanying issues like different resolution displays are handled reasonably well by the Android framework. It is more tiresome than necessary, but it works. For example it would be nice if as an Android app developer you would only need to provide the artwork for a button once in a vector format and the Android Development Tools (ADT) would create the derivable artwork automatically for the necessary states (focussed, pressed, …) and the necessary resolutions (low, medium, high).
Currently developers are pretty much on their own. Better developer support would promote better user interfaces and boy, do we need them on the Android platform. Other aspects are just not that easy to handle, but this is a consequence of diversity, not a fault of the Android platform. For example with Android 1.6+ it is easy to scale a user interface from a small HTC Tattoo like device to a big Samsung Galaxy Tab like device, but this is a lame ass approach. You need different UI concepts for tiny screens and huge screens.
As I said above this is not a platform fault per se, but common design principles and more specialized UI components would help however. I think today Apple is a bit better here. Another facet of fragmentation are the vendors’ custom skins, most notably Sense and Motoblur. As they look nice and add some value, I can see why users want them. I also understand that the device manufacturers want to differentiate themselves. But in the case of NewsRob those are a real pain. Let me give you an example. NewsRob can be configured to use the hardware accelerated zoom controls.
This works great on most devices and OS versions, except for some devices with custom skins. There it sometimes triggers random reboots, which my Java code shouldn’t be able to do at all. Of course the users see NewsRob as the culprit and are unhappy with my app. It doesn’t help that I don’t have the devices to reproduce the issues myself. So for the time being I track down combinations of OS and device where those issues occur and then disable this feature for those combinations. I provide a different means to zoom for those devices, but this is time I could have spent on much more valuable features.
I am looking very much forward to Gingerbread and really hope that Google found a way to ease the pain here. Maybe the UI changes will rock so much, that in the future the vendors will only try to differentiate themselves on the hardware or by adding apps, services and widgets? One can dream. Also I hope that they don’t want to use the one size fits all approach for Google TV. Coming back to your question. If NewsRob would launch today I also would make it an Android 2.1+ app.
But it is two years old and I don’t want to leave users behind. So I will support Android 1.5 until its share drops below 5%. It is a little more work and adds complexity to provide different implementations for specific OS versions, but at the end of the day it is not too bad. I also don’t really see how Google could do a better job here. Well, except maybe to add to their requirements for the “With Google” program, that the manufacturers need to port new versions to their device within four months. This should be binding for 24 months after a device is first launched. At the end of the day I prefer to deal with the consequences of diversity and choice, not with the lack thereof.
What’s next for NewsRob? Many would agree that you’ve done all there is to do with the app, but as we know, the software development cycle is never-ending. How big of an update can we look forward to heading into NewsRob 4.4?
NewsRob 4.4, likely out by the end of next week, will sport a friendlier UI. If the reactions of the beta testers are any indication, people will like it a lot. As always there will also be small improvements and bug fixes.
I plan for the next two versions to work on the sync speed (http://polldaddy.com/poll/3330727/?view=results) and some items from the uservoice wish list (http://newsrob.uservoice.com/).
I am also thinking about a dedicated tablet version. I really wonder what secrets Google will reveal in Gingerbread and why it should not be possible to build for a tablet today. As a couple of vendors said they need to wait for Gingerbread or even Honeycomb, and as OHA members they are in the know, my expectations are now sky high ;).