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'm missing CDE and Looking glass in that article, nice sumary otherwhise. Well up to 1989 anyway, then it starts to lack a bit IMO.
News flash!
Ars Technica has written yet another story about technology history.
More on this shocking news as it develops.
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.
It depends on what you define as GUI. A command line based interface? No. A text mode full screen interface? Maybe. An interface running smart use of pixel graphics? Definetely.
Also it needs to be considered that many applications incorporate definitely non-GUI-elements into their GUIs. For example CAD programs often have a command line (love 'em).
Very interesting... and you can see GUIs stem off to those such as on Console gaming machines, Palm Pilots, Cell Phones, even Home Theater receivers and DVD players. Well done, nice read (well, I skimmed through it).
"I cannot think of any need in childhood as strong as the need for a father's protection." -- Sigmund Freud
Heh,my primary interface to my computer is still a terminal, but inside a GUI. The only applications I use that really use the mouse are Mozilla and Gaim. For the rest, I use the keyboard primarily, for school work (Emacs, gcc, and latex) and such.
If I have nothing to hide, don't search me
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
Slashdot linking to an actually interesting article? What's going on here?
As a side note, yes, the article is refreshingly non-dogmatic, but it is a BIT unfair to use a KDE screen to represent X in the "GUIs of the 80's" section. They really could have found an old copy of an early windows manager, then screenshotted that...
Truly an american icon!
I mean, I was thinking that maybe the /. editors actually read /. but have had my faith restored in thier ability to dupe a story withen days of its orginial posting. If we are lucky, it might get posted again next week!
What are they talking about!?! These don't look very gui at all! They are all pretty hard looking to me!
Your skill in reading has increased by one point!
But on what computer hardware would that have been running on?
Acer
http://xs4.xs.to/pics/04481/p556222.gif
...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
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.
Wikipedia anyone?
"Fight for lost causes. You may discover they weren't."
serves xerox right for now cashing in on their own idea!! altho they revolutionised laser printing.
I always thought Desqview (and Desqview/X) was pretty cool. Even though I've been a Windows user since '87/'88 I did play with Desqview/X and thought the idea of having an X server built into your PC GUI was a pretty neat idea. Even if I didn't totally understand what X was at the time.
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 Pictorial History of the Apple Desktop Interface 1979 - 2000
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.
I had forgotten how impressive small talk was, and still is. For more on the history of smalltalk you can go here
Philosophy.
Get your own free personal location tracker
Is www.google.com down for anyone else? It's not responding to any of the three computers around the house, each with a different ISP. Please post if you can reach this URL. This is not a troll, although it assuredly looks like one.
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
Does this mean that MSN won the search-engine war?
What makes you thing a 3d interface would be any better? Its like everybody assumed it would be better just because it has a bigger number; the more dimensions the marrier. In real life we see in 2d and have a difficult time perceving the third.
If you want to play around with a 3d interface i recomend 'tdfsb'. (3d file system browser, and yes, its free as in freedom)
Does it have hack value? Fuck yes.
It is practical at all? Fuck no.
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'.
But this is better.. ;)
Oberon OS & GUI.t em
http://en.wikipedia.org/wiki/Oberon_operating_sys
Porn
yes, google's been down worldwide for like 20 minutes
Don't you think?
Google
http://216.239.37.99/
http://216.239.39.99/
http://216.239.37.99/
> 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
It doesn't matter who invented the GUI first... what you should be asking instead - who popularized it?
Who made the key step from being merely a nerdy tech tool, to a groundbreaking interface to the rest of the non-techie world?
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!
Heck, the HHGTG had a GUI and took voice commands... and the radio play was in the late 70's... :)
BlackNova Traders
I don't know whether this was parent's intention or not, but the link proves a very good point: There has been very less innovation (and change) since modern, idiot-friendly, GUI computers became popular. In the link, there has been very little change from the original Apple/Mac GUI (from the around 1980) to the current Mac OS X GUI except for the current GUI being more colourful and more eye-candy. In other words, a better-looking theme. (If back then computers were as powerful as the ones now, then the GUI would already been as eye-candy as now.)
http://www.ibiblio.org/pioneers/nelson.html
sig goes here!
Too many quotes in the article, I'm lost!
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.
This article was rather omissive, in my opinion.
Showing an early KDE screenshot in no way represents the 10 years of X history that came before that, nor does it speak to the competitive features of early X Windows software, such as network transparency.
Where were the 8 major versions of the Mac OS that appeared between System 1 and OS X?
The article doesn't even touch on Windows XP, except to show it on the final timeline!
One thing I would have added in there was an entry on enlightement - back in the day, it was the first window manager that allowed almost complete customization and theming. I'd say it's probably behind the drive to 'prettify' GUIs that has only become popular in the commercial world in the past few years (os X, xp (to an extent, anyway), other window managers for X). I can still remember the first time I saw someone running E - it blew my mind.
Also, did anyone else notice that the one entry for X was listed in the 80's, but showed a screenshot of KDE? It should have been wm or one of the early window managers. Or maybe twm at the newest.
Those who can't do, teach. Those who can't teach either, do tech support.
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?
Try rapidly moving, say, an Explorer window over top of a Word document. If your eyes are very fast, you can still see which parts of the window are redrawn and which are not.
Too bad I use linux you insensitive clod!
Unfortunately, their licensing agreement let MS do just that, and the rest is history.
There was, however, no "changing of minds."
Slashdot "libertarians": Small government for me, big government for those I disagree with. -1, I disagree with you
Xerox made millions off the Apple deal.
So no, Gates buying DOS isn't "just like" the Apple deal.
You think Xerox would have done anything with it? This is based on all of the shipping, profit-earning products that PARC/Xerox has shipped in the last 20 years? LOL, the Apple deal was likely the most money Xerox has every gotten out of PARC.
I guess we now use the term "exploited" for any deal or job we don't like or approve of?
Slashdot "libertarians": Small government for me, big government for those I disagree with. -1, I disagree with you
It is correct to say that Xerox did not invent the GUI. But the article seems to use that as some kind of exonoration of Apple, and that it isn't. The researchers at Xerox made enormous contributions, both to the user-visible aspects of GUIs, as well as to the underlying technologies (OOP, design patterns, etc.). In contrast, the developers at Apple made some moderate, practical improvements to the user-visible aspects of the GUI (although, ironically, in OS X, they are actually picking up more and more of the original Xerox UI design), and they made no contributions at all to the underlying technologies.
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.
I think a dual mouse system, five buttons per mouse (one per finger), would be ideal. It would allow chordkeying and dual mousing from a single ergomonimc position. Obviously, this would be an user-chosen setup; it's no keyboard-killer. http://www.halfbakery.com/idea/Low-Impact_20Dual_2 0Mice is a similar idea.
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?
That's because intelligent+educated=liberal, and ignorant+shortsighted=conservative.
I misread "Twenty Questions" as "Twenty Minutes". It actually made more sense that way.
... will rely on a rock-solid & well-established foundation of 3D rendering techniques whose relative usage of system resources is at or below that of the rock-solid & well-established foundation of 2D rendering techniques used by today's GUIs.
Sound familiar?
Why yes. Yes it does. I'm typing on it right now, it's called Tiger.
I'm not sure what the Next Generation GUI looks like, Apple hasn't announced what the next OS release will hold yet. Hopefully Mail.app uses it though and moves beyond its current state.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
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.
amen brother!
What new incarnation of bizarro world are we witnessing here? - a conservative railing against the capitalist, monopolist big bidness corruption-loving cretanic evildoers in favor of commons-based bottom-up power-to-the-people open source thoughtful solutions?
Wake me up when this right-induced descent into Mr. LPS' red-room is over!
Here is what I had to say at Ars Technica... I stopped reading after I ran accross too many accuracy problems. The "proportionally-sized scroll bars" that were accredited to Acorns Risc OS in 1987 is incorrect as the patent was awarded years earlier to Commodore for the Amigas Workbench, which had this feature. The Task Bar which is accrdited to Windows 95 was actually in use a decade earlier by Acorns Risc OS. No mention as to the Amigas other OS inventions. Like multiple screens. Each screen held as many programs and windows as you wished, each screen could be dragged down with its contents, or pushed back in the stack of screens by clicking on the depth gadget. Each screen could have an independant resolution, and the OS would display both resolutions at the same time if two screens with different resolutions were made visible by dragging. Also since therfe was mention of single tasking and task switching, why the the Amigas OS miss out on the mention of the first consumer OS that had multitasking? Amiga users were harrassed for a decade by Mac and Windows users that "mutlitasking is useless, you can't use more than one program at a time". This is a badly researched article by someone who obviously was not there, or only ever used one OS family while ignoring the rest of the computing world.
I prefer to run programs from a CLI in a shell window. The only GUI application I use regularly is mozilla (started from a shell); pretty much everything I do, I do from a shell. Rather than trying to manage an entire seperate interface (or using someone else's idea of what a default should be) it seems to much simpler to do it this way.
The CLI is power, the CLI is control. If you are unable to function with a CLI, you are giving up quite a bit of both.
No mention of it anywhere? It was around on a bunch of 68020 based Suns at my univ. If memory serves, it used some sort of display postscript scheme.
X has changed a lot from the early versions to the modern ones, and there have been numerous Window managers and operating environments over the years. I would have liked to have seen more discussion of that.
Also, what about Sun's aborted alternative, Sunview?
A discussion of some of the Windows alternative GUIs (Dashboard, etc.) would also have been interesting.
Bruce
The article only briefly touches on the Amiga computer, and makes no mention of it's icons at all!
.info file would be a file called "Shell.info" in the same directory) which contained, along with some other settings, an icon for the file in the Amiga Workbench. Early Amigas (i.e. before OS2.0) could only show files with a .info file. Later versions could show all files, using a generic image for the files with no icons of their own. Note that this only applied to the Workbench; all files (and their .info files) could be viewed using command line tools.
.info file can contain two icons, one regular and one selected view. Additionally, an Amiga icon was not limited by size; it could be as small or as large as you liked (this is the other feature). Think of a giant black silhouette of a castle that erupts into orange flame when selected. That could be an Amiga icon (and it was, IIRC)!
.info files also indicated to the Workbench what type of file it was dealing with. A DISK .info file represented the icon of the drive upon which the .info file was stored, provided the .info file was called "Disk.info" and resided in the root directory of the drive (this implies that it is impossible to have an icon for a file named "Disk" in the root directory of any drive). DRAW .info files represented drawers (directories), a TOOL was an executables, a PROJECT was a data file and GARBAGE was the trashcan. The Workbench would use the .info file to determine what to do with the file; DRAW files could opened to reveal more files, TOOL files could be launched, etc. Changing the file type would change the way the Workbench interacted with the file, including attempting to browse a regular file as a directory, or execute a data file. Naturally, these attempts would fail, and in some cases the Workbench would ignore the .info file if it did not correlate to the file it represented.
.info file included parameters for the executable, since programs launched from the Workbench did not receive their parameters via the 'argv' variable, but rather as 'message' from the underlying operating system. But that's a discussion for another time...
Amiga icons were implemented completely differently from any GUI I've encountered since. First of all, instead of being embedded into an executable a la Windows (and Mac?), or using a shared image file like in your standard *nix GUI, each file could have a '.info' file (i.e. if a file was called "Shell", it's
The icons themselves were simply a 2-bit (i.e. 4 colour) plane-interleaved paletted bitmap. The colours were not stored with the icon, but were determined by the preference settings of the Workbench. Thus, all icons on a particular desktop shared the same colours, and if you changed the workbench colours, all the icons (and text, and windows, etc) would change too. An icon could change in one of three different ways when selected. First, all the colours are inverted; that is the first colour is swapped with the fourth and the second is swapped with the third. The second is the same as the first except the background of the icon appears to be 'flood-filled' back to its original colour, so only the picture within the icon itself is inverted (this allows apparently non-rectangular icons to be selected without revealing their true rectangular nature). The third (and this is one of the features that defined the Amiga GUI for me) is a completely separate image can be substituted. Thus, a
The
Another interesting feature is the way TOOL files were launched. The
I'm sure there's a tonne of info about the Amiga on the web. Go find it yourself if your interested.
Lisp has also done some impressive work as well. Computing so far behind, it isn't funny.
If you can find it, Alan Kay did a great video about the User Interface called "Doing with Images Makes Symbols". He goes over a lot of the stuff in the article and provides some background into the thinking behind their work at Xerox. http://www.archive.org/details/AlanKeyD1987_2
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.
I skimmed the 8-page article. Basically, the gist is that all the major pieces were in place for innovation very early on thanks to some early visionaries. Xerox created a great environment where substantial GUI innovation took place. After Smalltalk (amazing in it's own right), Apple's Lisa included former Xerox and other developments and innovated quite a bit. Shortly thereafter Apple's NeXTstep, other competitors like Microsoft (Windows 1.0) added their smaller enhancements. Windows 95 has been credited for the Task Manager GUI and Start Menu (very integral to future Windows versions). OS X had a few minor enhancements, especially Expose. It seemed to the author that everyone's settling toward the "sweet spot" of user experience in 2D, and 3D seems unlikely. I'd personally say...anything is possible - if Avalon's push toward 3D development flops, then Longhorn could be dead in the water for the average user.
This sig donated to Pater. Long live
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.
Thanks for the clarification...
Slashdot "libertarians": Small government for me, big government for those I disagree with. -1, I disagree with you
I did not see any mention of QNX. Being the first realtime OS, its GUI had one interesting feature. It was the first OS that allowed the extention of the desktop accross two monitors. Windows could be dragged to be displayed in part on both monitors, even while playing a first person shooter in the window.
There are a few of us who read /. for the articles (you know, as with Playboy), but don't buy into the whole "IP is bad" thing. The US Constitution is clear on mandating Congress to pass laws to protect art and science:
To promote the progress of science and useful arts, by securing for limited times to authors and inventors the exclusive right to their respective writings and discoveries;
Some of us still believe in reasonable IP law, which does not preclude reform...
Slashdot "libertarians": Small government for me, big government for those I disagree with. -1, I disagree with you
When I looked at this picture of the NLS, I recognized it immediately. Mine's almost the same, probably a later version. I can't figure out why they used such a big display however.
One line blog. I hear that they're called Twitters now.
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!
"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."
But, but! We hate software patents!
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......
I knew Slashdot borrowed news from OSNews but... usually they did it the same day....
This one is like 4 days old:
http://www.osnews.com/story.php?news_id=10512
hey, the Alto had invaders and Galaxian? Anyone know what these looked like .. i'd love to find out ..
off to find an Alto emulator, if there is one..
; -- the corruption of government starts with its secrets. a truly free people keep no secrets. --
... if this doesn't show why software patents are bad I don't know what does. Imagine Aplle had patented the double click or the pull down menu. How would the computer interfaces of today look? Or would Apple just be the Microsoft of that alternate reality?
yeah, newsflash yourself, this is the best and most in depth GUI history there is till today. I think it should be a perm link on /., so that we can just point the trolls there ...
How about: "You'd still be wrong"?
There was no cash involved, only bargain Apple stock options for Xerox (it was already clear how big a success Apples IPO would be).
And what Steve and his engineers saw at Xerox was nothing more than this:
http://media.arstechnica.com/images/gui/7-AltoST.j pg
They still put a lot of their own work in the GUI. Well, that and hired ex-Xerox employees of course.
From TFA:
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. In fact each team borrowed liberally from all GUIs that had been created in the past, added their own unique contributions, and paved the way for other teams to move forward in the future.
Thank god that won't happen anymore, now that we have software patents.
What is the world coming to when garbage collection can be described as a "modern, Java-like feature"?
Have you actually tried the concept, or thought it out? How easy will it be to manipulate objects in 3D compared to 2D? Most people will prefer the simplicty and higher resolution in 2D.
;*)
You really need a "killer app" for 3D, and the only one I can think of is 3D VR. Even that has been on the market many years now, but really never took off. I think it just makes you too far cut off from reality.. It's too much strain to switch between realities, than between our world and a 2D paper or computer screen.
Just think of the mousearms of the future if you have to manipulate a 3D mouse
The applications for this is very limited, so it is hard to market something like this. At least with current technology and concepts.
Personally, I will ALWAYS prefer to do work in 2D, unless the WORK demands it, ie: medical scans or making levels for Quake or something. Even then, I don't really need to fool my brain to make it stereo 3D. After a while I will get immersed in it enough, and it's easier to switch between work and outside.
This just sounds like technology for technologys sake, not for humans.
Anyone can report on things that others have already done. This is no break through to do. I am not impressed. Reimer doesn't even have a degree in this section of the field, nor does he even know how to program!
Why is this in the developer section?
Anyone can report on things that others have already done.
This is no break through to do.
I am not impressed.
Above all, Reimer doesn't even have a degree in this section of the field, nor does he even know how to program!
He's just a nobody, trying to be a somebody, by attaching to the coat tails of others work "reporting on it".
Another Jeremy Reimer rehash, nothing original or creative.
A good summary of the two main branches of lisp machine history is here. I personally first saw both a PERQ and a CADR at IJCAI 81.
To a Lisp hacker, XML is S-expressions in drag.
...Jeremy Reimer was STILL a fuckwit.
i t.html
http://www.aquarionics.com/fun/bestofusenet/fuckw
perspective. There was a lot of activity in the workstation
market at the time, and most of those companies were in
the valley, and were likely talking to each other. It only has a screenshot of kde, completely misses all
the innovations of X (aside from mentioning separation
of mechanism from policy, which is very important.)
that there was a playing field to implement all sorts of GUIs and there were.
and much more... You could see what PC OS's should do
back in the early 90's but what the PC's didn't because the
hardware of the time wasn't upto it.
Al Gore invented the GUI.
The article, on page 3, states that Smalltalk was the world's first object-oriented programming language. However, Wikipedia says that it is based on Simula. The Simula article on Wikipedia says: "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."
...Jeremy Reimer was STILL a fuckwit.
t -of-usenet/browse_thread/thread/48529bed53b9761c/b 9d53efbb797a44b?q=jeremy+Canadian+fuckwit+Beard&rn um=1&hl=en#b9d53efbb797a44b
http://groups-beta.google.com/group/alt.humor.bes
Multiple desktops is the single most useful feature for me. I use it religiously, and can't stand the constant shrinking and moving required in Windows as a result - I love to have certain apps open full screen 100% of the time - like my browser. When I want desktop space, I switch desktops. The news-ticker and taskbar remains constant across each desktop and I LOVE that.
It also might have mentioned more about the networkable nature of X - this is a feature I use all the time too - running remote apps. A quick mention of desQview and its plans to use the X system might have worked too...
Finally, more attention to GEOS would have been nice - maybe I'm wrong, but it was my understanding that windows 3.0 did not have true-type fonts, but GEOS did. Further, GEOS could multitask its own apps better than windows of that time - in other words, GEOS really was, for a short time, a better product - the best GUI for the pc at the time - and written with what GEOS was famous for - lean and clean, no bloat, code.
dahlek (will you squirm when you are pecked
I think the future is declarative GUI design (usually, XML GUI specifications these days) combined with high-level languages. Linux and Windows are far ahead of Macintosh there technologically and in terms of tools.
Oh, XAML. Yes very interesting - I was doing that about seven years ago by hand in Java with apps that created menus and GUI forms in that manner (back then it was more properties than XML, then I started in on XML/XSLT HTML rendering systems). It's pretty nice, which is actually why I'm so fond of XCode.
You see, declaritive design by hand is fun but only goes so far - eventually it's useful to have a GUI over it. And essentially XCode is that GUI over resource bundles, which are dynamically telling the application how to build GUI's and so on. That's why it's so easy to go into Cocoa apps and play around with reasources to cheange how the app appears.
And as the other poster pointed out, message passing as a first-class feature of the Objectsive C language is literally NOTHING like what Java or C# has to offer. I would go so far as to say that message passing along with declaritive GUI design is the future. I just happen to be able to code with it now, with a slightly more primitive version of the language that will actually bring it all together (I aminge either Java or C# will drift that way eventually, currently they are racing neck in neck in a straight line with blinders on.).
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Dynamic method forwarding is quite convenient, and many dynamic languages (Smalltalk, Python, CLOS, Ruby, Dylan, ...) support it. Perhaps suprisingly, even though Java and C# are statically typed OOLs, they also support it well because their reflection capabilities are so powerful (e.g., Javassist [titech.ac.jp]).
I like reflection more than most people. but really lets be honest and admit those parts of Java or C# are not all that approachable to most people. How many people really use JavaAssist? Not to mention that while the capabilties are pretty good, the semantics for using them are not that easy and so do not gte used very often.
I've written a lot of Java code that dynamically loads classes or accesses methods or even uses dymanic proxies out the wazoo. Again another reason to approeciate the practicality Objective-C birngs to the table in this regard - who cares where it stole the idea from if it works?
"There is more worth loving than we have strength to love." - Brian Jay Stanley
I use "stealing" in the best sense, I meant no negativity by it. As you say reuse of langauge features is fine and is used in many places. Nor am I claiming Apple to be the inventor of anything really as I recognize the fine heritage that other languages like Smalltalk offer.
However I do not think you are taking into account what a highly dyanmic language like Objective-C gives you, when you say that method calls are not typed checked at runtime - well that's the whole point really! That to me is a good thing, not something to be loked down on. I always approached Java in a way closer to Scheme anyway so really that is all well and good.
I am trying to think what DO means in this context but it is not ringing any bells, can you fill that one out? I don't think your claim of whatever dynamic system you are thinking of not being possible in Obejctive-C is correct, a more concrete example would be nice.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Would you also like to hear a song by the author of this article?
m p3
It's where Jeremy Reimer libels another person, and Jeremy Reimer (author of this article, heck this term paper where he spits back the ideas of others only re-reciting them) wrote and composed it:
http://www.pegasus3d.com/download/apksong2000+++.
Jeremy Reimer is 33 years old and acts like a child and is an incredible idiot apparently. Some wanna be with no degree or professional experience in this field either.
news-reader.org/article.php?group=alt.fan.jeremy-r eimer & post_nr=5273
---
Author:Jeremy Reimer Subject:Re: Jeremy Reimer *IS* God!
Body:"Jeremy Reimer"
wrote in message news:
> Jeremy Reimer is the scale by which we should all measure the importence of our lives!!
> I agree with this brilliant man!
INDEED!
---
Unbelieveable. The author of this article from above, Jeremy Reimer, thinks he is GOD? Sounds like he is delusional.
...'the truth of the story is that the GUI was developed by many different people over a long period of time'...
Wasn't Al Gore the sole inventor of the GUI?
I'm surprised that this article doesn't mention Ivan Sutherland's inspirational Sketchpad, from his 1963 dissertation.
In my experience a high degree of saftey and type checking in a language is overrated. While it is useful it can also lead to inflexibility. Holes as you see them may be vanishingly small in real-world use, especially if you have expeirenced developers...
Would I want to man a team of ten green programmers in a large Objectsive C project? Not really. But I would indeed prefer Obejctive-C for a small team of two or three people who really knew what they were doing. And in all of these discussions I amtalking in the realm of applications development, not nessicarily large monolithic backend systems.
Now on to youd post:
Yes, just not a very good one, not even by historical standards.
That is either a very childish comment or based on a real lack of recent knowledge.
If XCode is "not very good" then I should fear to hear the verbage you'd use to desribe other declaritve development IDEs.
Well, and that's a good thing because Objective-C's support is incomplete and unsafe. Java and C#'s support is complete and safe. Unlike Objective-C, Java and C# also support persistence, inspection, remoting, and a host of other advanced features safely and completely.
And yet oddly it's also one of the few environments with a real answer to simple persistance using CoreData. Why is it that your message does not seem to jibe with reality?
Objective-C supports all the things you mention. You keep oscilating between it being "impossible" in Obejctive-C and then saying the support is "not very good". Sadly I lack the in-depth knowledge of Objective-C that I have with other languages and real-world development to fully refute your claims, but I can use the innate intuition of the experienced programmer to say with confidence "you are wrong".
The traditional way documents the intent better, supports better type checking, and works in many different languages. Having the language automatically turn method calls into data structures is a gimmick.
Again showing you can only think in the standard mode of programming and are not really getting your head into the message-passing realm. What you just laid out is so clumbsy really compared to message passing as a first class citizen...
"There is more worth loving than we have strength to love." - Brian Jay Stanley
You appear to think that this is an argument about static vs. dynamic type checking, but I have no problem with dynamic type checking. The problem with Objective-C isn't that its object system is dynamically typed, the problem with Objective-C is the unsafe, inflexible, static type system it inherited from C.
No. It's all about saftey. The fundamental question with saftey is - what are you protecting the code FROM. The answer is - yourself!!! That's why seeming "holes" are not as bad as you make them out to be under the right circumstances. Ad hoc developers build has "holes" like this all the time into systems where things can go bad quickly, but people learn how to work with the system so it does not do that. So lack of saftey in some situations to be is a total non-issue, especially for application development. You just make sure users cannot get into areas they should not.
I got my head around that 25 years ago. I just think a programming language should get typing and memory management right before it attempts to support message passing OOP. Java is not the world's best OOL, but at least its type system and runtime are sound.
But again in real life it appears to be working out quite well with a LOT of very high quality small shop apps for the Mac. The average Mac app is WAY better than the standard thrown-together-in-VB app that you see on Windows. As they say, the proof is in the pudding so obviosuly problems you have with the language are turning out not to be a big deal in practical use.
I have nothing against Java, belive me! It's still my primary language and I would even use it for application development in a lot of cases as I don't have the unreasonable fear of Swing or other Java GUI's people seem to have since I've build a few complex ones. I just think that XCode and Objective C is a great combination that lets you build REAL apps quickly. I have used a LOT of IDE's and so far it's really the one I think is most well rounded.
Experienced programmers clearly are incapable of avoiding these holes, otherwise programs on Windows, Macintosh, Linux, and UNIX wouldn't be full of buffer overflow problems and pointer errors
Sorry, I meant good in addition to experienced. And yes they make mistakes but on the whole a lot less. The error I think lies in the assumption that you can make a lnaguage so safe programmers cannot fail within in.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
ALl of the most intersting apps I've seen are Cocoa based. Given that, why would they NOT be written in XCode and Objective-C?
I've done some work with the Java->Cocoa bridge and that works OK. But if I'm writing ap app that's going to take full advanatage of the system there's no question Objective-C is the way to go.
The argument about the choice not being binary is exactly what I am saying. The holes you point out are hardly holes at all to someone who knows what they are doing - sure you CAN send an into to a method that takea string. But in practice if you're even a little careful it just really doesn't happen, or the results are so spectacular it's fixed quickly. The end result is still a solid stable app for the user.
In short, because most of the smaller Mac apps are very stable indeed I would submit there are few practical deficenies with the Objective-C/Cocoa combination as it exists today. More work can be done and is always welcome, but it's already operating at a pretty good plane of efficiency.
The comparison of 100000 C lines vs. 250000 lines of other code is WAY overblown. EVen if you are looking at code between Java and ObjectiveC, the gap will not be so wide. And indeed because of the dynamic runtime bundle hookup of GUI elements for most work you are doing the Objective-C code you actually write will be smaller than most Java or C# code.
"There is more worth loving than we have strength to love." - Brian Jay Stanley