Could we have a universal operating system?

After all, why not? All of the major OS’s today are just copying from each other. After some desirable feature is tested by the “other guy”– they copy it. Microsoft, Apple, and Linux.

I think the proprietary OS makers (Microsoft and Apple) actually like the open source markets because they see them as a testing ground–once the new thing is tested and well received–they assimilate the feature into their retail products. It’s free R & D.

Looking at this from a consumer and a programmer’s perspective, what would the advantages be if we had a universal operating system?

For the consumer, having a universal operating system may have several benefits. Things like better mobility (software freedom), application availability, greater security, and an improved ability to archive documents for future use. For the programmer, besides having a wider reach and/or customer base, having a universal operating system may also make things easier to program and ultimately end up in better programs. This sums up my theory, but first let’s take a look at things from a consumer’s perspective.

For the consumer, wouldn’t it be nice to buy an application that worked on ANY platform? I mean if I pay full retail price for an application shouldn’t that application work on any computer? Ideally–I think it should. This would give the consumer more choices as to “where” we could install our software–which leads to having greater mobility from the software’s perspective. What about the availability of your applications?

In addition to having greater flexibility as to “where” we could install our software, there would undoubtedly be more applications available for the consumer due to the number of programmers focusing on a single Application Programming Interface (API)–programming code. And what about the security of the applications?

With the world of programmers focusing on a singular API, wouldn’t you expect the security of applications to be improved? If all of the world’s resources were focused on creating the most secure operating system, providing us a foundation on which to run our applications, we might actually do it. Imagine an operating system that isn’t “hackable”, but instead secured from all the applications and/ or processes that are running in the background. The applications would run in a “sandbox” and be kept securely away from reeking havoc on a users hard drive. After all, that really is the noble goal of operating system designers–providing security… stability… and simplicity (SSS). Although these three things are relatively available in our operating systems today, usually one of these suffers at the expense of the other. I mean usually in the effort to provide application stability, security might increase, but all of this could be at the expense of simplicity.

If all of the world’s resources were focused on a single API we might actually have more open standards, and then we could begin thinking about more important things like long-term digital storage for the benefit of society. If you think about it, most of the software in today’s offices produce a unique file format–which is useless unless you have the correct viewing application. With proprietary software dominating the market, a universal archival format becomes less and less realistic. For one reason, the major driving factor of any business is to “stay in business”. That focus seems to be less on consumer’s needs, and more on achieving the bottom line–$$$. On the other hand, open source software–created using open standards–offers a much more realistic opportunity of producing a long-term universal archival format. Using open standards along with open source software allows a society to build quality software for any need at any time. In contrast to this, using proprietary locked source software, a society must exchange large sums of money in order to fill a temporary need. Since they are receiving only more locked source software, the consumer builds a recurring dependency on the proprietary vendor–which leads to job security for the vendor. Let’s face it, this is the information age. Our entire world history will eventually be stored in some form of digital repository. The whole idea of storing information into central repositories stems from the desire to save time by preventing someone from having to “re-create the wheel”, so to speak. In other words, having the information right at our fingertips allows us to efficiently build onto the existing body of knowledge. Our society should consider how future generations will retrieve the data we archive today. And this means we need to determine what type of file format(s) we are going to use for archiving.

So with only one operating system to focus on, consumers should see better software mobility, more applications available, greater security, and possibly better archival options for long-term use. Now what advantages would a universal operating system have for the programmer?

First of all, a single operating system that runs on any hardware and allows a programmer to focus on one API would make the learning curve much easier. Being able to focus on one API would allow greater concentration of effort–getting tasks done instead of spending brain cycles figuring out what type of hardware I’m using, or what operating system I’m running on.

In addition to making things easier for the programmer, wouldn’t the applications actually be more universal? Today we have several different operating systems to tailor our applications for, so what do programmers usually do? They tailor their application to run on only one of the available platforms, thereby forcing operating system lock-in and reducing the software’s mobility. After having paid retail price for a software product, the consumer has limited choices as to “where” they can install it. On the other hand, if they have a universal operating system, the application can be installed on ANY computer. This gives the programmer a greater market reach–more devices to install it on–and this is universal. But if there was one universal operating system, would the quality of software suffer? I think the software would actually improve.

I think a universal operating system would provide better structure and ultimately a higher quality of application? If the world’s programmers were focused on a single API you could expect better quality in terms of stability, security, and simplicity. For example, with only one API to learn, the number of people exceptionally familiar with it would be high because the knowledge would regularly transfer from expert to novice to beginner. This regular transfer of knowledge would make the underlying knowledgebase higher, and by means of peer reviews, might make the applications better.

So in conclusion, it seems to me that a universal operating system may provide many advantages to both consumers and programmers. What do you think?

Posted Saturday, August 23rd, 2008 under Operating Systems.

2 comments

  1. Very insightful and interesting information.

    Thank you, CM

  2. Very interesting aspect on this subject….
    I’ve never really thought of this type of idea, although I am sure many others have but never posted on this subject.

    Thank you,
    Sean Astin

Leave a Reply

You must be logged in to post a comment.