Slashdot Mirror


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.'"

20 of 305 comments (clear)

  1. Love of the Mouse by Janitha · · Score: 5, Insightful

    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.

    1. Re:Love of the Mouse by drivinghighway61 · · Score: 2, Insightful

      While a 3D GUI would be nifty, I can't seeing layered LCDs really bringing it to its full potential. Furthermore, the mouse has to go as an interface device for a 3D environment. It needs to be replaced with something better for simple 3D interaction. The mouse works for 3D games, but it can't go six directions for a 3D environment.

    2. Re:Love of the Mouse by Peter+Cooper · · Score: 4, Insightful

      I don't see the point. It's like demanding 3D paper or 3D TV. Paper and TV have been around significantly longer than GUIs, and I don't see anyone jumping to make those 3D. I saw some demos of some 3D TVs in the 90's, and while the idea had a certain 'cool' factor.. it seemed pointless.

      Some things simply don't need to be more complicated than they are.. like adding buttons and extra text boxes onto Google search, or developing 3D paper.

    3. Re:Love of the Mouse by Anonymous Coward · · Score: 5, Insightful

      Besides, what would all these 3D gui's be suitable for? [..] I never felt the need for either a 3D pointing device or display. Can you give some more examples of applications where such devices would have an added value?

      One thing that stuck in my head from my CS course in user interfaces was that (paraphrasing and condensing), "3D interfaces suck".

      A major problem is that in a 2D interface, everything is visible (*); in a 3D interface, things can be 'hidden' behind other things, or even 'inside' a group of other things. At least you'll have to move around to see items; in the latter case, you'll actually have to move some items themselves aside to see other items.

      Also; bear in mind that 3D interfaces will always be observed via two 2D projections (in your eyes, of course); this does *not* give anything approaching full knowledge of the 3D world from a given perspective. 2D on the other hand, does not have this problem.

      On the course mentioned above, we were shown a video from the early 90s (this was circa 2001/02), with a virtual reality file management system. Navigation was via a hierarchy of logically-organized rooms in a building; files were finally found within boxes and folders.

      Even then, it seemed vary dated in an "early 1990s virtual reality fetishising" way. In short, with the benefit of hindsight (*or* the ability to step back from the hype), it is obvious that the system was gimmicky and inefficient compared to the still-prevelant Mac/Windows-style folder navigation.

      If technology was the limiting factor on 3D interfaces, I believe they'd have become commonplace by the second half of the 1990s. The fact that they aren't says more about the mechanics and usability of them than it does about display technology.

      (*) Yeah. Things *can* be hidden by other things in most current GUIs. That's because they offer a very restricted level of 3D; namely layers of depth. They get away with this *because* it's limited.

    4. Re:Love of the Mouse by Dun+Malg · · Score: 2, Insightful
      After reading this, I noticed one thing, seems like the idea has been stuck into the same idea this whole time, a simple 2d screen. Even vr googles use two 2d screens. Hopefully this will change more as the development of layered LCD's and other technologies start comming up. True 3d gui's are what I am waiting for now.

      Why? We can't see in 3 dimensions. Our visual organs only see two dimensional pictures. Our brains use the parallax from two 2D images to give us depth perception, but this really isn't true 3D vision. What is it that you think a 3D display is going to add? How much additional information is really conveyed by depth cues? It's just not that useful a trick on its own. Now, if you were somehow able to add a 3D controller and tactile feedback, then that might be worthwhile.

      --
      If a job's not worth doing, it's not worth doing right.
  2. GUI is over-rated by xiando · · Score: 3, Insightful

    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..

    1. Re:GUI is over-rated by Richard_at_work · · Score: 2, Insightful

      I agree, there are cases where the CLI works better, but there are also cases where GUIs work better too. Tell me how to select and manipulate 10 dissimiliarly named files at the same time in a directory with 100 files in, on the commandline? EG to ftp somewhere, to cp somewhere or to delete. You might spend some moments formulating a regexp to catch just the files you want and testing it, but a GUI selection ability is much faster.

      My point? Theres point to both methods.

    2. Re:GUI is over-rated by NanoGator · · Score: 4, Insightful

      "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.."

      In your case, that's great. However, UI isn't just about quick efficient interfaces with the computer, it's also about making an interface that a new user can do something with. A text interface is the WORST interface to give somebody who's never used the system. If a GUI is designed well, you can tell a user what their goal is and they'll work it otu. With a text UI, the user will fly over to Google.

      --
      "Derp de derp."
  3. Apple bought it from PARC by unassimilatible · · Score: 4, Insightful
    Apple ripped off the idea from PARC" is overly simplistic

    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
  4. Hoorah! by __aajqwr7439 · · Score: 2, Insightful

    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

  5. anything but reality is oversimplified by fermion · · Score: 2, Insightful
    I did not read the article, but having lived throught it, and watch the technology develop, let me say that it is difficult to say what happened and who did what

    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
  6. Re:Why?! by Janitha · · Score: 2, Insightful

    But you never know how useful it might get. When the computer systems were first created, no one thought or them to be used for wordprocessing, or surfing the web or games. Same with arpnet, who would have though a couple of decades later it would be used daily by millions to read news, play games, listen to music, download movies, and waste time reading random sites. The possibilities are unlimited, we just know the potential of it yet, as technology progresses, it will come clear. (Same with USB, at the time, they didnt think it would be used so widely)

  7. Good article; missing stuff by postbigbang · · Score: 2, Insightful

    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.
  8. Re:Good point by Lally+Singh · · Score: 2, Insightful
    While I'd disagree to the characterization of OS X as little more than eye candy and color, the general idea that GUI development has flattened out is about right. But there are some good reasons for it:
    • Increasing cost of change - Both users and vendors have lots invested in their current systems, in training, software, and installed base. Both have more to lose in case of failure. In the older days, if it didn't work, each box was a new platform, and you could trash that box if it failed.
    • Reasonably Good - For what people expect out of computers, the current generation of GUIs are decent at providing just that. People can often learn in a few days what they need to know to use what they want out of a computer.
    • Increasing difficulty for innovation - Major shifts in the way a GUI is done is going to require some strong cognative leaps (e.g. 3D UIs, if they're going to be more than a cute gimmick, will need lots of R&D before they get as straighforward, efficient, and easy to use as 2D GUIs). The next generation of user interfaces will be a significant jump forward, and until someone can make that leap, the rest of the industry will just evolve the status quo. Not a bad thing, just a normal part of a technology's evolution.
    So yeah, we'll have lots of evolution until the next revolution. Looking to Tiger or Longhorn for anything more is a waste of effort.
    --
    Care about electronic freedom? Consider donating to the EFF!
  9. Obsolete? Not keeping up with trends. by SuperKendall · · Score: 4, Insightful

    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
  10. Re:Oh shit by Anonymous Coward · · Score: 2, Insightful

    Anything that gets them to change the current file manager is a good thing.

  11. Another PARC interface... by cr0sh · · Score: 2, Insightful
    Something else PARC invented, but which has yet to make a full impact on today's systems, was a concept they called "Tabs, Pads, and Boards".

    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
  12. TFA only a history of windowing systems. by mikelin.ca · · Score: 2, Insightful

    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.
    I want to learn about tk, QT, java GUI, .net, MFC, the webapp, the thinclient, up to the modern day.
    The benefit being so much more use of the word GUI!

  13. Regions...the core of a software patent. by Anonymous Coward · · Score: 0, Insightful

    "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!

  14. Re:Have you used the tools? by Anonymous Coward · · Score: 1, Insightful

    Java and C# are *not* message-passing architectures. Smalltalk and Obj-C are. I can't speak for Python.

    In a message-passing architecture, when a method call is made, the specifics of the method call (type, number of arguments, method name, etc.) aren't checked until at the very last second: when the receiver receives the method call at runtime. Only then is it determined which method to use. If no such method exists, and there's no alternative handler for unknown messages, the sytem will issue a runtime exception.

    This ultra-dynamically-bound method-call approach is what enables magic like Interface Builder, a sheer work of beauty designed by Jean-Marie Hullot originally in Lisp and then ported to Objective-C by NeXT. I'm no fan of XCode (I think it's an absolute disaster of a bad interface), but I have yet to see Interface Builder's equal.

    Message-Passing also enables Objective C's Portable Distributed Objects (PDO), the most elegant distributed objects mechanism I've ever seen. In Objective C, when a method call results in a message sent to an object which has no idea what to do with it, the message is wrapped up and resent to a special method called forward: . By overriding forward: an object can manage its own last-ditch handling of wacky incoming messages before the system croaks out with an error. Hmmm, can't seem to do that in Java or C#! Why would you want such a beast? Because in PDO, processes could issue calls on each others' objects by receiving 'proxy' objects which looked and smelled like the other processes' object, even if it was located in another country. The proxies looked and smelled the same because they implemented NO methods at all -- except for forward:! When an incoming message, it'd get rerouted to forward:, which would in turn ship it over the net to call the remote object. Neither application would need to know that one was talking to the objects of the other. A work of beauty.

    No, you can't assemble something even REMOTELY as pretty in Python, Java, or C#.