Chapter 1: Apps 101

If you are well-verses in the basic knowledge and understanding of what apps are, you can skip this section. But if you hear someone say “android” and the first thing you think of is C3PO, then perhaps you should keep reading.

While this book focuses on successfully outsourcing app development for an Apple device, this chapter discusses apps in a more general way. If you are going to get involved in creating and/or marketing apps, you should have the basic knowledge of apps provided here. You need be able to talk intelligently about apps with developers, and to read technical articles related to apps/app development and be able to understand the information presented.

App or Application?

We already described in the Introduction that the term “app” is a shortened version of ‘application’. Plus, we explained “Application” is the general term for computer programs that perform specific functions, like Photoshop for image editing, Word for word processing, and Firefox for web browsing. Besides these well-known PC applications, there are hundreds of other PC programs that do almost anything imaginable. There are also large, highly complex applications that run on business servers and mainframes used for managing their operations. They may focus on one aspect of the business, like accounting, or they can have sweeping functionality ranging from Customer Resource Management (CRM) tools to equipment preventative maintenance programs. These business applications are often referred to as enterprise applications.

Semantically, the term app might occasionally be used in a broader context to refer to any of the above mentioned applications. Currently, however, the shortened term “app” most commonly refers to a program created for mobile devices like smartphones and tablets. It seems highly appropriate that the term app is an abbreviated form of application, since apps are abbreviated versions of typical computer applications. Apps tend to be shorter, simpler and more directed to highly specific tasks than PC applications. For example, while most people may use Word for basic typing, it is a very complex, powerful program that can do all kinds of amazing things to help you create and produce documents. Apps are typically not as complex and multifunctional.

In fact, the most popular apps tend to be simple games that don’t have the complexity of PC or console games (although there are certainly exceptions). Other popular apps do relatively simple things such as helping you manage your recipes or keep track of your passwords.

Since apps are usually basic and simple, their price tends to be much lower than PC applications. Have you priced the current version of Photoshop or Word lately? The prices can seem outrageous for a casual user. Apps, on the other hand, are often in the $1 to $15 range. Many apps can be downloaded for free. You will also find that several useful apps are already downloaded for you when you purchase your device.

Web App? Mobile App? Native App?

The first thing you need to know is the difference between the most common types of apps. Here is a brief definition of each type:

Native App: An app that is programmed for a specific device or device operating system like an iPhone, then downloaded onto that device. The app resides (stored) on the device and is executed from the device. Usually no Internet access is required.

Web App: An app programmed to reside on the web, and uploaded to a web server like a business server or web hosting service. Users connect and run the app using a PC or a smart device though an Internet connection. Web apps can be geared for PCs or mobile devices or both.

Mobile App: An app that is designed specially to be used with a mobile device like a smartphone or tablet. When someone mentions a mobile app, they are probably referring to a native app, but technically it could be a web app if it is specifically designed for use with mobile devices.

Hybrid App: An app that resides on a device like a native app, but also interfaces with a web app or relies on an Internet connection to function.

Beware though, because sometimes these terms are not used in a completely consistent way. Some people, for example, may use the term mobile app interchangeably with native app. It is a good idea, especially when having technical discussions or sharing documents about an app development project, to make sure everyone is on the same page with exactly what they mean when they use these terms.

There are advantages and disadvantages to both web apps and native apps. Sometimes a web app is the best approach and sometimes a device app makes more sense. Here is a brief overview of each approach.

Web Apps – Advantages

Web_App__Mobile_App__Native_App_

  • Easier and less costly to develop
  • Can be developed using a wide variety of programs and tools
  • Can run on a wide range of devices, including PCs, through common browser software
  • Can share data or upload data to central data repositories
  • Simplified revision control and updates since a single copy of the app resides on a web server

Web Apps – Disadvantages

  • Web apps can be slower and a bit more clunky – a very technical term for less smooth and slick – since they rely on the browser interface.
  • Requires an Internet connection (i.e. wifi or data plan)
  • Internet connections can present security concerns
  • No or little control over device attributes/tools (i.e. camera)

However, many technical experts claim that some of these disadvantages will disappear over time with the coming Internet and browser technology.

Native Apps – Advantages

  • They do not rely on browsers so Native apps tend to be faster and more polished
  • Typically don’t need an Internet connection
  • Access and control over device tools like the camera, the compass, or the GPS

Native Apps – Disadvantages

  • Development is geared toward certain devices and operating systems, so apps are not transportable to other types of devices. Some level programming rework is usually required to download the app to other devices.
  • Device apps have to be programmed in a specific languages and require more development tools and programs, making them more difficult and expensive to develop
  • Revision control and updates are difficult to manage since separate copies are downloaded to multiple devices.

Since both web app and native app approaches have advantages and disadvantages, the best approach for an app very much depends on the situation. What are the most important elements or features of the app and how are they best fulfilled? While we are speaking specifically of Apple device native apps, much of the information contained within the pages of this book can still be applied in a general way to outsourcing and marketing native apps for other devices, and even for developing web apps.

mike-chan
Space-O is one of the best development teams I’ve worked with. The quality of work is excellent and their communication skills are top notch. I highly recommend this development team and will be working with them again!Mike Chan
Our Apps have been Seen In
Let's Build THE app