Operating context

Last updated

An operating context (OC) for an application is the external environment that influences its operation. For a mobile application, the OC is defined by the hardware and software environment in the device, the target user, and other constraints imposed by various other stakeholders, such as a carrier.

Contents

This concept differs from the operating system (OS) by the impact of these various other stakeholders.

Example

Here is an example of one device, with one operating system, changing its operating context without changing the OS.

A user with a mobile phone changes SIM cards, removing card A, and inserting card B. The phone will now make any network calls over cell phone carrier B's network, rather than A's.

Any applications running on the phone will run in a new operating context, and will often have to change functionality to adapt to the abilities, and business logic, of the new carrier. The network, spectrum, and wireless protocol all change in this example. These changes must be reflected back to the user, so the user knows what experience to expect, and thus these changes all change the user interface (UI) also.

Hardware agnostic context

Situations exist where one can program in a context, with less concern about what hardware it will actually run on. Examples include Flash and Android.

Unfortunately, it also quite common that code in a hardware free context will see hardware specific bugs. This is common with software written for, that interacts more directly with, personal computer (PC) hardware, or mobile phones.

Related Research Articles

In computing, a device driver is a computer program that operates or controls a particular type of device that is attached to a computer. A driver provides a software interface to hardware devices, enabling operating systems and other computer programs to access hardware functions without needing to know precise details about the hardware being used.

Graphical user interface User interface allowing interaction through graphical icons and visual indicators

The graphical user interface is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, instead of text-based user interfaces, typed command labels or text navigation. GUIs were introduced in reaction to the perceived steep learning curve of command-line interfaces (CLIs), which require commands to be typed on a computer keyboard.

Operating system Software that manages computer hardware resources

An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.

Palm OS Mobile operating system

Palm OS is a discontinued mobile operating system initially developed by Palm, Inc., for personal digital assistants (PDAs) in 1996. Palm OS was designed for ease of use with a touchscreen-based graphical user interface. It is provided with a suite of basic applications for personal information management. Later versions of the OS have been extended to support smartphones. Several other licensees have manufactured devices powered by Palm OS.

In telecommunication, provisioning involves the process of preparing and equipping a network to allow it to provide new services to its users. In National Security/Emergency Preparedness telecommunications services, "provisioning" equates to "initiation" and includes altering the state of an existing priority service or capability.

In computing, cross-platform software is computer software that is implemented on multiple computing platforms. Cross-platform software may be divided into two types; one requires individual building or compilation for each platform that it supports, and the other one can be directly run on any platform without special preparation, e.g., software written in an interpreted language or pre-compiled portable bytecode for which the interpreters or run-time packages are common or standard components of all platforms.

A computing platform or digital platform is the environment in which a piece of software is executed. It may be the hardware or the operating system (OS), even a web browser and associated application programming interfaces, or other underlying software, as long as the program code is executed with it. Computing platforms have different abstraction levels, including a computer architecture, an OS, or runtime libraries. A computing platform is the stage on which computer programs can run.

Danger Hiptop Smartphone produced by Danger Incorporated

The Danger Hiptop, also re-branded as the T-Mobile Sidekick, Mobiflip and Sharp Jump is a GPRS/EDGE/UMTS smartphone that was produced by Danger, Inc. from 2002 to 2010.

Binary Runtime Environment for Wireless

Binary Runtime Environment for Wireless is an application development platform created by Qualcomm, originally for code division multiple access (CDMA) mobile phones, featuring third-party applications such as mobile games. It is offered in some feature phones but not in smartphones. Developed in 1999, as a platform for wireless applications on CDMA-based mobile phones, it debuted in September 2001. As a software platform that can download and run small programs for playing games, sending messages, and sharing photos, the main advantage of Brew MP is that the application developers can easily port their applications among all Brew MP devices by providing a standardized set of application programming interfaces. Software for Brew MP enabled handsets can be developed in C or C++ using the freely downloadable Brew MP software development kit (SDK). The Brew runtime library is part of the wireless device on-chip firmware or operating system to allow programmers to develop applications without needing to code for system interface or understand wireless applications. Brew is described as a pseudo operating system, but not a true mobile operating system. Brew is not a virtual machine such as Java ME, but runs native code.

MontaVista Software is a company that develops embedded Linux system software, development tools, and related software. Its products are made for other corporations developing embedded systems such as automotive electronics, communications equipment, mobile phones, and other electronic devices and infrastructure.

Mobile device Small, hand-held computing device

