Monday, May 23, 2011

Mobile Development Platforms: iOS

This blog has a new home:
http://selectioneffect.info/blog/mobile/mobile-development-platforms-ios/

Apple as a company was arguably saved by the release of the iPod. This device became the de facto standard by which all other music players were measured. All previous music players and CD players became instantly obsolete. Even companies like Sony and Microsoft, try as they may, could not shake loose the entrenchment of the iPod device.

Following on the success of this, Apple then released the iPhone. It became a natural next step to buy an iPhone if you already had an iPod, and if you didn't, then the mindshare of the world was already tuned into iAnything, and Apple was seen as the producer of new, fresh and exciting consumer technology.

iPhone sales took off like a rocket, and rightly so. The iPhone is a very powerful, network-capable, compact computer with great graphics. And it came with access to an application store that the user could purchase games or business apps with incredible ease.

Some software developers grew rich as individuals because they could get in on the action early. Suddenly Apple development was a highly demanded and highly valuable skill. Today there are companies based on the business model that iPhone applications will sell and make money, so that’s all they do.

Mobile applications are sold on a low price, high volume basis.

Then came the iPad, which is the first truly consumer-friendly, actually usable, and actually available tablet format computer. And you can run the same applications on the iPad as the iPhone. Of course, even the iPod has been upgraded with new versions, and some editions of the iPod can also run iOS applications.

Apple tightly controls Apple’s application marketplace, unlike that of the Android platform. This is a natural consequence of the basic philosophical difference between the two platforms. iOS is a sort of monolithic platform in that the implementation details of both the hardware and the software is closed. The public information that application developers can use is the only available information on the topic of iOS as a platform. Other than the API and SDK documentation, only application guidelines are available. An Apple is quite strict when it comes to evaluating applications that are submitted for approval to the Apple AppStore. No application is listed there that do not pass certain stringent checks performed by Apple themselves. This ostensibly improves the level of security and reliability of these applications, and the user is assured of a safe, happy experience when using any certified application. Whether this goal is actually achieved by Apple or not is highly debatable. Market forces will naturally cause good, safe applications to percolate to the top.

There are two major cons to iPhone development though: iTunes and MacOS.

You have to do iPhone development using the iOS SDK, and that can only be installed on MacOS. MacOS only runs on Apple hardware. So developing iOS applications involve purchasing an Apple computer. The SDK is free to download, but can only be used if the developer enrols in the iPhone Developer Program, which is USD$ 99 per year at the time of this writing. Enrolling in this program gives access to digital keys that are required to sign applications, before they can be submitted to the Apple App Store.

iTunes is an extremely misnamed application, that is used to purchase music from the iTunes store. It is also used to backup information and settings stored on the phone, so sync phone contents across machines, and to download and install apps on the iPhone. Unfortunately, cross-platform issues abound in iTunes, and it is only usable across multiple machines when all of the machines are Macs.

Aside from this, if you like living your entire life in the Apple ecosystem, then iPhones are great.

Android and Blackberry have a greater combined market share than iPhones, and Android devices will probably outnumber iOS based devices in the next six months.
The iOS SDK is very thorough, but there are undocumented problems that the developer has to be aware of and counter with workarounds.

A final titbit:  it is estimated that the iPad 2 will have a Linpack benchmark of between 1.5 and 1.65 gigaflops. That's more than a Cray 2 in 1985. In 1993, 2.1 gigaflops would have been enough for a spot on the top 100 supercomputers in the world.


Other articles in this series:

    1 comment:

    1. Hey being a professional for iPhone Application Development i can simply say that its awesome article and you have great knowledge.

      iphone apps development

      ReplyDelete