The .NET Addict's Blog

Kevin Hoffman

Subscribe to Kevin Hoffman: eMailAlertsEmail Alerts
Get Kevin Hoffman: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Related Topics: RIA Developer's Journal, iPhone Developer

RIA & Ajax: Article

What is an iPhone Application?

iPhone Developer Series - Part I

This is the first article in a series that I plan on writing about iPhone application development. The first thing you should know is that these articles will not cover anything related to taking existing content sites and making them more "iPhone-friendly". While I think that is a valuable topic, it has little interest to me as a programmer. If I was a website manager, then it might have more interest to me. There are plenty of online resources for making your web content more iPhone-friendly and the fact that the iPhone runs a full version of Safari makes this a somewhat minor task.

Secondly, while I may refer to the "iPhone" as the target device for this series of articles, keep in mind that there are now 2 devices that can be considered targets for "iPhone Applications": the iPhone and the iPod Touch. The iPhone can access potential iPhone apps using WiFi or EDGE and the iPod touch can use WiFi. Do not underestimate the potential consumer base of the iPod Touch - think of the number of public WiFi locations as well as the number of people who have WiFi in their homes... the iPod Touch users will be quite well connected, even without the backing of a cellular network.

Thirdly, while I am aware of the possibility of jailbreaking my phone and using things like iPHUC (gotta love the choice of acronym there) to push stuff to the phone that will eventually allow me to SSH which can then eventually allow me to compile native Objective-C apps for the phone - I'm not covering that in this article. Not only is it an unsupported activity, it is certainly not something that the average iPhone user can do, which rules out the ability of distributing your application to a mass audience. Not to mention the fact that I think every time you jailbreak an iPhone, kittens die. Hey, that's the rumor.

So what is an iPhone application? To be short, an iPhone application is a unit of discrete functionality delivered via the Web to a mobile form factor device running Safari 3 over a potentially narrow-band network. There is a lot more to it, and I address the anatomy of an iPhone application in the rest of this blog post. While I provide an overview of some topics here, I will be covering a lot of these topics in much greater, perhaps painful, detail in subsequent posts.

Discrete Functionality

When building your iPhone application you need to keep in mind that you need to provide a discrete unit of functionality. The iPhone is not the platform on which to be deploying monolithic applications. If the consumer of your application needs to pick from a lengthy menu of features to utilize on the phone, then your application is not finite enough. Keep the scope small and provide a very clear, distinct purpose for your app. Before writing your application code, jot down a single sentence that describes the problem your application solves, and write down another sentence that describes the functionality contained in your application. If you have a tough time narrowing the functionality of your application down to a single sentence, perhaps it is not meant to be an iPhone application, or perhaps you need to break it down so that some of your app functionality is delivered via iPhone and the rest via traditional application means.

More Stories By Kevin Hoffman

Kevin Hoffman, editor-in-chief of SYS-CON's iPhone Developer's Journal, has been programming since he was 10 and has written everything from DOS shareware to n-tier, enterprise web applications in VB, C++, Delphi, and C. Hoffman is coauthor of Professional .NET Framework (Wrox Press) and co-author with Robert Foster of Microsoft SharePoint 2007 Development Unleashed. He authors The .NET Addict's Blog at .NET Developer's Journal.

Comments (2) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
Mike 09/23/07 10:00:34 AM EDT

Now that you know what an iPhone application is, you are ready to visit AddFone.

http://addfone.com

AddFone is search engine / directory of iPhone related applications that has the largest database of applications around (web and native applications).

Check it out.

iPhone News Desk 09/19/07 04:42:30 PM EDT

This is the first blog post in a series that I plan on writing about iPhone application development. The first thing you should know is that these blog posts will not cover anything related to taking existing content sites and making them more 'iPhone-friendly'. While I think that is a valuable topic, it has little interest to me as a programmer. If I was a website manager, then it might have more interest to me. There are plenty of online resources for making your web content more iPhone-friendly and the fact that the iPhone runs a full version of Safari makes this a somewhat minor task.