How To Create An iPhone App

Repeat after me: the idea isn’t the hard part

Cailynn Klingbeil

It started out as a simple task: turn my great idea for an iPhone app into an iPhone app. I wanted to see what the process involved, with the ultimate goal of creating a tangible end-product. My editor agreed to this story, as he was interested to see what people who have good ideas that they want to turn into iPhone apps, but no programming knowledge, can do. Along the way, I was determined to prove co-workers wrong (“you can’t invent an iPhone app in two weeks!”), and cross the longstanding item off of my to-do list.

If only it were that easy.Here’s what happened:

Step one: Google ‘How do I invent an iPhone app?’

I was immediately led to an article titled How To Create Your First iPhone Application, complete with a how-to guide of steps to turn an idea into an app. The first step is to determine if the idea is a good one, based on if the idea meets the site’s “indicators of success.” My idea meets four of the five indicators, so I confidently moved on to the next step, where I was slightly discouraged to learn that I only had one of the tools, a spiral bound notebook, on the tool checklist.

Step two: Return to Google.

I read “Young Brothers Invent Bestselling iPhone App ” and quickly thought, if an 11-year-old and a nine-year-old can invent an iPhone app, I’m pretty sure I can too. I also read about Lim Ding Wen, a Singapore boy who released his first iPhone app at the age of nine. He originally created a finger-painting program, called Doodle Kids, for his two young sisters, but now anyone can download the program that allows users to draw images on the screen using their fingers. Again, I was buoyed by the thought that if a child can invent an iPhone app, then I can too.

Just to be certain, though, I checked with Lim Ding Wen’s father, Lim Thye Chean. We corresponded by e-mail and he assured me that his son is “not a genius of any sort.” Lim Ding Wen, who learned how to write games at the age of seven, just finished a program for the iPad and is currently working on a kart racing game. “Programming is just something fun for him,” says his father, “People are usually fascinated by the ability of a nine-year-old to write an iPhone program, but in fact any kid can do it. They just need the proper mindset and environment.”

Step three: With that in mind, it was time for some market research.

I’d been coy about my great idea for an iPhone app, staying tight-lipped around prodding co-workers for fear of my idea being stolen. I’d like to see what else exists in the same realm as my idea, so I start searching and quickly learn that I might not be the only one out there with this “great” idea.

Others, it seems, aren’t so worried about their ideas being stolen – I read this piece on mobile garage-sale apps. The description is almost identical to my idea: “an app that finds garage sales near your current location, then maps them on your phone and gives you driving directions. (And of course it takes into account the hours of the sales.)” My app would include a few more features (which I’m still staying tight-lipped about), but that’s the foundation, right there on the Internet for all to see. I’m not sure where to go from here, so I track down a software developer who gets paid to develop apps and schedule some time to talk.

Step four: “The idea isn’t the hard part,” says Brandon Tennant, a Vancouver-based software developer.

“Ideas are all over the place and there are good ideas and bad ideas, but that’s really not the hard part. The hard part is the execution, it’s how you go about testing the idea as a good idea and how you go about getting it into the hands of people, so that’s the part where you actually build it – that’s the hard part.”

I was sort of hoping Tennant would help me invent my iPhone app on a very tight timeframe and nonexistent budget, or point me in the direction of who could help, but as he began to describe to me the process of creating an iPhone app, I realized there is no way this is going to happen. “It’s a pretty big process,” he says, laughing.

Step five: So what is that process of inventing an iPhone app?

First there’s an initial interview-like process, where Tennant talks to the client who has the idea for an app and asks questions to determine what the purpose of their application is. “If what you’re trying to accomplish, the stated goal, is not clear, the software that comes out the other end is equally unclear and usually not successful,” he says.

Refining and elaborating on the initial idea is followed by an early design phase, “almost like engineers designing on a paper napkin.” After drawing up the rough ideas of how the screens will connect to each other and how the user will navigate the information, the developer will typically return to the client and further refine the now-roughly-designed idea.

The application’s overall aesthetic is considered, then it’s time for user testing, with feedback resulting in even more revisions. A prototype can then be created, which doesn’t handle error conditions but gives people an idea of what the product is generally like. Before the final product is complete another stage of acceptance follows and revision happens again. “It’s a really extensive process,” says Tennant, who estimates he has helped to write about 15 applications since beginning to write specifically for the iPhone in early 2008.

