Hacking Android for Fun and Profit
Submitted by Indraneel Bommisetty on Tuesday, 16 October 2012
Motivate developers to find out of box (technical )ideas that take your app to the next level. Start looking at the bugs and deficiencies in the platform as a challenge and as an opportunity to be creative.
*Note: all 'hacks' use standard Android API; NO rooting of device.
Over the years as an Android developer, I had implemented many out of the box ideas which had let my apps push the barrier. Android had, has and always will have bugs and limitations. These cause major headaches and barriers. But often, creative solutions can be found to get around them. Here I will present a few such hacks.
Is it portrait or landscape? While developing the Layar app, we had to face a nasty bug in the first Android devices that basically ruled out using the camera in Portrait mode. We build a work around by overriding the View lifecycle onDraw() method. More details into the implementation and the many other challenges we had to face before we could push this hack.
Proxy is your friend. While building an app for GCon - an external harddrive with wifi - we wanted to stream videos and audio from the device. But the content on the GCon device was authenticated and Android mediaplayer doesn't support sending headers( thereby cookies) until API 14. We had to use a StreamProxy to overcome.
No text selection in WebView?! The WebView in Android doesn't support customizing text selection. For our book reader app, text selection and highlighting was a must-have feature. I will give high level overview of how we hacked around the limitations to implement text selection for WebView.
Wrap up: Pushing hacks is not easy, but can be done. And its fun!
I have been into Android development since the launch of the SDK, initially as a hobbyist and as a professional developer since last 3.5 years. I have built many apps with installs totaling 10s of millions, most popular being Layar. During this experience, I had some opportunities of pushing hacks into production and I have always wanted to share the experience.
Recently started working on Divi, with the goal of bringing tablets to education.