A mobile device is a computer small enough to hold and operate in the hand. Typically, any handheld computer device will have an LCD or OLED flatscreen interface, providing a touchscreen interface with digital buttons and keyboard or physical buttons along with a physical keyboard. Many such devices can connect to the Internet and interconnect with other devices such as car entertainment systems or headsets via Wi-Fi, Bluetooth, cellular networks or near field communication (NFC). Integrated cameras, the ability to place and receive voice and video telephone calls, video games, and Global Positioning System (GPS) capabilities are common. Power is typically provided by a lithium battery. Mobile devices may run mobile operating systems that allow third-party apps specialized for said capabilities to be installed and run.

Mobile phone features set of capabilities, services and applications that they offer to their users

The features of mobile phones are the set of capabilities, services and applications that they offer to their users. Mobile phones are often referred to as feature phones, and offer basic telephony. Handsets with more advanced computing ability through the use of native code try to differentiate their own products by implementing additional functions to make them more attractive to consumers. This has led to great innovation in mobile phone development over the past 20 years.

Trusted Computing Group company

The Trusted Computing Group is a group formed by AMD, Hewlett-Packard, IBM, Intel and Microsoft to implement Trusted Computing concepts across personal computers. The Trusted Computing Group was announced in 2003 as the successor to the Trusted Computing Platform Alliance which was previously formed in 1999. Many other companies have since joined the Trusted Computing Group, including Wave Systems Corp, Digital Management, Inc., Cisco, Lenovo, Infineon, Juniper Networks and Fujitsu.

Mobile app development is the act or process by which a mobile app is developed for mobile devices, such as personal digital assistants, enterprise digital assistants or mobile phones. These applications can be pre-installed on phones during manufacturing platforms, or delivered as web applications using server-side or client-side processing to provide an "application-like" experience within a Web browser. Application software developers also must consider a long array of screen sizes, hardware specifications, and configurations because of intense competition in mobile software and changes within each of the platforms. Mobile app development has been steadily growing, in revenues and jobs created. A 2013 analyst report estimates there are 529,000 direct app economy jobs within the EU then 28 members, 60 percent of which are mobile app developers.

Fixed–mobile convergence (FMC) is a change in telecommunications that removes differences between fixed and mobile networks.

Feature phone type of phone

A feature phone is a mobile phone that retains the form factor of earlier-generation phones, with button-based input and a small display. Feature phones are sometimes called dumbphones in contrast with touch-input smartphones. They tend to use an embedded operating system with a small and simple graphical user interface, unlike large and complex mobile operating systems like Android or iOS. Feature phones typically provide voice calling and text messaging functionality as well as basic multimedia and Internet capabilities and other services offered by the user's wireless service provider. Feature phones often contain things like a backlit LCD screen, a hardware notification LED, a micro USB port, a physical keyboard, a microphone, an SD card slot, a rear-facing camera to record video and capture pictures, and GPS. Some feature phones include a rudimentary app store that include basic software such as mobile games, calendar and calculator programs.

Rooting (Android) Modification of Android devices

Rooting is the process of allowing users of smartphones, tablets and other devices running the Android mobile operating system to attain privileged control over various Android subsystems. As Android uses the Linux kernel, rooting an Android device gives similar access to administrative (superuser) permissions as on Linux or any other Unix-like operating system such as FreeBSD or macOS.

Mobile security, or more specifically mobile device security, has become increasingly important in mobile computing. Of particular concern is the security of personal and business information now stored on smartphones.

A mobile application, also referred to as a mobile app or simply an app, is a computer program or software application designed to run on a mobile device such as a phone, tablet, or watch. Apps were originally intended for productivity assistance such as email, calendar, and contact databases, but the public demand for apps caused rapid expansion into other areas such as mobile games, factory automation, GPS and location-based services, order-tracking, and ticket purchases, so that there are now millions of apps available. Apps are generally downloaded from application distribution platforms which are operated by the owner of the mobile operating system, such as the App Store (iOS) or Google Play Store. Some apps are free, and others have a price, with the profit being split between the application's creator and the distribution platform. Mobile applications often stand in contrast to desktop applications which are designed to run on desktop computers, and web applications which run in mobile web browsers rather than directly on the mobile device.

A trusted execution environment (TEE) is a secure area of a main processor. It guarantees code and data loaded inside to be protected with respect to confidentiality and integrity. A TEE as an isolated execution environment provides security features such as isolated execution, integrity of applications executing with the TEE, along with confidentiality of their assets. In general terms, the TEE offers an execution space that provides a higher level of security for trusted applications than a rich operating system (OS) and more functionality than a 'secure element' (SE).

References

See also