• Web Pick: WordPress Apps

    If you want to maintain your website on the move WordPress is on the case.
    » more
  • Survey: Social media for business

    Our reader survey shows Irish business is taking social media seriously.
    » more
  • BLOG: Tired but appy

    'There's an app for that.' Sadly, not always. Here's a run-down of our favourite imaginary apps.
    » more

BUSINESS

Why Develop for the iPhone?

23-09-2009

by ElectricNews.net

Daniel Heffernan argues that Ireland's developers need to be on the iPhone bandwagon.

Daniel Heffernan argues that Ireland's developers need to be on the iPhone bandwagon. Daniel Heffernan is the man behind the iPhone training course “App School”, providing training in Dublin and further afield. He argues that developers need ot acquire the skills for this platform in order to fully exploit the benefits of the phone's popularity.

iPhone software development is surprisingly different to other mobile platforms, and this is an experience shared by many professional iPhone developers.

Developers: What’s so different about the iPhone SDK?

Much of the Software Development Kit’s (SDK) learning curve is down to Interface Builder (the tool used to create iPhone user interfaces), with the remainder going to Objective-C (the programming language used to create iPhone apps). These are two things which are not part of any other mobile platform SDK, and it is amazing how often developers underestimate the amount of work involved in acquiring these skills.

When building an iPhone user interface graphical controls are presented in a similar way to many other environments. However, if one of your objects needs to access a control, it does so through a special variable called an outlet. Outlets are visible in Interface Builder and can be connected to a control by dragging-and-dropping. An action is basically a callback method, and is fired by a control on a specific event, such as a mouse-click.

A drag and drop application development interfaceThe most interesting point is that Interface Builder doesn’t generate any code for you: all the objects are created at compile time, and their variables are set based on connections made in Interface Builder. These objects, all connected to each other, are then serialised to a file which is loaded by the application at runtime. This can lead to some surprising behaviour, such as constructor methods not being called when you might expect them to be.

Objective-C difficulties are mainly down to syntactical differences and memory management. Cocoa uses a retain/release memory management system on the iPhone. This can be confusing if it has not been encountered before.

Why not just stick with Java?

Before Apple's App Store came along, Java had been around for a long time. So you might reasonably ask, why would one choose to restrict themselves to developing for the App Store when they could develop for many more devices using Java? The number of mobile devices supporting Java apps is vast, and though this is an opportunity for a developer, it is also a headache.

Making your application work on a variety of different devices, with vastly different hardware available (processor speed, memory, location services, accelerometer, and so on) requires a lot of fallback functionality, a lot of testing, and potentially a lot of devices that simply cannot run your application, despite having a Java runtime installed.

example application developmentBy contrast, with only one manufacturer behind the iPhone platform, the API is more uniform. Though companies maintaining Java ME APIs on their mobile devices (such as Nokia) create JSRs (Java Specification Requests) to standardise access new hardware (such a GPS), this takes time and it is down to manufacturers to implement. On top of development issues, distribution is also likely to cause trouble. Agreements must be made with every mobile carrier you want to carry your application and often they will demand compatibility with an extensive list of devices, feeding back into the device support issues.

The number of devices which run iPhone OS is certainly growing, ranging from the first generation iPod touch as the slowest and most hardware-limited device, up to the iPhone 3GS with its digital compass and video camera. However, the amount of devices to be supported is negligible compared to Java. As far as distribution goes, the App Store will look after that for you, along with payment processing.

Competing Stores

Recently competitor platforms have appeared, including Android Market, Blackberry App World and Nokia’s Ovi Store. All of these platforms take distribution and payment processing, which are traditionally painful on mobile platforms, out of the hands of the developer.

By providing users with a single place to buy apps for their devices, these online stores can keep users logged in so don’t require owners to enter payment details for each purchase. This is great news for developers, as it reduces hurdles for potential customers and therefore boosts the conversion rate of application page visits to application purchases.

So why the iPhone if it’s so difficult?

Speaking as a developer, it really does grow on you. Once the conceptual differences are understood, it's an enjoyable experience. In fact, you will very likely grow to like Interface Builder and the environment as a whole.

If you’re not a developer: every week there are various reports on App Store sales and revenue being published. Just looking at recent stats, one provided some estimates [1] including the annual revenue of the App Store at USD2.4Billion and the ercentage of users paying for apps at 50pc/USD125M (iPhone), 40pc/USD73M (iPod touch) and 19pc/USD5M (Android). Another interesting piece [2] compared App Store sales versus Android sales from a particular developer’s point of view.

1. appleinsider.com
2. macrumors.com

EMAIL TIPS


email tipsCreating successful email surveys: Denise Cox of email specialist Newsweaver argues that you can tap into your readers' likes or dislikes by surveying them. » Read more

ENN CORPORATE

Complete copywriting services
Do you need skilled writers to put together compelling prose for your company? Why not check out the new-look corporate services site from ENN and see how we can put our skills to your use. » Read more

  • Hosted by TeleCity

SUBSCRIBE

Not a member yet?
Sign up free, click here
To change your ENN Newsletter and alerts preferences here

WHO'S WHO IN PR

Full listing of Irish PR firms, including high-tech specialists. » Click here