Hacker News new | past | comments | ask | show | jobs | submit login
Of Modes and Men (2005) (ieee.org)
62 points by sohkamyung on Feb 21, 2020 | hide | past | favorite | 25 comments



I wonder what Tesler thought about modern user interfaces in light of his "no modes" philosophy.

Today, each program/website effectively functions as a separate "mode" where everything potentially looks, behaves, and responds completely differently. There's no consistency and it's a huge part of the reason computers are frustrating to use for most people.


Bear in mind that the definition of "mode" includes a subjective part in its definition, i.e. an interface is in a mode if the user thinks of the input in a state as the same action with different results than the same input on a different state. [1] For example, single click on a web link navigates to a new page, but single click on a desktop folder merely selects it.

But this does not necessarily applies to content. If you have two different apps, with very different media and data (e.g. one is a spreadsheet, the other a slide presentation), they don't represent different modes if they respond the same to the same actions. You may have a zoom button in both which works the same, a similar color palette, similar scroll bars...

This is the reason why GUIs are composed with a small set of widgets, and these represent standardised behaviours that work essentially the same across all applications that use them (and also, this is why it's such a terrible idea to build widgets that deviate from these expected behaviours). Tesla should know, he was there when they invented them. [2]

You have a point that it's too easy to find applications that don't follow the standards and reinvent the wheel for no benefit, and also that the standards only extend to low-level interactions - before mobile OSs, there never was a unified metaphor for reading, storing and sharing information at the end-user space.

[1] https://en.wikipedia.org/wiki/Mode_(user_interface)#Definiti...

[2] https://web.archive.org/web/20040511051426/https://computerh...


To be fair, computers were frustrating to most people all the time. It's just that they've become frustrating even to the ones that were comfortable before. I'm always on this fence of whether it's become shit or I've become too old here at 29, and having felt it since 25. Cyberpunk would say both are true.


They say "it paved the way for the one-button mouse we use today" but most people I know prefer two-or-more button mice, e.g. the classic scroll wheel design. A single button makes the mouse hand much less useful.


That's only because the system was designed for two-or-more button mice. The classic Mac OS was designed for a one-button mouse and it was far more intuitive than what we use today. It was also much more discoverable, since it didn't have modes, the thing Larry Tesler fought so hard against.

Right-mouse-button context menus are modes, since the functions you are shown depend on what type of object you click on/have selected. The classic Mac OS menu bar, on the other hand, is modeless since it always shows you the same set of functions (and greys out the ones that are inapplicable to the selected object). This is a tremendous boon to discoverability, a key feature of usability.


I would argue that a context menu is not a mode. You always e get the same action when you right-click the mouse: a context menu. It may have different selections on it depending on the object being selected, but it's not like right-clicking the object has unexpected, different behavior every time you do it.


I'm going to have to disagree, not that discoverability isn't good, but that the addition button isn't worth the complexity.

It's a matter of expressiveness and bandwidth. You can do more pointer-related actions with multiple buttons, and they aren't confusing the way keyboard modes are, because you've got feedback on the display at the pointer location. Primary clicks do the important thing, secondary clicks give you a set of other options or an alternative action. It's very easy to pick up given its universality and its usefulness. A single button just requires you to press mode keys with the other hand to get that expressiveness needed in a reasonably intuitive, and powerful, pointer-driven UI.

Imagine if we didn't have multitouch and the only gestures we had on touch displays were tap, tap and hold, drag...


I think it's fair to say that everyone on Hacker News is a power user of their computer. Power users do not really know what it's like to be a regular user who is confused by multi-button mice, context menus, and all the rest. Try getting an older person to use a modern computer. They're completely baffled by all of the complexity. They don't know (and don't care) why they should be left-clicking in some cases and right-clicking in others. They prefer an iPad and generally don't use the multitouch gestures, besides pinch/spread for zoom. Simple taps and drags are highly intuitive for them.

I would argue that context menus are inferior to keyboard shortcuts anyway. I certainly don't use them once I learn the keyboard shortcuts. I believe we have truly lost something special, since the classic Mac OS is no longer with us. We don't even organize our computers spatially anymore [1], we just rely on search all the time. That's a terrible shame, as spatial memory is the fastest. When you walk into a room in your home, you don't even need to look at the light switch, you just flick it on because you remember exactly where it is.

Modern computers with all of their context sensitivity, browser windows, etc. are like a house where the light switches keep moving around to try to guess where you'll be next.

[1] https://archive.arstechnica.com/reviews/4q00/macosx-pb1/maco...


Three is my preferred mouse configuration - left, right, middle(scroll). Not long ago I had to use a two-button mouse for a while, and the lack of scrollwheel was very annoying.


I find it hard to use a mouse with fewer than 9 buttons or a shift function on one of the buttons. I'm too used to having lmb, mmb, rmb, back, forward, copy, paste, enter, Ctrl+shift+t bound to the mouse. This is in addition to the scroll wheel of course. If I had 2 more buttons I would like to add home and end as well.


Modes generally suck, but are often either unavoidable or better than the alternatives.

For example, every graphics program has a "mode" for creating e.g., curves, whereas the "default mode" is selecting. This is very much a mode, but it is clearly indicated to the user by (typically) a change in cursor shape. It's still a mode (affects what clicks of the mouse do), but it's tolerable because it is directly entered (by selecting an icon to enter the mode), and feedback is relatively clear.

There are modes, and then there are modes.


I must remember this article the next time some Vim fanboi tries to mansplain to me why vim is better. (Note most seasoned vim users are not in this category... But will happily press an emacs user, which I'm not either). I've heard it all before and even done the side by side comparison tests... >15yrs ago.

Ultimately, the results of Larry Tesler tests coincides with my own.

Thankyou Mr Tesler for No Modes editors!


> (Note most seasoned vim users are not in this category... But will happily press an emacs user, which I'm not either).

I get hate from both sides by using nano :/


nano, for when you don't care and just want to edit the damn text file. :D


Oh, no, I care very much: I go through great lengths to customize nano to my liking, to the point that I now inject code into it to construct my nanorc on-the-fly in memory for whichever version of nano it's running on: https://github.com/saagarjha/dotfiles/blob/master/fixnano.c (did you know that newer versions of nano can format your code and check if it compiles, displaying errors inline?). If I need to edit files and don't have it available I rely on vi being standardized by POSIX: https://pubs.opengroup.org/onlinepubs/9699919799/utilities/v...


Wow, nano has come a long way from when it was yet another pico (or at least that's how we used it in uni, clearly there's more to it).

Also vi being POSIX is awesome, I didn't know that! :)


I think the Vim way is to spend very little time in insert mode, so most of the time you don't have to think because you will be in the other mode. That said give me VSCode anytime!


VSCode has a plug-in for Vim keybindings. Does not emulate Vim entirely but good enough to feel at home. Gives you best of both worlds: IDE-like features of VSCode and ergonomic manipulation of code of Vim.


Seemed for a long time everyone were burnt out on editor wars. But I kinda wish they would start again.

Maybe competitions would be a good way of finding which is best. But what would the rules be?


I think the world is too polarised to even realistically attempt.

Tabs vs space? Auto indent? Supported languages? Colours? Terminal only? Size (file and app) constraints?

This is even before we enter discussion on modal or not.

I think it more realistic to understand that editors are like neighbourhoods. They come in all different shapes and sizes and each has their own vibe. Some will burn you, some you'll feel welcome in...


Actual quote from the article for context:

> Modeless: Computer scientists when writing code typically worked in different modes; you might have an insert mode, a delete mode, or a replace mode. You would first select the mode, then select the point on the screen at which the action was to occur, then perform the action. Tesler, in user experiments, proved that modes were confusing for nonscientific users and championed the “modeless” interface.

For non-technical users, sure modeless editing may be better. But for computer scientists, modeful editing may be better. The article mentions modeless editing to be better for no scientific users only, not necessarily for everyone.


> But for computer scientists, modeful editing may be better. The article mentions modeless editing to be better for no scientific users only, not necessarily for everyone.

That's why they kept on investigating, and concluded that modes are bad for anyone; as long as they are human, using modes increase their rates of error. Jef Raskin went so far as to invent quasimodes, to get the benefits of modal interfaces without the burden on short-term memory. (https://en.wikipedia.org/wiki/Mode_(user_interface)#Quasimod...)


Calling people inhuman is obnoxious; please don't do that.

Quasimodes (chording) are physically difficult and distracting.


Just a note, that for a person used to working in say, vim - having to take a hand off the keyboard in order to use the mouse (or touch the screen) essentially feels like changing to selection mode. Putting hand back on keyboard is like going back to insert mode.

The key difference is of course that "learning" to use the mouse, or the touch screen - feels much more natural than some arcane key combination.

So, if you already know the combinations for switching modes (both the arcane key combo, and the "process" of moving one hand from the keyboard to the mouse, and back again) - you are comparing different things - typically "efficiency".

While I'm a vim user, and unlikely to ever go back to using a mouse, due to RSS injuries - I still thing something like ACME[1] is likely more efficient than vim. On the other hand, the act of editing is plenty efficient in vim for me.

[1] Russ Cox "An introduction to the ACME editor": https://youtu.be/dP1xVpMPn8M

http://acme.cat-v.org/


Lol. I didn't realise I wasn't technical - but then again my background's only in electronics thru 3d game dev & modelling (90's) thru finance thru embedded. I should probably quit.

Also from the article:

> “I really didn’t believe in it,” he said. “I thought cursor keys were much better. We literally took people off the streets who had never seen a computer. In three or four minutes they were happily editing away using cursor keys. At that point I was going to show them the mouse and prove that they could select text faster than with the cursor keys. Then I was going to show that they didn’t like it.

“It backfired.

Just because he thought a way was the way, Mr Tesler was willing to correct himself of his presuppositions based on real world testing.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: