Showing posts with label mobile. Show all posts
Showing posts with label mobile. Show all posts

Thursday, April 16, 2009

Zebra Paint 1.2

The new release went out yesterday. The only change is that it includes 24 templates instead of 12, and the old ones were updated too.

Facts: in 38 days Zebra Paint had 38k downloads and 47% still have it installed. It has a 4-star rating (out of 5). It is currently the 6th most popular application in the Games/Casual category. And even more, it is a featured app on the market!

There are some requests for adding new features, but there will be no update in the foreseeable future.

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!

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.