Monday, November 2, 2009

Future OS Design

As we haltingly move towards “cloud computing” and full-scale integration of the desktop and mobile experiences, a wholesale re-imagining of operating systems and how we use them is in order. Currently, each device has an independent operating system that displays the data that currently exists on its specific machine. Newer operating systems, such as palm's WebOS, display certain data that is pulled from the Internet, such as contacts, but by no means is this integration pervasive.


Cloud computing, in and of itself, requires a rethinking of the computer. Currently, computers not only display data, but they warehouse it. Cloud computing aims to create a centralized data warehouse, from which various devices can display the data as they choose. While this warehousing of data seems to be a central component of the architecture, I have seen little regarding interface centralization. While data in and of itself is important, it is ultimately how we interact with said data that defines our computing experience. Anyone who has gone through the pain of getting a new device or operating system to work just so can relate.

Currently, operating systems are largely device specific. They are tailored to the designs and features of the devices on which they are hosted. Ultimately, this results in inefficiency both for the end users, and they developers, who must effectively re-create the wheel multiple times. However, most devices features are standardized or can easily be standardized. For example, mobile phones and desktops have a few standard screen sizes that are found across most models. The amount of memory that a mobile phone has can easily be standardized, as can processor speed, which already only comes in a few iterations.

Given this capacity for standardization among devices, and the need for a consistent OS across all platforms to mesh with cloud computing, an extensible operating system could be created to fit across all platforms. This operating system could downscale its performance and features on mobile devices, while retaining familiar user interface elements, such as user customizations and the way that data is accessed.

Of course, this OS would have to be altered for its target devices; a phone with multitouch capability would not have the same interface as a desktop computer, for instance. But if the OS retained its major features and interface while transitioning between devices, it would enable much smoother integration. For example, an appointment entered into a phone would also appear in a more feature-rich desktop version of the same application. A contacts list on a mobile device would synchronize with the same application, resident on the desktop. The standardization of interface would make it easier for developers to create applications that utilized cloud computing, as they could quickly and easily create applications that would function across all devices.



Users would also more quickly embrace the new technology, as interface standardization would make for ease of use. Device manufacturers would be able to extend or lower the capabilities of the OS as needed, while retaining the key functionality. This would be to their benefit, for while they would be able to tweak to their heart's content, developers and users would be able to have a level of familiarity.

The two advances that make this possible are the proliferation of fast data connections, and the rapidly increasing processing power of mobile devices. Clearly, this OS would need to be tied very tightly in with the internet, and it would require a large amount of processing power on the mobile end, even in the watered-down versions. It would also either need to be open source, or be able to be extended, in order to facilitate it being tailored to multiple devices.
Ultimately, the operating system has not evolved substantially in its purpose or organization since the 1990's. As we rapidly move into a future where the desktop becomes less and less relevant, we need a better way to interact with our data. The current system of a different OS for every device is clunky for the user, and will not work with cloud computing.

No comments:

Post a Comment