Tuesday, July 2, 2013

My Two Android Apps

As mentioned in my previous post, I've spent the past two months creating Android applications. So far, I have create two Android apps that have already been published on Google Play Store. These applications are Randomizer and Psy Yourself.

Randomizer (Random Generator)
Randomizer was the first app to be completed out of the two. It is a simple web based application using HTML, CSS, JavaScript, jQuery, jQuery mobileGraphite for jQuery mobile, and finally packaged together using PhoneGap. My reasons for using use web technology is because of my extensive knowledge with web over Android development and the ability to deploy over multiple mobile platforms using PhoneGap.

Randomizer is an application for users where if they have difficulty making choices from the available selections they have on hand, they can input those selections and it will randomly select one. Other features includes, randomly ordering the list of choices, random number generator, and one neat feature is the ability to save randomly ordered lists, list of choices, and previous random selections for future view or use.

At first, the user experience wasn't that as pleasant compared to that of Android applications developed natively. It resulted in noticeable lag during page transitions and user input responses. Over time, after some extensive search on the web for optimizing mobile applications, I was able to improve the user experience and the user interface. But, in the end it still can't be compared to that of natively developed Android applications. This got me to think that I should move towards native development for all of my future applications. My friends have explained to me that it might be jQuery mobile at fault, causing Randomizer to be slow. Their reasoning have to do with jQuery mobile loading multiple unnecessary DOMs, which results in lag. So for now, I have my eyes on moving towards native app development for my next app, while keeping a lookout for other mobile web frameworks.

Psy Yourself (Photo Booth)
Psy Yourself is a photo booth type application where users get an image of themselves or an image of someone else and it will crop the face out replacing one of Korea's famous music artist Psy's face with the face that was cropped out. In the end it will display GIF style animation with the appropriate Psy music in the background. With social media connecting people, users will have the ability to save as a JPEG or GIF onto their devices and can be shared using their favorite social media apps.

This application was created natively using Android Development Tools (ADT). After successfully deploying an application using native development, I felt that I have made the right decision. Compared to web apps, the user interface feels smooth and quick to respond, a huge difference over my Randomizer app. But I am currently face with one major issue with this application, which happens to be memory issues. As this application is heavy with image since it loads and processes multiple images to once, it can be a burden on the phone's memory. This issue can be easily witnessed on low end phones with little RAM. I have deployed many updates for this application trying to optimize memory usage by removing bitmaps that aren't being used and adjusting images accordingly to phone's specifications, but this turns out to be not enough. In the meantime I am continuously looking out for other solutions to this issue that way majority of people interested in trying out this application can enjoy it! :)

Anyhow, these are my two applications already on the Android Play Store, feel free to try it out and provide feedbacks/comments via email (alottapps@gmail.com for Randomizer and nonamebrand00@gmail.com for Psy Yourself)!!

Link to Randomizer.
Link to Psy Yourself.

Enjoy :D