Archive for category Android
NPD says Android Sales Surpassed iPhone in US Q1 2010
Posted by Simon Judge, Freelance Mobile Developer in Android, Market Share on May 10th, 2010
In the US, Android Sales overtook iPhone in Q1 2010 according to NPD…
“based on unit sales to consumers last quarter the Android operating system moved into second position at 28 percent behind RIM’s OS (36 percent) and ahead of Apple’s OS (21 percent).”
While I had no doubt this would occur eventually, I am surprised (sceptical?) that it has happened already. NPD’s methodology is…
“The NPD Group compiles and analyzes mobile device sales data based on more than 150,000 completed online consumer research surveys each month. Surveys are based on a nationally balanced and demographically-representative sample, and results are projected to represent the entire population of U.S.”
The only skew I can possibly see is that the survey was online. How did people find the survey? Might this have affected the results?
Whatever the real figures, it’s clear that Android is becoming a strong competitor to the iPhone.
Graph Component
Posted by Simon Judge, Freelance Mobile Developer in Android, Coding on May 6th, 2010
If you need to quickly implement a chart or graph then you might like to take a look at Arno den Hond’s GraphView component:

It’s free and comes with full source code. All you need to do is mention Arno den Hond in your About screen.
Exit Option in Apps
Posted by Simon Judge, Freelance Mobile Developer in Android on May 5th, 2010
There’s an interesting post at The Radioactive Yak, by Reto Meier, Google Developer Advocate, who takes a good look at an Android app and explains how it might be improved. While the analysis is very interesting and informative, the comments have turned into a discussion of whether apps should have an Exit option.
I personally, don’t think Android apps should have an Exit option. It’s not an Android Idiom. People should just (expect to) use ‘Back’. However, I can see why users might think there should be a way of closing apps. This has been a issue under Windows Mobile for a decade and a half. Microsoft have fiddled with this over the years but there are valid arguments on both sides whether users should be able to close apps. I personally think Android is different in that there’s no shared idiom from the desktop and people should learn to use Android as it was originally intended.
Top Paid Apps
Posted by Simon Judge, Freelance Mobile Developer in Android, Android Market on May 4th, 2010
I did a bit of research over the weekend to see what were the top paid apps, their prices and how many had been sold.
These are the only paid apps on the Android Market that have achieved 50000-250000 downloads…
- Better Keyboard $2.99
- Open Home $3.99
- Beautiful Widgets €1.49
- Power Manager Full $0.99
- DocumentsToGo Full $14.99
- Advanced Task Manager $0.99
- PicSay Pro - Photo Editor €2.99
- WeatherBug Elite $1.99
My first observation is that these are not $0.99 apps. People are willing to pay more for the right app. There are no games selling over 50000 copies - they are all utilities. Controlling and customising your phone seems to be popular.
Time Sensitive Code Tips
Posted by Simon Judge, Freelance Mobile Developer in Android on April 30th, 2010
I have been looking into techniques, for a specific client project, to make Android Java code run faster and do some regular data processing in real time. My research took me back to some open source game code I mentioned a while ago. While I am not writing a game, some of the techniques are applicable.
The author of the code is Chris Pruett a Developer Advocate at Google. He presented on the code and writing real-time games for Android at Google I/O last year. There’s a video of the presentation at YouTube.
Here are some tips from his presentation…
- You can get away with using Canvas rather than OpenGL if you have of the order of about 10 sprites.
- Prefer use of Draw Texture extension (but also check it exists on the phone).
- Avoid allocating anything so as to avoid Java garbage collection which can take up to 300ms. This means don’t use collections, enums, arrays.sort in your time sensitive code loop.
- Don’t call interface functions in your time sensitive code loop.
- Sleep momentarily in onTouchEvent to prevent flooding of MotionEvents when the user touches the screen.

