A Smartphone Cornucopia!

It simplifies things a bit that the topic of this book is outsourcing native apps for Apple devices. That narrows the focus and makes the topic much straightforward. If we were to take on the topic of device app development outsourcing generally, with so many devices and features and requirements – things could get very complicated very quickly. One of the most confusing aspects of device apps is learning about all the devices.

Apple Device Overview

The common denominator of iPhones, iPads, and iPod Touches is that they run the same operating system, known as the iOS. (The operating system is the software that allows you use and manage the device – like Windows 7 or Window 8 for a PC. Apps and programs also have to interact with operating system.) The iOS version is often included when referencing the iOS, for example iOS 6.1. The iPhone started with iOS 1.0, and every new iOS version released came with new features and increased functionality and processing power.

An iPhone 5

Compatibility between operating systems is sometimes a concern. If your developer creates an app for iOS 6.1 will it work on an older phone running iOS 4.0? It is hard to provide any specific advice here, since iOS revisions and compatibility is a very dynamic thing. What is true today regarding a specific iOS could be different tomorrow or next week. However, a general rule of thumb is that apps should be backward compatible with recent iOS versions still in use. For example, if iOS 7.0 is just released, but at least half of iPhone users will be using iOS 5 and iOS 6 for the foreseeable future then obviously you want you app to work on all of these OS versions.

Determining exactly what compatibility issues face your iPhone or iPad app in your timeframe will take some research and some discussion with the developer. You might want to add compatibility to the “Concerns” list in the concept design to make sure it is addressed with the developer.

Apps for Apple devices are programmed with the Objective C language. The C programming language, and it’s iterations like C++, Visual C, and Objective C, is one of the most powerful programming languages. Plus, many programming experts claim it creates the cleanest machine code – the ones and zeros that provide instructions to the processor. Clean machine code makes programs run faster and smoother, with fewer lockups or runtime errors.

An iPod Touch

All three Apple devices that can download and run apps can also connect to the Internet via wifi. This is not true of the standard iPod, which can do neither; it only plays music and videos. Of course, iPhones also have the capability to connect to the web through cellular data networks with a data plan, but this is an optional feature on iPads.

Other Devices

An iPad and iPad Mini

Since we are interested in Apple smart devices, we don’t need to go into great detail about other smart devices, but it is good to have a general impression of the marketplace and the major players.

The following table lists most of the well-known smartphones, tablets, etc., but it is by no means comprehensive. The table also lists the device operating system (OS) and the programming language(s) generally used for native app development. You may notice that a lot of devices use the Android operating system. Android is a Linux-based operating system developed specifically for devices. It is open source, meaning the operating system code is available and it can be freely modified by smart device producers. It also has permissive licensing which has made it very popular with device producers. With these attributes, along with smooth and functional operation, Android has become an industry standard.

Also note that the table lists devices generally, and doesn’t include every variation or iteration. For example, it seems there are countless versions of the Samsung Galaxy.

Common Handheld Devices 
Device Name OS App Languages
Apple iPhone  iOS Objective C
Apple iPad iOS Objective C
Apple iPod Touch        (iTouch) Blackberry OS Java
Amazon Kindle Fire Android Java
Asus Transformer Infinity Android Java
Barnes & Noble Nook Android Java
Google Nexus 4 Android Java
Google Nexus 7 & Nexus 10 Android Java
HTC 1X Android Java
LG Optimus Android Java
Nokia Lumia Windows Phone Visual Studio & Silverlight
Samsung Galaxy Android Java
Samsung Galaxy Note Android Java
Sony Xperia Android Java
Microsoft Surface Windows RT or Windows 8 Depends on OS

Welcome to the App World

You are now familiar with some of the basics about smart devices and the apps designed for them. You know that the phrase “Android devices” does not likely refer to futuristic robots, and when someone suggests Java you will understand that they are probably not talking about going out for coffee. With a little background knowledge you can move forward in you app development project with more confidence.

Now onto creating the app concept design!

michael-cameron
"No task is too small! This project was a dream of mine and I couldn’t have brought it to life without Space-O‘s assistance. This is the fourth app that we have created together and each one has been a great success. Anytime I have a problem, they are always right there on top of it to provide the best solution. I have already turned a profit on the first app we have created which stands as the #1 education app in its class. I can’t say enough as to how thankful I am to stumble across them. I will definitely come back for more projects as soon as another golden idea pops up. ? Thanks again Space-O!"Michael Cameron
Our Apps have been Seen In
Let's Build THE app