The Humane Environment
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!"
What's THE?
:-)
THE Humane Environment!
But what's THE?
- rouftop
QAExpress: Solid bug tracking for you. Graphs and reports for your PHB.
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...
Roving Web-Teleoperated Robot
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...
Assorted stuff I do sometimes: Lemuria.org
Bug List 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 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 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 The user manual, written for developers of the Humane Environment
Mission Statement 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 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
Don't think that a small group of dedicated individuals can't change the world. it's the only thing that ever has.
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 tags inside table cells, and so on. These things make a web site more accessible to all. Now, off to download the project.
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.
His name is spelled "Jef Raskin", one "f" - and yes that is ironically an unintuitive, constantly botched way to spell the name...
I hate Grammar Nazi's
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
Seems to me that's a cheap and unslashdottable way to get a homepage!
The case for using an IDE when you're doing C, C++, Java, C#, etc. has already been made.
.NET, but haven't gotten much use out of either.)
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
Joe
http://www.joegrossberg.com
Skim thru the manual a little bit, and next time someone bitches about vi being difficult show them this.
Oye, veigh.
Have you read the moderator guidelines? Well, have you, PUNK? (and I want a Karma: Gnarly option)
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.
1;
recursion
\Re*cur"sion\ (-sh?n), n.
See recursion.
I am not a number! I am a man! And don't you
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
Just another "Cubible(sic) Joe" 2 17 3061
Those who do not understand EMACS are doomed to re-invent it, poorly.
Microsoft is to software what Budweiser is to beer.
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
>> ...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".
-- Slashdot: When Public Access TV Says "No"
... 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} )
I hereby place the above post in the public domain.
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.
Article X: The powers not delegated... by the Constitution...are reserved...to the people
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?
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).
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
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?
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.
Blogging because I can...
Raskin's critique of scrollbars for navigation makes some good points, but that was before mousewheel scrolling.