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!"
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?
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.
Akvo.org - the open source for water and sanitation
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.
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?
Roving Web-Teleoperated Robot
I'm reading the THE cvs instructions.
:pserver:user@server:path co :pserver:user@server:path checkout module
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.
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.
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)
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
>> ...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"
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.
7. What we cannot speak about we must pass over in silence.
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
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
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
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.)
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.
-1, Too Many Layers Of Abstraction
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.
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...