ML-01-04 Introduction to Mobile Applications

The instructions that are programmed and then processed by the electronics in a computer (Hardware) are generally referred to as programs (Software).

Some programs are developed to control the computer (mobile phone) and allow an operator, or user, to run utilities and commands related to general computer management and operations. These programs are normally referred to as system software or an Operating System. On mobile devices examples would include Android (developed by Google) or IOS (developed by Apple). Operating Systems give you, the user, the ability to interact with your computer (mobile phone) and get it to do what you want to do.

Other software is developed to provide useful functions and features designed to help users use a computer (mobile phone) to do things that help the, in their daily lives. These programs are generally referred to as Applications.

Software development has changed over the years. When computers were large and costly, the applications they ran were large, complex and multi-featured. An example would be an application that provided all accounting services, human resource service, manufacturing services, cutomer relationship management services etc. A customer would purchase these large and complex systems developed by large teams of software developers.

With the development of personal computers, and more recently mobile computers and mobile phones, the focus of application developers become more simple. Consumers do not have the budget for large systems that a large company might have. Applications needed to be focused on tasks or services that were more specific, faster and cheaper to develop, and affordable to consumers.

There were also a number of other technology developments that created new opportunities for software developers to exploit.

Technology enablers have changed how applications are developed

Today, we have small mobile computers in our hands and pockets that offer software developers the ability to develop very useful applications.

Some examples of technology components in our mobile devices include:

  • Multiple network services – Cellular, Wi-Fi and Bluetooth services. Networks now offer mobile wireless connections that make it possible for computers to be connected while being mobile. This creates an opportunity for applications that were not possible before. While commuting, users can access information on the Internet, make calls, receive emails, share photos etc.
  • Cameras, microphones and speakers that allow us to make audio and video calls, record films, take voice notes, and manage libraries of music for our entertainment.

Global positioning systems (GPS), and other location aware services enable applications to know where you are at all times and be able to offer you information and services related to your location. This may be for navigation or to help you find suppliers or service providers in your area.

Applications for a single task or service

Applications are now being developed to focus on a single service or task, and are specifically developed to meet the needs of the broad public as consumers. Instead of spending years developing complex applications, developers now do rapid application development aimed at a limited feature set. This reduces cost of development, ensures affordability and enables volume sales that fund the next development or enhancement.

Examples might include:

  • Calculator application – initially basic calculations, now special purpose scientific and financial calculators, programmable calculators
  • Note or Memo application – initially text, now includes ability to have photos, voice notes and drawings within a note
  • WhatsApp – initially only short text message service, now expanded to voice and video calls
  • Camera application – initially took photos, now includes editing and effects

Getting applications to market

Application developers need to get their applications to market. To do this they often have a strategy that enable users to try the application for free, or to have a simple version of the app for free. Advanced features are they included in a version that must be purchased. Having used the free app for a while, users may more easily choose to purchase the application to get access to more advanced features.

Companies that design and sell computers and mobile devices want to sell more. They encourage application developers to develop applications that will run on their computers operating system. When selling their devices, they normally include a number of applications to make their device attractive to consumers.

Google, as the developer of Android, the operating system on most mobile devices, setup a store where users can go to find and buy applications. This is the Google Play Store. Users can also find and buy music, movies and books (https://play.google.com/store) in this online store.

Apple, as the developer of IOS, the operating system that runs on Apple’s mobile devices, setup a store where user can go to find and buy applications. Users can also find and buy music, movies  (https://www.apple.com/za/ios/app-store/) in this online store.

Microsoft have a Windows application store, Amazon and Blackberry also have application stores.

There are millions of applications in these stores. As at October 2018:

  • Over 2,100,000 million in Google Play Store
  • Over 2,000,000 in Apple Application Store
  • Almost 700,000 in Windows Store
  • Almost 500,000 in Amazon App Store
  • Almost 250,000 in BlackBerry World Store

So, developers can market and sell their applications themselves, or put their applications up for sales in the application stores that can reach a worldwide market. Apple and Google take a commission for marketing and managing the sales on behalf of developers.

Making sense of Smartphone applications

When you purchased your mobile device, it already had a number of applications pre-installed. Over time you will download applications on your mobile device by accessing your application store.

Some application may be useful, others not. As a general purpose computer, your mobile device is capable of running applications to meet everyone’s needs. Someone else’s need and yours will differ.

You should learn to manage the applications installed on your mobile device. This will save you memory, reduce data usage that is consumed by application updates, and make your device easier to interact with if only applications you use are shown on your display.

Your mobile device is a bit like a multi-purpose pocket knife. While it offers many features, you will probably only use a few of them. You can use your mobile device to substitute for many other tools. It can be a calculator, a diary, a calendar, a notebook, a radio etc. But more than that, it can go well beyond the general function of these standalone tools, by integrating their capabilities.

There are three main types of applications if you categorise them in terms of how they connect to networks and use data:

  • Standalone Applications – Do not need any networks, do not use data
  • Cellular Service Applications – Need Cellular voice and SMS networks
  • Internet Dependent Applications – Need Internet access using Cellular Data or Wi-Fi

Standalone applications

These applications can be used whether you have a network connection or not. This ensures your mobile device is always useful to you. You can do calculations, make notes, take pictures, lookup and manage contact information, plan your time in your calendar, play music, set alarms and do numerous other things with applications that are on your mobile device, when you bought your mobile device.

Cellular service dependent applications

These applications give you the ability to make voice calls on the cellular (GSM) network, and send and receive SMS messages. You need airtime and an active connection to your cellular network service provider (Vodacom, Telkom, MTN, CellC) to use these apps.

Internet dependent applications

These are the applications on your mobile device that need to connect with application servers on the internet to give you full application functionality. Examples may include:

  • Google Mail – needs to connect to Gmail Server on the internet to send and receive emails
  • WhatsApp – needs to connect to WhatsApp Server on the internet to send and receive messages
  • Google Search – needs to connect to Google Search Server on the internet to get information
  • Internet Browser – needs to connect to the internet to find internet services
  • Internet Banking – needs to connect to your bank’s server to transact and manage your banking services
  • Application Store Application – needs to connect to Application Store server on the internet to find, download and update applications

The figure below lists a number of applications that can be used to help you do certain activities .