Pages

Thursday, July 28, 2011

Research Phase

I've decided to create a rough plan for how to develop my own Android app. I'll be needing a rough estimate of the time needed on this, to be able to calculate approximately how many weeks/months this will take. I am a full time student also, so I will only be able to put in about 2-6 hours/weeks into this project. So when I will be estimating the time to do something below, the weeks/days stated reflect 2-6 hours/week. I should also mention that I am not aiming to create a graphics-intense game, or some other type of very complex as my first own app. This fact is also reflected in the numbers stated below, as programming such an app would need far better programming skills than creating a simpler type of entertainment or utility app, which is my goal

I felt that I do not know enough to estimate the hours I put in accurately, thus I have done some research online during the last days to gain knowledge on how to create my own Android app as a beginner. My impression is that there are two main ways of doing this:

  • Programming the app in Java, using the developer tool Eclipse. This would require me to learn intermediate-level Java programming , which I estimate would take me 2-6 weeks to get started, and then learn the rest "along the way". The upside of this alternative is that it will allow me great freedom in implementing the functionality I want.
  • Creating the app using App Inventor - Google's own development tool, where you don't need to do the actual programming, but rather build your app using simple logic and "block programming" (see video below). I estimate it would only take me 1-2 days to get started with this. However, using this alternative, I am more confined to using only the functionalities that App Inventor support. However, App Inventor actually seems to support quite much functionality, for example it supports using the accelerometer, the GPS and even some database support. A potential problem is that it seems to be impossible to upload apps created with App Inventor to the Android Market.

Considering the time frame, I'd very much prefer using App Inventor to create my first own app. I'd like to test it out and see how I like it. It'd be a lot more fun to be up and running within a couple of days, as compared to putting my teeth into some book to learn Java programming for several weeks. However, my goal is to put an app on the Android Market, and if using App Inventor does not allow me to do that, I'll have to chow down that Java book no matter what.

The conclusions of my research are that I have the two following options (pros in green and cons in red):
  • Creating it in Java
    • Quite long time to get started with the actual development
    • Development will probably be slow as I expect many bugs and problems considering I will be learning while doing
    • Large freedom in app functionality
    • Will for sure be possible to put app in Android Market
  • Creating it using App Inventor
    • Possible to start with actual development within days
    • Development will probably be fast as I expect using App Inventor will not cause many bugs and problems compared to Java.
    • Some restrictions in app functionality as to what App Inventor allows
    • Possibly problems with putting the app onto the Market (I will as the next step investigate if there are ways around this)


No comments:

Post a Comment