Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Apple Businesses

The Humane Environment 204

rael9real writes "Jeff Raskin, developer of the MacOS and author of The Humane Interface [ed.: which was reviewed last year], has been hard at work with several others coding The Humane Environment. They have a developers edition out for Christmas. It runs on Mac OS 9/X. Reading the manual, it is basically a text editor/Python IDE, but it does seem to incorporate some neat ideas in the field. I can't wait to get home and try it out!"
This discussion has been archived. No new comments can be posted.

The Humane Environment

Comments Filter:
  • by RoufTop ( 94425 ) on Friday December 27, 2002 @05:42PM (#4969388) Homepage
    What's THE?
    THE Humane Environment!

    But what's THE? :-)
    - rouftop
  • by Hayzeus ( 596826 ) on Friday December 27, 2002 @05:44PM (#4969405) Homepage
    From the website:

    Important observation: You cannot make an interface better without making it different (that's obvious).

    Herein lies the problem: an interface that requires relearning can, at least in a sense, be said to be flawed. Time that has to be spent up front learning a new interface is widely perceived as wasted time. In order to be accepted, interfaces generally have to be incremental improvements on an existing paradigm. Radically new interfaces, no matter how much they improve on existing UIs, are almost certainly doomed to failure.

    There are obvious exceptions. GUIS were such an improvement over CLIs (at least for the masses) that they were readily accepted. I guess the same could really be said for the ascendancy of the CLI over batch jobs.

    Maybe a direct neural interface...

    • by geek ( 5680 ) on Friday December 27, 2002 @05:51PM (#4969437)
      I think history has proved the opposite. Win 3.1 to Win95 was a major UI change. Mac OS9 to OSX has been a major UI change. CDE to GNOME is a major UI change.

      It seems to me the only people making incremental improvements is Microsoft (winNT-win2k-winXP). We all just love the Windows GUI right?

      • Win 3.1 to Win95 was not a major UI change -- it required learning almost nothing new to use. I can't speak for OS9-OSX, but I assume the case was the same.

        Regardless of your (or my own) feelings on the Windows GUI, which of the interfaces you named in your posting has had the widest acceptance?

        • So it seems to me that you're defining any GUI that is WIMP as being the same.

          3.1 -> 95 and OS9->OSX changed greatly:
          -aesthetics of controls/windows
          -method of keeping track of running programs
          -MDI vs SDI etc
          -Creation of the desktop
          -Basic window controls (max,min)
          -Basic method of exploring the harddrive

          Maybe you could give your opinion on an example of a major gui change? (and let's keep it in reality, meaning something that has happened)

      • How hard was the switch from Win 3.1 to Win95 for you? I remember making the switch and I was productive instantly without training or learning. That means obviously it wasn't a major change since I knew what to do. I think moderate change is a better term.

        Now a genuinely different UI (like a forth system) would require some training / learning.

    • by Anonymous Coward
      And the real problem with that is that the windowing interface has not had even minor changes in almost 20 years. Windows 3x was basically the same as what we have now (as far as GUIs).

      The only incremental innovation in the last 20 years was a "start button/quickbar".

      That's it. That's the one great accomplishment in 20 years.
      • I'd say virtual terminals are a major innovation. 20 years ago your physical screen was all the real estate you had to use. Right now OSX and Windows don't ship with virtual terminal setups by default but they both support them and almost all the Unix window managers have the support built in.

    • Important observation: You cannot make an interface better without making it different (that's obvious).

      I think herein lies the biggest conceit of them all.

      It is this type of behaviour that instantly picks out an accomplished programmer from a novice... "Oh, I'll write my own string library to make it faster"...

      Bullshit. You can build on small things that already exist right now. Maybe change some major things, but keep the tried and true methods. It's called Refactoring in the world Extreme Programming... and I think it should be a philosophy of life for every human on this planet.

      On another note, I'd really like to see a working prototype... Anyone have a link?

      • It is this type of behaviour that instantly picks out an accomplished programmer from a novice... "Oh, I'll write my own string library to make it faster"...

        Ahh, but if I were to give you a string library that had fundamental design flaws you would be a fool not to change it regardless of how long it had been in use or how popular it was. You may not have to change everything (or perhaps you might) but you will have to make some major changes.

        Bullshit. You can build on small things that already exist right now. Maybe change some major things, but keep the tried and true methods.

        Close, but not quite. Firstly, Raskin isn't saying that absolutely everything should be thrown out as you imply, but rather that he and his team are changing some major things but keeping the good parts. Secondly, don't keep the tried and true, keep the good stuff. Just because it's been in use for a long time doesn't mean it's the best that can be done nor does it mean it even works correctly. It only means that noone has gotten around to making something better.

        The attitude that we should stick with the tried and true would have caused us to stick with using bubble sort for all eternity. Only a novice programmer would think they can write a faster sort algorithm right?

      • by reallocate ( 142797 ) on Friday December 27, 2002 @08:11PM (#4970114)
        >> ...build on small things that already exist right now. Maybe change some major things, but keep the tried and true methods.

        This is one big reason why the software industry is so innately conservative, all the media hype about the pace of change notwithstanding.

        Developers, especially open source developers who are free of the need to sell familiar products into an established pool of customers, ought to avoid underestimating the abilities of users to comprehend and absorb change. After all, somone had to be the first to try one of those "tried and true methods".
    • by bjelkeman ( 107902 ) on Friday December 27, 2002 @05:55PM (#4969465) Homepage Journal
      Maybe a direct neural interface...

      I think you forget, as most people seem to, that all learning takes effort. Even when your gear is hooked straight into your brain do you have to spend substantial time to learn how to use it. Learning to walk takes time, watch a child. Learning a new human language takes years, not only for a grown up person. Learning any new skill takes time. I think that nearly anything which does not involve learning probably isn't worth doing in the end.

      One of the most effective computer interfaces I have ever used was a document publishing system interface. It took time to learn how to use it, but boy was it powerful once you new how to use it. I think it is time to get away from the notion of the user interface with no learning curve. That user interface is the user interface which doesn't have any power. The trick is a user interface which grows in power as you learn how to use it, that is the real challenge.
      • I think you forget, as most people seem to, that all learning takes effort. Even when your gear is hooked straight into your brain do you have to spend substantial time to learn how to use it.

        No -- I am aware that any interface takes time to learn, and I assume that a neural interface would be no exception. But the real issue is whether the perceived investment in time spent learning something new is worth the perceived benefit of the interface. The more radical the change, the higher the perceived value needs to be. Note the term "perceived" -- in order for an interface to succeed, a sufficient number of people need to see it as potentially worth the trouble of learning; else I would expect it to fade into obscurity.

      • The trick is a user interface which grows in power as you learn how to use it, that is the real challenge.

        The CLI has been just that for me. bash, sed, etc. have enormous power when combined, and the more I know how to use them, the more powerful I can be with just a terminal. The reason is the CLI as a whole is the composition of applications with very fine granularity. GUI's tend to be very specialized and combining operations is tedious. On the other hand, GUI's are extremely useful for simple tasks or tasks that are inherently visual, such as drawing.

        My current OS is Mac OS X. This OS gets it right in terms of having a useful GUI and a powerful CLI interface (Desktop managers for other OS's do the same, but having not used them as much I won't comment on them). Being able to use both in a blended manner makes for a great experience. A combination approach is really the way to go.

        The funny thing is that Mac users who despised the CLI are now trying it out in Mac OS X. I have many friends that are incorporating the CLI into their repertroire and enjoying it. The GUI is easy to pick up for simple tasks, while the CLI is harder to learn, but more useful for difficult tasks. Right tool for the job I suppose.
    • by kfg ( 145172 ) on Friday December 27, 2002 @06:12PM (#4969556)
      a steering wheel and gas pedal installed on my motorcycle.

      Having to learn a new interface was just wasted time.

      Next I'm going to have them installed on my VCR so I can set the clock without having to learn another interface. If we'd just standardize on a one interface for everything than life would be a lot easier, everyone would know how to work everything and we wouldn't have to waste time learning new shit all the time.

      As a matter of fact I'm still kinda pissed at all that time I spent learning how to read ( and as you can tell I've simply refused to learn how to spell). We should be able to do it by direct neural interface.

      With a steering wheel and gas pedal.

      KFG
      • Perhaps it escaped your attention that the motorcycle user interface is modeled closely after the horse user interface?

        At the time, the car was the disruptive interface change.
        • Oh thats right, I had forgotten that little tid bit about twisting the right ear to go faster, and that the clutch is worked with the left ear.

          Thank god all the Japanese horse manufacturers have standardized their interfaces; sure, Harelys are still a bit different, but why would anyone interested in actual performance want an air-cooled V-twin horse anyway?

    • Someone used to have a sig around here: "The only intuitive interface is the nipple, everything else is learned". That still holds true: interfaces are compromises; they require both parties interfacing to meet part of the way and lose some of their comfort and convenience. The advantage of human-machine interfaces is that we control the one party completely (yes, I am talking about the machine).

      If a new interface comes along that moves that compromise closer to the human sid, so that the operator gains convenience and/or comfort, the human will gladly learn the new interface as there is a gain to be made, past experience be damned. That's simple economics.
      • Someone used to have a sig around here: "The only intuitive interface is the nipple, everything else is learned".

        Just a point of interest here. I gather the person whose sig that was didn't have kids. Newborns have a sucking reflex but they can't handle the nipple either when they are first born. They have no idea what the nipple is for and often grab onto the wrong part of the breast. It takes time for both and mother and child to get the handle on that UI. So even the nipple is learned :-)

    • by pyros ( 61399 ) on Friday December 27, 2002 @06:19PM (#4969598) Journal
      an interface that requires relearning can, at least in a sense, be said to be flawed. Time that has to be spent up front learning a new interface is widely perceived as wasted time

      I once read, and I agree, that "the only intuitive interface is the nipple. Everything after that is learned". So everything other than sucking on nipples is a waste of time. I like the way you think ...
      • Actually, as anyone who has had a child can attest, the nipple is not intuitive. The breastfeeding process has to be learned both by the mother, and the child.

        Now, maybe you weren't referring to breastfeeding, in which case I may agree with you.... ;)
    • There is some truth to this - but there could still be hope for new UIs - even short of a direct neural interface ;-) The dominant GUI of today (still) relies on the desktop metaphor. The power of this was to take something known to us and expand on it. While there are a number of well documented flaws to this way of thinking a GUI it certainly has it's merits. But the key to radically better UIs does not necessarily lie in creating better version of this. The next-generation UI could be based on something even more familiar to us than the desktop. Our body (when functioning correctly) could be considered the ultimate UI between our brain and the world. This means that we already know a lot of things. F.instance, the existence of four dimensions (space+time) is so deeply rooted in our consciousness that we take it for granted. Don't want to go on about this for too long but it seems there is a lot to be won by working on creating UIs that seem "natural" to the way we act and perceive our world.
    • Hayzeus originally wrote:

      "...an interface that requires relearning can, at least in a sense, be said to be flawed. Time that has to be spent up front learning a new interface is widely perceived as wasted time. In order to be accepted, interfaces generally have to be incremental improvements on an existing paradigm. Radically new interfaces, no matter how much they improve on existing UIs, are almost certainly doomed to failure."

      Another way of looking at this is to ask: will learning the new interface allow me to accomplish tasks with greater ease and in less time than if I continue with the current (or slightly improved) interface?

      If we continue to build on top of an already flawed design, we will perpetuate the underlying faults in that design. Of course, if we're so used to certain conventions and practices, we probably won't even see them as flaws, merely the "natural" way to do things (just because it's always been done that way).

      I do concede your point though. New interfaces do face an uphill struggle if they radically break with convention. I wouldn't say they are doomed to failure though. We should start thinking of training and program assistance as an integral part of any piece of software. Perhaps it's time to banish the idea that software can be inherently "intuitive". That word is used so often nowadays, it's lost any useful meaning regarding how easy software is to use (or at least I think so!).

    • Herein lies the problem: an interface that requires relearning can, at least in a sense, be said to be flawed.

      I won't deny there's a level of truth in what you say. For example, we're (almost) all still using qwerty keyboards not because they're a good keyboard design, and not, on the whole, because we can use them very efficiently, but because it's what people have used since the beginning of typewriting and the retraining cost of change is just too high.

      But hey, wait a minute, the cost of relearning a user interface style is not necessarily high. Pretty much every computer game you play uses a non-standard user interaction style, and many of these games have really quite radically different user interaction styles. Many of these user interaction styles are far more in tune with current psychological and HCI research than the tired variants of WIMP noow used by Mac/Windows/KDE/Gnome et cetera. If users could not quickly learn these styles the games would go unsold and unplayed.

      So I don't believe that a radically new user interaction style is impossible, provided that it is highly intuitive, highly consistent and easy to learn. The problem will be (as it always is when changing a user interface) that initially there won't be enough apps ported so that you will have to mix between older apps with an older interaction style and the new apps, robbing the system - at least initially - of the consistency and predictability which must ultimately be an important feature.

      One possible strategy would be to take a widely used toolkit such as KDE and write your new user interface library to have the same API. The problem with this is that you may end up compromising your user interface design in order to support some features offered by the 'old' toolkit which don't really fit your new model.

  • YATE (Yet Another Text Editor)
  • Well, despite what the website says, it's only booting up under the Classic environment for me. So I guess Carbon implementation isn't finished yet. Ah well.
  • This is part (Score:1, Interesting)

    by Anonymous Coward
    This is part of Raskin's interface project, but the main push is for a consumer ZUI [holloway.co.nz].
  • by Tom ( 822 ) on Friday December 27, 2002 @05:53PM (#4969456) Homepage Journal
    I'm a visual being - what does it look like? Some screenshots with a bit of explanation would be nice. If I had a mac, I'd download and look for myself, but since I don't...
    • by furballphat ( 514726 ) on Friday December 27, 2002 @06:57PM (#4969773)
      Here's a couple of screenshots [80.195.8.120] I just knocked up.

      Please be nice to my poor computer.
      • by Anonymous Coward
        Hello this is some text.

        This is another paragraph!
        I didn't mean to type that!
        LEAP FORWARD
    • by Ponty ( 15710 )
      It looks like a white square with text in it. It appears to be mostly keyboard. You can read the manual, but it really helps to be using the program at the same time.

      And it's really funky! I'm trying, but it's fairly strange.
  • LEAPing sounds like a reimplementation of Emacs' interactive search, only more confusing.

    To anyone who has this running (IE, actually owns an old mac): Is it just an editor? Can you post a screenshot?
    • Sigh, sadly it has fallen into the main problem with OpenSource on Mac OS 9 - lack of a standard compiler. The project uses CodeWarrior by the look of it and importing into ProjectBuilder doesn't seem to be working.

      Anyone got CodeWarrior and able to post an actual built copy somewhere? That or know how to build the thing with gcc....
  • The Relevant Links (Score:3, Informative)

    by TheRIAAMustDie ( 628852 ) on Friday December 27, 2002 @05:56PM (#4969470)


    Bug List [sourceforge.net] A list of bugs in THE that need to be fixed. When all astrixed items are completed we will make our first release.

    External Technical Spec [sourceforge.net] Before going on to the design of the visually-oriented zooming portion of The Humane Environment (THE), it seems wise to specify the low-level interactions that take place within the document-centric portion. Also, this portion allows interaction by the visually impaired. We specify first that software necessary to demonstrate LEAP and some of the selection and command interface techniques and other benefits described in "The Humane Interface" [Raskin, 2000]. THE is intended to run on at least Windows, Linux, and Mac platforms. This specification describes the first portions to be implemented and gives some indications for future directions.

    Joining the THE Team [sourceforge.net]This is an unusual open-source project in that we are exploring a user interface and programming environment that is quite different than current practice. This document explains where to begin to become a contributer.

    Manual [sourceforge.net] The user manual, written for developers of the Humane Environment

    Mission Statement [sourceforge.net] To make computer technology available to a wider audience than has been possible by radically and rationally improving its usability.

    Using CVS and Sourceforge.net [sourceforge.net] This guide should get you a copy of the Humane Environment in its development incarnation. It is not quite ready for general user application. When it is, we will set up a simple, straightforward download.

    Peace Out [facethecrowd.com]
  • Accessibility (Score:3, Insightful)

    by jim3e8 ( 458859 ) on Friday December 27, 2002 @05:57PM (#4969481) Homepage
    I admire what this guy is doing (I have his book, in fact) but if one of the project goals is to aid the visually-impaired, he should probably extend that to include his website. By this I mean a CSS-based rather than table-oriented layout, not embedding <html> tags inside table cells, and so on. These things make a web site more accessible to all. Now, off to download the project.
  • Interesting, but.... (Score:2, Interesting)

    by freeze128 ( 544774 )
    I would like to see a screenshot of why this interface is so different, but there doesn't seem to be one on the website. I also wish there were a PC version, or at least some sore of interactive demo.

    It makes me wonder.... Is this the same guy who thought all files should be arranged by association, instead of in a tree structure? That would just make things SLOPPY. I sure hope this Humane interface doesn't promote sloppiness!
    • I would like to see a screenshot of why this interface is so different

      I agree.

      It makes me wonder.... Is this the same guy who thought all files should be arranged by association, instead of in a tree structure?

      Er... I think so, but didn't you know that association is a graph structure, and graphs can be displayed as trees (minimal spanning tree)?

      That would just make things SLOPPY.

      It could, yes. Just like the current system can make things sloppy -- but unlike the current system, it's actually directly useful for the way things need to be done. Folders and files aren't enough; we need links as well, and links need an entirely different toolset to play with.

      With an associative filesystem, you only need files and categories. Only two concepts, not three.

      I sure hope this Humane interface doesn't promote sloppiness!

      Read the manual -- it will allow more sloppiness than the traditional system, but will do so by providing more power. For example, all documents written in it appear as a continuous chain, always apparently open.

      -Billy
    • by swbozo ( 604409 )
      It makes me wonder.... Is this the same guy who thought all files should be arranged by association, instead of in a tree structure? That would just make things SLOPPY. I sure hope this Humane interface doesn't promote sloppiness!
      "Association" doesn't have to mean "sloppiness." In fact, Hans Reiser, who designed the reiserfs filesystem, wrote an interesting paper [namesys.com] which describes some of the virtues of associative organization of namespaces, as opposed to the traditional hierarchical organization (e.g. the Unix filesystem.)

      Reiser's paper is very interesting, and IMO fits quite nicely with The Humane Environment's "no applications" paradigm. The focus then becomes the data (the stuff inside of documents), instead of the data access mechanism (applications manipulating documents.)

    • Google is an interface that seems to imply files and data are arranged via association; that's how Google collects and maintains ranks, isn't it?
  • VIM, Emacs? (Score:4, Funny)

    by theolein ( 316044 ) on Friday December 27, 2002 @06:01PM (#4969499) Journal
    After having browsed through the manual, I can say that I've seen Ideas like this before that I use every day: It's called VIM.
  • I'm reading the THE cvs instructions. [sourceforge.net]

    It's about seven pages of instructions - how to get enough tools, set enough settings and click enough icons and buttons and fields to get a mac to "cvs co" the source.

    Strangely enough, I consider the two lines of CLI required much more humane.

    cvs -d :pserver:user@server:path co
    cvs -d :pserver:user@server:path checkout module

    If this group is trying to make python programming easier, bless them and godspeed, but I'll stick to emacs, which only had one day of learning curve, not endless years of clickity-click curve.
  • Correction (Score:4, Funny)

    by Gropo ( 445879 ) <groopo AT yahoo DOT com> on Friday December 27, 2002 @06:06PM (#4969515) Homepage Journal
    His name is spelled "Jef Raskin", one "f" - and yes that is ironically an unintuitive, constantly botched way to spell the name...
  • GETTING STARTED WITH A NEW DOCUMENT IN THIS EARLY VERSION

    When you double click on the Humane Editor icon to launch it...


    Already returning to your roots, I see.
  • Maybe after it's out of alpha it might be worth something... but not yet (wouldn't run correctly under OS X Classic for me)
  • Great! This is more like it!

    A place to drop off your un-wanted and abused engineers! (Just put them in the cage, and don't forget to donate some money to feed them... while they await adoption)
  • And I was so psyched when I found out they were making it open source... unfortunately it's only for MacOS and CodeWarrior at that. Any questions I had about which files to compile into what projects were unanswered and I gave up a long time ago.
  • by The Bungi ( 221687 ) <thebungi@gmail.com> on Friday December 27, 2002 @06:20PM (#4969600) Homepage
    Now, this is interesting (and completely unrelated to the article, but still). Is doing a website like that on SF a violation of their terms? After all, it's about 1/5th software development there.

    Seems to me that's a cheap and unslashdottable way to get a homepage!

  • by josephgrossberg ( 67732 ) on Friday December 27, 2002 @06:23PM (#4969617) Homepage Journal
    The case for using an IDE when you're doing C, C++, Java, C#, etc. has already been made.

    But why use an IDE for something like Python or Perl, when there is no manual compile-link-execute cycle? Is tab-completion of methods that compelling? What are people's experiences with this?

    (I use emacs to code Python on Linux, and Textpad to do it on Windows. I also own copies of Komodo and ActiveState's Visual Python for Visual Studio .NET, but haven't gotten much use out of either.)
    • In python it's nice because of the forced syntax, IDE's can remove some of the fuss for you by auto indenting etc.

      My perl scripts are always so short that it's faster and easier to just start up vi in a working terminal than to load any IDE.
    • There are a couple of things that could be handy with a python IDE. Visual class browsers come to mind as something I have use for on bigger projects. I use a Tk based class browser I cobbled together for myself, but I gather many py ide's have this feature.

      The other would be a Tkinter visual interface builder. I don't think that any of the current IDE's have this, and THAT would get me to start using them. I can code Tkinter manually, but for rapid small prototyping, I could find this feature strong. The swing interface builder is one of the things I really used the most in JBuilder when I did a lot of Java codiing.

      And if they want me to get really excited, adding a WxWindows interface builder on top of that.

      And, heck, while we are at it, throw in some automated packaging tools. Not that it is very hard to package stuff for Python, but it I can see where it would save me some time over doing it manually.
    • It's not the editing, it's the debugging that makes the difference with IDEs. Generally speaking I find it much quicker and easier to inspect my objects with mouse clicks rather than by typing commands or using print statements. (Though I will resort to the latter methods in some situations.)
  • vi everywhere (Score:2, Interesting)

    by PotatoMan ( 130809 )
    When I read the THE manual, I couldn't help but feel he was reinventing the vi command set and using it as the main interface to the system.


    But, since Jef is a bright guy, I'm going to wait and see where he's going with this. The THE editor is just a single example of what's in his head. I think it's a mistake to generalize from this example to the entire THE system.


    Also, perhaps what's going on is that a fellow who spent his life thinking about how ordinary people use computers has simply found a systematic explanation for why vi is still so popular (although I'm an Emacs user myself).


    The vi command set was designed to minimize the number of characters sent and recieved by the relatively slow terminals used at the time. Perhaps it also encapsulates a 'minimum effort/maximum result' way of thinking. In which case, it's no surprise that Jef would rediscover it.

  • Woah! (Score:3, Insightful)

    by A_Non_Moose ( 413034 ) on Friday December 27, 2002 @06:23PM (#4969620) Homepage Journal
    Skim thru the manual [sourceforge.net] a little bit, and next time someone bitches about vi being difficult show them this.

    Oye, veigh.
    • Re:Woah! (Score:2, Interesting)

      by jacobcaz ( 91509 )
      I especially like this excerpt from the manual. Seems like an ineffective way to communicate key-presses:

      USING THE KEYBOARD

      To make keyboard operations clear without having to write something like, "in order to type a capital 'A' press and hold the shift key while typing the letter 'a' ", we use a simple shorthand. A backslash after a key name (\) indicates a key going down, and the slash (/) indicates a key going up. Thus, the normal way to type a capital "A", is to perform this sequence of actions:

      Shift \ a \ a / Shift /

      Inside this notation we do not use quotes around the names of keys, and individual letters always appear in lower case. In the manual we will not need to use either slash in our examples, so there will be no ambiguity.

      • Seems like an ineffective way to communicate key-presses

        In his book he uses up- and down-arrow graphics to indicate keypresses. It's actually pretty obvious. Since arrows are not standard ASCII, slashes are a decent solution for plaintext.

  • by digerata ( 516939 ) on Friday December 27, 2002 @06:38PM (#4969685) Homepage
    This is from the review by Justin Hollands on his website. I have to disagree here.

    Let's discuss some examples. One of Raskin's ideas is that we use the same core set of elementary operations for many purposes (one might say across applications). Such operations include: selection, indication, activation, moving, and copying. If we use the same small set of operations across applications, we can learn a keyboard shortcut or have special purpose keys for each, rather than look them up via menu selection using a pointing device. Why do we have all these special-purpose menu items peppering the top of our displays? Raskin argues that they are unnecessary. In a mistaken attempt to provide us with lots of functionality (feature bloat), designers have cobbled together the elementary operations as menu items. But if the elementary operations are well learned, then a rapid series of command keystrokes will be faster than the menu look up and selection.

    Revolutionary, right?

    Right off the bat, I think of both Windows and Mac (not a GUI linux user) and how they already have much of this built in. On windows, ctrl-x,c,v cut copy and paste respectively. The equivalent in mac os, I believe, is command-x,c,v. Now there are many more like this such as ctrl-a for selecting all items. And the shortcuts work in Word, Explorer, EditPlus, Photoshop, etc. As long as the developer(s) of the application follow the standard, they are available. So that is where this argument is moot. Its not a new idea but one that has been implemented sporadically across applications.

    Also, many would agree that the concept of keyboard shortcuts is only awakened in the advanced user. A person that is new to the computer is going to rely almost exlusively on the mouse. Point 'n Click, right? Creating a standard set of keyboard shortcuts (even when there already is an unwritten standard) will not help the beginning computer user.

    I don't know, I'm still going to read the book though.

    • You say how Raskin is simply stating the obvious, yet still miss at least half of his point.

      He's not /just/ saying you should have standard cut, copy, paste in all apps, what he is saying is that you should ONLY have cut, copy, and paste in apps unless you have a really good reason not to. In other words, resist the temptation to add hundreds of features for operations which can be done with a few basic building blocks.

      At least that's what I got out of it.

      Oh, and I'll tell you that at least on the Mac, keyboard shortcuts seem to make sense. Cmd-X,C,V (cut copy paste) A (select all) Z (undo) Q (Quit application W (close window). Q and W are very helpful. Putting cut copy and paste as shortcut keys is a good idea. They are all lined up on the keyboard, command is easy enough to thumb while hitting one of them (unlike that abomination that is the PC control key.. ack).

  • Humane? (Score:1, Redundant)

    by Spudley ( 171066 )
    If we want to start being humane to our development environments, I can think of a few that need to be put out of their misery.

    Oh, and will you look at that - an ad for Visual Studio at the top of this article! How ironic.
  • TECO (Score:2, Funny)

    by jasonditz ( 597385 )
    I henceforth demand that TECO rename itself The Inhumane Enivornment

    Join me or die, can you do any less?
  • by ratboy666 ( 104074 ) <fred_weigel AT hotmail DOT com> on Friday December 27, 2002 @07:11PM (#4969838) Journal
    Dear Jef:

    You have just re-invented vi -- perhaps vim! Except that your approach takes more keystrokes, and isn't quite as fast.

    Shift-space: The shift and space are NOT next to each other on most keyboards, but are on others. Also, the Shift space sequence tends to be a TWO hand operation (I've asked people to try it -- for righties, its left pinky shift, right thumb space -- if they were touch typists; there are other variants).

    Now, the ESC key is nasty in vi -- generally, uppermost left key, but it also creeps on the keyboard. I have to think about mapping it somewhere else! Still -- LEAP in vi is:

    / return

    with, of course, an added leading ESC if I were typing. Back leaps use ? instead of /.

    Repeat the leap? / return. Repeat an editing operation? . return. Etc.

    No menus, no GUI, no muss, no fuss.

    Graft on your extensions into VI or EMACS please. [ps. I can't use EMACS - it makes my hands hurt. Really.]. Good old home row visual editing. Stick some smarts in there, and shoot for the stars.

    But... this isn't new. Not even that interesting. I expected more, Jef.

    Ratboy
    • OT: Escape key in vi (Score:2, Informative)

      by jjc2222 ( 100453 )
      Now, the ESC key is nasty in vi -- generally, uppermost left key, but it also creeps on the keyboard.

      FYI, you can use C-[ (Control-Open Bracket) instead of the Escape key. I find this infinitely easier, especially on a Sun keyboard (with Ctrl to the left of the 'a').
    • FYI, repeating a search in VI could easier be done by pressing 'n' from command-mode. 'n' moves forward to the next search result and 'N' moves backwards.

      If the original search was using ? rather than /, than 'n' is the next search result, moving up the page, and 'N' is the next search result moving down the page.

      This saves the Enter key pressing and is faster to press than / for most people.

      Justin Dubs
  • by Tony ( 765 ) on Friday December 27, 2002 @07:30PM (#4969934) Journal
    Those who do not understand EMACS are doomed to re-invent it, poorly.
  • by JavaJoint ( 612671 ) on Friday December 27, 2002 @07:53PM (#4970046) Homepage Journal

    I'll tell ya a Jef Raskin story.

    Sometime in the 1980's - West Coast Computer Faire...

    Jef is on a panel, and the talk is about UI, or the
    future of computing, or some such.

    Jef states that he doesn't see the need for User Groups.
    He doesn't like the idea that people that own computers
    get together to help each other out.

    He said "You don't see Washing Machine User Groups". He may have mentioned the toaster as well.

    To this day, I felt he misses a fundamental point:

    You don't do your taxes on a washing machine.

    You don't write books with your toaster.

    A lot of what we do with computers (some of us,
    anyways...) is inherently cerebral, and social.

    OF COURSE we are going to get together to
    talk about them, in person or online.

    You can dumb down a UI as much as you want,
    hide as many details as possible, in an attempt
    to spoon feed the masses of the Blinking Twelve.
    But the fact remains: if there's some thinking
    involved with the task at hand, users will want to
    get together to share experiences.

    So Jef, take back the example about the Washing Machine :-)

    • User's groups (Score:3, Insightful)

      by jbolden ( 176878 )
      And you do have user's groups for more complex things like golf clubs and tennis rackets (though they aren't called user's groups).
    • Raskin understands one thing: flow. His suggestions in The Humane Interface all seek to hone the "flow" experience of the user. Truth be told, it would be nice if programmers (and website designers) thought more about this: many programs could benefit from eliminating unneccessary modes and superflous steps (like those obnoxious websites that force you to choose a country on the first page before proceeding).

      However, Raskin often overemphasizes this aspect of the user experience. For instance, Raskin suggests giving the user a system-assigned PIN instead of a username/password combination. That way, a user logging into a system only has to type in one piece of information (the PIN) instead of two pieces (username and password). If done correctly, this would probably be more secure and ease the flow of the user's experinece.... except (and this point eludes him) this approach becomes a pain in the neck when you have multiple systems: most users would prefer to choose their own password at the trivial price of having to enter both their ID and password.

      Another intresting but flawed idea of Raskin's is to create a standard series of cables that have uni-sex coupling adapters. It's a neat concept... you'd be able to plug any two cables together (provided they were of the same gauge) without the need for painful adapters, couplers, etc. Again, Raskin's ideas would involve a usability trade-off (that he doesn't see): it's easier to assemble all those wires leading into the back of your computer when each wire can only plug into a limited number of places. Think about how much trouble all those 3.5 jacks on the back of your soundcard give you when you don't have adequate lighting...

      To be fair to Raskin, he some great ideas that counterbalance the often shoddy ideas of us programmers (like those funky number prompts in Blender where you click on the [unmarked] left side of the button to decrement and the [unmarked] right side to increment... WTF?). He is worth reading just for the challenge of embracing new ideas. Too, many times Raskin has a great point to make, but he expresses it in a way that makes him easily misunderstandable (e.g., "you don't need an operating system"). For a more balanced read, I suggest the authorative and entertaining The Design of Everyday Things by Don Norman, but Raskin is more revolutionary. I'm glad that some of his ideas are being realized in a real world environment where they can be modified and built-on.

    • Jef states that he doesn't see the need for User Groups. He doesn't like the idea that people that own computers get together to help each other out.

      I wasn't at the conference, but I'm guessing what he meant was that there shouldn't be a need for user groups. The ideal interface would be so straightforward that consultation with others won't be required, at least for normal operations. Possibly an unattainable goal, but certainly a worthy one.

  • Ironic, isn't it... (Score:4, Interesting)

    by wirelessbuzzers ( 552513 ) on Friday December 27, 2002 @09:16PM (#4970361)
    ... that some of his keystroke series in THE are significantly more awkward on a dvorak keyboard... ... which *is* significantly faster, trust me, if you have the time to learn it... ... which is about what he claims that THE is...

    I think I'll just stick with my odd blend of CLI and GUI (called MacOS X) and my dvorak keyboard. At least I can customize the bindings in emacs.

    ( \begin{rant}[parenthetical]

    Why doesn't everyone use these? At least the dvorak keyboard? If computers came with them instead of QWERTY at least as a standard option, kids would be able to learn to type this way and wouldn't even have to relearn. Seems like it would offer a greater improvement in speed than THE could.

    \end{rant} )
    • by teridon ( 139550 )
      Just out of curiousity, what happens when you sit down at someone else's computer, and they don't have a dvorak layout? How long does it take you to "remember" your QWERTY ...origins?
    • a dvorak keyboard... ... which *is* significantly faster, trust me, if you have the time to learn it...

      I'm using Dvorak right now. It took a week to learn, a month to be comfortable with and another month - including many hours of use of a typing-tutor program - before I approached my QWERTY speed. And now that I've been using Dvorak for several months both at home and at work, I'm about ready to switch back.

      Why? First off, I never saw any speed improvement at all. It subjectively feels a little better when I force myself to touch-type, but I'm still slower than I was before I made the switch. Secondly, there are occasions when I need to use a QWERTY keyboard. For instance, there are PDA keyboards that only come with that layout. Or internet kiosks when I travel. Thirdly, over the years I've learned many functional shortcuts based on the QWERTY layout that don't transfer well to Dvorak. Command-V to paste. Navigation using vi/vim keys. That sort of thing.

      So it was an interesting experiment, but I'm not convinced that Dvorak is worth the effort and I expect I will switch back to QWERTY in the near future.

  • by gerardrj ( 207690 ) on Friday December 27, 2002 @10:18PM (#4970547) Journal
    Okay, so he had one hit with the Mac GUI. But this thing (as many others have mentioned) has already been done in stuff like EMACS and VI*.

    I recall seeing Jef on TechTV talking about how the computer should be intuative and non modal, so that it knew (for example) that when you started typeing something like "2 * 5 = 10" that instead of putting the numbers in the text window, it would pop up a window with the mathmatical answer, since you obviously wanted to perform a calculation and you would not have to go off and start some calculator application to get your answer.
    MY question is "What makes that the obvious context"? What about a teacher typing out a math test? You would somehow have to tell the GUI to turn off the auto context switching while you typed out the formule for the test. This in the end seems even more obtuse a mechnism than the relatively common sense method of context/application switching we perform now.

    After all, you don't (generally) just randomly change topics in a converstation and expect your listeners to keep up. You provide transitions (context switching) when your topic will change, otherwise you'd sound like a babling phycopath. Ex: So Bob, how are the kids? What's the torque limit on the master link of the drive chain on a 1978 Suziki GS 750S? 1250 x 52 = www.mcparts.com Wow, pretty soon they'll be starting shool.

    That doesn't happen in real life, and I don't see why (from what I've read and heard) anyone would expect (or even want) their computer to attempt to interpret that stream and do things with it. That may have been a chat room conversation, a search engine query, salary calculation for a new job, a URL to a web page to browse, and more of the chat room. In that, and the infinite number of other examples, what are the chances that the OS/GUI will correctly guess what context you are intending.

    For my time, I much prefer knowing what context my GUI is in, and knowing that it will not switch unless I do something to directly change it. Any automatic method will undoutedly lead to more errors, lot work and time.
  • fairly useless (Score:3, Insightful)

    by gralem ( 45862 ) on Friday December 27, 2002 @11:44PM (#4970785)
    I must say, Jef Raskin is pretty puch the idiot of the 21st century. He hasn't stopped crying since Jobs got rid of his OS9 interface. A couple of things to note: THE software does *NOT* run in OSX. It only runs in OS9/Classic. Raskin hates OSX SOOOO MUCH that he wants to create this useless software to run in a dying OS just because he likes 9 better than X. And talk about user interface--it has 48-pixel icons. WOOO!

    The entire site is about Jef, not THE software. It talks about what Jef thinks make some really cool esoteric software. And if the user interface is good enough, we should all spend WEEKS adjusting our computing habbits to how he wants us to use the computer. (this is all summarizing the main link in the article).

    It's just amazing that Jef is the only one he thinks is qualified to determine EVERYONE's computer interface needs. Thanks Jef, no thanks. I saw the light the first time I used enlightenment. Any OS that can let the user decide every aspect of the interface--easily switching from enlightenment to KDE to gnome to anything--is FAR better than being told you know too much about computers and "you are in a worse position for learning it than a novice who has only to acquire new habits and has nothing to unlearn!" *I* decide.

    ---gralem
  • Am I alone? (Score:3, Interesting)

    by umoto ( 19193 ) on Saturday December 28, 2002 @01:34AM (#4971079) Homepage
    I've been writing software for most of my life, so I've logged a lot of hours typing on a keyboard. The observation I've made is that my hands are a lot more comfortable if I only have to push one key at a time and if I move my hands (not just my fingers) a lot.

    Jef is advocating the use of shift-space to enter a special mode, then entering commands while still holding the shift key. All this is designed to keep the hands on home row. This seems awfully uncomfortable.

    Not long ago the "happy hacker" keyboard came out. My boss got one. At that time I realized I may be one of the few geeks who prefers the ten cursor keys over vi/emacs key sequences. Am I alone? :-)
  • FYI, Jef Raskin is not the "developer of the MacOS," or anything close to it. The only correct statement, carefully phrased so as to connote the most prestige, is the one that he always uses in biographical paragraphs, which usually says something to the effect that he was the creator of the Macintosh project. It is true that he started a project named Macintosh while at Apple, but the goal of this project was to create a very simple "information appliance," much like the Cannon Cat later became. At some point, Steve Jobs took over the project and changed it completely; the end result was what we now know as the first Macintosh computer.

    As for my credentials in saying this, I was a senior editor at BYTE magazine during this time period and was told these facts by someone on the original Macintosh team. I later worked at Apple for ten years and never heard anyone there associate Raskin's name with the Macintosh computer.
  • About Interfaces (Score:5, Insightful)

    by PotatoHead ( 12771 ) <doug@NoSpAM.opengeek.org> on Saturday December 28, 2002 @02:27AM (#4971235) Homepage Journal
    Here is my rant (diatribe?) about the subject.

    An interface should be designed around the task. The nature of the task will dictate the various priorities inherent in a good interface for that particular task.

    Interfaces do not replace education or training for the most part. Maybe some 'new user' features can help get one started, or perhaps remember what is almost forgotten, but that is it. Any continuing reliance on these features will cripple the interface for those who simply want to complete the task, and know how.

    Most of the opinion I read has a lot to do with specific interface attributes and how well they address a particular task. Maybe the information content is good, or it does not take many keystrokes compared to another interface, or perhaps it might be easier to use or more intuitive than another interface.

    The big question is about the value the interface brings in terms of workflow. Is there real value? Are choices clearly presented? Do those choices make sense? Is there any busy work? eg. "Operation successful, press ok to continue..."

    Each of us have developed our own interface needs that are a direct function of the work we do. Since we are more different than we realize, a good interface will allow for this. A great one will encourage this while continuing to perform its basic function which is again, performing the task at hand in the most effective manner.

    Because of these things, ease of use has little to do with the quality of the interface. In fact, ease of use will often simply mean not powerful or maybe limiting to those who clearly understand the task at hand and are simply interested in performing it.

    This is not about the fewest mouse clicks or the least button presses or any other simple metric. It is about understanding the nature of the task being designed for and presenting viable choices to those performing the task in a way that adds value to the execution of the task.

    That's really it. Everything else is just fluff once you get past new user issues.

    Coupla examples:

    The seemingly simple task of editing text.

    I have used vi, emacs (a little), joe, edlin, notepad, textpad, nedit and many others on different platforms. Each of these applications have their own different interface. Does that mean we simply don't yet know how to best edit text, or is it that we know all about editing text, but prefer to do it in specific ways depending on the overall goal of the text editing session.

    I suspect the former will never happen and the latter does because...

    On slow text only connections, vi is fantastic. You can clearly delinate between command and data. Given latency issues and large text datasets, this seperation allows one to make best use of the connection they have. You can do powerful things with a few keystrokes. To someone on a lan who does not understand vi very well at all, this is cryptic for no reason. For someone on a slow connecion it is golden --and worth learning if you value your time.

    Casual writing is best done in something like Open Office, or something similar. This type of interface scales to a degree also. Want to step up from a simple essay? There are features present that do not get in the way until you start looking for them. Got a slow connection? Forget it.

    I happen to enjoy editing code in nedit or text pad. I am also not an expert coder. If that changes for me, I understand I will likely outgrow these two because they do not address more advanced coding tasks as well as some other programs do.

    Since the various tasks surrounding the editing of text are very different, the best interfaces are going to be different even though all we are really doing is editing text.

    This means there is never ever going to be the one best text editor. (Sorry vi -vs- emacs folks!)

    What does this mean for those of us who want to edit some text?

    It means that people who are serious about editing text are best served by learning about the different interfaces and how they relate to the task at hand if they want to make the best use of their time.

    Casual text editor or writer? Great! Get one of the bloated hold your hand programs and make good use of it. That is what it is there for.

    What does this mean for those who produce text editing tools?

    It means there is a clear tradeoff between the number of tasks you address well and the value your interface provides to those who are interested in performing those tasks. Try and do too much? You get Word, or Open Office. Do too little and you get Notepad or Joe. Nail one task perfectly and you get Textpad or vi or emacs.

    This also means that in order to create a good interface for a given task, you better damn well understand that particular task inside and out. If you don't, then you cannot add any value and your interface will suffer like it or not.

    Are any of these editors really better than the others?

    It depends on the nature of the task you use them for. The only one out of the bunch I could never understand is edlin. It does not do anything well at all. Mistake, glad to be rid of it. The other ones though all have their merits depending on what one is doing --more importantly why.

    Dumbing down a program to attract new users because it is easier to use is simply trading one thing for another. In the end, what could make your program great is lost.

    This is just as bad as an interface that assumes too much because it makes those that use it work harder than the need to in order to get the task done. Spartan is ok --given the task at hand would benefit from that.

    People who design interfaces need to pay particular attention to their users and the nature of the task they are performing. It is about focus. Too narrow or too broad, or just right for what people really are going to be doing.

    Anything else is a waste of time.
  • by Animats ( 122034 ) on Saturday December 28, 2002 @02:53AM (#4971288) Homepage
    Raskin has built this text editor several times before. The first implementation was on an Apple II, and his LEAP technology was first seen there. The best known implementation was the Canon Cat, which was a typewriter-like standalone word processor device. The Canon Cat came out in 1987, which was way too late to launch a "smart typewriter". It was on the market for about six months before Canon pulled it due to weak sales.

    Raskin's critique of scrollbars for navigation makes some good points, but that was before mousewheel scrolling.

  • Shift-space is a somewhat standard way to switch into a multibyte input method, such as kinput2 for inputting Japanese. I don't think it will work on an X11 system if you have kinput2 running unless you change the default kinput2 configuration.
  • THE has been for many years standing for The Hessling Editor [sourceforge.net], a POSIX clone of IBM XEdit, including Rexx scriptability.

A Fortran compiler is the hobgoblin of little minis.

Working...