I’m working on some graphics intense Android applications, one for a product I hope to launch early next year and another one of work. Unfortunately I can’t talk about either project, though what I can say is that both products are unique in the Android market place. Watch this space to find out when these products are going to market and for more information. It’ll be worth the wait believe me.
I am programming in Java (no need to go native yet), I learnt to program in Java during my masters degree and used it for 5+ years so I am not having any problems there. Android I’m discovering is quite a nice framework to program, it is very well documented with lots of books and demonstrations online so it is very easy to locate information and solve problems. I also found downloading the Android source code a great help too, especially when there is some specialised piece of functionality that you need to code and you’d like to have a peak under the hood to find out how to works.
So far I’m finding the hardest thing to cope with is the Android Emulator, which has both its pros and cons. The pros of the Android Emulator is that I can go to any and all versions of Android and test out my application, I can change features about the handset, and easily change the screen resolution. The cons of the Android emulator is that it is very slow, this is something that I don’t entirely understand yet. I’m coding on an Intel Core i7 at work and an Intel Core i5 at home, both machines are pretty powerful but the emulator is still very slow, oddly enough the CPU use is also quite low so I don’t understand the poor performance, unless I’m missing something. The emulators poor performance though is in many ways also a pro, my HTC Desire S has a pretty powerful 1GHz core and powerful GPU, whereas some devices that are likely to run my software (such as an HTC Wildfire) will have lower end chips without all the power, so it’s quite interesting running metrics over the emulator and seeing where I could improve my code.
Being someone who has been working on embedded systems for well over 6 years I have a pretty firm desire for anything I device to be low CPU & low memory intense. It’s quite interesting playing around with the Android APIs and trying out different methods of performing the same task whilst also keeping the under experience smooth. There are so many ways of doing anything.
A bit about my app. As I’ve said the app is pretty graphics intensive but is designed to appeal to both children and adults. Currently I’ve got a rough sketch of the user interface, and recently been investigating the requirements and flow of the application. A lot of people have said that most Android applications are low quality which is the main criticism of Android. I hope that my app will not be one of them, I’m putting in a lot of upfront thought and design into the application. I hope this week to have turned my rough drawings into user interface mock ups by the end of the week, and also hopefully start coding it soon. As always I’m following the old adage “Design is King”.
So far so good. Both projects are progressing well, and I hope to have both projects out of the door soon.