Slashdot Log In
The Humane Environment
Posted by
michael
on Fri Dec 27, 2002 05:34 PM
from the society-for-prevention-of-cruelty-to-computer-users dept.
from the society-for-prevention-of-cruelty-to-computer-users dept.
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 Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Nice redundant acronym! (Score:3, Funny)
THE Humane Environment!
But what's THE?
- rouftop
Like the definition of recursion... (Score:3, Offtopic)
\Re*cur"sion\ (-sh?n), n.
See recursion.
And here's the crux of the matter... (Score:5, Interesting)
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...
Re:And here's the crux of the matter... (Score:4, Insightful)
It seems to me the only people making incremental improvements is Microsoft (winNT-win2k-winXP). We all just love the Windows GUI right?
Parent
Re:And here's the crux of the matter... (Score:2, Insightful)
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?
Re:And here's the crux of the matter... (Score:2)
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?
Re:And here's the crux of the matter... (Score:2)
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?
Software Industry Innately (Too) Conservative (Score:4, Insightful)
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".
Parent
Re:And here's the crux of the matter... (Score:5, Insightful)
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.
Parent
Re:And here's the crux of the matter... (Score:2, Interesting)
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.
Yeah, that's why I insisted on having. . . (Score:4, Funny)
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
Parent
Re:Funny you should mention that... (Score:3, Funny)
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?
Re:And here's the crux of the matter... (Score:3, Insightful)
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.
Re:And here's the crux of the matter... (Score:3, Insightful)
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
Re:And here's the crux of the matter... (Score:5, Funny)
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
Parent
Re:And here's the crux of the matter... (Score:2, Interesting)
Now, maybe you weren't referring to breastfeeding, in which case I may agree with you....
OS 9 or OS X? (Score:2)
what's it look like ? (Score:4, Interesting)
Re:what's it look like ? (Score:4, Informative)
Please be nice to my poor computer.
Parent
Re:what's it look like ? (Score:3, Informative)
And it's really funky! I'm trying, but it's fairly strange.
The Relevant Links (Score:3, Informative)
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)
Interesting, but.... (Score:2, Interesting)
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!
Re:Interesting, but.... (Score:2)
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
VIM, Emacs? (Score:4, Funny)
Re:VIM, Emacs? (Score:2)
Re:VIM, Emacs? (Score:4, Funny)
Is that when it ate your homework?
Parent
Maybe they should have started with mac CVS... (Score:2, Insightful)
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
cvs -d
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.
Re:Maybe they should have started with mac CVS... (Score:2)
CVS was designed for UNIX/CLI and then ported/hacked to work elsewhere so it is obviously going to be difficult to setup and use.
Correction (Score:4, Funny)
Like a dog returning to its own.... (Score:2, Funny)
When you double click on the Humane Editor icon to launch it...
Already returning to your roots, I see.
waste of time right now (Score:2)
I wanted to work on this so bad... (Score:2)
OT: The SourceForge blog? (Score:3, Interesting)
Seems to me that's a cheap and unslashdottable way to get a homepage!
why use an IDE for an interpreted language anyway? (Score:3, Insightful)
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
vi everywhere (Score:2, Interesting)
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)
Oye, veigh.
One quick argument... (Score:3, Interesting)
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.
What's Old is New Again (Score:5, Insightful)
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
This just goes to show.... (Score:3, Funny)
Jef Raskin Doesn't Get It (Score:5, Interesting)
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)
Ironic, isn't it... (Score:4, Interesting)
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} )
Re:Ironic, isn't it... (Score:3, Interesting)
I still don't get it (Score:3, Insightful)
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)
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)
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?
About Interfaces (Score:5, Insightful)
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.
Raskin does the Canon Cat, again. Nobody cares. (Score:3, Interesting)
Raskin's critique of scrollbars for navigation makes some good points, but that was before mousewheel scrolling.
Re:LEAP (Score:2)
Anyone got CodeWarrior and able to post an actual built copy somewhere? That or know how to build the thing with gcc....