The user is drunk (2013) [video]
youtube.com
youtube.com
I really appreciate putting the user in context of their own lives compared to as if locked in a room with just that interface in front of them.
Microsoft brings in people a lot (or so I hear) to do user testing. I wonder how processes can be redesigned to also take "The user is drunk" approach.
I'd say most people overestimate how much their own personal experiences generalize (to a meaningful n) or overestimate their ability to empathize with users. Even user researchers.
I'm surprised he didn't have a better answer. Experienced users cannot intuit the problems that new users will have, and the ones who think they can are the reason we have bad production interfaces. If you're used to pressing Control-Alt-Space, F, Shift-G to perform a common function, then that seems easy to you, and pressing F1 instead seems hard because it's not wired into your muscle memory. The only good way to find snags in your UI is to ask novice users in the field.
[0]http://www.youtube.com/watch?v=zI9esN3BqbI&list=PLYVXx3zCnkX...
I hate stuff that looks pretty, but is makes absolutely no sense unless you have used it previously.
His examples are clear elsewhere in this otherwise thought-provoking talk, but in the case of reconciling treating the user as 'being drunk' with treating them as 'not being dumb', I think he leaves the door open to interface designers not still subjecting their work to sufficiently rigorous scrutiny: what does a dumb drunk user do that one who was drunk but not dumb would not do? How drunk do you need to be be to act dumb even if you are smart when you're sober?
Is this because the target demographic of Vim/Emacs are all power users? It seems like making powerful tools like these are at odds with treating the user like they're drunk.
If it's a usual consumer app, the potential user obviously has a lot less attention to give to it then you, the creator; to feel this, you really should imagine that the user is actually drunk.
But for a professional app, like vim or emacs, it doesn't apply. I switched from Sublime to vim this february, and it was a real effort, but I knew why I'm doing this, and I was willing to put this effort in. And it wasn't my first attempt either; I tried using emacs a year ago, but it still was to much of an effort and I had too much work to complete, so I dropped it.
The same thing is true for Word, Excel, for that matter Windows, Photoshop. These are not the best user interfaces for the main bulk of their target market - they are simply dominating because of lack of better alternatives and/or the great conservatism.
My point is, just because you target power users, your software should not get away with a poor interface. As another example, look at the crippled tool we use every day - the shell (csh, bash) and compare it with something like fish (that is far from ideal but makes at least a bit of progress).
The video is the best thing I have seen on HN in long while.
Most of these editors are closed-source, cost money, and aren't installed by default. Yet Vim and Emacs are so hard to use that they end up being a fraction of the paid editors' user-bases.
Who am I to claim knowledge of editor usage? Well at Floobits[1] we've made plugins for Sublime Text, Vim, Emacs, and IntelliJ. We can see how many people download and use each one. Sublime Text and IntelliJ are by far the most popular editors. It could be that Emacs and Vim users really don't like to collaborate, but it seems more likely that simply fewer people use them.
I'm not trying to hate on Vim and Emacs. Once people do learn them (and heavily customize them with plugins), they are very productive. And Vim and Emacs aren't going anywhere. A developer can learn one of them and use it for a lifetime. But Vim and Emacs could be much more popular if they put some effort into improving the first-time experience.
Just antidotally I've only run into one or two developers who use emacs or vim as their primary code editor. A lot of people like myself, though are proficient with one or another shell editor (Vim in my case) that they use when working directly on a server, or for certain, occasional things where it's more convenient.
For example: most developers won't think of using Vim to develop a mobile app. In the case of building iOS apps, I'm not even sure if not using XCode is a possibility. But, Vim-loving developers will install the Vim plugin for Eclipse, and XVim for XCode, etc.
I do mobile development. About 95% of my time is spent in Vim, the other 5% in eclipse for the few things that it actually makes my life easier for. If eclipse were actually more useful to me, that percentage would probably drop as it would cause me to bother setting up Eclim (I can't be arsed to right now, since that 5% is so low.)
Even with Janus, it's definitely not for beginners and there seems to be a natural progression from a basic text editor to a more powerful text editor like TextMate or Sublime Text, then you either go for the full IDE like RubyMine or end up using vim or emacs.
Realistically, vim is not actually hard on you the first time. Vim is FINE.
"type :q<Enter> to exit"
I think you are wrong about that. Distributions of vim that aim to do this (such as Janus, or Cream) get no significant traction. Things like GVim exist, but the only place I've ever seen anybody use them is on systems that don't have a modern terminal emulator installed.
Any attempt to "friendly-ify" the default Vim experience would do nothing but alienate current Vim users. The temptation to throw all your existing users under the bus to reach a hypothetical larger market should be avoided; giving in to those temptations kills open source projects. Open source developers should feel a loyalty to their users, not meaningless "sales" numbers.
I think it is the steel hill that causes them it be good. (In some deep convoluted way)
One of the beautiful things about great UI is that it's
not there. [....] It's like a guitar player who just lets
the music come out and they're not really sure if the
guitar's there any more.
It takes sustained time and effort to learn to play guitar, or to learn to touch-type, or to program, or to manipulate programs in a code editor. This is a completely different use case from that of a casual web site user. You don't hand a musician a 5 inch screen with a big blue button and expect them to play it like a guitar.Most web interfaces need to be immediately usable by a casual user to sell products or ad views.
Expert interfaces can be as complex as you like as long as they reward learning time with productivity improvements. If you are going to be spending the rest of your career writing text, spending hundreds of hours learning a powerful tool is time well spent. Not that vim is that tool for everyone but most programming editors will have a learning curve which is beyond anything a casual user would attempt.
I went through the whole emacs tutorial and still have no idea what I'm doing. It's very difficult and counter-intuitive. On the other hand notepad++ does everything I need it to do and works right out of the box.
I definitely think emacs is cooler and has more features, but you can guess which one I use day to day.
On topic though, interesting video.
OfT: I acctualy had to google Litle person to understand that you ment dwarf. Dwarf is according to http://en.wikipedia.org/wiki/Dwarfism#Terminology ok to say.
Personally I would not see him as a dwarf, he does however have some kind of Dwarfism.
His hands reminded me of Peter Dinklage (Tyrion Lannister from the Game of Thrones.)
You may not have had blurry vision... But your attitude may have been as if you did have blurry vision. Oh there's no big colorful button? X. Oh this sight is monotone? Boring. X.
His points are prescient, if exaggerated.