10 Things I Learnt Developing and Publishing An iPhone App

Designing, coding and publishing an app is a rich and rewarding experience. Even if the app isn’t profitable, or you do it only once, there are some valuable lessons to be learned by going through the process.

Developing apps for mobile has become increasingly accessible to a large number of people who otherwise would have sat on the sidelines. The portability and connectivity of these devices have inspired a lot of creative ideas from people who may not be programmers to begin with but quickly became motivated enough to code their own app.

My own app, pocketKPI, was an idea inspired not necessarily from creativity but from recognising a gap in the market for a highly customised, affordable and simple way, for businesses of all sizes, to get key performance indicators on to the iOS devices of their employees.

pocketKPI has been more successful than I ever expected and whilst I am happy with the app, profitability still remains a challenge. I still don’t feel like the time and effort put into it has been rewarded appropriately in sales. Putting revenue challenges aside though, creating and publishing an app in the Apple App Store was an incredibly valuable and rewarding experience. Here are some of the learning’s from my first foray into mobile app development.

Note: Whilst these learning’s are related to my experience with iOS development and the Apple App Store, I believe they are generic enough to be applied to other mobile platforms.

Learning #1 — Marketing your app can take as much (or even more) time as coding it

Looking back on the journey from app idea to app launch, one thing that still surprises me was that I spent as much time (if not more) in marketing the app as I did in actually coding it. Even today, with each new release there is new artwork to be updated, text to be written about the new features, change logs to be published, app store descriptions to be changed and a dozen other “non-programming” tasks that need to be done.

When I first released the app I wanted to make it as visually attractive as possible but having a visually appealing app is only half the battle to a top selling product. Even based on my own experiences, when I am evaluating 2 competing apps in the app store, I will visit their websites and determine my purchase on how professional the website looks and how current their information on the app is.

Delivering a polished app necessitates a polished experience for everything around it. The App Store entry is your first interaction with the customer and should inspire them to buy. Your visuals are important here and you have only a short time span of your audience to prompt their purchase decision.

A screenshot of pocketKPI in iTunes. You need this to grab the attention of your customer.

Next, your website is where they will go to learn more about the app and it should be clear, concise and impactful. Making a good website and setting up your App Store entry takes time…and a lot of it. Prepare to spend as much time on preparing all the marketing aspects of your app as much as you did to make it (assuming you are working on your own). Even with readily available tools (like Wordpress) and the myriad of templates available for it, you will need time to customize the look and feel to match your app and pull all the artwork and text together (or be prepared to pay someone for it).

A screenshot of the pocketKPI website header. Strong visuals will help sell your app.

It helps if you already have domain hosting with a company and can host your own site. You might also find you will begin expanding your coding skills in HTML/CSS/Javascript and improve your knowledge of Content Management Systems like Wordpress. An added bonus for your resume.

What is known as “copy”, or the text that describes your product and provokes a reaction to buy (or not) from your potential customer, should not be overlooked. For this I ran my ideas past a good friend with communications experience and tried to make the language as consumer friendly as possible avoiding tech jargon and focusing on how the app would service the needs of the customer.

An example of “copy” explaining some of the features of pocketKPI.

Learning #2 — Provide sample data to help increase understanding of the apps value

pocketKPI is designed to take data from customers and visualize it. On its own, without data being fed to it, it doesn’t do much. Presenting an app with a blank screen probably wasn’t going to encourage people to buy it.

In order to give potential customers an idea about how the app works and about how it can be used in their business, I needed to provide some sample data. Data that appears in the dashboard the first time you launch the app and only changes when you specify your own data for it to use.

If you are building a business app such as pocketKPI you need to provide something to inspire customers. Something to get their creativity flowing and to get them excited about how the app can apply to their business. I created sample data for a cross section of industries to help customers make the leap from a purely conceptual view, to a tangible sense of how the product could be used in their company.

Providing sample data required some infrastructure to host it. Make sure you account for this and for potentially a lot of people to download these files. I provided sample files for download from the website and also built them into the app as well.

Sample files available in pocketKPI.

Learning #3 — Getting the price right on your app is tricky…but experiment

As this was my first app and I was not as confident as I could have been in communicating its value, I set the price at a low $1.99. My thinking here was that it needed to be super cheap in order to sell.

It did sell, but surprisingly it sold just as well when it went up to $3.99. There is a point at which something can be “too cheap”. Particularly if you are marketing a business app, there is something to be said for the psychological tendency for business users to think about “paying for quality”. Pricing your app too cheaply not only reduces any profit margin but can also scare away customers who ask the question “why is this so cheap and will I get the required support for it if it is priced so low?”

It’s a strange dynamic and not one I entirely understand yet. This dynamic also changes whether it is a game, a utility or a productivity app. People have written thousands of words on their experiences with App Store pricing but the learning I want to share here is, don’t be afraid to experiment with pricing when your app launches. You are probably pricing it lower than you need to and there is a good chance lower volumes at higher prices will work out more profitable for you if have a niche product like mine.

Learning #4 — Your customers are global. Expect to face global issues (including language barriers)

One of the wonderful features of the Apple App or Google Play stores is global reach. When you submit your app to these sites you automatically have access to customers from the entire world. With any luck you will see people buying your app from Dubai to Dallas.

This also presents a unexpected challenge. Whilst the multilingual capabilities of iOS are already quite strong, I did have to trouble shoot quite a few issues with the app due to foreign language characters. Everything from strange text being displayed to the data file not being processed correctly.

