Thursday, March 19, 2009

Zebra Paint update

Since I practically used all my free time to develop version 1.0, I wanted to take a rest and not do anything for a while. But almost 10000 people downloaded it during the first week and even though the app is free, my rest was shorter than planned.

Some facts first. As of today, 10 and a half days after putting it onto the market, I had 15300 downloads and people still have it installed 10600 (69%). I got 263 reviews and 11 emails, most of them positive (and some of them very negative). Overall, it looks good, the app has a 4+ star rating and it is currently #7 in the Games/Casual category in the market. Better than what I was hoping for.

From the reactions it was pretty clear what to do to improve it. The most demanded features:
  • Save (send, set as wallpaper) the image - this is here with v1.1
  • More templates - I will add more eventually, but no promises here
  • Paint with black - v1.1 has dark gray now (no black because that would easily make it unusable)
  • More colors - I am not going to add more because it would be more complicated for small kids and lead to other usability problems
I have also added other features that were not explicitly asked:
  • Starts with a random template now
  • Minor stability fixes, e.g. it does not reload when opening/closing the lid
Overall, adding image saving was far more complex and demanding than my initial estimate, which was 2-3 hours. In reality it took almost 4 working days. The cause is that saving images to the SD card does not make them show in the gallery, and the API to do that is not very straightforward and easy to screw up. I even managed to render the whole gallery crash at each start so I had to erase all data from my phone. But having the code of built-in apps like the Camera app helped.

What I learned:
#1: it always takes more than the estimate.
#2: saving images in Symbian (S60) is much simpler, it magically just works.
#3: the Market is a great way to distribute applications. I would not have get so many downloads any other way.

Wednesday, March 11, 2009

Life of an Android app

After getting an Android dev phone, I was tempted to write my own app for it. Since I am the proud father of 3 girls now, I wanted to do something that they can play with: an app with which they can color an image with their fingers. Now, after about 2 weeks of development time everyone can download it from the Android market by the name "Zebra Paint".

The start was easy - even though I have never used Eclipse before, the instructions for setting up the emulator and the environment were crystal clear. Doing Hello was also a piece of cake, less than 30 minutes. Choosing a new Android project adds everything needed and the logic is about 2 lines of Java code. Even better, it keeps everything up to date during development, e.g. when one adds new resources, the pointers from the code are automatically updates. XML files containing resources are also checked on the fly. When a line is changed I can see immediately if it works or I have made a mistake. That adds a quite rapid feel for development.

Not everything is easy, though. Understanding the fundamental concepts like resources and activities needed some time. Probably the worst thing is that while there is Javadoc for everything, the documentation describing resources lacks details and examples in many places. For example there are "drawables" that can be used to paint just like anything, there is no reference docs, no tutorials. The examples cover some simple cases but I have the feeling that drawables are capable of much more than what's documented. For instance, layers and combining objects.

The other surprising thing was that the Dalvik VM is actually slow and nowhere near the speed that I predicted based on that the CPU is more than 2x faster than my Symbian E61. For a simple algorithm like flood fill a lot of int array magic and ugly design was necessary because the VM could not get through it.

Overall, doing it was faster than on Symbian, but there is room for improvement. Hope you enjoy Zebra Paint!

Monday, February 16, 2009

Formula 1 2009 rules in 2 minutes

If you have heard nothing about it so far, it's great:

Friday, December 12, 2008

Famous

I always wanted to be present somewhere on Wikipedia. And today I have discovered that I am! I am especially proud of this: the 2nd cited article for Ray Tracing (graphics) says: Péter Dornbach. "Implementation of bidirectional ray tracing algorithm". Yay!

(I did not edit anything myself. Honestly.)

Sunday, September 21, 2008

Android = iPhone?

From this side of the ocean, the way people think about mobile phone prices in the US seems very unusual.

With the launch of the first Android phone imminent, I read tons of articles like this quoting that the expected price tag is $199, "in line with what Apple's charging". The same article does not spend a word mentioning how much an iPhone customer pays during the first 2 years, or speculating what it would take for an Android phone customer.

Please, wake up. $199 does not matter. $60 each month for 2 years does.

Tuesday, September 2, 2008

Google Chrome

Working at Google means some excitement each day. Coworkers are working on projects I have never heard before, so when we make an announcement, it frequently comes as a surprise: "Oh, did we work on this?"

With the announcement yesterday this was not the case. Everyone at Google knew that we are working on this. Hence, I was very excited, because know you know it too: the Chrome browser is public! At the moment it's only a blog post and a cartoon, but hopefully you will all learn more in a day.

Tuesday, July 22, 2008

Firefox leading the way ... Haha :)

While I have to admit that Firefox is having a great impact on the browser world, I personally think that the crowds doing them are no different than the crowd during the concurrence... For example, look at this:
http://tech.slashdot.org/article.pl?sid=08/07/22/0012210

Christopher Blizzard, Firefox evangelist: "... they would not have done it, if we would have not built Firefox. And the same is true for Apple, they are doing a lot to keep up with us."

A couple of random facts to keep things on the ground:
  • Opera 9.51 does 83 out of 100 on the Acid3 web compatibility test. Safari 3.1 does 75. Firefox 3.01 does 71. (All of them are the latest production versions today.)
  • Example: on Picasaweb, Opera actually works (even though the site claims it is not actually not tested) whereas Firefox 3 does not (even though Picasaweb says it's supported).
  • Example: Firefox is lagging behind in mobile. There are successful mobile browser products based on WebKit, Opera and IE deployed on millions of devices. Where's Firefox?
Firefox 3 is important. It is a great step forward, uses less memory etc. But they have to admit that their goodwill advantage is much more important than their technical one. And if they do not innovate on their own, they may be hit from unexpected directions.