What is “Google Android Development”?

image Google has created an operating system for smart phones and Verizon has just released their Android phone that uses the Google OS.

To write software for this smart phone, you first need to register with Google to get access to the SDK.  The registration is free, but Google could, theoretically, deny you access.  If you’re accepted, you given instructions on how and where to download and install the SDK.  You program in the Java programming language.

That’s about all the information I have on it at the moment since this is so new.  Check back later for updated information.  I am almost certainly going to start developing for this smart phone fairly soon, so I’ll be updating this blog at that time.

Of course, this is just a very very basic and very broad description of Android development.  This article is just a very very thin, intro explanation of what Android development is.  Please see the following articles about the other types of software development to see a contrast to this style of programming:

(check back later for these bulleted items to become links to new articles).

If you have any questions about this, feel free to enter them in the comments section just below this article.

What is “iPhone Development”

image Unless you’ve been living under a rack for the past 3 or 4 years, you already know what an iPhone is.

iPhone development is simply the task of designing and writing a program that runs on the iPhone.  To do that, you need an Apple Macintosh computer.image  Then you need to purchase the iPhone SDK.  With that you’ll get the Object C compiler and editor.  That is the language you use to write programs for the iPhone.  Once you’ve written your software and have tested it thoroughly, you then submit it to Apple for consideration for sale on the iTunes app store.  Every time you submit an app, you have to pay another $99.  This is the only way to distribute your iPhone application.  Apple has locked down the iPhone making it impossible (without hacks) to deliver your software any other way.  Apple has had numerous complaints from developers on how long it takes them to approve a new iPhone application (we’re talking months!).  After Apple finally gets around to looking at your application, they very well may reject it.  It could be for technical reasons (they found bugs in your software) or because they just don’t like the program.  Sometimes, they don’t give an explanation.  If, however, you know that it was because they found bugs, you can the fix the bugs and re-submit it for Apple’s approval (which will cost you another $99).

Assuming Apple accepts your application into the iTunes store, other iPhone users can find your application in the HUGE catalog (as of this writing, the 100,000th app just arrived in the app store).  They can download and purchase your software.  You keep a large portion of the sales of your software and Apple keeps a portion too.

Back to developing for the iPhone.  I attended an iPhone development demonstration at CodeStock 2009.  The demonstration was perfectly fine, but when I saw the amount of coding effort just to bring up a blank window, I felt like I’d gone back in time 17 years.  It is incredibly laborious.  I decided then and there that I’d never want to do iPhone development.  But, then came along MonoTouch, which is essently .NET development for the iPhone.  It’s created by the same group that brought us Mono for Linux, which is a .NET rewrite from scratch from a bunch of open source geeks.  Unfortunately, because of Apple’s really tight restrictions on what you can and cannot do on an iPhone, the MonoTouch development team had to put considerable effort into getting MonoTouch to both work on the iPhone and pass Apple’s overly strict policies.  For that reason, MonoTouch costs no less than $400 per developer.  But, I’d buy it in a heartbeat if I had to do iPhone development.

Contrary to iPhone development, Windows Mobile is completely open and unlocked.  Anyone can develop for Windows Mobile.  There’s no permission form to fill out.  There’s no fee to pay.  There’s no waiting for approval.  There’s no rejection.  There are multiple compilers that can develop for Windows Mobile, though I highly recommend Visual Studio 2008.  As for deploying your applications, there are zero limitations.  You can give them away to friends on disk, put them on your website, charge whatever you want and keep 100% of the proceeds.  There’s no lengthy process that you’re forced to endure just to get your apps in the hands of the public.

Of course, this is just a very very basic and very broad description of iPhone development.  This article is just a very very thin, intro explanation of what iPhone development is.  Please see the following articles about the other types of software development to see a contrast to this style of programming:

If you have any questions about this, feel free to enter them in the comments section just below this article.