As computing technologies have evolved over recent decades, so has the variety of devices and users. From mainframe to minicomputer, distributed computing, internet, and now mobile computing, increasing numbers of users have enjoyed faster processing power, better user interfaces, smaller form factors, lower prices, and expanded services. Mobile computing follows the pattern of the growth of distributed computing: the infrastructure then the applications, services, content, and platforms.
Personal digital assistants (PDAs) have been around for decades. The device technology evolution has included improved processors, memory, displays, audio, video, input technology, communications, and ergonomics. The popularity of these devices has increased with their ability to integrate with their user's information environment including the ability to communicate with servers, synchronize information, and provide mobile access to data bases. The original Blackberry fit the needs of business users when it offered access to email, calendars, and address books synchronized to Microsoft Exchange servers. We see similar factors with the growing popularity of the iPhone, iPad, and Android devices and their ability to connect to web sites, search services, and many other internet servers. While the user experiences these capabilities locally, they are actually provided over high-bandwidth network connections from powerful application servers accessing massive data bases.
iOS is Apple's mobile operating system. Originally developed for the iPhone, it has since been extended to support other Apple, Inc. devices such as the iPod touch, iPad and Apple TV. Apple does not license iOS for installation on third-party hardware. As of May 31, 2011, Apple, Inc.'s App Store contains more than 500,000 iOS applications, which have collectively been downloaded more than 15 billion times.
The user interface of iOS is based on the concept of direct manipulation, using multi-touch gestures. Interface control elements consist of sliders, switches, and buttons. The response to user input is immediate and provides a fluid interface. Interaction with the OS includes gestures such as swipe, tap, pinch, and reverse pinch, all of which have specific definitions within the context of the iOS operating system and its multitouch interface. Internal accelerometers are used by some applications to respond to shaking the device (one common result is the undo command) or rotating it in three dimensions (one common result is switching from portrait to landscape mode).
iOS is derived from Mac OS X, with which it shares the Darwin foundation, and is therefore a Unix-like operating system by nature. In iOS, there are four abstraction layers: the Core OS layer, the Core Services layer, the Media layer, and the Cocoa Touch layer.
Android is an operating system for mobile devices such as smartphones and tablet computers. It is developed and maintained by the Open Handset Alliance led by Google, and including a consortium of 84 hardware, software, and telecommunication companies devoted to advancing open standards for mobile devices. Google released most of the Android code under the Apache License, a free software license. The Android Open Source Project (AOSP) provides the maintenance and further development of Android.
Android consists of a kernel based on the Linux kernel, with middleware, libraries and APIs written in C and application software running on an application framework which includes Java-compatible libraries based on Apache Harmony. Android uses the Dalvik virtual machine with just-in-time compilation to run compiled Java code. Android has a large community of developers writing applications ("apps") that extend the functionality of the devices. Developers write primarily in a customized version of Java. There are currently more than 250,000 apps available for Android.Apps can be downloaded from third-party sites or through online stores such as Android Market, the app store run by Google.
SE Android is a security-enhanced version of Android, designed to enforce stricter access-control policies and better sandboxing. NSA released the first version January, 2012. SE Android is based on SE Linux, a hardened version of Linux that the NSA initially released in 2000. SE Android uses Mandatory Access Control, which relies on policies to restrict the system resources available to the application regardless of user permissions. SE Android isolates applications from each other, mitigate problems introduced by flawed or malicious applications, prevent applications from accessing system resources, ensure proper permission levels and perform security checks. Every file and folder on the device can be individually locked and encrypted, and WiFi and mobile network security features have been enhanced.
The Canadian company Research In Motion (RIM) has been selling and operating the BlackBerry line of mobile email and smartphone devices since 1999. BlackBerry devices pioneered the ability to send and receive (push) email and instant messages while maintaining a high level of security through on-device message encryption. BlackBerry devices use a proprietary multitasking operating system developed by RIM. This system supports the use of input devices such as the track wheel, track ball, and track pad, and supports Java and WAP. A long-time capability and discriminator for Blackberry has been its support for wireless synchronization with Microsoft Exchange Server. Current capabilities include complete wireless activation and synchronization with Exchange email, calendar, tasks, notes and contacts.
Third-party developers can write software accessing Blackberry APIs. Any application that makes use of certain restricted functionality must be digitally signed so that it can be associated to a developer account at RIM, guaranteeing the authorship of an application. RIM provides tools for developing applications and themes for BlackBerry. Applications and themes can be loaded onto BlackBerry devices through BlackBerry App World, Over the Air (OTA) through the BlackBerry mobile browser, or through BlackBerry Desktop Manager.