A smartphone is a mobile phone built on a mobile operating system, with more advanced computing capability and connectivity than a feature phone.[1][2][3] The first smartphones combined the functions of a personal digital assistant (PDA) with a mobile phone. Later models added the functionality of portable media players, low-end compact digital cameras, pocket video cameras, and GPS navigation units to form one multi-use device. Many modern smartphones also include high-resolution touchscreens and web browsers that display standard web pages as well as mobile-optimized sites. High-speed data access is provided by Wi-Fi and Mobile Broadband. The mobile operating systems (OS) used by modern smartphones include Google's Android, Apple's iOS, Nokia's Symbian, RIM's BlackBerry OS, Samsung's Bada, Microsoft's Windows Phone, Hewlett-Packard's webOS, and embedded Linux distributions such as Maemo and MeeGo. Such operating systems can be installed on many different phone models, and typically each device can receive multiple OS software updates over its lifetime. Origin of the term Although devices combining telephony and computing were conceptualized as early as 1973 and were offered for sale beginning in 1994, the term "smartphone" did not appear until 1997, when Ericsson described its GS 88 "Penelope" concept as a "Smart Phone".[4][5][6][7][8] The distinction between smartphones and feature phones can be vague, and there is no official definition for what constitutes the difference between them. One of the most significant differences is hat the advanced application programming interfaces (APIs) on smartphones for running third-party applications[9] can allow those applications to have better integration with the phone's OS and hardware than is typical with feature phones. In comparison, feature phones more commonly run on proprietary firmware, with third-party software support through platforms such as Java ME or BREW.[1] An additional complication in distinguishing between smartphones and feature phones is that over time the capabilities of new models of feature phones can increase to exceed those of phones that had been promoted as smartphones in the past. Some manufacturers use the term "superphone" for their high end phones with unusually large screens and other expensive features.[10][11] Other commentators prefer "phablet" in recognition of their convergence with low-end tablet computers. An application programming interface (API) is a protocol intended to be used as an interface by software components to communicate with each other. An API may include specifications for routines, data structures, object classes, and variables. An API specification can take many forms, including an International Standard such as POSIX, vendor documentation such as the Microsoft Windows API, the libraries of a programming language, e.g. Standard Template Library in C++ or Java API. An API differs from an application binary interface (ABI) in that an API is source code based while an ABI is a binary interface. For instance POSIX is an API, while the Linux Standard Base is an ABI.