Step six: You mean I can’t invent a successful iPhone app in two weeks?

After learning just how extensive, costly and time-consuming the process of turning an idea into an app really is, I remained curious to know if Tennant often encounters people who want his help. Yes, says Tennant, noting the typical reaction from anyone who finds out his day job is, “oh cool. I’ve got a great idea. Let’s talk.” He does have a few pieces of advice for those aspiring to turn their ideas into an app: “Becoming involved with it as best as you possibly can is the best way to do it,” says Tennant. “It’s almost impossible to have a successful product just by saying I have an idea and then leaving it at that.”

Step seven: There has to be some other way.

Following my conversation with Tennant, I knew I could hypothetically work with him, or any other developer, to turn my idea into an application. I was also quite certain I didn’t have the money required to produce the sort of products Tennant makes. “The budgets of the projects that I have been on have typically been in the hundreds of thousands of dollars, if not millions,” says Tennant. Surely there has to be something out there, though, for all the aspiring iPhone app developers just bursting with good ideas. I turn to Google, again, and discover MEDL Mobile’s app incubator. “We’ve opened the playing field so that everyone can have a chance to bring their creativity to life and share in the profits,” states the site, which lets users pitch ideas that, if chosen, will be designed, developed and marketed by MEDL, with the person who had the idea receiving 25 per cent on the profits.

Step eight: This sounds exactly like what I’m after.

Just to be certain, I got in touch with someone who knows MEDL much better than I do. While working as a trash collector in England, Robert Shoesmith submitted a few ideas to MEDL’s app incubator. “I was collecting rubbish by day,” says Shoesmith, “and a couple of weeks after submitting my ideas, MEDL came back to me and said they were very interested in one idea and they developed it.” That idea turned into Problem Halved, an app that allows people to post a problem that others can then solve – after all, a problem shared is a problem halved.

Shoesmith won’t say how much money the app made him, due to investor confidentiality, but it is clear its impact has been life-changing. He now works fulltime for MEDL mobile as a marketing and PR executive and is currently in the midst of an experiment that involves camping out for the iPhone 5.

Shoesmith says that he had initially looked at other avenues to develop his ideas into apps, but financially wasn’t in a position to invest such money. He used the app incubator and marketed his own app to great success. “I put off telling MEDL that I worked as a trash collector because I thought that they might stereotype me a little bit, but that wasn’t the case at all,” says Shoesmith. “When I told them I worked as a trash collector, I remember someone saying Hollywood couldn’t script this better, as it made such a good human interest story.” Shoesmith now works for MEDL marketing others’ apps – “each app has an individual story behind it,” he says.

Step nine: See what others are doing.

For those not willing to settle for 25 per cent of profits, inventing your iPhone app can be done on your own – it just requires a lot of background knowledge, or a willingness to teach yourself that knowledge as you go. A college journalist recently invented an iPad app called SoundNote and a farmer in Alberta recently developed his own iPhone app, though the headlines don’t mention that the farmer is a former corporate software developer and the college journalist has played around with programming as a hobby. And be warned that your work isn’t over once the app is developed – you still have to get people to buy it, as the inventors of a shopping app are learning. With over 300,000 apps in the Apple store, competition is tough.

So repeat after me: “the idea isn’t the hard part.”

