Wednesday, December 26, 2012

Making My First Android App - Part 1


I’ve got to admit, when it comes to smartphones, I prefer green robots than partially eaten apples. Firstly, it’s cheaper. Secondly, and more importantly, it embraces an open architecture. The later is not limited to the open source nature of the Android operating system, but also the fact that Google gives more freedom and fewer barriers for developing applications on their platform. I think this is the reason Android now has almost 1 million apps in Google Play store.

Okay, one million apps sounds impressive. But if you look closer, most of the apps are not impressive at all. In fact, most of them are simply junks. This is when an epiphany came to me: if anybody can make junk, why can’t I make one too. Perhaps even a slightly better junk. So here I am chronicling my effort in making my first app.

The Idea
The difficult part is finding an idea for the app. With one million apps out there, there is a good chance that someone has already thought of your idea. So I give up trying to find an original idea. I decided to make a very simple word game. The premise of the game is as simple as it gets. The player is given a set of 8 not-so-randomly selected letters. Within a limited time, the player must construct as many words as she can using those letters. Like Scrabble, but without the board. 

To differentiate a bit from the crowd of word games, I decided to include these features:
·         Synchronized game play, meaning that everybody will be playing the same set of letters. At the end of the game, the scores are collected and ranked. Thus essentially everyone is competing against everyone else.
·         Support for English and Bahasa Indonesia. This is to attract more players (especially kids) from my home country.

The Name
Finding the right name for your app is also not as easy as it sounds. At first I name it Scrambler. But turns out there is already a word game with that name. Finally I ended up with “Words against the World”, which is a tongue-in-cheek reference to a popular Scrabble-like game called “Words with Friends”. 

Requirements
With the idea set, the following requirements are identified
  • The Client application: This is the Android app that is downloaded by users from Google Play and installed in their phone. 
  • The Server application: This is the web service which is responsible for generating the set of letters and collecting the results. It runs almost transparently from users’ point of view
  • The dictionary: The list of valid words in English and Bahasa Indonesia.
I’ll talk a bit more details about each of the above in my next posting. In the mean time, if you want to take a look at the final result please visit “Words against the World” page in Google Play: https://play.google.com/store/apps/details?id=rz.scrambler.app