My goal for my college education is to learn the foundation and current scope of work in improving how humans interact with computers, how friendly they can be with each other, and how to bring the computer from a thing to be learned and trained for to a simple extension of its user. In essence, the computer as we know it should evolve into a sort of personal magic or second body. Douglas Engelbart sees this extension as “augmenting human intellect,” the theme of all the history of human technology. The only thing that has been changing, however, is the rate at which this tech snowball is growing as it descends the hill.
In order to meet this growing need, I believe a more common, standard entity should be universally accessible to help guide us to what we’re developing without worrying about the constraints of tools on which we build it. For example, a team may be building the next big thing, but the big thing gets rounded off at the edges and dulled by constraints offered by processing power, browser versions, or operating system compatibility. To do this, we pull the computer from its current personal all-in-one functionality that Alan Kay has seen come to fruition and split it into three parts.
First, the computer’s hardware (power, processing, electrical connections, and interaction devices) is isolated to what any user would hold and physically manipulate. This is a soulless machine, often referred to as a “barebone computer” that can be modified in any way by its owner. To provide the soul to the machine, we use a physically tiny device to provide the human face (the software and interface that one boots into) and store all the user’s data, preferences, and applications. This device I can see being of the high-capacity non-volatile memory ilk, like SDXC cards, allowing great durability and portability to the point it may even be semipermanently embedded on the user’s body. Ideally, this device would store everything and be able to plug into any barebone machine described above and work just as the user expected from the last machine it was plugged into.
At this point, the aforementioned personal data device described is useless without hardware to manipulate it, and the hardware is likewise useless without a user’s data to manipulate. In order to complete this circuit, a medium between the user and the hardware would be an optimal, universal operating system that every user builds on. Since the development of the windowbased operating systems, the operating system has not fundamentally changed; therefore, I can reasonably assume that the operating system that manipulates the computer’s hardware to accomplish tasks created by the user may be fully optimized within 25 years. While major operating system companies are now merely working out nuances to best suit a task or user group, many programmers not affiliated with the giants like Microsoft or Apple are already on the job, creating specific environments like alternative Windows shells and point-of-sale systems. With this waning fundamental innovation by competing products, a single universal operating system accessible by all for download via internet (also assumed to be as accessible and flexible as radio in 25 years) would create the translator between user and machine.
In addition to the operating system itself, it would also ideally be packaged with the libraries of all programming languages, which may be picked through and selected individually by the user, to ensure universal compatibility of programs. This is necessitated by the universal crosscompatibility of programs and the ability for the user to have their own instance of the program and related data on their personal data device and thus be able to plus their device into different machines and receive the same results and experience. As it stands, however, programs aren’t usually universal or written for the computer (i.e. assembly language), rather it is built for the operating system. Therefore, most programs exist in separate builds, specific to the operating system (e.g. Windows-only, or separate FreeBSD and Macintosh builds).
Finally, the spacial interaction that users navigate on their way to accomplish tasks (the operating environment, desktop, etc.) may be customizable by the users, having their own aforementioned alternative shell or environment installed on their personal data device. In fact, the universal operating system may not be user-friendly at all in its early development, considering the early personal computing days of the bare terminal environment. Of course, should Engelbart’s intellect augmentation trend hold true, it’s only a matter of time for that universal operating system itself be as usable as current popular operating systems.
This three-way division of personal computing is an easily foreseeable future development, with much of the above already possible (SDXC cards as personal data devices), in development (optimal operating systems), or in use now (operating system shells). Benefits of such a development would most importantly focus all research and improvement into a single multifaceted entity like a universal operating system, as well as ending issues of compatibility and personal data organization. Ideally, such a project would be best undertaken by an organization like the W3C and allow it to be open-sourced, lest the entire computing industry be monopolized and possibly exploited. If Tim Berners-Lee’s W3C can revolutionize and standardize networked communication via internet in less than a decade, then the operating system could also eventually be standardized within 25 years: the most far-fetched of the above ideas. This all leads to a mix of Kay’s personal computing (via the personal data device) with Joseph Licklider’s and Engelbart’s ideas of networking and intelligence amplification (via the operating system and hardware).