20 Responses to How To Create An iPhone App

  1. Vlad says:

    Hi.Fortunately I have found a web service which allows people to build iPhone apps in some minutes. It can be easily done without programming skills and you can create an app according to your taste because the service makes it possible just to choose buttons and tabs and drag them to any desired position. Besides you can input text and name tabs as you wish with the help of WYSIWYG editor which supplies total control over app user interface. Before submitting an app to an iPhone it can be tested in a moment. I suppose this service is worth attention.If get interested you can go to http://www.snappii.com

  2. Matt says:

    Cailynn, you didn’t even try. You could have attempted to build the most basic of prototypes just to get your idea fleshed out.

    Instead you called around and came to the conclusion that this is a “hard thing” so you’d better not even try.

  3. Michael says:

    Smashing Magazine’s list of tools could be acquired by anyone in a day, even the Mac if you don’t have one already. I understand that this is just one of many articles you have to write, but how much better would it be if you actually tried to use the tools and documentation Apple gave you, and Smashing Magazine explained to you, before reporting back?

  4. Kyle says:

    In response to Vlads comment, I highly doubt his product will meet the needs of most people. First, a disclaimer, I’m a professional programmer, I have worked, and am currently working for fortune 500 companies. I like to think I’m pretty good at what I do, but I’m far from the best in the industry, probably slightly above average.

    The dream of a WYSIWYG application builder you can use without having any programming experience is an old one, it’s been around for nearly as long as computers have. The venerable old language of COBOL was initially conceived as a way to allow non-programmers to if not write, then at least read and understand programs. Over the years various companies and people have attempted to create systems for non-programmers to write programs, and they have all largely failed. It’s possible to create very specific tools for creating a very specific type of program, but these are closer to templateing systems in which all the “programs” produced are essentially identical with only a few points of customization. It’s sort of like selling a mad-libs book as a “write your own story, no writing experience necessary!” book. It can work in certain niche markets, but it’s hardly a general solution. Other efforts always fall into one of two categories. The first category tends to produce useable results, but it ends up requiring the user of the tool to learn what is in essence a specialized programming language created just for that tool, and in general produces results that are much worse than if the user had learned an actual language in the first place. The second category tends to fail abysmally, either the users program is too complicated to be expressed by the tool and they give up part way through, or else the program is so trivial that it can never be a commercial success due to other programs solving the problem better.

    Lest you think programmers are immune, even we sometimes succumb to this dream (after all, someone has to write all these WYSIWYG “programming” tools). A classic example that’s met with some limited success is the plethora of WYSIWYG GUI designers on the market. Some of them work very well, in particular the ones for Netbeans (Java Swing), OS X (and iOS), and Visual-Studio, all function relatively well. Even these “good” examples however are not a final solution, and the code they generate often requires further modifications by hand. Instead of being a solution to themselves, they’re a convenient shortcut, a scaffold on which to build the rest of the functionality. The less successful designers are considerably worse, and often consume large quantities of what would otherwise be productive programming time in attempting to work around their shortcomings.

  5. iPhone apps are usually high four digits for simple apps to mid 5 digets for moderately complex apps. Only very complicated projects go into the 200k plus territory. (I’m a third part app developer).

  6. Paul Joslin says:

    Unfortunately, I don’t think you actually got to the hard part (although you touched upon it in point 9).

    As software developer myself, I have the ability to turn my own ideas to reality – skipping the major hurdle of ‘how much it costs to build’ / who can build this for me issue. Ultimately the only cost for me will be in time (evening / weekends outside of my usual 9-5 job).

    However, as myself and many more have found out – if you build it, then they *probably won’t* come. You read countless success stories, about people who hit the app store lottery jackpot and made their millions, but you rarely hear about the people who invest a lot of time / money into their apps which fall into obscurity. This is a n extremely common occurrence, with probably less than 1% of apps ever making any money at all.

    So why do people fail so often?

    It generally comes down to two things (which most people, including software developers forget):
    1. The idea was never validated properly. Because we’re so worried about people stealing our idea, we actually never tell anyone. Of course, when you do tell someone or do research, you may find it’s already been done, or the idea just isn’t as a good as you originally thought it was. After all, what’s the market size for the app? Would people want to pay money for it? Is it solving a problem people are passionate about?

    2. And secondly, lack of emphasis on marketing / Luck. Ultimately, like launching your own website, if you launch an app – no one knows it exists. Therefore no one will be searching for your app and therefore you’ll get very few or no downloads at all. These days it’s well documented about the attempts you can make to ‘Market’ your app, but since everyone is trying to use the same techniques, ultimately the effect is negated.

    Finally, luck. I’m not saying that you don’t need a good idea, good app, good execution and good marketing. I’m saying, you need all that plus a little luck to really make it big. One of the key factors in app store success is initial traction and being featured. Since the majority of people find new apps through the charts and you’ll need to be selling a lot of apps to get into the charts, it generally proves to be a catch 22 situation that most apps can’t resolve. Often, it’s the act of getting featured by apple, that allows the app the initial traction onto the app store top 25, which then propels it to the top spot and app store glory.

    …………………..

    I think one thing you maybe failed to mention in your article, is that you can sometimes get lucky if you’re more vocal about your ideas from the start. People WON’T steal your idea. They’re far too busy working on their own ideas to care and know that the process of getting that idea to market is so long, they would rather wish you luck than attempt it themselves! I repeat, they won’t steal your idea…

    Instead, you’re far more likely to validate your idea early on. Infact, if you can create a list of interested people (mailing list perhaps?) (kickstarter submission?) (twitter followers?) – then not only will you know people actually want this idea to be made, but you’ll have an initial audience to launch to immediately! Hence solving this issue.

    Now, that in itself is a good idea! A service, which allows people to validate ideas and get initial customers, before even starting the ball rolling at all. (It’s one I keep meaning to work on, but ultimately know that I’ll have to over come the marketing / initial traction problem on it too first).

    Finally, it’s worth telling people about your idea, because you never know, you may meet a developer like myself – that just likes working on ideas for fun in their spare time and since they think your idea sounds awesome! they’ll help you make it a reality.

  7. Andrew says:

    Glad to see someone discover that our profession is not simple and easy.

  8. Marcus Hast says:

    I actually think it would be quite possible for an experienced developer to make an app like that in about two weeks. It would be a rough draft of course, but the basics would be there.

    (I say this as a fairly experienced Android developer.)

    The problem I see with ideas like this is that they are often not entirely complete. Eg, mapping locations on a map and providing guidence is not that hard (assuming the actual turn-by-turn navigation is handled by Google maps). The hard part is often to get the garage sale locations in a computer readable format. If you don’t have that in a database already it can be a lot of work to get that in place.

  9. You make it sounds too hard. Just don’t care too much about $$$ first, write something fun!

  10. jotbuzz.com says:

    Anyone can have an idea, to change it something real requires an enthusiast.

  11. Candice says:

    As a non-developer, say if I post an ad on Craigslist, how do you decide between one person’s resume or another? Aside from knowing you need them to have x, y, and x languages under their belt.

    I’ve worked vigorously to work out a marketing plan and the wireframing is done. I went to a couple of startup events but it seems like, if you’re a developer, you’ve already got a few things on your plate. Is it possible to find a good/great developer who is NOT busy?

  12. Vlad says:

    I don’t agree with Kyle concerning the suggestion that Snappii product will not meet the needs of people. You should take into consideration that programmers’ service is quite expensive and it’ll take a lot of time to produce apps, with Snappii you’ll have a ready app in 20 minutes. Besides Snappii is going to launch new features in the very nearest future e.g. to use HTML inside the apps.It’ll give great possibilities to create various and functional app.

  13. Hi,

    Thanks for your interest in and comments on my story. When I set out to make an iPhone app, I honestly thought it was something I could do. It turned out to more difficult than I expected from the very start and that is what I wrote about.

    A few of you have said I just didn’t try hard enough. Considering the budget and time constraints for this particular story, I disagree. The process of inventing an app is more complicated than the average person thinks – so all the more power to you programmers and developers out there who can do just that and do it well. That’s not to say the average person can’t put their mind to it and figure it out. In fact, many people do just that – but I, so far, am not one of them.

    I’ll leave the invitation open to anyone who wants to come show me what step ten to my story could be, or perhaps help me on step one.

  14. Alexandra says:

    Hey, have you tried web service that allows non-programmers make iPhone apps in minutes like snappii.com?

  15. Jon Russard says:

    For those of us that are programmed challenged, I eventually went with Nov8rix (www.nov8rix.com) who offers customizable apps, branded with one’s own design and content. Found them through a TUAW review: http://www.tuaw.com/2011/06/13/click-and-drag-iphone-app-creation/

  16. Neil says:

    Really, the thing about making software is all about aptitude, and it’s a very specific type of aptitude, that needs problem-solving, logic parsing, and creativity in one person. There’s almost nobody who can’t eventually learn to be a programmer. But there are a very small group of people who just have an intuitive feeling for these activities. In the well-known book ‘Peopleware’ published back in the 1970s, their chapter 8 ‘You never get anything done around here between 9 and 5″ lays this out in detail. They established that a very talented programmer would be ten times more productive than a slightly-lower than average programmer, and sometimes a lot more than that. See http://www.amazon.com/Peopleware-Productive-Projects-Teams-Second/dp/0932633439

    Lots of times these types of people do badly at school with it’s regimentation and few subjects that really develop problem-solving or logic-parsing skills. Until ‘computer studies’ came along as a subject in school, lots of these kids didn’t really shine anywhere else.

    So the father who didn’t think his son was ‘any kind of genius’ was almost certainly wrong, but his poor marks in school would be concealing pretty special talent at this programming business.

    In this article, you start out thinking that two weeks sounds reasonable, but you suddenly find from an expert or two that this will be hilariously optimistic. But the factors that cause those delays do not exist in the talented person (boy/girl/kid/adult) and they really can break the back of a project in a day or two.

    However, you add the issue of having zero experience in the area. So little that I get the feeling from the beginning of the article that you don’t really even know what app creation *is*. In this case, two weeks to create an app really is extremely unlikely, regardless of talent or potential. There’s a decent amount of background knowledge and experience that you need to even start.

    Still, once you get very experienced, you start to see obvious patterns emerging in the type of work you do. Lots of apps contain similar mundane stuff and instead of writing it again for every program, you come up with a way of generating application code that itself creates applications, after you ‘design them’ in an interactive environment.

    Using tools like that is great, and doesn’t make the thing you create any less of an app than if you wrote all the code by hand. But for any seriously well-made application you would employ an experienced developer who will write most of it by hand with ease.

    I apologise for the long-windedness of this post; I have just smoked a ton of weed but I tried to get all the ideas in there. I think your article was actually great and came to the right conclusion. I was expecting a much lighter and more ‘positive’ article that didn’t tell the true story and made it sound easy for anyone, although eventually I hope it is. So don’t take this as criticism. I just wanted to try and explain why you found this gap in what seems possible for a nine-year-old and yourself. You perhaps don’t have a strong aptitude for the process, and you didn’t know a thing before you started anyway :)

    Anyone who is interested in this type of analysis of programming could read the aforementioned ‘Peopleware’ and also the classic ‘Mythical Man-Month’ here: http://www.amazon.com/Mythical-Man-Month-Software-Engineering-Anniversary/dp/0201835959/ref=sr_1_1?s=books&ie=UTF8&qid=1322197430&sr=1-1

    Thanks

    Neil

  17. Neil says:

    Candice said:

    “Is it possible to find a good/great developer who is NOT busy?”

    Unfortunately Candice, the answer is no. I will add another factor to your question: They won’t be cheap either. People who are genuinely good developers will be flooded with work and in Australia where I work the *good* ones can charge $1000 per day or even more if they can attach themselves to a good client. Which they usually do eventually.

    Your best bet is to find someone young but talented, but it’s a lottery when you start trying to deal with teenagers or people in their early 20s.

    The best rule I have found when trying to figure out how long a project might take, or how much it might cost, is to use this well-known adage:

    Software can be cheap, it can be full of features, and it can be delivered quickly.

    But you only get to pick two. Doing all three at once is always what customers want and it’s impossible.

    I’ve been mangling code in just about every type of employment you can imagine since 1985, and I’ve never seen this rule broken :) Good luck!

  18. Vladimir says:

    @Kyle – using online, or let’s say web based mobile app building tools is quite a common experience among both those who are good programers and the ones who lack in programing/development skills. I was happy to find the variety of online mobile builder tools nowadays as it gives me the option to actually take some time for testing purposes and find the one that suits me better. As an example, you may consider checking upon SeattleClouds (http://seattleclouds.com) web based app builder. If you got a pretty good and not-alike idea for the app, but do not know where to start, you may simply select a starter application template there and edit its appearance till you meet your may idea of the app’s design. Add some native pages to your app to make it more interactive (depending on the apps type): let’s say if you are making an app to promote your business, you may use Notes, Calendar, Feedback pages, interactive Maps (Location finders), RSS feed pages, etc. and there’s a lot more to be seen there. Yes, building an app, I mean a worth one, it pretty much time consuming, but even using online app builder tools it is quite reasonable and efficient.

  19. Ben Reynolds says:

    Awesome walk-through of this complicated process. Probably the best / most comprehensive article on iPhone app development I’ve read in awhile. Thanks!

  20. Donna says:

    I tried to create my application for the iPhone myself, studying more online resources, but I failed. I don’t know programming and have many gaps. Then I decided to look for other ways to create my application. I tried to find developers, but are expensive. Finally, I found the best method for me – I create my application myself using online services. It is easy to use and is not necessary to have a Macbook. If anyone is interested I would recommend SeattleClouds, I am satisfied of their services.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>