A Non-Dogmatic History of the GUI
Zoxed writes "Jeremy Reimer provides an 8-page history of GUIs from the early 1930s to the present day. For example, from the conclusion: 'the truth of the story is that the GUI was developed by many different people over a long period of time. Saying that "Apple invented the GUI" or "Apple ripped off the idea from PARC" is overly simplistic, but saying that "Xerox invented the GUI" is equally so.'"
I'd want to see 'Windows 32' up and running. I have these win32* files on my computer, I'm pretty sure they are reminiscents of that ancient 30's GUI. But on what computer hardware would that have been running on?
After reading this, I noticed one thing, seems like the idea has been stuck into the same idea this whole time, a simple 2d screen. Even vr googles use two 2d screens. Hopefully this will change more as the development of layered LCD's and other technologies start comming up. True 3d gui's are what I am waiting for now.
Why, why, why, I invented Ars Technica!
Jef Raskin
I know. I am a bit strange to think GUI is over-rated. And in very many cases, GUI does the best job. But CLI, text-based, is my preferred choice for a broad variety of applications. Text-based simply gets the job done quicker and more smoothly in many cases. Actually, unless I am working with something that actually requires graphics I prefer text-based..
9/11: Never forget it was a false-flag operation
...As taken place in IRC
maoepdmz: apple invent gui, m$ stealz it
CHRIS: FAG STFU... XEROX MADE FIRST gui
maoepdmz: no
jay: microsoft made the gui truly successful
CHRIS: WTF
maoepdmz: STFU JAY FAGG0t
*** jay has been kicked (Suck Bill's cock)
CHRIS: MY DAD WORKS FOR APPLE, HE WAS THERE WHEN THEY MADE THE GUI FOR LISA AND STEVE JOBS CREATED THE MOUSE
maoepdmz: raelly?
CHRIS: YEAH
maoepdmz: so xerox are liars
CHRIS: HELLS YEAH THEY TOTALLY RIPPED IT FROM APPLES
maoepdmz: wow
gorbulon_neo_matrix21: u all fags, linux had the first gui in 1983... its called x windows system, idiots
CHRIS: NO, UNIX MADE THAT
maoepdmz: chris do u have unix
CHRIS: YES.. ITS L33t
maoepdmz: can i see screenshot?
CHRIS: NO
How about, "Apple bought some ideas from Xerox for millions in cash and stock?"
This "Apple ripped off PARC" thing is nonsense. Just because the PARC group didn't like that their company sold the GUI rights doesn't make it a rip-off.
Bought and paid for.
Slashdot "libertarians": Small government for me, big government for those I disagree with. -1, I disagree with you
They go directly from Smalltalk/PARC to Apple/LISA as if nothing happened in between. There actually were a decent number of GUI/windowing systems in the late 70s / early 80s, and a number of pre-X attempts at making a UNIX GUI, that time has totally forgotten. PERQ is the only one I can seem to find evidence of the existence of on Google offhand. If you can somehow find a copy of the book containing this history of GUIs written in 1986, it's rather fascinating...
Irritable, left-wing and possibly humorous bumper stickers and t-shirts
Don't show the Gnome devs this:
Alto File Manager
it might end up being the next version of Nautilus...
Your hybrid is not saving the environment. Its purpose is to make you feel good about buying something.
A "thank you" goes out to the author of this article, from me. At my college, we have two different version of OS history: The one where Windows was the first real OS, and the one where Linux is the newbie version of the first real OS, which is really UNIX. (note this was sarcasm)
Those are the two versions our Win32/UNIX teachers preach. Neither bothers to look at the facts or the history of any other OS. *growl*
I'll be showing this to some of them who aren't totally hopeless.
GUI screenshots.e s
/ acorn/
g s.html
n dex.shtml
http://www.aci.com.pl/mwichary/guidebook/interfac
Englebart's famous 1968 demo.
http://sloan.stanford.edu/MouseSite/1968Demo.html
Acorn Archimedes GUI
http://homepage.tinet.ie/~lrtc/computers/acorn_ro
http://www.bbc.co.uk/h2g2/guide/A225785
Knowledge Navigator.
http://en.wikipedia.org/wiki/Knowledge_navigator
Apple II GS
http://applemuseum.bott.org/sections/computers/II
BeBox
http://www.bebox.nu/history.php
8-1/2: The Plan 9 Window system
http://plan9.bell-labs.com/sys/doc/8%BD/8%BD.pdf
Genera
http://www.geocities.com/mparker762/toys.html
Video Interviews of Early Pioneers
http://www.invisiblerevolution.net/
GUI News
http://interfacelift.com/news/
ZUI's
http://www.cs.umd.edu/hcil/piccolo/applications/i
---
Important Stuff to keep slashdot's filter happy.
# Please try to keep posts on topic.
# Try to reply to other people's comments instead of starting new threads.
# Read other people's messages before posting your own to avoid simply duplicating what has already been said.
# Use a clear subject that describes what your message is about.
# Offtopic, Inflammatory, Inappropriate, Illegal, or Offensive comments might be moderated. (You can read everything, even moderated posts, by adjusting your threshold on the User Preferences Page)
# If you want replies to your comments sent to you, consider logging in or creating an account.
We now have a simple place to point the trolls who insist that Xerox invented the mouse, NEXT invented the dock, and so on.
It's actually worth it to RTFA, even if (as pointed out) it's not textbook-thorough...
DN
Sound familiar? This is what Microsoft (among others) is working on. Exploiting the raw processing power of GPUs to create the GUI means the performance hit is minimal for applications, letting them become prettier without getting noticeably slower. Let's hope 'prettier' means 'a better user experience'.
UI engineers have their work cut out for them. Get crackin'.
> Forward 4 meters
> Turn left 7 degrees
> Fire
What is true is that MS helpd mov the market from IBM and mainframes and minis to micro computers. The computers were not advanced. The CLI sucked, when compared to what one could do on a mainframe. Command completion, complex pipes, etc. MS Dos and Apple DOS and ProDOS, even CP/M, were terrible inadequate. For anything but spreadsheets and writing, my micro was a dumb terminal.
And MS was gaining market share and Apple had failed to reach the public with the Apple ///. They had to do something. That something was to find the next big thing and bring it to market. Yes, Xerox did a lot of the initial work. We owe Xerox for much in technology, even beyond computers, and I think everyone knows that.
But Apple bought some of the technologies, designed a machnine, and brought it to market. And let me tell you, compared to the shit CLI before it, it was wonderful. There were still things you could not do, which previously could be done with a simple .bat or basic program, but what could be done overshadowed all of it. I was still running some stuff on remote minis using CLI.
Once Apple proved the technology, MS developed a competing technolgy over the next 5-10 years, and took over the market on commodity computers. In that time, we enjoyed a GUI honeymoon. We were in a world with computers limited by the GUI interface and binary files, and layers of technology to compensate for those limitations. MS is thriving in that enviroment, minimizing the command line, and creating random file formats. Just like they were doing in the early 80's.
And now, just like back then, Apple is in trouble. So one again it looked outside itself to find the solution, in the form of BSD. In creates a hybrid of the GUI and CLI interface so the user can choose. The big guys have always done this, just look at the old Sparc stations. They were doing 10 years ago what the Mac does now. But, once again, Apple has put it into a box that is accesible to much of the population. It is not groundbreaking, it is just that the technology has become affodable, just like 20 years ago. And in 5-10 years MS will create a similiar system that 'costs' half as much.
"She's a scientist and a lesbian. She's not going to let it slide." Orphan Black
I work for a company which sells air traffic control software. Lately I have been conducting training courses for software engineers working with our product.
I offered the opinion to my students that the radar display, implemented as computer graphics, is one of the best graphical user interface metaphors that you can find.
And there it is in this article:
During the war he had worked as a radar operator, so he was able to envision a display system built around cathode ray tubes where the user could build models of information graphically and jump around dynamically to whatever interested them.Which makes me think that the CRT radar display where theta on the screen tracks the radar head revolution, and R represents the time for the echo to come back was the first true, working GUI.
http://michaelsmith.id.au
But you never know how useful it might get. When the computer systems were first created, no one thought or them to be used for wordprocessing, or surfing the web or games. Same with arpnet, who would have though a couple of decades later it would be used daily by millions to read news, play games, listen to music, download movies, and waste time reading random sites. The possibilities are unlimited, we just know the potential of it yet, as technology progresses, it will come clear. (Same with USB, at the time, they didnt think it would be used so widely)
http://xanadu.com.au/ted/ This guy is one of those folks who happened to have gone through the growing pains of the gui, hypertext world as it came to be (at least form its inception to its current state) i could say he is my crazy uncle but... 1. he is definately not crazy 2. he and my aunt just won't marry (but i still think of him as one helluva uncle) 3. he's pretty cool..
sig goes here!
http://www.ibiblio.org/pioneers/nelson.html
sig goes here!
It's a nice historical piece on GUIs. It lacks lots of the drivers for things: vector graphics and math co-processors; how CPU and bus design influences graphics; multi-tasking/multi-threading and its impact on GUI design; the advent of the (awful) browser; the Unix schisms and X developments; other window managers and their designs; how the awfulness of small, low-res monitors impacted GUI design; memory mapping, bit mapping vs drawing real lines in the kinescope fashion.
Also glossed: Desqview, RHM, and other neo-GUIs. MIA: sub-PC GUIs in monochrome (Palm and Newton) and other non-traditional form factors. But overall-- good article. I guess he needs a book to do it all justice.
---- Teach Peace. It's Cheaper Than War.
Pretty feeble description of X-windows-- no mention of the fact that X is network aware (or network transparent); i.e. X clients do not need to be running on the same machine as the X server they display to. This was a revolutionary idea at the time and allowed for the X terminal thin-client architecture. This is STILL a pretty radical idea for folks in the Windows world...
Maybe VNC also deserves a mention?
Just four years ago, Pine was still the standard for remote email access at my school. Going from hotmail to that took some getting used to, but now I'm hooked. I can check for new messages in the time it takes Firefox to start up and load the hotmail login page. Of course, I don't even need to touch the mouse. The only downside, in my opinion, is downloading attachments is slightly more complicated, since I have to FTP them.
Of course, progress has a nasty tendency to ruin the best things in this world. This summer, my school is ditching Unix and migrating to Microsoft Exchange. No more Pine. I wonder if we can convince google to offer Pine, or some kind of CLI access, for gmail? Port 23 anyone?
- Increasing cost of change - Both users and vendors have lots invested in their current systems, in training, software, and installed base. Both have more to lose in case of failure. In the older days, if it didn't work, each box was a new platform, and you could trash that box if it failed.
- Reasonably Good - For what people expect out of computers, the current generation of GUIs are decent at providing just that. People can often learn in a few days what they need to know to use what they want out of a computer.
- Increasing difficulty for innovation - Major shifts in the way a GUI is done is going to require some strong cognative leaps (e.g. 3D UIs, if they're going to be more than a cute gimmick, will need lots of R&D before they get as straighforward, efficient, and easy to use as 2D GUIs). The next generation of user interfaces will be a significant jump forward, and until someone can make that leap, the rest of the industry will just evolve the status quo. Not a bad thing, just a normal part of a technology's evolution.
So yeah, we'll have lots of evolution until the next revolution. Looking to Tiger or Longhorn for anything more is a waste of effort.Care about electronic freedom? Consider donating to the EFF!
I had no idea that Smalltalk implemented the GUI on the Alto, and all I can say is "wow". That has got to be the most powerful programming concept ever. You've got all the introspection and application-hooking capabilities you can imagine to customize every feature of every application, including the window manager! Of course there was probably no memory protection nor access controls, making it totally useless for today's desktop. But, damn! it would be cool to play with.
And little has changed. The poor foundations of the original MacOS haunted Apple until they finally had to throw out MacOS and start over again with OS X. And what do they do? They base it on NeXT and Objective-C, a system that was pretty nice in the 1980's, but that has never been technologically cutting edge and is pretty much obsolete today as far as software technologies go.
Now Objective-C I'll grant is a bit of a mixed bag - primarily because of the lack of garbage collection, though autorelease pools are not too bad...
But the NeXT foundation and Objective-C together are actually very pertient to the world we live in today. The very heavy message-passing style of calls actually mirror the growing populartity of message passing in large enterprise systems, such as JMS.
Objective-C is actually where the industry should have gone instead of C++. It's easier to learn and use than C++ (I've done both) and might be a little behind Java or C#, but then again it's also not really been overhauled for a while.
The rapid degree of progress Apple has managed to make in the OS and with other programs is a good demonstrator for how efficient Objective-C can be.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
From the article:
r amming
...
Smalltalk was the world's first object-oriented programming language, where program code and data could be encapsulated into single units called objects that could then be reused by other programs without having to know the details of the object's implementation.
http://en.wikipedia.org/wiki/Object-oriented_prog
History
The first object-oriented programming language was Simula 67, a language designed for making simulations, created by Ole-Johan Dahl and Kristen Nygaard of the Norwegian Computing Centre in Oslo. (Reportedly, the story is that they were working on ship simulations, and were confounded by the combinatorial explosion of how the different attributes from different ships could affect one another. The idea occurred to group the different types of ships into different classes of objects, each class of objects being responsible for defining its own data and behavior.)
http://en.wikipedia.org/wiki/Simula
Simula introduced the object-oriented programming paradigm and thus can be considered the first object-oriented programming language and a predecessor to Smalltalk, C++, Java, and all modern class-based object-oriented languages.
The first computerized system with a GUI was SAGE, the air defense system. This had CRTs and pointing devices in 1958. The pointing device was a light gun, and it really looked like a gun. This was appropriate, because, in the appropriate modes, pulling the trigger on the light gun could launch a surface to air missile.
There were a number of graphical CAD systems well before the PARC effort. Sutherland's Sketchpad, in 1963, was the first prototype. The General Motors DAC-1, in 1964, was the first commercial one.
The PLATO system, a very early computer-based instruction system, was demoed in 1960, but, like most of the other systems of that era, tied up a whole mainframe for one user. Plato was gradually scaled up - by 1967, there were special plasma flat panel displays (red only) and time-shared access.
So by the early 1970s, there were quite a few GUI projects that worked. They just cost too much.
Getting the cost down took a while. The early minicomputer-based workstations like the Alto were in the $25-50K range. The UNIX workstations of the early 1980s (Sun, Apollo, PERQ) were in that price range. The original Apple Lisa, a good but expensive machine, cost $10K. The original cost-reduced Macintosh was around $2500, and, lacking a hard drive, it really wasn't very useful. Not until the Macintosh was built up to a reasonable hardware level (512K and a hard drive) could you really get any work done with it.
By then, in the late 1980s, the hardware was finally ready. You could get a megabyte of memory, a bit-mapped display, a reasonable CPU, and a hard drive in a desktop box for under $3K. At which point Microsoft moved into the field.
One incredibly important tidbit is buried in the article: regions.
"One critical advance from the Lisa team came from an Apple engineer who was not a former PARC employee, but had seen the demonstration of Smalltalk. He thought he had witnessed the Alto's ability to redraw portions of obscured windows when a topmost window was moved: this was called "regions". In fact, the Alto did not have this ability, but merely redrew the entire window when the user selected it. Despite the difficulty of this task, regions were implemented in the Lisa architecture and remain in GUIs to this day."
That man was Bill Atkinson, and he came up with region drawing code that Apple patented. It's the reason that Apple's GUI was brutally faster than any other GUI out there. What was great about it was that it not only did rectangular regions, it was able to handle arbitrarily complex regions.
It's worth it to go over the patent, if you get the chance. It just goes to show that a misunderstanding can have incredibly positive repurcussions.
But the NeXT foundation and Objective-C together are actually very pertient to the world we live in today. [...] Objective-C is actually where the industry should have gone instead of C++.
Objective-C is indeed better for GUI and application programming than C++. It would have been great if people had adopted it in the 1980's, because it might have allowed C programmers to find out about, and transition to, better approaches to programming. But even in the 1980's, Objective-C was not state of the art; it was an uncomfortable and not particularly well-conceived compromise between C programming and OOP. Today, it offers little that Java or C# don't offer in a better, more convenient way.
It's easier to learn and use than C++ (I've done both) and might be a little behind Java or C#, but then again it's also not really been overhauled for a while.
I think that's an understatement: Objective-C hasn't changed significantly in 20 years.
The rapid degree of progress Apple has managed to make in the OS and with other programs is a good demonstrator for how efficient Objective-C can be.
I don't believe that's true. The thing that makes Macintosh so attractive to many people is its apparent simplicity, and that is achieved by keeping the user interface simple. So, the progress on Macintosh is due to careful design, not due to heroic programming efforts.
If you give, say, the iTunes design to a Cocoa programmer and a programmer using, say, Java/Eclipse or VisualBasic programmer, you'll probably find that the Cocoa programmer will take longer to implement it.
Essentially, "Tabs" were little name tag like devices a user could wear, and via RF signals, other devices near the user could know when and where a user was within the environment, and change/react accordingly. Simple things like finding out where a person in an organization was, as well as turning lights on and off, was one use. More complex tasks, like phones having special ring tones and ringing that phone near the user in his ringtone, as well as computer systems the user sat down in front of becoming active with the user's last state (from the last machine he was at?) were also ideas bandied about.
Pads were essentially the same thing as today's PDAs - wireless input/output devices linked to the network via RF links, which could share information with other users. Thus, a scribble could be made and saved, or "beamed" to another user(s), perhaps in a business meeting or such.
Finally, boards were something like an "electronic whiteboard" - where a user could draw on the board (actually a large screen display with a light pen) and save the data - or beam it to other user's Pads - or recieve scribbles from others Pads...
Ultimately, the idea was a ubiquitous and pervasive, network aware computer-aided collaboration system for (mainly) office use - possibly with the goal of eliminating paper from the office. With everybody having a Tab, a Pad, and access to Boards - collaboration and meetings could become real idea brainstorm and learning sessions. All data generated during the meeting, as well as viewed during the meeting, would be electronic, so the idea was that nothing would be lost, misinterpreted, mistyped, or any number of other things that could occur...
Today, do we have any of this technology? The obvious answer is that we have all of the technology available, for a price: Tabs are simply RFID tags of a sort (and one could even add a real LCD or OLED display to have them show messages as well), Pads are today's wireless PDAs and cellphones, and Boards exist today as (albeit expensive) electronic whiteboards. All the wireless networking system exist as well, we also have IP phones and such...
Basically, we have everything available, except for an integrated software solution to tie everything together so that it operates as a cohesive whole - as well as a price point that makes it affordable for regular businesses to make them switch to it over what is currently done (standard whiteboards, flipcharts, maybe a projector and powerpoint).
I would be so grateful to have PARCs vision be the norm - the savings in time and hair pulling alone from losing information (either purposefully or accidentally) from regular whiteboards, to having it all be electronic, would be worth it...
Reason is the Path to God - Anon
Ok, so we have a history of GUIs for windowing systems. It's a shame because there is just much more GUI out there. I'd like to see more on modern GUI than highlighting the start menu, and double buffered windows. .net, MFC, the webapp, the thinclient, up to the modern day.
I want to learn about tk, QT, java GUI,
The benefit being so much more use of the word GUI!
More than 20 years after the introduction of Macintosh, there are still a lot of people who don't seem to "get" the GUI concept. I suspect a lot of them are Linux programmers.
My first exposure to a GUI was when I got my Atari 520ST in 1985. I approached it with skepticism, it was a newfangled-looking thing at the time, but I soon became a true believer. The ST didn't have any command line -- everything you did on it, you did using a GUI. That applied right down to application programming, which was done using a GUI-WIMP based text editor, IDE, and visual GUI editor (i.e. resource editor). Likewise, every third-party utility, no matter how technical in nature, came with a GUI interface. They had to, because that was the only way to do it.
And you know what I found out? The Atari ST, despite its limitations, was an easy computer to use -- and an easy computer to program.
It's remarkable today to observe how many programming environments *still* don't come with features like an IDE or visual GUI interface creator, and to ponder the reasons why not.
Example: Python is hot. . . I'm sure it's OK for simple scripting, but why are people getting so excited about a language that doesn't even come with a good WIMP-based IDE and visual GUI creator? Are we really expected to create applications with this?
The problem as I see it, as that a lot of programmers from the Unix tradition still view "user friendly" computers with contempt. To them, user-friendly means idiot-friendly, and a GUI exists only so that Grandma can launch her web browser without getting confused. They don't program their Unix/Linux boxes using a GUI environment, and it would never occur to them that they should.
And here's the revelation. . . The GUI wasn't invented for Grandma. It was invented for everybody: office workers, scientists, artists, publishers, musicians, network administrators . . . and yes, programmers. The purpose is to make complicated things easy, not simple things.
I find one of the most frustrating aspects of Mac OS X is the occasional need to work with utilities from the Unix world (Subversion being a recent example). As long as I stick with Apple-supplied software, everything is easy and natural. As soon as I need to install and configure any program from the Unix/Linux world, and I'm forced to dig "under the hood" of Mac OS X, everything quickly goes to Hell. Sure, I can make it work eventually -- after enough tinkering and fiddling and digging around for documentation -- but I find myself asking why. Why should I have to put up with this nonsense in the year 2005?
The problem goes beyond the lack of GUI interfaces for programs coming from the Unix and Linux world. There's also the poor quality and inconsistency of those programs that have a GUI. These are interfaces designed by somebody who doesn't want to use a GUI himself. They're tacked on as an afterthought because "the dumb users" want a GUI, not because the program's designer wants or appreciates a GUI. And can you blame them? The only kind of GUIs they have regular experience with are the desperately *bad* and confusing ones typical of Unix and Linux applications.
If you give, say, the iTunes design to a Cocoa programmer and a programmer using, say, Java/Eclipse or VisualBasic programmer, you'll probably find that the Cocoa programmer will take longer to implement it.
Actually, having used the tools for all those languages I do not think that's an accurate statement. I've built a lot of Java GUI apps. just a few visual studio ones, and only done a bit of XCode so far - but I really feel like once up to speed XCode is probably the best GUI design app around. Again the message passing nature of the language underneath really helps since you're basically building a stub GUI that you then flesh out the code behind.
The thing that makes Apple apps really good is because they don't have to go to heroics to design nice interfaces, the tools lend themselves to easy and rapid GUI refinement.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Actualy, you can do multipul desktops on windows.
the first time I saw it was in a program called litestep (if that isn't up there's an older version here).
Not only did it do multipule desktops it also skins them too. There's tons of other shell replacements like it at shell city. Some are better than others thou.....
Turns out ripping out the shell in windows isn't that hard.
These days I just use the normal shell and some random tool that came with my nvidia card that let's you have multipule desktops. Handy when some game blows up your refresh rate (civ 3).
Linux is really boring from an os standpoint. Now Plan 9......