Mobile App Development for the Non-Techie
Most business people know they need a mobile presence but many don’t know where to start or even what an “app” truly is. Technology is moving quickly and as usual the business owner whose core business is not technology-centric is left behind in the ongoing and ever-changing technology conversation. Recently that conversation has centered around mobile devices. Mobile is an exploding field, with new devices seemingly entering the market every day and an ever expanding user base demanding more convenience. If the business does not enjoy a mobile presence, the marketplace may leave them behind.
Here at Boomcycle, we hear similar questions again and again:
- What is an “app”?
- What are the various mobile platforms I should care about?
- What types of apps can be built?
- What does an app cost to build?
- How does an app get into in the iTunes App Store?
- Can I build one app that works on all devices?
So let us address the “mobile basics” so that you have a better idea of what you need and how to most effectively implement your businesses mobile presence.
What Is An App?
Some would say that Apple did the world a service by using television ads to make people aware of programs that ran on mobile devices, specially the iPod, iPad and most popularly, the iPhone. The word “app” is short for “application”, meaning a program that performs some function, written in a computer programming language. Prior to the introduction of the word “app” into the common vernacular, we often noticed an immediate glazing of the eyes whenever we used the word “application” in front of many clients. So thank you, Apple: the word “app” is now commonly understood to mean “little programs that run on iPhones”. Such a definition, while far too vague and far too broad, at least allows “techies” and “civilians” to start a conversation!
And while Apple does not have a monopoly on mobile devices, they do currently seem to enjoy a monopoly on mobile mind-share. When most people think of apps, they think “i-something” first (iPhone, iPod, iPad) and every other platform (if they are even aware there are other platforms) second. This is changing rapidly, though as Apple popularized the app first, Apple iOS apps are usually considered first by our clients looking to go mobile.
What Are The Most Popular Mobile Devices?
You’ve no doubt heard of at least some other mobile platforms. The biggest mobile platforms at the time of this writing are:
- iPhone, iPod
If you are thinking about “going mobile” with your website or building a totally custom app, these are the main devices on which you should focus. Naturally as time marches on, newer devices are bound to displace or obviate the current list.
Why did we separate the iPhone/iPod from the iPad? The size of the display. The larger sized iPad enables comfortable use of different kinds of apps. Reading apps like Kindle or iBooks are the most popular for these larger devices. While some people considered the iPad a ho-hum usability improvement, they fail to see the tectonic shift happening in sales, medicine and electronic publishing, to name but a few.
What Types of Apps Can Be Built?
Here’s where the definitions get a tad foggy, but bear with us, we’ll do our best to make it clear!
The Mobile Friendly Website
Your website has been around for years, and you’ve probably tried to pull it up on your mobile device’s web browser. Remember what an annoying experience that was? The text is too small, the menus are a mess and the website is generally unusable. So you never look at it that way again. What you need is to “re-purpose” your existing “traditional” website as a Mobile Friendly or Mobile Compatible website.
Building a mobile friendly website is the easiest way to “go mobile” and retain the eyeballs you’ve worked so hard to get on your traditional website. You will need to do a few things to create a mobile website:
- Ensure that your current website is powered by a Content Management System (CMS) like WordPress
- Evaluate your current site and make a list of the most important factors for mobile display
- Create screen mock-ups and get feedback from stakeholders, clients and customers
- Build the mobile version of your website based on the mock-ups
Your CMS will provide data to your traditional website and your mobile website, insuring consistent content on both websites.
These are what most people are referring to when they say “app”. This is an app, typically downloaded from the mobile platform’s store (EX: an app from the Apple’s iTunes App Store) and running “natively” — on the phone’s hardware. No connection to a wireless network is necessarily required to run a native app. Native apps can be ebook readers, games, calculators or any number of useful programs that don’t necessarily require a connection to the internet. The look-and-feel of an iPhone app is fairly well established thanks to Apple’s user interface conventions. Other platforms are more akin to the wild west, design-wise.
The big problem with “native apps” are that these apps are native to the devices on which they run. So if you want to develop native apps for mobile devices, you must select which mobile platforms on which you wish to make your app available. Most companies that want to develop a native app start with the iPhone/iPod/iPad and Android, though many also choose to develop on Blackberry simultaneously. The former are definitely the Big Three when it comes to mobile development currently.
A “web app” is a special type of app that looks like a Native App except that a web app runs on your mobile device’s web browser (for example, on the iPhone, a web app runs in Safari, the built-in web browser). A web app feels like a native app to the user, except that it relies on a data connection to work. For example, a web app that uses GPS needs a data connection to determine the location of the mobile device. A simple example of this type of web app is the Google Maps application that comes standard on Apple mobile devices.
What Does an App Cost to Build?
If this is not the first question we hear, it is a close second. We wish there was a simple answer to this question! Programming for mobile devices is still programming: it can be complex and it requires education and experience in order to do well. The complexity of any program is the key cost factor. The greater the complexity, the greater the number of hours to design and develop the app.
The other driver in the mobile equation is supply vs. demand. There are a limited number of good mobile developers and an exploding demand for the development of new mobile apps. Mobile development is currently more expensive than traditional software development.
One of the most important considerations in mobile development is the location of the data that the app uses: where does the data for the app come from?
Complexity may be found in surprising places. For example, to “mobil-ify” a standard website, one of the first things to consider is whether or not the website uses a CMS as its data source. If the site is “plain vanilla” HTML/CSS or Flash-based, the information from the website may not be usable by the mobile friendly website. In this case, the first step of the mobile friendly website initiative may be converting the current website so it uses a CMS (Project #1). The second step is then building a mobile friendly website that uses the data from the CMS.
If your app’s data can be consumed freely from the web (e.g., Google, Craigslist, eBay, etc.) your app can pull the data and with a bit of user customization such as a saved search (e.g., “I want to look at houses for sale in Santa Monica for $750K”) — bang! You have a useful app because freely available and current data is present.
However if your data is custom and requires effort to maintain — such as your own company’s data (products in stock, prices for software, the number of locations to serve your customers) then this data must be maintained by back-office systems. These back-office systems may exist already, in which case the effort may be in connecting those systems to the outside world so that a mobile device may use the data. And if these back-office systems must be built to support a mobile app, developing said systems will add to the cost of developing the “app”. In this latter scenario, the app itself may be thought of as simply the display of the data that’s maintained through more traditional systems.
Beware of mobile app developers who give you quotes for apps that have yet to be designed and formally specified through consultation with a competent programming consultancy.
How Does an App Get In the App Store?
A detailed explanation of why an app may or may not get into Apple’s iTunes Store is beyond the scope of this article. Apple may not approve an application for obvious reasons (buggy or poorly-performing) or reasons that may be far less “obvious”. The iPhone Developer Program License Agreement is a lengthy document which attempts to codify these issues. Suffice it to say, getting your app in iTunes is not a slam-dunk and may involve some time and effort on the part of your business and your consultant.
The challenging Apple approval queue is one reason why a mobile website (which doesn’t require approval) may be a good first step for businesses looking to dip their toes into mobile development.
Can I Build One App That Works On All Devices?
Strictly speaking, an app that is “native” to Device “A” will not run on Device “B”. For example, a native iPhone app will not run on an Android device, or any other manufacturer’s device. This means if you want to develop native apps, you will need to develop an app for each device you wish to target. Again, the most popular targets these days are iPhone/iPod and iPad, Android and Blackberry, in that order.
Web apps and mobile websites entail less deployment risk and can generally run on multiple mobile browsers. Your development team must be certain to check the app against the most popular mobile browsers, just like with traditional web applications on standard desktop computer web browsers.
Mobile is exploding and those businesses who go mobile first will be the first to capture the eyeballs and business of the users of these devices. If your website is not mobile-friendly, this is an obvious place to start your mobile initiative.
Ideas for native and web apps are everywhere and one need only survey the iTunes App Store or Android Market to get a plethora of ideas.
So let your imagination run wild: you may create that killer mobile app that your competitor doesn’t have! Do so, and you’ll be tapping into a whole new generation of clients and consumers of your products and services.