How an iPhone App gets developed

It is often said that ideas are ten-a-penny, that development is where the real magic happens. I’m not sure things are quite so black-and-white, after all I’ve known some pretty magical ideas (and their owners) in my time, but it is definitely fair to say that some magical development can turn something humdrum into a major-league hit.

But behind the scenes, what makes the magic happen? How can a company like DigitalOrigins turn an idea into a killer App?

First off, we like most companies, brainstorm an idea with a client and mould it, poking and prodding until we understand everything our client is aiming for. Here it’s about aims, not techniques; as long as the aims remain true, the techniques can be whatever is required to get the job done. Once the aims are understood, we start on a simple design and prototyping loop to help contextualise those aims and bring them into something that the client can actually experience. Here we’re simply creating bare-bones interfaces and workflows to illustrate areas of contention, and generate simple movement through an App giving a feel for what could be expected at completion. Things not feeling quite right? Back to the design phase. The idea not quite as strong as expected? Tweak the idea and adjust. As any professional developer will be able to tell you, getting aims and objectives right here, saves time, money, and a whole heap of heartache later. By the time we’ve reached the end of this process, we are in a great position to make time and cost estimates and draw up a general development plan.

Now some companies move onto full development fairly early in this design phase, preferring to hone and adjust details and timescales whilst full-scale development is in progress. These agile-focused companies tend to prioritise the maintaining of close ties with the clients, working alongside them on a short but regular basis to ensure that the design matures over time like a fine wine, and as new features are designed and implemented, they are demonstrated, discussed and adjusted where necessary alongside cost and timescales. I personally like this way of working; it builds trust early on in the development cycle, and lays the foundations for strong communications and relationship-building throughout the project, two major features inherent in any successful contracting project. The drawback is that the cost-estimates and development plan become less black-and-white, only natural when building in the ability to adjust mid-flow. My experience has shown though that the additional transparency and flexibility more than makes up for this rather more “fixed” planning process, even if it can be somewhat less predictable.

Whichever way the company chooses to work, the development phase is where the aims, the design ideas, the code and the artwork are all brought together piece by piece, tested, demonstrated and added into the coherent whole, building the core app up slowly over time. This is a good time, a time of communication and sharing, a time of changes, adjustments, of iterating, but of ultimately moving forward and creating something special. I have yet to find anyone that didn’t get a buzz out of this phase; being able to create something out of nothing with a client really can be a rather invigorating process for all involved.

Once iteration has produced an app that hits all the aims (adjusted and tweaked where necessary during the development phase), the product is nearing release. For most development companies this is the application’s Beta phase, the phase where the app is poked and prodded from all directions, squeezed over and over to force bugs from the system. For some it is also an opportunity to add polish, to add speed where necessary, to add that final layer of gloss that turns a good product into something great, all before sign-off and handover take place.

And for many this is the ultimate goal; completing Hogs of War for Infogrames simply saw the handing over of the gold-master followed by a project post-mortem before moving onto the next project. For others this is just a step along the overall project lifecycle; NavisWorks saw this sign-off process as simply a gate to move through prior to further design, development, testing and release iterations. With today’s electronic distribution, particularly with the App Store enabling ongoing feedback and bug reports, as well as bug fixes, additional features and further releases, all within relatively short timescales, it makes sense to have this milestone as a more open-ended project goal. But at some point the first release must be pushed out, to the clients, to the public, and this is where it happens. Simple.

To some it may seem like a rather complex process, but actually, when working with a good professional software company, one who wants to work with you rather than just for you, much of these elements are managed behind the scenes, and, from a client’s perspective, the whole process can tend to flow rather gracefully. I’ve worked with many companies over the years that have marvelled at just how smooth and efficient the whole process can be. The key? Work with someone that knows what they’re doing, someone who wants to work with you not just for you, and someone that has a passion for making something that’s great, rather than just making something.

As I’ve always found, follow those three elements and you really can’t go to far wrong.

Leave a Reply