Computing devices, such as personal computers, mobile smartphones, personal digital assistants, tablets, televisions, digital glasses, video game systems, digital projection systems, and holographic display systems, can be used to view various kinds of computer stored data such as computer generated documents stored on digital media, scanned documents generated on external sources and then digitized and stored on digital media, and photographic images captured on various devices and then stored on digital media. Displaying various kinds of documents on computing device screens or on printed media may involve disparate and incompatible operating systems (OSs), which would require native applications specific to each OS, and sometimes specific to each device, in order to interact with the digitally stored data in a visual format.
This OS incompatibility can result in end users having to buy separate applications for each different category of devices, e.g., an application specific for a PC plus an application specific for a mobile device. In this regard, to access and manipulate a document across different device platforms, an end user must buy or download an application for each category of device utilized. In some cases, a user is required to buy or download two applications for the same category of device, e.g., an application specific for an Android device and an application specific for an iOS smartphone. While some envision mobile devices replacing desktop computing at some point in the future, the average consumer today continues to make use of various computing devices with different operating systems, such as personal computers (laptops and desktops), video game systems (Sony's PlayStation or Microsoft's Xbox) and other proprietary devices with native OSs. This situation also remains a burden to software developers, who, in order to address the widest potential market for their product, must spend the time, resources and money to develop their same basic application to run separately and specifically on each different device or platform.
With the advent of cloud computing, an extra wrinkle to the already challenging equation of accessing digitally stored data over the Internet has been created—that of efficiently retrieving and storing digital data on the cloud.
Apple's iOS and Google's Android OS currently dominate the world of mobile device OS, followed by Nokia, RIM's Blackberry, Microsoft's Windows Mobile and others. Although each mobile OS is different from an operations standpoint, they all share a common trait—their proprietary nature from both an internal architecture, as well as, the external applications (Apps) required for consumers to interact with the devices running on the OSs.
A huge drawback of the current state of mobile computing is the lack of computational support from the server side. Although mobile devices have increased their capacity to serve and process data in the last couple of years, computing large tasks on mobile devices is still very costly; and it often requires cellular/wireless carrier subsidies to make the products affordable on the front-end and then through ongoing enhancements, new feature sets, improved processing power and other design feature or operational improvements, it creates frequent upgrade cycles.