Bluestacks, Android app player

Bluestacks is an Android app player for Windows, enabling your apps to break free from your phone onto your desktop. As anyone who has ever tried to use the Android device emulator will know being able to run apps on your PC has been until now very slow and pretty much unusable. Bluestacks changes that by giving you the same level of performance on the desktop as you would expect on an embedded handheld device.

I installed Bluestacks as soon as it was released, and so far I have been pretty impressed. Currently Bluestacks will only install on a Windows 7 PC however Bluestacks reports that support for older operating systems are coming soon. If you install the Bluestacks Cloud Connect service the Blustacks infrastructure will automatically synchronise the apps installed on your phone to your PC. At the moment not all apps are support, such as premium apps such as the ever popular Angry Birds. For these premium apps you will need the currently unreleased Bluestacks Pro.

Bluestacks also comes with the Android Debug Bridge (ADB) which is used by Android developers to debug, test and configure Android apps and the Android device. This is pretty useful, though it was quite a shock the first time as I hadn’t noticed that the Eclipse debugger had connected to Bluestacks instead of my Android device, which resulted in me trying to work out what was wrong with my development handset. If you want to debug Android apps using Bluestacks you can really easily bring up the Bluestacks Android handset using the following command, which is now a shortcut on my desktop.

"C:Program Files (x86)BlueStacksHD-Frontend.exe" Android

Doing a bit of testing and using the API Demos which comes with the Android Development Kit showed that there are some problems still with Bluestacks such as some APIs not all the working, and some minor points like the mouse scroll wheel scroll is back to front. The Bluestacks team have made a very good job of their on-line community, being very quick to respond to users suggestions and bug reports.

Other than that Bluestacks is pretty awesome, I’ve not yet really put it through its paces but I’ll certainly be looking forward to Bluestacks Pro to come out. Just hope that the price is right.

You can download Bluestacks from bluestacks.com

Back to Android

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.