In the English speaking world we often forget that opening our app to a global audience may present some issues when other languages are used. This also extends to correspondence when discussing problems. Expect to hear from customers whose English skills aren’t strong. If you value your customers you will need patience and understanding when trying to solve issues with someone for which English is a second language.

Learning #5 — You need an FAQ for your sanity

A Frequently Asked Questions section on your website will save what precious time you have left in a day. I was very surprised by the volume of email I received with people asking essentially the same question. When I introduced a FAQ section the volume of this email decreased dramatically.

Add a FAQ to your site, update it frequently/rapidly after recognising repeated questions and make it prominent on your site. This will free your time to focus on developing the app and not answering the same questions over and over again.

FAQ sample from pocketKPI website.

Learning #6 — Plenty of nibbles, not enough bites

An encouraging outcome of my app after release was the interest it garnered from several large organisations. A couple of them expressed interest in buying copies in the hundreds for their employees.

It’s easy to become excited by these potential sales but far too often, people came back with an apology after corporate red tape got in the way of following through with their promises. This happened quite a few times. Don’t let it discourage you. Rather than get frustrated at this I thought about how I could increase my chances of getting large organisations to buy into the app.

I prepared a Powerpoint deck (yes…I know…it’s a necessary evil) that laid out a case for pocketKPI. It is plain black and white and contains only artwork showing the product to allow the customer to brand it anyway they like and turn it into a presentation as if it was their idea. My objective in providing this is to get an organisation to buy my product. If making someone look good as they pitch the product in front of stakeholders helps sell more copies, everyone wins.

You can see the presentation in the link below. Note how it focuses on a business problem first, describes the value of having KPIs on mobile and then finally offers pocketKPI as a cost effective solution.

pocketKPI presentation on “Getting Buy In” to purchase the app for an organisation

Learning #7 — Major OS version changes are painful. Prepare for them early.

When Apple changed the look and feel from iOS6 to the “flattened” iOS7, apps became dated very quickly. Just recompiling the code for the new iOS was messy and there are challenges in changing the code. It’s not only visuals. Certain API’s get deprecated and there are often more efficient ways of doing things in new releases compared to your current code base.

As a member of the Apple Developer program we get access to early betas, yet I never took advantage of the opportunity. As a result, I am now sitting down and revamping pocketKPI for iOS9 and things have changed so significantly I am even considering going back to the beginning and rebuilding the code using many of the new language and graphical features iOS9 provides. Meanwhile, my customers are stuck on a dated looking app.

Anticipate changes in the OS. Plan for them early and take advantage of beta releases to prepare your product for OS upgrades.

Learning #8 — Pay attention to “Feature Creep”

As complete as you think your product may be, customers will always think of new and creative features that they will suggest to you. Feedback is great and pocketKPI changed significantly over the 4 major version releases as a direct result of feedback from customers.

The mantra I always use in developing apps is: develop the absolute minimum you need to publish an app and then polish the experience until it shines.

Feedback from your users helps with the polish but the trick is finding the balance between ideas that enrich the app for the benefit of every user and those ideas that meet very specific needs of customers.

The best thing to do is engage with users who give you feedback and probe further into the idea. What problem does the new feature solve? How will the idea aid in the adoption of the app in their organization?

Sparklines were a feature I had considered but felt weren’t important until a lot of customers asked for them.

If the idea seems like to increases the value of the app to your customers, add it to the roadmap and make sure you highlight this to the idea submitter. The hardest part in this is letting people down easy when their idea is clearly too specific for generic introduction into your app.

The trend line in pocketKPI was the result of feedback from users who provided a pretty solid case as to why the app would benefit from a something that would show a snapshot of the overall trend of a KPI.

Learning #9 — Share your Roadmap

One thing mentioned positively quite a few times by the customers of pocketKPI was the availability of a product roadmap.

Having a roadmap explaining how you plan to evolve the app is a big bonus. It demonstrates a commitment to the app and articulates your vision for how it will continue to help your customers with features they may not even realize they need. In addition, it may encourage people to buy your app now, even if certain features they know they want, aren’t available until a little further down the track.

Learning #10 — Collect Testimonials. Develop a Press Kit

If you hear from happy customers, capitalise on that. Use testimonials from people and plaster them over your website. If they have the time, ask them to write a little mini review or case study so they can inspire other people to purchase your app. People writing about their experience and telling the story of your app in their organization is surprisingly effective.

Don’t underestimate the power of blogs. pocketKPI was struggling with sales until I began to send free copies to various blogs to review. To increase your chances of getting your app noticed by reviewers develop a press kit. They receive thousands of apps a month to review and the more you can help them do their job easier the more likely they are to review your app.

A press kit should contain a general description of your app and why you think it is different. Screenshots in various sizes, app logo in various sizes and various marketing shots of the product. Blogs and reviewers can dramatically increase your app sales so invest the time in a press kit.

See the link below for a sample of the press kit developed for pocketKPI.

pocketKPI Media Kit


These ten items I hadn’t even thought about when I first embarked on mobile app development. As a developer it is hard sometimes to look beyond the initial process of coding something. You figure that you post the product to the app store and then sit back and wait for the cash to roll in.

Looking back on the journey, it was incredibly rewarding in that, by going through the process, you learn a lot and face challenges you never expect. It is like a crash course in marketing, customer relationship management, user support, market economics and web site development all thrown into one fun ride.

If you are independent developer you are going to have a lot of work ahead of you but you will learn a great deal. Even if you do this only once, it will be a rich and rewarding experience. So what are you waiting for?