What is the future of Operating Systems?
I can imagine that I'm not the first to comment about this idea but as technology evolves I can defintely see a trend forming around Operating Systems.
So, in the 70's we were heavily stuck in the industrial revolution. Writers like Toffler gave us a few glimpses into what the future may hold for us; stuff like an electronic mail system, B2B communcation, the electronic cottage (telecommuting), etc.. In his book “The Third Wave” he also dives into some detail about how the current situation of the world is bound to some key requirements which held the industrial revolution together, standardization, centralization, synchronisation. In technology we have seen the same very set of glue holidng us together. How much effort goes into building a piece of hardware or software which focuses on those very same principles. We must standardize on a common platform. We must centralize our application in order to reduce duplication and admintration effort. So many commonalities exist, so many opportunities to see what the future has in stake for us.
His post-industrial predictions revovled around breaking down this industrial strength glue. Focus more on the distributed model. The electronic cottage is a perfect example of this. Workers can work from home and no longer make sometimes long commutes to the office. We all can work in a distributed manner. Which, of course, we have seen come to fruition.
Another key point is the idea of standardizing the widget. In the past we see this in almost every single space. In automotive we see thousands if not millions of the same car pumped out each year. Granted they do change the models slighly every year and you can customize the simple stuff, but Ford's design of the assembly line holds true. More recently we see manufacturers take the idea of personalization (demassificiation) of the assembly line. The Scion is a perfect example of this. Given a base vehicle the consumer has a ton of options and flexibility to customize the vehicle to their liking. The consumer has a much earlier entry in the assembly line.
Computer hardware is taking this on as well. For the average consumer (ma and pa) they could call up their local computer retailer and ask for a machine, give it some basic requirements and viola its just made up for them. Behind the scenes this is very similar to the Ford design. Very assembly line style with few options for customization. Next entered Dell with its customization ability. Ma and Pa now can hit the Dell website and pick the generic base hardware and then mix and match to their liking (price vs performance). The integration point into the PC assembly line is now opened up to the consumer much earlier. Henry Ford would be turning in his grave!
I see software, specifically operating systems as taking the next step sooner than later. Take a look at what rPath is doing. You take a generic linux core and add on the bits and pieces you need and voila you have your own “Appliance”. Right now it is a manual process by individuals, with a varying degree of success -take a look at the OpenFiler and SugarCRM Appliances.
Imagine one day you hit the Microsoft web site and you choose a core server architecture, lets say Windows Server 2010. All it comes with is the very basic kernal, maybe some low level hardware abstraction layer, and other nitty gritty details most of us have no clue about nor do we want to care about. Just like Dell's site we hit the “Customize” button. You are asked for “What type of server do you want”. You are given the options (choose one more more of the following):
- CRM
- NAS
- Web Server
- Authentication Server (Active Directory)
- Mail Server
- Management Server (MOM)
- Database Server
- VPN Gateway
So we are a small to medium size company which needs a quick CRM and Mail Server online and fast. I can check both those options, then punch in my credit card information, and hit go. The result would be a (semi) instant download of the raw installer bits, a virtual hard drive, or whatever other medium is relevant in that time; oh yeah I can have the actual DVD installer disks mailed to me if I like.
All the dependancies are just worked out. Which release of this product and service pack of that product is all determined and known to be tested and work well together. Its a little known fact but we are actually capable of writing somewhat intelligent software which could handle this stuff.
The end result is a pre-configured complete machine with absolutely no user interface available, other than a Web configuration portal. On first hit of that site (non-standard port of course) I have to setup the final bits of config data, like domain name, company name, adminstrator account data, etc.. Once that is complete I have a fully functioning CRM and Mail Server online and running.
Remember this is a server situation. Of course the no-UI setup does not apply to the end user/client SKU's, but I'm sure you can have a similar model for picking and choosing alternatives for those as well.
Now you may think the “Add/Remove Programs” tool has the ability to Add/Remove Windows components as well. Well this is cool and all but I dont want to mess with that stuff. I want this thing to just work. I also never want to really worry about patch's, other than instructing the system to install it. And yes, this patch is specific (and tested) to my customized version of “My OS”.
Next your mind might consider the fact that vendors like Microsoft have broken out about a billion different SKU's for their OS's; isnt that good enough? Well, consider a machine as more than just its OS. Yes the OS is required but to add real value we have the applications running on top of it. Thus being able to have a customizable set of applications ontop of the OS is what I'm talking about. And be able to leave that setup/install/config (mostly config) up to the experts would be great. Give us earlier access in the assembly line.
It would be interesting to see how the licensing model would benefit from this approach as well.
Maxmimize customization, minimize work.
2 Comments
Comments have been disabled for this content.
Ramon Leon said
For the most part, this already exists with Linux. It's not as polished as what you're describing, but it'd damn close, and functions exactly like what you describe.
Rob Chartier said
http://www.freesoftwaremagazine.com/articles/the_perfect_network_server