New to my blog? You may want to think about subscribing to be notified of new posts. Thanks for visiting!
This is an extract from the book I am writing called 'Living in the Cloud'. It is presented as a draft - comments and criticism are welcome.
Going All Gooey
For a long time, the realm of computers was confined to mathematicians and electronics enthusiasts, largely due to cost, a steep learning curve and the fact that not many people enjoy mucking about with wires and pliers.
The concept of an operating system provided a buffer which saved the end user from having to directly program the hardware. Having an operating system to do most of the programming meant, in effect, that the computer could program itself using broader commands given by the user. However, the means of interacting with the operating system was still limited to typing arcane combinations of almost-words onto a blank screen, which still required considerable technical skill as well as zen-like calm and patience.
During the 1970s, engineers at Xerox's Palo Alto Research Centre (PARC) in California were working on the creation of a visual way to interact with the computer. They developed a system which represented various typed commands using an array of pictures and buttons which could be navigated using a pointing device. The system was dubbed the Graphical User Interface (GUI). Its chief architect was Alan Kay, who famously said the best way to predict the future is to invent it.
The future arrived in 1984, not in the manner George Orwell had foreshadowed, but rather the opposite. Far from being a society deprived of all information but that meted out by Big Brother, the arrival of the personal computer marked the start of a new age where individuals had access to tools and information never before available.
Working with and borrowing from Xerox PARC, Apple had developed a new computer priced for personal users, sporting a newly designed GUI, a mouse and a handle so the computer could be carried. It was launched amidst much fanfare in 1984 and became the first commercially successful computer to use a graphical user interface. It was called Macintosh.

The 1984 Macintosh GUI
Despite significant increases in capability and features, not much has changed in the basic concept of the graphical user interface since it was first introduced. The prevailing visual metaphor is still the desktop screen with applications in floating windows controlled by a mouse pointer.
Another concept that has thus far withstood the test of time is the storage metaphor of files and folders. Because the information stored in a computer is all ones and zeros, without some sort of filing system it would be impossible to know where one section of data stopped and another began. This becomes even more apparent when computers are running more than one application. In an endless sea of ones and zeros, how do you know what is a treasured family photo and what is a report on eco-friendly irrigation?
The idea of a computer 'file' is simply to take a chunk of information and keep it together with a little note that says what it is. A file contains both the data itself and some extra information such as its name, when it was created, who created it and which application it is to be used with. This extra information is called metadata. A file could be a document, a piece of music, a photo, a part of an application or hundreds of other possibilities. To keep things tidy, files are stored in folders, which can in turn be stored in bigger folders and so on.
The operating system invariably includes an application which allows the user to browse this system of files and folders and move things around as they desire. The Macintosh GUI was designed to give the impression of a virtual office, hence the desktop and filing metaphor. Today's computers however have stretched this concept to breaking point with literally thousands of folders and millions of files, making it difficult to find things quickly or know where everything is.
One solution to this problem has been to use the metadata of each file and its contents to create an index of the entire file system. Then, instead of browsing through folders, the user types what they are looking for into a box and the computer searches the index and delivers the results almost immediately. This method allows the user to locate a file without necessarily knowing its name or location, since the index contains everything about each file including its contents. The most effective example of this technique in action is the Spotlight feature in Apple's Mac OS X operating system, which practically negates the need to think about files and folders since anything can be searched for and found almost instantly.
Features like Spotlight are only possible in a well structured operating system. To deliver fast and accurate results, Spotlight must keep an up-to-the-minute index of every file and its contents in the entire system. This means Spotlight must have close communications with both the kernel and each application in use by the computer. It achieves this by using an Application Programming Interface (API), which is basically a two-way phrasebook that allows other parts of the computer to speak the same language as Spotlight. Using the Spotlight API, software developers can program their own applications to work with Spotlight to provide a better experience for the end user.
An advanced operating system like Apple's Mac OS X has many APIs that provide fast and flexible functionality to software developers and end users. Among these 'core' services are APIs for audio, image, video and animation, providing a suite of built-in multimedia features that can be freely used and shared by any application. This is one of the reasons Apple computers have a reputation for being well-suited to creative industries.
The sophistication and ubiquity of modern personal computers gives the illusion that they are simple enough for anyone to use. In reality they have become more complicated than ever. Where the operating system could once have been considered a single entity, almost a simple application in itself, now it is a complex and interconnected collection of subsections in its own right.
Everything about a computer is engineered to achieve efficiency and simplicity for the end user. But occasionally when things stray a little too far off the beaten path, the user is confronted with a sudden glimpse of the computer’s inner workings and the mirage of simple servility vanishes. Hence, like lion taming, it is a good idea to understand at least a little of what one is dealing with before one pokes and prods it too much.
{ 0 comments… add one now }