What GUIs Came Before X11? 152
"I'm sure that X11/10 and W weren't the only windowing systems around. I know there was something called NeWS - a sort of windowing postscript - that according to legend - duked it out with X11 and lost. Even earlier there where 'sketchpad' and the famous Engelbart 5 fingered mouse demo, but I think that those systems were developed even before we where blessed with Unix. And what _was_ XEROX up to when Jobs & Co. came to visit? Either way, there must've been a whole bunch of proprietary and/or research GUI windowing environments out there before X and its extentions swept the Unix board."
Re:Well, don't forget Sunview (Score:2)
LISP Machines (Score:3)
Here are a few people's pages about Lisp Machines, for the curious (Some links are MIA; can anyone find a new valid address for them?):
Re:Emacs! (Score:2)
Both gwm [inria.fr] and the more recent Sawfish [sourceforge.net] are extensible window managers which are implemented in an elisp-like language.
Somebody suggested, as a 'blue-sky' feature for GNOME a while ago, a kind of Emacs window manager where you have each app open in its own buffer and switch between them with C-x b, C-x o and so on. For the special case of shell buffers, we already have this. Something like a VNC [att.com]-mode for XEmacs would probably allow you to implement this fairly easily.
Re:Cmd Line & Explorer tip (Score:1)
Some of us don't have a keyboard that has those 'other' keys (too old - 1995, or the fact that they just get in the way... that's the handrest area of the KB).
Posting on an old thread... oh well...
Re:Multiple desktops on Windos (Score:1)
Alt-ESC to lower a window?! No mouse click?!
Re:why a mouse (Score:1)
oh well. I find the trackball to be far more accurate after a little practice.
bad admins at famous .com's (Score:1)
The DDOS attacks were caused by known vulnerabilities which could easily have been patched. However big companies like CNN.com,etc do not hire people who care about these things, they hire paper MCSE's.
Big companies very often have clueless admins who rely on the expertise of tech support from companies they have bought large support contracts from. The problem with this is that being bad admins they have no concept of maintenance.
Bottom line, a good admin is on the lookout for security announcements, especially when they come from site that post a script to take advantage of the exploit. If you can get it, the script kiddies can too. PATCH!
And don't use Microsoft on the DMZ/Firewall/etc because they take too long to release patches, sometimes years. Pointy haired bosses may care more about who the support contract is from than what security is available, but a good admin will care about security.
Re:How about GEOS for Commodore? (Score:1)
Ahh... the days before bloat...
Does anyone know if there are any Xerox PARC PCs still functioning? I saw one on a documentary a couple of years ago.
-Cybrex
Re:why a mouse (Score:1)
Go figure
> I find the trackball to be far more accurate after a little practice.
Hmmm. Took me about a day back in the "Doom" days to pickup the mouse skills. How long did it take with the trackball ?
Which model are you using ?
I've been thinking about picking up the trackball, but have held off since the keyboard+mouse combo worked so well.
Cheers
Re:The Andrew Window Manager - I used it (Score:1)
In those days Unix was completely mystical to me and I didn't know what was going on behind the scenes. At first I used WM because I was afraid there might not be more than 8 megs in the workstations I was using (old Sun 3_35 systems I believe) but eventually I graduated to X.
X and WM looked and behaved similarly, especially given that the majority of applications available were Andrew applications (clocks, email clients, the EZ (crappy) word processor, etc), and they looked and worked the same in both systems.
But here was the thing about WM: it had NO OVERLAPPING WINDOWS! Meaning that you could have multiple windows open, but they would all take up their own area of the screen. WM gave the illusion of a desktop since there was a small gap between windows through which you could see the desktop background (which was generally just black), but if you opened a new window, the others would shrink down to get out of its way. So you ended up with a sort of grid of non-overlapping windows on your display.
I remember that most of the CS geeks laughed at WM for that reason, and that it did not last long. By the time I was a junior, I think it had been retired.
Re:why a mouse (Score:1)
The trackball is a little tough to pick up in a day, since you have to fiddle with the sensitivity for a while in normal 2-D land to get used to it, but it's well worth it (if you spend a lot of time at your computer, I'd say about two-four days isn't an unreasonable curve. There are some moves I've been able to do with a trackball that I never accomplished with a mouse - I like the speed and precision. Of course, there were many who were better at Q-II than I was, but I managed a fair number of frags on the stanford fvf server (back in the day)...
Re:The Andrew Window Manager - I used it (Score:1)
you describe. It could be turned off, but I
actually enjoyed tiling at the time. Less time
pushing windows around!.
(WM user from 1986 to 1989. ATK user 'till
1996!)
Re:Screen captures of older guis? (Score:1)
http://php.indiana.edu/~jasomill/sunview.gif
(and yes, I still use the system, incl. SunView; when all you're running is terminal windows, SV is oh, so much faster than the console [which, on the SS1 at least, is so painfully slow as to be virtually unusable] or X, especially on a SS1 with 16MB of RAM). The OS version is SunOS 4.1.4, and the Lisp Screen in the background is running the Copycat AI program (more info see "Fluid Concepts & Creative Analogies : Computer Models of the Fundamental Mechanisms of Thought" by Doug R. Hofstadter).
Re:Emacs! (Score:1)
Re:AmigaOS (Score:1)
I must have been confused because of the ever increasing size of RAMs these days. On the Amiga500 we used to do quite well with 512K of RAM, and I could compile C++ proggys on Amiga1200 with only 2 megs of RAM!
Re:AmigaOS (Score:1)
BOOPSI - Basic Object Oriented Programming System for Intuition. First appeared in AmigaOS 2.0, I think. Compared with the rest of the OS this one was a relatively inefficient design: methods were passed up through every classes' method handler even if they had no intention to handle them, ever. Nothing like a table lookup anywhere in sight.
Re:why a mouse (Score:1)
Re:AmigaOS (Score:1)
It never went up to 1MB, the ROM. In the very beginning it was 256k, on a5oo and forwards it was always 512k. The only machines with more than 512k on ROM was the CDTV and the CD32, but that was just becasue they had a second ROM with CD-player software on them (lots of gfx)
Re:The Andrew Window Manager (Score:1)
Re:why a mouse (Score:1)
One problem for me is that the Windows Explorer has no direct shortcuts. (Just that alt-f then m for rename type shortcut, which isn't much of a shortcut at all.) Coming from a Mac background as I do, this seems silly -- because it unnecessarily slows users down.
I end up using my mouse mostly to swap between various apps and files, because the alt-tab in windows doesn't tell me which of the three SSH windows or four Netscape windows I'll be jumping into, given their little icons. If I could swap between windows based on their order on my taskbar (like alt-f1, alt-f2, like swapping between shells in Linux), that would make life easier. Has this already been implemented and I'm just ignorant of it? Any way to do it?
-- Diana Hsieh
X Origins (Score:4)
Robert W. Scheifler, Jim Gettys, The X Window System, ACM Transactions on Graphics, 5(2), April 1986, pp 79-109
The paper is ~30 pages long and contains an excellent description of why X were designed like they were, and also a quite candid critique of the system's shortcomings by their authors. There is about 1+ page of history.
A brief quote from the intro: "At Stanford University, Paul Asante and Brian Reid had begun work on the W window system as an alternative to VGTS for the V system. Both VGTS and W allow network-transparent access to the display, using the synchronous V communication mechanism" [(c) ACM 1986]. More references:
P Asente, W Referece Manual, Internal document, Dept. of Comp. Science, Stanford Univ., 1984 KA Lantz, WI Nowicki, Structured Graphics for Distributed Systems, ACM Trans on Graphics, 3(1), Jan. 1984, pp 23-51
W Nowicki, Partitioning of Function in a Distributed Graphics System, PhD Thesis, Dept of Comp Science, Stanford Univ, 1985
D Cheriton, The V Kernel: A Software Base for Distributed Systems, IEEE Software, 1(2), April 1983, pp 19-42
I also found some surprising references, such as the one with James Gosling (of Java fame), in his youth (while a student at CMU): ;-)
J Gosling, D Rosenthal, A Window-Manager for Bitmapped Displays in Unix, in Methodology of Window-Managers, FRA Hopgood etal Eds, Springer-Verlag, NY, 1986
J Morris, M Satyanarayanan, M Conner, J Howard, D Rosenthal, F Donelson Smith, Andrew: A Distributed Personal Computing Environment, CACM, 29(3), Mar. 1986, pp 184-201
Andrew was a windowing system developed independently at CMU at about the same time X and Athena were being developed at MIT. Eventually, X dominated and an emulation layer was written for Andrew, to be able to run it's UI on top of X.
A number of these are available online from ACMs DL. Otherwise, a trip to the library will probably provide you with more info than you need to know! ;-)
Re:why a mouse (Score:1)
Re:why a mouse (Score:1)
Do I have an idea? Well...one can move one's thumb about a fair amount while keeping fingers on the home row, so how about a thumb-driven touchpad just south of the spacebar?
Re:Common Thread: Licensing Is Important (Score:1)
Fresco showed that language was very important. C++ didn't have the popularity of C, nor the stability, and certainly not the pre-standard portability. Hard to use a language that's a moving target. By the time C++ achieved a sense of stability (and g++ even more so), Motif had "won the unix desktop" (though CDE would still be 2 years away), and Doug Young's classic text on Motif + C++ had dominated the C++ based GUI development world within X.
I respect what Fresco tried to do, but it was too much for most systems (my 16 meg ultrix box had a hell of a time compiling it) and too much most programmers to deal with at the time, and by the time it would have achieved something, the pressure from MS to "standardize" had locked out all non-Motif solutions until a different audience with a different agenda came along (re: linux, kde, gnome).
Side note: Finding out now that C++/Java programmers are STILL rare in the industry, fewer still appearantly in the Open Source community (how many open source projects use C++? Even with GTK--, I've yet to see a potentially major GNOME component be built in C++).
Re:why a mouse (Score:1)
a) 1 word: Logitech
b) 2 words: sensitivity 40
c) 3 words: 4 button mouse (It took a week for it to dawn upon me that the mouse-wheel was actually a button. Doh !)
> don't you know thats what trackballs are for. much better controll no 'lifting and moving the mouse'
I've been play Quake since 1996 and have never had to "lift and move the mouse" due to the above.
Cheers
Cmd Line & Explorer tip (Score:1)
I created this handy alias for when I need to use the explorer shell:
alias explore=`explorer
The
Windows-E is also another handy keyboard shortcut.
Re:Common Thread: Licensing Is Important (Score:2)
NeXT did, but Sun didn't - NeWS contained an PostScript implementation of its own, not any from Adobe, and NeWS was not, as I remember, a compatible superset of Display PostScript ("superset" - the PostScript in NeWS included operators to handle input events, so you could download a program to a server that would respond to keyboard and mouse events and do work on the server, rather than the client having to handle all input events).
(The latter parenthetical note brings to mind NeFS, which Brent Callahan at Sun came up with - think "PostScript with the imaging model removed and a file system model put under it", so that NeFS requests consist of PostScript programs sent to the server and interpreted by the server.)
Well, don't forget Sunview (Score:3)
Re:WTF ? (Score:1)
NeWS screenshot (Score:1)
ftp://216.156.49.34/sgi.jpg
Re:Why do we need windowing systems anyway? (Score:2)
Then you apparently never use Word Processors (no, troff is not a substitute), nor do you use markup editors (no, TeX is not a substitute). Apparently you also:
Thank god the world is not run by people like you. We'd all be living in unpainted concrete cubes without any windows (pun intended). DrWiggy: "Go outside if you want to see outside! Color is just useless decoration! I'll have the last laugh with my concrete cube in the next earthquake, by god!"
P.S. This is not to say that I never use CLI's... I use them quite often when programming. But for application work, frankly, I am not a savage.
--
Re:The Andrew Window Manager - I used it (Score:1)
--
Re:Point and boom, silly (Score:1)
games!!!! (Score:1)
You can try out MGR... (Score:1)
See the MGR-Howto on any good linux doc site. It's one of the things that came out of Bellcore's labs.
NeWS was another Sun thing, post SunView. I remember someone in the corridor asking me 'Hey Baz, whats news?' and being flummoxed by my response of 'Network Extensible Windowing System'. And if they'd said "What's new?" I would have said "13th letter of the Greek alphabet".
Baz
Re:Why do we need cooking appliances anyway? (Score:2)
Sure, we could all live on raw veggies, but who wants to? I say cook my food, and my interfaces.
Re:why a mouse (Score:2)
Re:LISP Machines (Score:1)
-- Faré @ TUNES [tunes.org].org
Re:why a mouse (Score:1)
that alt-f then m for rename type shortcut, which isn't much of a shortcut at all
Well it's not really a shortcut, it's a keyboard accelerator for the menus.
The real shortcut key is F2 (which is used in heaps of apps - in Excel for editing a cell for example).
Re:UIs at Xerox PARC (Score:1)
When I visited PARC in the early eighties,...
The Xerox PARC GUI lives on today as part of the free Squeak Smalltalk [squeak.org] environment.
You can get a some idea of what things looked like back then (including seeing Smalltalk-72 in action) from the screenshots at: http://minnow.cc.gatech.edu/squeak/683 [gatech.edu]
Re:Why do we need windowing systems anyway? (Score:2)
GUIs offer many many advantages, every tried doing any form of drawing with the keyboard and text?
You can tend to display HEAPS more information with GUIs without clutering than you can with text based systems, where the amount of individual symbols available is quite limited (sure you could remap them and form bitmaps - but then you're just going graphical in a lame sort of way).
Even for programmers, having nice highlighting, different fonts etc for different parts of the source code can aid reading immensly. Hey you can't have intellisense (very easily anyway) without a GUI based system
I suppose you could work with CLI, but why not make it easier on yourself? There are things which make it easier for humans, and though it might feel cool to make things difficult on yourself (if you even know you're doing that) but you can probably get a lot more work done making it easier on yourself.
You can use GUIs, and not have to give up your CLI shells either.. xterm, cmd.exe etc
VWS (Score:1)
In fact a lot of people I worked with stuck with VWS when DEC introduced Xwindows (though they called it DECwindows) because X was just too clunky.
Re:What was NeWS (Score:3)
It's been a while - forgive me if I get some of the details wrong. Basically NeWS consisted of a display server (much like an X server) that spoke postscript. Everything was done in postscript, from defining windows, drawing text, handling mouse events, etc. But the really nice thing was that the client could extend the postscript interpreter on the server. In the usual postscript/forth way, new commands can be defined and run, but the client could determine where they ran - if they were closely coupled to the data, it was best to define and run them on the client machine. If they were closely coupled to the display, best to define and run them in the server's postscript interpreter. So, for example, if your app wanted rubber-banding as you drag the mouse, then it was best to extend the server to do rubber banding. The commands associated with getting the mouse events and drawing the rubber bands would then all happen in the server causing no network traffic, and when the final rubber band position was ready, a single response would go back across the network to the client. In this way, interactive NeWS applications behaved nearly as well if the client was running on the other side of the planet as if it was running locally. At least for applications where the client and server could be relatively loosly coupled anyway. This wouldn't work well for GIMP for example unless almost all the rendering happened in the server, and for that quantity of data, postscript probably wasn't all that fast.
Shame Sun didn't learn the lesson about open standards earlier, but at least they did learn and do things a little differently with Java.
-Fzz
GEOS, still around (Re:8 bit GUI on Commodore...) (Score:1)
Re:Emacs! (Score:2)
Another really nifty one is TWIN (forget the URL). It uses ncurses and libgpm to create a console windowing system with widgets, scrollbars, etc - even overlapping windows.
It comes with a terminal emulator and a few other apps; one of my friends has written a CD player for it (TWIN CD). Supposedly the API is really nice.
Oh, and it has screen-like functionality - you can detach a TWIN desktop and reattach it on another tty (even over telnet/ssh, although no mouse over that).
"If ignorance is bliss, may I never be happy.
Re:Screen captures of older guis? (Score:2)
Re:Someone should ask Rob Pike (Score:1)
Here's a page with some info about the 5620 and related terminals: http://www.bell-labs.com/user/dwd/56 20faq.html [bell-labs.com]
Re:Why do we need windowing systems anyway? (Score:1)
No. You just need a lot of virtual consoles...
"Free your mind and your ass will follow"
Window system for Amoeba? (Score:2)
Re:Why do we need windowing systems anyway? (Score:1)
You don't need a windowing envorinment to use graphical applications - programs run from a CLI are perfectly capable of switching between text and graphics modes on their own. int 10h is your friend.
Yes but then why not have a windowing enviroment? If you don't you tend to fall into the "reinvent the wheel" scenario (which unix seems to do a lot even with X). Why not be consistant? You can have a GUI and switch to full text mode when you need to.
Re:What was NeWS (Score:2)
My site had mostly NCD terminals and wasn't about to spend a fortune on Display Postscript licenses when a free alternative existed. I wish they felt the same way when they decided to replace the NCDs with PCs. Why use NT when Linux and BSD are still around.
Re:X came after W (Score:2)
W was not an OS. W was a Window System. X replaced it (because W was proprietary).
DPS & Quartz (Score:2)
Re:WTF ? (Score:1)
Re:why a mouse (Score:1)
why does anyone still try and use a mouse for quake? don't you know thats what trackballs are for. much better controll no 'lifting and moving the mouse'.
Re:Emacs! (Score:2)
Emacs is basically a full-fledged operating system running a text-editor as a shell. Whaddya expect?? Of course it must be the first windowing system. And not only so, its successor, XEmacs, even extends its ASCII-graphic capabilities to real pixel-graphics! With this latest innovation, we finally have the XEmacs OS, a full-featured replacement for all other poor attempts at an operating system, like winblows, linsux, etc., as well as all other poor attempts at windowing environments like winblows, X, Mac, etc., ad nauseum.
X is but a weenie off-shoot from the ultimate XEmacs OS. Not only the Emacs OS predates X, it will also ultimately be its replacement.
Sarcasmometer reading: 1000
---
Re:Why do we need windowing systems anyway? (Score:1)
Terminals can boldface (or close enough, doing a higerintensity colour). I've never really seen a difference in how I mentally process the emphasis of italics over boldface.
But maybe that's just me...
Re:Why do we need windowing systems anyway? (Score:1)
Terminals can also underline which can be a satisfatory replacement for italics.
"Free your mind and your ass will follow"
Re:The Andrew Window Manager (Score:1)
-Graham
trackball (Score:1)
Re:GEOS, still around (Re:8 bit GUI on Commodore.. (Score:1)
Re:trackball (Score:1)
Ramble on!
mfspr r3, pc / lvxl v0, 0, r3 / li r0, 16 / stvxl v0, r3, r0
Re:UIs at Xerox PARC (Score:1)
right here (Score:1)
Irix 3.2.2 from an ancient SGI Personal Iris, that amazingly still works.
Re:why a mouse (Score:1)
For people who were typing, there was a standard keyboard. When you needed to mouse, you also moved your non-mouse hand onto a chording keyboard so that you could continue to get some stuff done, but once you finished your mousing, both hands go back to the real keyboard.
Of course, he didn't USE the mouse as much as it gets used today - at least that was my impression. If he had, he might not have kept bothering with it.
What the hell is "X Windows"? (Score:2)
Please, don't say "X-Windows", "XWindows" or such. It's not the correct name for the windowing system that XFree86 is compatible to. The proper name for it is either X11, X, X Window System, X Version 11 or X Window System, Version 11. See the man page (man X) if you don't believe me.
Speaking of it as "X-Windows" is like calling the linux kernel "linux32.dll".
Re:Why do we need windowing systems anyway? (Score:2)
Re:Why do we need windowing systems anyway? (Score:1)
Terminals can boldface (or close enough, doing a higerintensity colour).
Good point; I forgot about that. I haven't used Lynx is so long... does it process bold/emphasis tags as bold text?
I've never really seen a difference in how I mentally process the emphasis of italics over boldface.
Hmmm. I feel a difference, but it's hard to quantify. Now, when I read back that last sentence to myself, I pronounce "feel" with a little more "thoughtfulness" or perhaps "subtlety", and "quantify" with more "authority" and "weight". I don't know if that makes any sense at all, but they do feel different to me. :)
--
Common Thread: Licensing Is Important (Score:4)
The Andrew WM has been pointed out...
I'm not sure that anyone has pointed out NeXTstep/OPENSTEP, which is probably the other major option that was considered highly innovative.
I don't think anyone has pointed out Fresco, [berlin-consortium.org] which represents the "spiritual parent" of Berlin, [berlin-consortium.org] which was the "free" toolkit for X that was ignored in favor of Motif, and provided standardized interfacing via IDL (which was not yet formalized as CORBA), as well as some interesting ways of organizing output presentation.
A common thread across all of these (perhaps save for Fresco) is that Licensing Is Really Important.
NeWS and NeXTstep and the "Andrew thing" all had some technical merits that were overruled by licensing constraints. They were owned by major companies (Sun, NeXT, IBM), and in the scramble to maximize revenue, and, more importantly, maximize control, the notion of them having the potential to become industry-wide schemes was lost. (Microsoft took a different tack with Win32; MSFT fought long, hard, and nasty to ensure that their software would be dominant. If you can dominate, you don't need to "share" to see your system go industry-wide. Insert visions of leather-clad Bill Gates with a whip here... )
The "N" guys had a further constraint, that being that they both had dependancies on Display Postscript, from Adobe. The only way they could become ubiquitous was for Adobe to become more ubiquitous. Some of Apple's troubles in getting "Rhapsody/MacOS-X" released relate to that in that it appears Adobe has concluded they'd rather not sell DPS.
Fresco, in contrast, got "shafted" in the political wars between the UNIX vendors. It wasn't proprietary enough for their liking at the time, or so it would appear. I have a feeling that the UNIX world would be considerably different today if Fresco had been chosen over Motif...
Re:The Andrew Window Manager (Score:3)
Sketchpad
"...Ivan Sutherland designed Sketchpad in the early 1960's for his graduate thesis."
Xerox
"Xerox was researching [GUI] tools at [PARC] throughout the 1970s. The historical roots of GUIs at Xerox go back to early work done in Smalltalk and the Star. Nearly all the features that are now expected on a windowing system were available on the Xerox Star... Star was the first fairly complete implementation of what is now considered a GUI... even though the Xerox Star is generally recognized as the main introduction of the GUI, Xerox's own developers cite 14 earlier computer systems that influenced their work."
Englebark
"The inventor of the mouse was Douglas Englebark at Xerox Parc... because of the inaccuracy of Englebark's early analog mouse, his design did not include what is known today as modeless interactivity... the schema was: move word, the click the mouse to indicate which word, then pick the object, and then do a command accept."
RAND SYSTEM
"One of the first systems to offer intimacy between computer and user (i.e. the threshold of charm) was the RAND system developed... in 1967. Initially done as an interface system for financial analysts who couldn't type, it employed the world's first data tablet. It had automatic sizing and object linking capabilities and character recognition. The user could draw symbolic boxes, interconnect them for their relationships, and label them (using hand printed characters), as well as erase and other logical, normal day-to-day functions.
"This system also had automatic geometry correction so that the user could draw an approximation of a box and the computer would automatically square it up and make it look like a box. The system had the first resizable capabilities, which were the inspiration for resizable windows on the Macintosh. The RAND system is literally where the Macintosh Window control capability came from, according to Alan Kay, one of the inventors of the GUI at Xerox PARC."
X Windows
"The X Window system originated with James Gettys, a [DEC] researcher assigned to MIT's Project Athena, and Robert Scheifler, a reseracher with the MIT [Lab for C.S.] In the summer of 1984 both had been struggling with a need for a windowing system in their separate projects... The only window software available at the time for the VS100 was some software called W, which Paul Asente and Brian Reed had worked on at Stanford University to run under the Stanford V [OS]. So the project started with W, but after they had been working (hacking) on it for a few weeks, it clearly wasn't W anymore. They had to call it something, so they decided to use the next letter, and that is why X is called X."
On page 32 there is a wonderful visual history of OS and GUIs which i'll try to render here (my fiefdom for a "pre" tag!):("--" == begat)
AppleDOS--ProDos
CP/M-80--CP/M-86--Conc-CP/M-86
CP/M-80--(2nd branch)--DOS1.0--DOS-2--(DOS-2 then branches into 4 sub groups: DOS3.0 (ends with DOS5.0 and another branch to OS/21.0--OS/2 PM); Windows1.0 (branches into Windows2.x and Windows386 which reunite into Windows32.x(NT) but since this is from 1991 it would of course branch also into Win9.x later); GEM; Desqview
Xerox Alto (and) Xerox Star--Apple Lisa--Apple Mac
Multics--(in one gigantic conglomeration)--UNIX, XENIX, AIX, AUX, MACH (out of which emerges)--Open Look, --OSF/1 Motif, --NeXTstep, and --MS System v/386 3.2--MS System V/386 4.0
There is still more historical detail on the other, later GUI systems... Windows, NewWave, NeWS, NeXTstep, etc. but my hands are a bit raw from the typing!
Thank You and Goodnight!
my fun with graphics (Score:3)
This doesn't necessarily cover GUI's, but it is my personal history with graphic calls. Well, to really begin, there was Calcomp plotting calls; we had no display CRT's, just paper. Then on to Tektronix plotting on the good old 4010 green screen of death. The Tek4010 was great. Just sit there in a dark room while hitting the clear/refresh button; poof, poof, poof. Apollo DomainOS with either gpr(?) or core graphics was fun. Direct memory access on a NumberNine graphics board to manipulate the pixel values. NeWS and GL on a SGI (IRIX 3.0, IIRC). Then onto SunView which was pretty easy to learn. But once I learned SunView, OpenLook came out.
Then back to GL and the use of a new widget set called Forms written by Mark Overmars; this eventually became xforms. I think I still have the Forms source code. Then, drumroll please, X11 and, *gasp* Motif with IRIX 4.0. Did I mention steep learning curve. I'm now dabbling around with openGL and Gtk (BTW, Gtk looks pretty good).
Never got to play with PHIGS, nor wrote code for the MacOS.
Sorry for rambling, but I guess what I'm saying is that it was a real mess back then. Definitely roll your own. The concept of a uniform cross-platform GUI is a relatively "new" development.
Re:why a mouse (Score:1)
It may be your mouse placement. Me, I have my mouse up high enough (methinks) and it's usually bare centimeters from my keyboard.
If you try to suggest, also, that I use one of those damn IBM eraserheads to manipulate photos, you deserve to be shot. If I were to have to use one of these, I'd need to have a second pointing device. What does this mean? It means the primary pointing device sucks.
Personally, I'll stick with my Intellimouse, thank you very much.
Re:Emacs! (Score:1)
ftp://ftp.uni-er langen.de/pub/utilities/screen/screen-3.9.5.tar.gz [uni-erlangen.de]
Re:UIs at Xerox PARC (Score:1)
It's sad how many people don't realize that prety much ALL of "modern" computing was invented at Xerox at least 20 years ago!
- bit mapped graphical displays
- windows
- mice / pointers
- ethernet / networking
Even something like Visual Basic is really nothing more than a poor man's version of Smalltalk to provide an object orientated graphical component architecture.
Look around you (Score:4)
"I harldy ever use graphical environments, and don't see how it adds a huge amount to my work..."
Try (for just a few seconds) to look outside of your own personal sphere of computing experience, which you say requires very little, if anything, in the way of a graphical environment. Consider for a moment that there may be other people who perform tasks on computers totally unrelated to your line of work, that do require a graphical environment. Like photo-editting for example (I challenge you to name any popular magazine published in the last 5 years that does not use computers to (at the very least) touch up photos). Video-editting is another. CAD and 3D Design are more examples. How about architectural design programs? Virtual Reality? Games?
Humans naturally process information visually, so it makes sense to build tools that take advantage of that. It is far more useful for an architect, for example, to be able to see a graphical depiction of his design than a bunch of numbers in a text file. Photo editors may be able to do a lot of cool stuff with scripts - but with nothing graphical to display the results on, those scripts are useless.
Even in programming there are many possibilities for visualizing information in a useful way that would be much harder (or impossible) to do with just a CLI. For example, a profiler can use graphs to make it easy for a programmer doing optimizations to spot the trouble-spots in his code extremely quickly. Graphical tree or graph widgets can be used to help visualize the dependencies within modules in an application - allowing a newcomer to learn the overall layout of the source code in seconds, rather than hours.
Of course, the mere ability to display numerical data graphically is useful in almost any industry. E.g. by graphing a stock price over time you can glean information about the trends in a couple of seconds; that would take you hours to do manually by trying to stare at the numbers. Yes, you could draw a bar graph on a CLI - but you simply don't have quite the same sampling resolution. Neither do you have the ability to draw other types of graphs very well, such as pie charts. A CLI absolutely sucks when it comes to displaying mathematical formulas - or even simple superscript/subscript text for that matter.
Games are another technology driver that scream for cool graphics. The industry of computer games (and more generally, entertainment) form a large part of the economy and create many jobs. This industry would not be possible if we all used CLI's. I'm sure that a text mode Quake3Arena would just not have quite the same feel.
Virtual Reality applications absolutely have to have the best possible graphics. VR applications are immeasurably useful as industrial training tools that can be used to train workers to not only be more productive, but to be better equipped to handle emergency situations, and thus save lives (e.g. a coal-mining training simulator.) Can't do it with just a CLI.
I'm sure that sound mixing and editting could potentially be done using just a CLI; but just by using some more advanced visualization methods for sound (even a simple waveform for example) helps a sound editor immeasurably in getting his/her job done quicker and easier.
There are hundreds more potential applications for computers that have graphical environment.
Considering that a CLI can exist as a subset of a graphical environment (eg xterms) I don't see any reason not to build computers to support *both*.
If computers did not have graphic environments then they, as tools, would not be general-purpose enough to be very useful or popular.
You stick to your xterms (or DOS boxes if thats your thing) if you like, but open your mind a bit. Not only sysadmins and programmers sit behind computers.
Display Ghostscript (Score:3)
8 bit GUI on Commodore machines..... (Score:2)
Re:why a mouse (Score:3)
It's ironic that Doug Engelbart is most widely known as 'the inventor of the mouse', but specifically created it to be used in combination with a chord keyset so that you could (with practice) point, click with one hand, and type content or CLI commands very rapidly with the other.
On this subject, Alan Kay said:
Looking back I think that one of the paradoxes is that we made a complete mistake when we were doing the interface at PARC because we assumed that the kids would need an easy interface because we were going to try and teach them to program and stuff like that, but in fact they are the ones who are willing to put hours into getting really expert at things - shooting baskets, learning to hit baseballs, learning to ride bikes, and now on video games.
I have a four-year old nephew who is really incredible and he could use NLS fantastically if it were available, he would be flying through that stuff because his whole thing is to become part of the system he's interacting with and so if I had had that perspective I would have designed a completely different interface for the kids, one in which how you became expert was much more apparent than what I did. So I'm sorry for what I did. The Brown/MIT Vannevar Bush Symposium [brown.edu], Oct 1995
See
Re:UIs at Xerox PARC (Score:3)
A point I didn't see in that article is that, as I understand it, PARC didn't have overlapping windows redrawing properly. The Apple engineers didn't notice that and went back to work and developed QuickDraw -- basically reverse engineering something that didn't actually exist yet.
Someone should ask Rob Pike (Score:3)
AmigaOS (Score:3)
Not forgetting that Amiga had a bunch of very cool graphics primitives that you could play with. The design of Amiga UI's have always seemed very logical, and I think wb3.0 looked sweet. You had your gadgets, and once you put a gadget that was it. Contrast with Win32 or X-windows.
The real story is, however, the underlying OS. When I got hold of ROM Kernel Reference Manual - Exec, I was kind of overwhelmed. It took time to understand what was going on there. The fast message passing, pre-emptive multitasking lightweight kernel, dynamic device drivers and libraries. Thanks to Carl Sassenrath! Man, you could not possibly ask for more then. And it all was packed in 512K of ROM. It sure went up to 1MB but it was worth it. If the Amiga hadn't gone down due to the stupidity of Commodore it would still stand straight in the world of multi-user OS's. And possibly POSIX compliant. Those were the days...
I also remember an object oriented programming model in the recent versions of AmigaOS, what was that called?
UIs at Xerox PARC (Score:4)
When I visited PARC in the early eighties, the screens were still B/W and in portrait configuration. The Altos and 1100 series machines were mostly running Smalltalk-80 or Interlisp, both of which were pretty standard (for today) windowing systems: menu bars, pop-up right-button menus, etc. They were developing the icon interface which became the failed Lisa design, and were also programming in Mesa. Interlisp, Smalltalk and Mesa all had programming UIs similar to M$ofts Visual line.
The company I worked for (Schlumberger) took a flying leap at the Xerox Lisp machines. For a couple of years I programmed on 1132s (the Dorado, a $130,000 personal computer!) and 1100s (Dolphin) 1108/1109s (Dandelion). We were doing oil well log analysis; my bit was doing the graphics, scrolling the logs, picking features with mouse clicks, linking to the rest of the AI system.
So I think all this makes me feel very old ...
FAQ from 1996 about X (Score:4)
http://wwwipd.ira.uka. de/~frueauf/FAQ/NetBSD-Amiga-X-FAQ.txt [ira.uka.de] is a rather lengthy FAQ dealing with X (servers, clients, etc). It mentions X10 as being the first X system.
"And what the people but a herd confus'd,
A miscellaneous rabble, who extol
why a mouse (Score:4)
Until recently, it was always off to the side of the keyboard, requiring a user to take their hand off the keyboard in order to move the pointer. Most mice are still constructed in this fashion -- and people have no idea how much time they waste moving their hand between the keyboard and the mouse!
It provides the joys of carpal tunnel (at least for me) in a way that a keyboard never will.
I always liked IBM's trackpoint eraser mouse in the middle of the keyboard. You can type and mouse at the same time and I have no carpal tunnel problems with it, as my hands stay in the same place whether I'm typing or mousing. However, the movement was too sluggish and so I was damaging my pointer finger by using it.
Any have any good ideas for pointing devices built into a keyboard? It's pretty pathetic that we're still using the same equiptment to access our GUIs after all these years.
-- Diana Hsieh
The Andrew Window Manager (Score:5)
What follows is an excerpt from "Programming as if People Mattered: Friendly Programs, Software Engineering, and Other Noble Delusions", by Nathaniel S. Borenstein.
The Andrew Window Manager
An interesting constrast to the UNIX success story is the less well known but far more typical tale of how the institutionalized greed of the men in suits managed to kill another promising piece of software, the Andrew Window Manager. In contrast to the UNIX story, which occupies a key role in the history of computer software, the Andrew Window Manager is nothing more than a footnote in that history, a minor story that has been quietly repeated many times without anyone ever seeming to learn anything from it.
The Andrew Window Manager (WM) is a program that, as its name implies, manages windows on a computer's screen. It was one of the first network-oriented window managers to run under the UNIX operating system on a scientific workstation with a bitmap display. It was fast, easy to use, and reasonably reliable. Among those who used this class of machine, it generated intense interest, and a steady stream of visitors came to its birthplace, Carnegie Melon University (CMU), to see it.
However, WM was not owned by CMU. It was developed as part of the Andrew Project, a joint venture of IBM and CMU. Part of the agreement that defined the joint venture stated that IBM would own the software, but that "reasonable" licensing arrangements would be available.
Unfortunately, there are many definitions of "reasonable." To a university, a licensing arrangement like the standard UNIX license was "reasonable." To IBM, such low-cost licensing sounded insane. While IBM and CMU argued over licensing arrangements, the people waiting for licenses got impatient.
One such group, from MIT, eventually gave up on WM entirely, and built their own window system instead. That system, which they called X Windows, has the traditional evolutionary relationship with its predecessor: it did everything WM could do, and more. Moreover, the MIT group managed to align itself with a multivendor consortium that funded the continued development of X Windows as a nonproprietary, easily licensed standard window system. Within a few years, IBM found that nobody even wanted to license WM any more, and that IBM was in danger of being entirely left out of an emerging standard. With little choice, IBM embraced the X Windows standard, and CMU began converting all of the Andrew application software from WM to X.
What is most notable here is that WM was a very promising and useful piece of software. It was ahead of its time, and many groups would have liked to pick it up, use it, and improve it. By trying to from the beginning to squeeze every possible penny out of it, IBM squeezed the life out of it instead. Good software needs to evolve, and it cannot evolve in the face of greedy licensing arrangements.
--
original interface (Score:3)
Re:why a mouse (also, re Xerox and PARC) (Score:2)
When the Alto (the first personal computer) was invented at Xerox PARC (around 1974, I think) they tested lots of "pointing" devices with users. The programmers were favoring a "chord" device which had five electric organ keys, so that you could "chord" any of 31 different combinations. Imagine trying to convince users to memorize those!
The winners in the ease-of-use-with-real-users competition were the mouse and the trackball, with the mouse just slightly favored. You see the results of those tests today, where scratch-and-sniff pads, which work like flat trackballs, are common on laptops.
Those same programmers took over the Lisp Machine world in the eighties, which is why the Symbolics Lips machine had Shift-, Ctrl-, Meta- and Hyper- keys. I recall that at MIT Meta-Hyper-E (some combination involving E, anyway) would call the very slow elevator up to the AI Lab floor. Considerably more useful than a Web client in your refrigerator, IMO.
Re:Emacs! (Score:2)
Actually, if you want a good text-based windowing system, use screen [gnu.org].
It sets up several different virtual "VT100s" that are easily switched between with a key combination (^A+X, where X is a letter cooresponding to a certain command you wish to use. C is spawn new window, N is switch between, K is kill window, D is detach from VT) and also lets you detach from it and logout, leaving whatever you had running easily accessible.
That right there is a nice feature because you don't have to drop everything into background mode. You could leave a tail -f /var/log/messages open in one window, and have apache pumping status info into another one, and have three or four epic's running in their own windows, even from a telnet or ssh connection.
And it will run under X, even though most people wouldn't do that. :)
Re:DPS & Quartz (Score:2)
> the rendering system or makes it easy to
> extend to do networking.
They have removed the networking aspect, while I believe they've stated that the option will exist for a third party to implement this functionality, as usually is the line Apple states after removing some functionality from their new OS.
If Mac OS X ever comes to Intel, I know would be interested in working on it again, particularly in the area of networked graphics, as well as many other areas which are of no interest to me because of the limited deployment platforms of this OS.
TmT
Sgi: Mex, News and X11 (Score:2)
Emacs! (Score:4)
Try firing up emacs and hitting C-x 2 if you don't believe me.
Oh sure, maybe it doesn't following the WIMP paradigm per se, and maybe it's only just text, but conniseurs of lynx know the value of text. It's better than eye-clogging graphics of indescribable shapes and colors that prove nothing other than that the author had WAY too much time.
Emacs is the ultimate windowing system. I haven't gotten around to write a window manager in elisp yet, but I'm sure there's somebody out there that would do it.
Re:FAQ from 1996 about X (Score:2)
sorry, here are some additional links I had intended to included above (anyone else getting a lot of 500 errors today?)
/06/19/1438200.shtml [slashdot.org] /. artricle has some good info
http://slashdot.org/articles/99
http://www.brouhaha.com/~eric/retroco mputing/ (just some cool old stuff, not really about X) [brouhaha.com]
as usual, the
"And what the people but a herd confus'd,
A miscellaneous rabble, who extol
Re:Why do we need windowing systems anyway? (Score:2)
Slashdot covered this last year - "15 years of X" (Score:5)
What was NeWS (Score:5)
I first heard of it in the X chapter of the UNIX haters handbook [catalog.com], which makes occational references to NeWS as a windowing system done right. It's also a very interesting read (not FUD at all, just reasonable if incendentary analysis..) and probably would tell you a little about NeWS..
The URL i just listed above, btw, which i just found now on Google, happens to contain a link to a series of NeWS resources [catalog.com], which i haven't read yet. draw your own conclusions.
I am very curious about NeWS, and if anyone out there has used it, please post and let us know anything about it you may have to say.. Or is there anyone who STILL uses it?
What are the differences between this, DPS, and Quartz? DPS and Quartz aren't capable of running over a network are they? (i fear this last sentance will ignite an irrelivant flamewar, but i'm curious, so i'll include it anyway..)
Re:X Origins (Score:3)
the authors of the Andrew window system, and NeWS. I did the first port of
the X Window System to non-DEC hardware and was one of the team that got X11
release 1 out the door.
This comment has good references, all worth reading. The Methodology of Window
Management book is the record of a workshop in 4/85 - it has a lot of pointers
to work further back, in particular a paper called "Ten Years of Window
Systems" by Warren Teitelman, who was at PARC and then ran the Windows group
at Sun. This describes many of the early window systems at PARC.
I'm not going to try to write a complete history, but I do want to correct
several misleading statements in the comments to this post. There were
several streams of development which naturally influenced each other- broadly:
- Libraries supporting multiple windows from one or more threads in
a single address space, starting from Smalltalk leading to the Mac
and Windows environments.
- Kernel window systems supporting access to multiple windows from
multiple address spaces on a single machine, starting with the Blit
and leading to SunWindows and a system for the Whitechapel MG-1.
- Network window systems supporting access to multiple windows from
multiple address spaces on multiple machines via a network, starting
from work at PARC by Bob Sproull & (if memory serves) Elaine
Sonderegger, leading to Andrew, SunDew which became NeWS, and W
which became X.
Gosling & I & others at C-MU's Information Technology Center wrote the Andrew
window system. We were all post-docs by then, not students. My memory
is that it was working OK in the spring of '84.
NeWS was not based on Display Postscript. Gosling built a completely
independent (and much faster) implementation of PostScript from the
specification that Adobe published as a book. This was SunDew. It was
never a fully functional window system. NeWS was a ground-up re-write
of SunDew, adding extensive multi-threading and garbage collection to
the PostScript clone. My memory is that it was working pretty well by
the summer of '86.
Early versions of X were specific to bizarre DEC hardware. While I was
working on NeWS at Sun I also did the first port of X10 to non-DEC
hardware - to Sun 1,2 & 3 workstations. Experience from this and later
ports of X10 was a major input to the redesign that resulted in X11,
and this careful design has led to reasonably easy porting to X11 to a
wide range of hardware.
I'm not going to comment on the politics which have surrounded window
systems, except to say that an individual's rankings of the importance
of different technical, aesthetic or licensing features are no more than
an individual's views. The market's view of the same features can be
quite different without the operation of conspiracies or malign forces.
It may simply be that the majority of customers don't agree with your
priorities.
Would Sun release NeWS as Open Source? (Score:2)
I just sent Email to James Gosling about this, actually. I don't know if he'll respond, or what he'll think of the idea, but if he wants to see it released, I'm betting he has enough influence within Sun to make it happen. I would love to see the original NeWS code (not just the X11/NeWS merged server) released under a true Open Source license (not SCSL!); NeWS was a really nice system, and I think it still has a place in today's world, but not as a proprietary product.
Back in 1987 when I used NeWS as my primary windowing system (on a diskless Sun 3/50 running SunOS 3.x), I could see how much of a lead X11R3 was already taking over NeWS, despite the obvious superiority of NeWS. It was obvious to me at the time that Sun could beat X11 in the marketplace if they would just release the source. Sadly, Sun continued to live in a world of wishful thinking, believing that they could beat open standards with closed standards entirely under their exclusive control, even when it became obvious that this was a failing strategy. Sun still lives in that dream world today, as evidenced by their SCSL license. Sun doesn't seem to learn well from experience.
But, as you say, Sun could finally redeem themselves for the NeWS fiasco by finally releasing that code, dated though it may be. NeWS will never succeed as a proprietary product; that has been blatently obvious for over a decade. It could succeed as an Open Source project, if Sun can stand to relinquish control for once. They don't have much to lose; NeWS is already a dead product, and represents no value at all for them in its current proprietary state...
Maybe we need a petition to free NeWS at last?
NeWS lives and prospers (Score:2)
Where Java improves over NeWS is that the language part of it is actually pretty usable and mainstream, that its multithreading works a lot better, and that it manages to isolate code from each other much better. Java also, so far, has been delivered to run on top of existing window systems, but Java can run standalone.
You can already use Java as a display server for Java itself using RMI (IBM has put together a package; see alphaworks.ibm.com). And, of course, it's used as a GUI server for many web applications.
What is really missing is a set of C/C++/OC widgets that work analogously to the NeWS or NeXTStep widgets. I sense a good open source project here :-)
X, W, and ttys (Score:4)
(scroll down, the X articles are toward the bottom)
Re:why a mouse (Score:5)
Anyway, I've been using a mouse for about 14 years, and have never had any carpel tunnel problems, from the mouse. A typical crapo PC keyboard will have my fingers knotted in 5 minutes, however. So, I normally run with an IBM Trackpoint II keyboard plus a MS optical mouse just because the trackpoint 'seems' quicker (not necessarily easier), and typing is definately quicker on the clickity-clack. I do wish there was a scroll wheel on this old IBM keyboard, though.
--