In one sense, similar functionality between software programs with like goals is a good thing, because it provides a way to satisfy people who need to reproduce the capabilities of another operating system environment. However, it can also be a bad thing, because the Linux operating system has only a little more to offer than others. There are a lot of wonderful things to be said about Linux, but at the same time it is in many ways becoming a glorified Windows workalike. I'm not referring to the server market, where the superiority of Linux has already been established, but in the desktop market, both for business users and home users.
Linux needs to do something different, something more. It needs to interact with users in new and unheard of ways. The solid kernel and X window system provide a firm basis for new user interface technologies. The potential for these technologies, however, has not been realized yet.
One of the largest mistakes that has been made, however, is the way our graphical user interfaces (GUIs) function. The technology that forms the basis for even the most modern GUIs was developed in a laboratory in Palo Alto, California known as Xerox PARC, thirty years ago. Here, the early incarnations of the mouse formed. The concept of windows was developed, and allowing them to overlap was a new achievement. Xerox PARC invented the first WYSIWYG word processor, and ran it on a little machine called the Alto. The Alto was only two or three times as large as today's desktop computers but ran at a fraction of the speed.
Our computers today are much much more advanced, but the graphical user interface is suffering the same fate as the automobile right now. Before the early twentieth century, automobile technology was progressing quickly ahead and it was becoming practical for widespread use. With Henry Ford's Model T, the popularity of automobiles exploded. After that, however, the innovations ended. Sure, refinements were made: air conditioning, radios, antilock brakes, and airbags are all examples. Innovations, however, still only occurred within the bounds of four wheels and an internal combustion engine that runs on petroleum, just as it did ninety years ago.
GUI technology is taking a similar path. After the initial age of innovation and the creation of a crude but marketable product, so many people became so caught up in what had already been done that innovations in this field have reached a plateau. The early demos of the PARC Alto show screens that look little different from today's. Sure, now we have color and our screens are much more complex and responsive, but the basic technology is the same.
This slowdown in innovation is also true in other areas of technology, such as programming languages. The concepts behind object oriented programming (a top buzzword in the field) were also created thirty years ago at PARC. Their language was called Smalltalk and it still exists today. More importantly, however, the creators of C++, arguably one of the top languages in which new projects are written, based their ideas on Smalltalk.
A major problem in the way we look at computing today is that we see the computer as a monolithic tool, something that we sit in front of and use. The computer's true purpose can only be realized when we no longer acknowledge its existence. For example, for the purpose of telling time, my watch is the perfect tool. When I'm wearing it, I always know the time. I don't consciously look at it, but glance at it from time to time. It keeps me informed of the time and stays out of the way of other activities. The most important thing about it, however, is that when I don't have it, I notice. I am visibly affected by not knowing what time it is. When you don't notice a technology until it is gone then it is truly serving its purpose.
As a community we have unlimited potential if we can truly innovate. We are starting to compete with companies such as Microsoft and Apple. This is good, as it shows them that there are alternatives to the "default" operating systems. We as a community can also move faster than they can. With the current state of things, however, and the fact that we are working on little or no new desktop technology other than Gnome and KDE is not going to help us. If we don't act, one of our competitors will develop new technologies, and that will put a serious dent in the community, particularly as we scramble to create workalikes for their technologies in hopes of picking up a few users.
What can we do to accomplish this? First of all, all users should be programming the computer to serve them without even realizing it. How can a programming system be implemented that uses the input devices to generate code rather than requiring the user to write the code? How can we make the experience of using this computer as close to the experience of thinking as possible?
How should the workspace be organized? How can the user control this? The workspace should probably be an area conceivably mapped to a physical object that acts to let the user arrange and connect his work. It should truly be a workspace, and should be no less chaotic than the thoughts of the person who is using it at that time.
Issues such as how the human thought process can be aided by computers are still hard to answer, but in developing software to meet these goals, such problems will be slowly eliminated. The computer must aid the person in thinking, and this is a task that machines have not accomplished on a large scale. The interaction has to be completely natural to make the human-machine connection complete. How we are going to implement this is not yet apparent, but it will eventually be done, and we will have the advantage if we are the first to do it.
The future should not be a workalike of the past. In the next five years, we may see Gnome and KDE become stronger still, but do we want to be living with them in ten years? Or fifteen years? It is time to start developing new technologies. Xerox PARC, which made the largest contributions to computing to date, didn't write their code for the present, but for the future and we need to do the same.