Sunday, May 01, 2011

My First Published Android App (And its not Hello World! :) )

So, finally, after lots of sleepless nights, going through thousands of pages of documentations, tutorials, Stack Overflow, and lots of other websites, finally, my first App was ready.

I give you RIFT Assistant.

What is RIFT Assistant?

RIFT Assistant is a mobile app for game called RIFT (doh!). For people not familiar with RIFT, it is a MMORPG (Massively multiplayer online role-playing game), where others you see in the game are real people, just like you. Millions of people play the game, and thus make up a strong community, with guilds, Player Vs Player fights, Economy, Auctions…etc. Its a whole different world.

Consider this game world as a “sandbox/development system” for some of your real world decisions. There are some decisions (esp, the ones driven by peoples emotions, behavior..etc), that you can analyze, before making that in real life – We are digressing.. so, let me leave things about RIFT or WOW (World Of Warcraft) at that.

RIFT Assistant helps the players by providing following features:

  1. Provides Shard (server) status, including information like server population, queue size, recommendations..etc.
  2. Ability to view North American/European shards, and a separate easy to reach tab for Favorites.
  3. Provides players with a Home Screen Widget which can be used to monitor shards.
  4. Provides RIFT official news, and also Patch Notes
  5. Provides Alerts/Notifications in your android device’s task bar when new news/patch notes are received.

Here are some screen shots of the app

HomeWidgets   NA_Shard_Status notifications Patch

settings_main_page Main Screen

Why RIFT Assistant?

So, why did I start developing this app? Learning android development was one of my highest priority things for quiet some time. When I say “learn android”, I don't just mean coding. I also mean aspects of the project like publishing, marketing, interacting with users – Basically any and everything from A to Z. For me, this is a perfect miniature scenario of corporate world – One which I can use to learn / understand the big picture of what I am a part of in corporate world.

And so, on April 2nd night, I began. Days that followed found my sometimes happy, depressed, irritated… all kinds of emotions while I progressed slowly through Android development. I even thought of giving up, but just kept going. After 2 weeks or so, something strange started happening.

You see, when searching for many of the issues/problems I encountered as a beginner, I was getting lots of not-so-useful answers when searching forums and other online resources, and finally, after like an hour or so, I would get the solution I was looking for. However, the efforts stuck with me… what I mean by that is, in the process of looking for something, I unknowingly picked up many other solutions (though I was not looking for at that time). But then, as I dived deeper into Android development, I started encountering those problems one by one – and imagine my excitement when, like magic, I was able to recollect/at least have an idea of how to approach the issue. Things were going easy then for some time. Then, I hit the next steep curve up.

So, in any technology, you will see a lot of beginners, then a lot of people who have good knowledge of the subject (not beginners, but intermediate knowledge). However, with some of the things I was trying to do, I was slowing drifting away from even intermediate, to advanced or super advanced stuff in android. It was like going from a thickly populated city to a rural area – all of a sudden I saw myself searching for answers longer and longer, and sometimes, the answers were not there online, as I probably was the first person to hot that problem.  One site that really helped me a lot was Stack Overflow. What followed was lots of trial and errors, while I applied the knowledge I got from beginner and intermediate steps – and every single problem – fell before me – Some took hours & some days. But, eventually, the problem will get solved. I never really knew what “never give up” as seen in movie dialog..etc was all about… but having lived that in this situation – it felt good, and sense of accomplishment.

RIFT Assistant was the means/goal by which I was formulating requirements/problems, and then, searching or learning solutions. Its still in making, and there are a lot of features to be added, each coming with a lot of learning experience as well.

Upcoming Updates/Features

 

In the coming days, I will use this blog to write about some key things I learned. Hopefully it will make the life of another android beginner a tad easier!