Thursday, February 14, 2008

Operating System – What next?

The current operating systems have kept themselves conservative. In last few years, we have not seen any new path breaking innovation. All the innovation were small and can be even barely called incremental innovation in operating system. The most of research & innovation in Operating system has been more scientific in nature for example
(a) Better multi-threaded hardware & software, power saving hardware, better memory caching, etc.
(b) Operating system has somehow been trying to integrate & embed new protocols in the market such as Bluetooth, USB, internet protocols, and then device driver software.
(c) Was to create more & better desktop applications.

So where am I going with this? Operating system has been relatively slow in adopting new business opportunities. For example:
(a) Collaboration tools: To this day, operating system does not virtually enable collaboration tools and integration points for that. Most of the collaboration tools are 3rd party desktop applications. Somehow, collaboration is not inbuilt within operating system stack.
(b) Search tools: The desktop computers have become data blackholes and it is difficult to find information on the computer. Operating system has not enabled them.
(c) User interfaces: There have been a few attempts at user interface innovation but it has not stuck on with the users. For example, tablet PC etc.
(d) Data Storage: The data is uniquely stored on the desktop environment. The data is not stored on shared drive and it is not universally available. I want to use the data from anywhere and any device. I don’t want to copy files to each device so that it is available. Further, the file versioning (or multiple copy of same artifact) creates huge headache for users. They are always wondering “which is the latest file” etc. Data storage should have universal presence capability, versioning capability, and inbuilt authentication mechanism.
(e) Need for higher cpu cycles: Current and traditional method of using number crunching or high performance application is to upgrade your machine. Invest in better chips and higher memory and get a small increase in performance. Whereas, for most of the computers (approx 80%) cpu cycles are wasted. Why can’t operating system stack be such that it outsources number crunching to nearby machines which are wasting CPU cycles? For example, I have three computers at home and in order to run some research mathematical models I have to go great lengths to create a multi-machine application. I know, outsourcing CPU cycle might not be as easy but there is a humongous amount of wasted CPU cycles and it needs to be leveraged on.

In the next post, I will continue towards my conclusion. So keep reading :)

No comments: