Started with what could have been an interesting premise for discussion, and then lost me when he declared mice to be intrinsically bad in a writeup about user interfaces.
It always confounds me when people assert that the number-one desirable feature in all user experience is velocity of input. As if there's nothing to be thought about, much less discovered. Just data to be entered. That may be true in certain narrow segments of interfaces, like POS software and development environments, but to pretend that all human/computer interaction fits that mold is to be willfully ignorant of the reality of personal computing.
Edit: It's been pointed out that towards the end he does acknowledge some valid use-cases for mice, but he still drastically oversimplifies the space of GUI use-cases and ignores some of the key benefits of mouse-based interaction.
> but he still drastically oversimplifies the space of GUI use-cases and ignores some of the key benefits of mouse-based interaction.
I think you've still missed the point. He's not saying that keyboards should be used most of the time, he's saying that keyboards are better for structured interfaces while mice are better for unstructured interfaces and a lot of what we consider to be unstructured interfaces are actually structured (e.g. twitter).
While I don't think he's 100% correct, I do think he raises a lot of interesting points if you can look past his rather unhelpful delivery.
> While I don't think he's 100% correct, I do think he raises a lot of interesting points
One of the things I got from this was that maybe we should do more to design structured interfaces instead of counting the number of clicks needed to transition to the page you're looking for.
Many enterprise applications (especially web based ones) are horrible to navigate, and some people spend most of their working days in them. It's terrible.
Years ago I had occasion to visit my mother at work. In her department most of the worker's time was spent in a custom Windows app that was developed specifically for them... as in exclusively for that department of that company.
The app was modal and took up the entire screen. Except is was clear that the developers had larger displays than the workers because in order to view and use the entire page the workers had to scroll around both X and Y using the scroll bars. Well, that and the fact that tabbing around didn't go around in a logical order.
I walked out and returned with a slightly LCD display that I bought in a local big box store and nearly started a riot. They had all been using that crappy app for years like that and the worst pain point for it was due to the fact that the devs had assumed that everyone in the company had the same size displays while their employer had refused to buy those larger displays for the 45 people that had to use it.
The Danish government had a program developer in the 90' for the job centers (the job centers are suppose to help unemployed people return to the job marked, they're just very good at it). Somewhere in the specs. the was a limit on how long the loading time for a window could be.
To get around this load time restriction the developer simply put less information and features into window. So rather than spending 10 seconds loading one large form and fill it out, users would have to click though X number of windows, filling out part of the form in window.
I'm not sure where I'm going with this, but your comment reminded me of this case.
Different budgets probably - I've seen people kicking up an almighty fuss on a ~£40 million pound project about buying ~200 large monitors for one screen in the application (the application screen really did need to be huge due to various constraints).
One of our meetings probably cost ten times the cost of 200 monitors!
It was a big project - so easily 30-40 people at meetings (usually in multiple concurrent sessions). People flying in from all over the world and staying in decent hotels...
I remember seeing the bill for breakfast for one set of meetings - was nearly $5000.
Yeah - I was off with the "ten times"... but not by a huge amount ;-)
100% agree. I manage two teams of developers - one builds the infrastructure for a back-office (power user) interface - the other builds the infrastructure for an end-user (casual user) interface. While both are web apps, the usage patterns are VERY different.
The power users know all the special shortcuts. Keyboard mappings, tab order, and also app-specific shortcuts (forcing look-ups to behave certain ways, quick key combos to access forms, etc). They value speed of data entry above almost everything.
The casual users know none of these things, don't care, won't remember them if we try to teach them, and place a much higher value on easy navigation and discovery via visual cues and mouse.
Lots of business programs of the sort where people spend much of their day in them should probably look and act more or less like "bad" old DOS keyboard-focused business programs. Instant responses to input, shortcut-driven. You watch someone use one of those who's been at it for even a few weeks, man, they're fast.
A very good touchscreen interface would probably be as good or better for cases in which typing isn't required, except that most touchscreen interfaces are terrible (janky, frequent missed presses, laggy enough that it's often unclear whether a press has been missed or it's just being slow, confusing navigation—see those new McDonalds ordering kiosks for all of the above) so that doesn't seem to be a realistic option unless you put some kind of UX dictator with great taste in charge of the project.
I've yet to see a graphical enterprise app that approaches 1/10 of the interface speed of a mainframe terminal app.
All app developers should be required to sit and watch an expert user interact with a mainframe interface for at least 30 minutes before they're allowed to make arch decisions.
It has to be complicated so they can justify the expense. If it were as simple as it needed to be, even execs would wonder where the money is being spent; and they don't even use the app!
I was once waiting in a doctor's office about ~4-5 years ago, and sitting close to me was an older lady, perhaps around 60.
A commercial came on the TV in the waiting room for SAP, and this lady started cursing about what a piece of trash it was. I was really shocked. She was not someone I expected to even know what SAP was, but I guess she was an unfortunate user stuck with having to use it in an office somewhere.
>a lot of what we consider to be unstructured interfaces are actually structured
But only IF you know the structure otherwise it's effectively unstructured. The issue with structured interfaces is that the barrier to entry is high and the discoverability of how to do things is low. That works if you are able to force people to use it but fails when you depend on people organically wanting to join.
Also, they are very fragile in a move-fast-break-things world. If you are going to be structured, and have people depend on your structure, then you have to commit to it and support that structure. Sometimes for far, far longer than you ever expected.
I got to that point and had the same reaction you did, but finished reading the thread and realized he's actually claiming something far more ambitious and interesting than I thought he was.
Particularly when he clarified that keyboard-only doesn't just mean text-based, and it can be graphical and keyboard-only. I'm trying to imagine UI that are graphical and beautiful but works with keyboard only, and it actually could be a very interesting world if that were popular. It's not unlike games from older days where ways of input is limited and input is purpose-driven.
For sure, as you said, there's the discovery/exploratory aspect of using a software where GUI helps a lot. But there's definitely merit in what the author is saying.
Blender is a fairly good example of visual software usable with a keyboard only. Especially in older versions there were a lot of functions you couldn't even get to with a mouse. These days everything has a way to get to it from both the mouse and keyboard.
Turns out that an interface like that is really hard to learn but also really fast once you do. Extruding a face along the normal is as easy as getting it selected somehow (which I do with the mouse, but there's plenty of keyboard based selection tools too) and hitting e, followed by z twice, and then either entering a distance on the keyboard or moving the mouse to move it a bit. Personally I love the interplay between keyboard and mouse: you can pick whichever method is most effective. For selecting specific things or moving stuff until it looks right you use the mouse, for selecting in bulk or moving stuff specific distances you use the keyboard. Or a combination. Whichever is convenient.
So I think if you can solve the discoverability problem of keyboard shortcuts it'd be a real productivity boost for power users.
Blender is a great piece of software and I love it but speaking of the keyboard shortcuts in Blender, one thing that annoys me about it is the reliance on the numpad for some of the keyboard shortcuts I would like to use. The reason those shortcuts annoy me is that I don’t have a numpad, so I am unable to use them.
True, but you can turn on "numpad emulation" and then use the normal number keys as substitute. It's a weak substitute though, The whole point of the numpad is that it makes those shortcuts work somewhat as directional keys, which is lost when using the normal number keys.
Additionally I don't think it allows you to substitute a period for the numpad period key which is a rather important button in day-to-day blender usage. Of course you can re-map any key you like, but it'd be nice to have it set up right by default.
EDIT: and of course under a recent blender version (2.5+) there's the search box if you really don't want to use your mouse ;)
My laptop has no built-in numpad. Yet I use all the Blender numpad related keymappings and do all my graphics using a mouse / pen. I've done this at airport lounges without issues. USB numpads aren't that rare. Neither are mice.
Not OP, but I don't have a numpad amongst my keyboards. As my computing experience changed, I had to get used to touchtyping numbers above the letters; previously, I had almost always used the numpad.
My laptop has no number pad. I use it when I want a portable keyboard device, so an external keyboard would be irrelevant and unnecessary. Buying a device with a numpad built in would be a compromise that makes the built in keyboard even less useful, due to its non-centred location - in the unlikely event that everything else was identical.
My external keyboards have no numpad. They're ergonomic keyboards. One built for size, the other built uncompromisingly ergonomically. Ergonomic design actually speaks against number pads, since it means you have to extend you arm further to reach the mouse, and an uncompromised ergonomic design are wider than a regular keyboard since you want more separation between the two hands - so the number pad becomes an even bigger issue.
I've sometimes thought about buying an external numpad. But so far I neevr have.
> Ergonomic design actually speaks against number pads
Either move the mouse or the number pad to your left hand. I've left moused in the office for years (Yahoo! ergo team preached it when I joined), and it took a bit of getting used to, and limits your mouse choices, but it's actually pretty nice sometimes to be able to have one hand on the mouse and the other on the number pad. Mousing with one hand in the office and the other hand at home can help with overuse injuries too (although, using good techniques is much better for that). Of course, that still doesn't get you a numberpad on a reasonably sized laptops, but laptop keyboards are an ergo nightmare anyway, reaching over today's enormous touchpads is awful.
> Ergonomic design actually speaks against number pads, since it means you have to extend you arm further to reach the mouse
I don’t have this problem with my Kinesis Advantage, since the numpad is embedded in the main keyboard (using a mode shift/switch to access, which I have mapped to a foot pedal)
Real keyboards do, but there are far fewer of us with proper full-size IBM-style keyboards than laptops that are cut down to 13-15 inches and have more-or-less eccentric layouts.
External number pads are cheap. If someone's spending enough time using programs for which a number pad would be very helpful, it's probably worth the few dollars they cost and the tiny amount of space they take up (similar to a normal-size corded mouse—slightly larger footprint, but thinner)
Blender is a perfect example of the ideal compromise between "takes 10 clicks to do anything" and "takes 10 days to learn to do anything".
You can start in blender ploddingly wandering though the gui as you discover features and then streamline your workflow with the keyboard shortcuts as you go. As you do so, it feels a lot like leveling up in a particularly good game.
Very few pieces of software currently do this well these days. Its a breath of fresh air. Especially v2.8.
I'm not understanding the adversion to the keyboard in the comments here. It's just faster. I prefer not having to reach over and find the mouse or trackpad, then wiggle around to find the cursor. Useful only when the keyboard ux is bad.
Imagine playing piano while having to take a hand off the keys and find a mouse during the song. It would be impossible to keep up. Keyboard only is speedy when learned.
I think the point is, that a keyboard is better when you know what you are doing, and a mouse is more suitable for “discovery” i.e. when you dont know what you are doing.
This jives quite well for me. When I’m working keyboard is almost always better, but when I’m messing around with software I’m unfamiliar with and I haven't yet familiarised myself with the keys for it, I’ll poke around with a mouse. Once I figure out my workflow then I’ll probably use the keys more.
Yes and no. I discovered just fine with a keyboard, arguably better than with a mouse. Tap the Alt key, use the arrows to explore the menus.
Unlike with a mouse, the keyboard never "fell off" the active menu tree requiring me to start over.
Unlike with a mouse, the keyboard couldn't hide things until I moused-over them. Recently I spent quite a while trying to find the zoom controls on a PDF because they were transparent until I randomly waved the mouse in a corner of the screen where there were no controls.
> Tap the Alt key, use the arrows to explore the menus.
You have to know that this is possible as a user, and app developers have to support it, and/or not override the default operating system handling.
This is, without a doubt, an area that we have regressed on. I remember very clearly that when I was first learning to program VB6, UI conventions were pretty standardized on Windows, and so you just did a lot of this stuff by default - you had a &File menu, and &New, &Load, &Save, and E&xit commands on it.
Some software still does this, but it is increasingly rare; in Chrome right now, the Alt key doesn't do anything, and I find that Electron apps have to go out of their way to mimic native conventions, as VS Code does.
So there's less software that follows keyboard-driven conventions, so fewer users know about those conventions, creating a vicious circle. Not to mention that the bulk of your average person's "computer" usage is poking at a touchscreen phone or tablet that has no physical keys at all, just godawful on-screen keyboards.
I think the average user did know it was possible, because the hotkeys for everything were shown in the menu, and "alt-f" to open the file menu was just how things were done. Or you could click on it with the mouse, and still see the hotkeys to get back to it faster next time.
The user-hostile pattern of nested levels of mouse-maze menu, which collapse if you stray one pixel out of the required path, absolutely infuriates me. I can't imagine who thought this was a good idea or what sort of pointing device they used.
What you're really describing is bad UI design. It's not a fault with the interaction method at all. Your whole argument that "keys are well documented" can fall down if a developer doesn't bother their hole to document their keys, or to follow a standard keyboard pattern.
I completely agree it's bad UI design, but it's also become the standard. Some modern "standard" did away with buttons that look like the buttons we spent 20 years learning the look of, scroll bars that look like the scroll bars we spent 20 years learning the look of, hotkeys with underlined letters that we spent 20 years looking for and learning to speed our interaction with frequently-used programs.
It's absolutely bad UI design, but I think it's become the rule rather than the exception. It's just "prettier", according to some jerk who never used a hotkey in his life.
The key take-away was they spent a lot of money on a research project specifically about mouse vs. keyboard and found the precise opposite to be true! Surprising to say the least.
* Test subjects consistently report that keyboarding is faster than mousing.
* The stopwatch consistently proves mousing is faster than keyboarding.
Considering all the time I have wasted in recent years wrestling with text selection and cursor positioning on touchscreen devices, this discussion seems delightfully pointless: they are both so much faster than the third option that any difference between the two must be insignificant.
> The stopwatch consistently proves mousing is faster than keyboarding
Without specifying how it was tested that's meaningless. For example I've read of a test where keyboard users were slower because they had to do a find/replace operation on a file manually, moving the cursor only with arrow keys. That's like saying using the mouse is slower after forcing mouse users to type text on a virtual keyboard.
I think in most scenarios both can be fast enough that the difference doesn't matter, provided there's proper support for both.
I'll admit it's not much data, and there doesn't appear to be a source. But it vaguely refers to a study, and doesn't just reflect the authors preferences.
Did Apple do a study? Did it come to the conclusion that the mouse was faster? If so, why is it dead wrong?
I don't know if Apple did a study, and I'm not particularly inclined to look hard for it, because the argumentation from the article series itself is pretty much bogus and uses some weird test setups (like https://www.asktog.com/SunWorldColumns/S02KeyboardVMouse3.ht... and the e -> | replacement game); that, coupled with my real-world experience which every day proves superiority of keyboard over mouse in structured interfaces, leads me to assign very low prior to the validity of the conclusion of that Apple study, as reported by Tog.
(The study perhaps had a more narrow set of conclusions than presented in the article. Wouldn't surprise me.)
This goes back to structured vs unstructured from elsewhere in the thread. Applying most of the editing tools is unstructured, but navigating the UI is structured.
As a result, I'm very fast at navigating menus and switching tools in my program of choice (GIMP), because those are rapid keypresses rather than forced mouse clicks. It's just so much faster to click Alt+I > S, type a few numbers, hit Tab a couple times, and enter (well, Space usually), than it is to navigate with the mouse to the Scale Image drop-down, put my hands back on the keys to type numbers in, and then switch back to the mouse to hit OK. Ctrl+Q is much easier and faster than clicking the Selection Editor button. Alt+L > T > 9 is the quickest and simplest way of rotating the current layer - a more mouse-based UI might even refuse to give me a 90-degree option and instead force me into manual control. And of course, keeping a hand on the keyboard so it can quickly type a key or shift-key is much faster and more accurate than having to mouse over to the Toolbox to select a tool.
Or a 2-in-1 device with a touchscreen and a pen (e.g. Surface).
The non-graphical tablets with pens are really a different type of interaction, and one that supersedes keyboard + mouse for light graphics. Using one hand with the pen for pointer input + another hand for touch input is really powerful. Moving around, zooming, or rotating things on the screen is easier done with a hand. And a wheel menu (context or otherwise) really starts to shine with a pen.
I wish more software actually supported this. I currently own such a device (a Dell), and I'm searching for software that can utilize touch+pen input to full extent, but there aren't many programs that can.
Pretty late but a lot of significant photo editing is done with one hand on the keyboard for shortcuts and the other hand on the wacom pen, no mouse involved.
Considering that the Qwerty keyboard was deliberately designed to be slow, then yes, I do have an aversion to the keyboard.
I'm a Pom (British/Australian) living in Germany, so most keyboards in shared locations are unusable for me. Using other people's computers is a massive pain as my carefully-learned muscle memory is now actively stopping me from pushing the right keys.
I keep looking at Dvorak or a chord input device, but I know that if I get used to that then I'll have to carry one around with me always so that I can plug it in to whatever computer I'm using at that point. This doesn't seem practical.
I'd love another input option. One that was actually designed for humans to communicate fast with.
> Considering that the Qwerty keyboard was deliberately designed to be slow
No, this is a myth that doesn't become more true just because many people perpetuate it without question.
QWERTY was designed to be as fast as possible for the first data entry jobs at the first companies that adopted typewriters and went through a couple iterations based on feedback of these first customers.
Is QWERTY optimal? No. But it's good enough that learning an alternative layout like Dvorak for months may cost you more of your lifetime than you'll ever get back by typing minimally faster(not to mention such a switch would be more costly with every single keyboard shortcut you've memorised so far).
Either way if you are waiting for a better alternative to become the standard so you don't need to carry your own keyboard you're going to need a lot of patience.
I use Dvorak on a Kinesis and typing on a regular keyboard isn’t a big deal. It’s surprising, but learning Dvorak or another keyboard doesn’t really make you worse at the original.
you're lucky. I couldn't even use Vim because anytime I entered text in any other setting, my muscle memory slapped ESC as soon as I was done entering. On most computerised forms, that's a bad thing. I still find myself hitting ESC when I've finished a code edit, and I'm not even using Vim any more.
I don't want to know what my muscle memory would do if it got used to a Dvorak keyboard.
Isn't it more akin to playing piano (being like using a mouse), reaching for octaves, vs. playing, say, a saxophone where you press a "meta" key to change octave (and alter breathing, but that's just a limitation of the analogy) being more like using a keyboard?
The problems I have with keyboard are usually discoverability.
> I'm trying to imagine UI that are graphical and beautiful but works with keyboard only, and it actually could be a very interesting world if that were popular.
Windows is mostly mouse optional. You very rarely need a mouse, it's just way more common to use one. My memory is a bit off, but I know Win 95 was fine, I think it got a bit worse in XP (a lot more things that were hard to tab to), and 10 is ok, but not great.
I do not use Windows much, but when the search box was added to the start menu (in Windows Vista I think), it was a huge navigational improvement for me.
I've done a ton of keyboard only on XP and 7 - it's mostly fine.
I would like to murder the group of fools that managed to make a GUI for a touchscreen service program that was unusable without mouse and disabled the touch unit for some functionality, but that's neither here nor there.
Full keyboard navigation capability used to be the standard for Desktop applications. It still is, if the application is well-programmed and uses native controls, but unfortunately you can no longer count on it with all those browser-based monstrosities on the desktop nowadays.
CAD/CAM software would be difficult, possibly unusable to use keyboard only. I had a good left hand hotkey setup for everything I could, but there were things I had to use the mouse for that would have been slow, painful and tedious to do on a keyboard and I can't really think of anything better than a mouse for those.
Anything graphical is naturally difficult to use with the keyboard only, but since you bring up CAD/CAM --- that's an example of software which is equally difficult or even impossible to use with the mouse only, especially when you want precise control over things.
My dad had a digitiser tablet for doing CAD, this big slab in front of the keyboard with a mouse like thing but instead of a ball or optics it had a crosshair made out of copper on it to precisely pin point where you were on the surface. There was an area that represented the screen and around it were all manner of UI shortcuts.
I remember it was much more accurate to use than a mouse, and better interface than having toolbars all over the display.
so did my dad for a very long time. But in recent years he (and my brother as well) switched to a normal mouse. I haven't asked him why (I should!), but I suspect that lack of support from more recent OS revisions and the hardware just being harder to find might be a reason.
I have used the digitiser a few times and it seemed much more efficient than the mouse.
Also autocad has (or at least had, last time I looked at it years ago) a very prominent prompt where to input keyboard commands (in autolisp, no less!).
Very possible. Also, with everything being already digitised today, there is less of a need of being able to precisely input points from a piece of paper.
True, I had my setup done fps style. Most of my commands were within finger reach of wasd. When i first learned the software, there were no commands set to hotkeys. It was a lot slower using menus or toolbar buttons.
A drawing tablet is better than a literal mouse. They are pretty cheap, have better ergonomics, and you can use them proficiently pretty much instantly.
For you, yes.
I (and a lot of other people) have a disorder that makes my hands shakes when the muscles are tense [0]. This means that the only way I can interact precisely is with my arm laying down on the desk and only the fingers moving the mouse.
This is just one example of a wide variety of problems/annoyances. To everyone out there design user interfaces: please remember that people are not either perfectly fine or with disabilities in a black&white fashion, there is a lot of grey in between.
My father has ET. I have often watched him use the mouse two-handed. One arm driving tensely (with tremor) and the second hand holding the wrist of the first (with less as not engaged in fine work).
I have early signs. I often wonder if I will eventually be pushed into the grey disability area parent mentioned moreso from UI "progression" than from ET progression
I lived with (not that bad) ET since I've memories more or less, and I'm still under 30.
Nonetheless, I encounter daily "difficulties" in doing basic things like typing my code on the door keypad (I miss the correct button and I need to re-enter the code), signing on the POS while the delivery guy keeps it floating mid-air in front of me, etc.
Those are obviously nothing compared to real disabilities, but some of them could be easily avoided with a bit of smart design of UI.
For you perhaps; I find these very hard to use. Something hand-eye coordination that really does not work for me while a mouse is no issue at all. And I tried because the idea feels nice.
I use a browser extension called Vimium which is an astoundingly faster way to navigate web apps via keyboard. I somewhat reluctantly picked it up in large part to deal with some RSI issues but now I couldn't go back.
For example, take a look at qutebrowser (or Vimium if you're more into getting an extension for your current browser). It support basically 100% keyboard based browsing.
Same, and it's really intelligent design because you hit the alt key and it shows you the next key next to the usual buttons so you can keep keyboard navigating instead of forcing you to remember every single one. You end up memorizing them pretty quickly anyway for the most common use cases but can still keyboard navigate very rapidly to novel locations. I'm actually a big fan, despite my reflexive aversion to Microsoft products leftover from the 90's and 2000's.
There's a big challenge in usability with keyboard-only. I don't at all dispute that keyboard is faster, once you learn how to use it with whatever application(s), but that's exactly the problem.
I heavily use the keyboard, and for certain things (mostly apps I use daily) I'm highly proficient with it, barely touching the mouse at all. But once in a while I have to work with a spreadsheet, or edit an icon, or use some other piece of software I only use maybe a couple times per year. I simply don't remember shortcuts and I certainly can't justify spending the time to (re)learn enough to be more efficient keyboard-only that with a mouse, so I just rely on the mouse.
It's hard to imagine any keyboard-only (G)UI doing a better job at making usage discoverable than what can be done with a mouse-enabled one.
The problem is and always was the lack of a good online help system. Apple and Microsoft did really lousy jobs with those systems. The OS should provide a whole screen display that instantly gives you a cheat sheet of the most important keyboard shortcuts, and it needs to be clearly readable and intelligently organized. Its mysterious to me why this is not standard in every operating system.
> to pretend that all human/computer interaction fits that mold is to be willfully ignorant of the reality of personal computing
He doesn't. He has a whole section where he points out types of software that mice are great for, even with a picture. He then describes types of software where he thinks keyboard is better (i.e. linear stuff).
Not until close to the end (right after where I stopped reading, turns out). He still has some hardline views that I think drastically oversimplify the landscape, but apparently doesn't think mice are completely useless.
Mice are sort of the simplest generic thing technologically possible 50 years ago that people can be taught to use.
Touch screens at least will be better.
A touch screen and a keyboard based interface is the fastest generic UI. I've been using touch laptops only for years. The mouse dies hard though. It's closer to the keyboard and I'm already proficient with it. I wonder if this will be true for kids growing up now.
Even if touchscreen is faster (I'm not convinced), it is much less precise. You need huge UI elements, sparsely laid out. Standard rolldown menus are fine with mouse, awkward with touchscreen.
> A touch screen and a keyboard based interface is the fastest generic UI. I've been using touch laptops only for years. The mouse dies hard though.
Touch it's ok with laptops, but when working on a desktop computer, with real monitors, some need another interface. I can't reach my screens from where I'm sitting comfortably, and if I could I'd place them further away.
Trying to place a cursor to insert text, or trying to select text in general, can lead one to having to do breathing exercises to keep from punching the screen. I couldn't imagine doing my current job (BI developer) with a touchscreen and no mouse.
Point of sale systems are painfully slow with a mouse. Touchscreens are ok, but the old text-based POSes were ugly but super fast.
When my beta testers learn about keyboard navigation in PhotoStructure, it's so much faster than a mouse, and it's mostly just cursor keys, so it's not hard to remember.
I'm not saying it never happens; Blender is one example I've personally experienced where input velocity would be a major drain on productivity were it not for keyboard shortcuts. But suggesting that Twitter shouldn't involve a mouse just because it's "one-dimensional" content is laughable.
I’m not a heavy twitter user so perhaps my experience is limited, but the actions I perform with the mouse are:
Scrolling, click to view replies, click to reply, click to retweet, click to like, click to view hashtag feed, click to view persons profile.
All of these things could be done efficiently with the keyboard (theres also no real reason to not still support mouse for the people who prefer it). I use the online checklist tool Checkvist.com and checklists are surprisingly similar to a linear feed like twitter. I use it almost exclusively with the keyboard, including editing, reordering, creating new items, tagging, colouring... Its super efficient and comfortable. There is no reason why you couldn’t have similar navigation and interactions on twitter. Personally, I find your outright dismissiveness of a keyboard-centric UI for twitter to be laughable shrug
For one, there's a lot more on the page than the linear feed. And then each tweet has several actions you can take on it, a drop down menu, etc. What was a single click becomes two or more keystrokes. When you factor in the other views that are even less linear - settings, editing your profile, messaging - you run into a long tail of cases that are poorly suited to a keyboard alone. This tends to be the case: a hyper-focused UI may work a little better with a keyboard than with a mouse, but a mouse does a much better job supporting the wide range of different cases out there and giving users a way to explore and discover the UI.
There are a lot of people who never use a mouse while browsing the web! That's possible with browser extensions like Vimium, which show you a keyboard shortcut on every link when you press a key. "Two or more keystrokes" is a lot faster than using the mouse with that scheme.
The things you mention as less efficient with a keyboard actually sound like plus points for a keyboard to me, personally. Especially messaging.
Besides, you can create a keyboard centric UI without removing mouse support if you really want. It’s just that keyboard should be treated as a first class interaction method, instead of an almost tacked on accessibility feature.
It wasn't just speed for me, but uninterrupted flow. WordStar is probably the best example. Doing things like adjusting formatting, printing, saving a copy, etc...didn't pull my mind away from what I was writing.
It's no longer practical because of the initial learning curve. So I'm not arguing for going back. But it did have advantages beyond just being faster.
Agreed. Velocity of input is not nothing, but I think the original premise set up in the first tweet of the thread—that modern computer software makes us wait too much—is lost by focusing on an input mechanism, which would suggest the root problem is the human's ability to provide input.
I contend my chief complaint with software, in any context, is that it makes me wait while it responds to my input, regardless of how I provided that input.
Modern software:
* Often cannot keep up with typing.
* Often cannot keep up with mouse actions to, e.g., show highlights on hover or indicate interactive elements because there are too many third-party scripts executing (or whatever).
* Takes too long to display results, again because of being too busy executing software components (trackers, ads, bloated client-side frameworks, whatever) that is not expressly related to my action. Also because server software tends to be written using inefficient languages, platforms, and frameworks that theoretically optimize for developer efficiency (arguable) at the expense of user experience. Every time I interact with a web site that is slow to respond to network requests, I am usually right to guess the server is PHP, Ruby, or similar.
* Infantilizes the user by providing a too-narrow set of actions (the curse of "mobile first"), narrowing the functionality and in many cases causing things that should be relatively easy to require lots of steps. This may be where he was going with the remainder of his thread, but I think it went off the rails, as you said.
Spot on. Maybe the author didn't notice most users don't interract with a computer with a keyboard. They use a mouse, a touchpad or a touch screen.
I use the keyboars a lot, but I keep my mouse. Why ? Cognitive load, that's why. I can remember all the shortcuts for all the apps. But I don't want to. Remembering things has a cost. Switching context has a cost. I have a limited brain budget and want to balance it between execution efficienty and solving the problem I'm working on.
One big issue with a mouse is that it's completely unusable for blind users. A touch tablet interface with a 1:1 mapping to points on the screen is significantly more accessible since you don't need visual feedback to know where you are.
Mice work for a lot of us in a lot of circumstances, but there are UI options beside keyboard only vs. mouse
The standard mouse hardware allows you to move the digital pointer relative to it's current position. That means you know need to know where the digital pointer is, and that's 100% visual. You could set up audio cues too give location feedback, but that's still not a great solution.
If you use the same digital pointer with a drawing tablet that maps its surface to the screen, then you can set its absolute position on the screen. You now have physical feedback about your pointer's position, as well as visual
Even in development. In fact, probably especially in development!
I've done a lot of programming where my productivity was input-constrained, so I know that that such jobs do exist.
I much prefer jobs where my productivity is idea-constrained. The final code tends to be a lot more interesting, the process of creating it a lot more joyful, and the final software artifact a lot more useful.
As a bonus, I tend to be paid at least an order of magnitude more for idea-constrained code.
I don't think that keyboard only coding is even faster, I can beat top competitive programmers on speed and I use mainly the mouse to navigate and select code. It is possible keyboarders could be faster than me if we have to write huge amounts of boilerplate code, like 1 line of code a second, but otherwise using a mouse shouldn't be a disadvantage.
Tip for more productive mousing: Disable "mouse acceleration" or "enhance pointer precision", it makes it harder for your body to adapt to the mouse. I can move it to where I look at the screen in an instant with almost no adjustment needed at the end since when that if off world space and screen space aligns. Of course I learned that skill to select and order units quickly in RTS games, but it works just as well for selecting and manipulating code.
What kind of code are you writing that requires or benefits from a mouse? For selecting code I can imagine it helps. A touchscreen is just as good. But for writing it?
I haven't used a mouse to drive coding since a C++ course in high school almost 20 years ago. The only thing I use it for is selecting and copying code.
For navigating and writing code it's all emacs, tmux, terminals and unix tools.
A touchscreen is a nightmare for manipulating small text.
> For navigating and writing code it's all emacs, tmux, terminals and unix tools.
Well, if you never leave emacs/vim and related workflows, you never know anything else.
For writing code, yes, keyboard is best. For navigating, debugging and other things a TUI does not cut it. And I spend a lot more time reading and thinking about code than actually writing it.
A particular example that stands out in the Linux world is GDB's CLI interface. It sucks. Its TUI is better, but still bad compared to a good GUI.
> navigating, debugging and other things a TUI does not cut it. And I spend a lot more time reading and thinking about code than actually writing it.
as an emacs user, I find it extremely painful watching my colleagues clicking around in eclipse to navigate the code base[1]. It feels just so inefficient and slow.
[1] I assume eclipse actually has keyboard shortcuts, but they do not seem to be used by my eclipse-using colleagues.
Slow? It is definitely faster to use a mouse to click a word in a text than use the keyboard to get to it. (I have no idea about how Eclipse does it, though).
Otherwise we would be playing RTS games with the keyboard. (I am a competitive RTS player, so I can almost instantly hit any point in the screen, which helps; a good mouse also helps a lot).
> For navigating, debugging and other things a TUI does not cut it. And I spend a lot more time reading and thinking about code than actually writing it.
Pure TUI is not optimal, but it still beats available mouse-based interface. At the very least, moving around the code is much faster with incremental search than with scrolling and spotting.
I'm still waiting for a code reading program that supports drawing on top of the code and that would otherwise behave like an infinite desk with (searchable, linkable, annotateable) code printouts on it.
I use it all the time to cut, paste, copy, find and replace selection, indent or dedent specific lines. I can get by just fine using for example vim, but I am much faster with a mouse based interface since mouse based selection is much faster and more flexible. Sure keyboards have some shortcuts for specific kinds of selections, but with a mouse I can select exactly what I want in a fraction of a second.
The only real advantage to a keyboard only interface is the ability to automate steps, but I feel if you feel a need to automate your code writing then it would be better to refactor the code to require less boilerplate.
At least an order of magnitude? That's interesting, considering that even mediocre code jockey can make $100k a year, that must mean you make at least a million a year?
In the software world? Not sure, I mostly do niche environmental consulting, engineering, modeling, etc. and have a reputation for solving weird problems for people in a variety of industries.
Typically the lucrative work I'm talking about happens when I just negotiate a flat fee and it doesn't take me that long. Companies often like that because it limits their risk compared to my hourly rate.
But honestly most consulting in most fields should have this type of negotiating opportunity. As long as it's not a field with some sort of existing convention of hiring lots of "independent contractors" that probably should be employees.
As for time in... It takes a lot for maybe a year or so to get enough reputation that you aren't hustling for clients. But now they call me and I decide whether or not I can take them. I get a lot of last minute rush gigs which are usually the best money if I want to take them. Often I don't, and I throw out a "fuck you go away" number and then they jump at it anyway.
I'm amused by the thought that, like the famous legend about the QWERTY keyboard, the mouse is designed to slow us down and distract us from how slow and delicate the computer is. Since 1983, we are still guiding the computer through a series of tiny little steps in order to get anything done, while the real shame is that even after 35+ years, we still can't tell the computer what we want in natural language.
Of course I realize the mouse has its uses.
Since I recently started using Linux for some things, I've noticed a difference in online commentary about how to use it. In Windows, the instructions for installing a software app are many pages of pictures, with circles and arrows, and a paragraph of text for each one. When the OS changes some of its menus, the documentation is obsolete and you have to guess what you're actually supposed to do.
Instructions for Linux are a few lines of text that you copy into your terminal. Now more and more instructions for Windows are going that way: Press Windows-cmd, enter some text, press return, done.
Linux still has some of the same issues around online help, however, considering all the variants of Linux, and versions of those variants, and the insane number of possible variations of installations, and the amount of assumed knowledge behind a lot of the "tutorials" for Linux.
The point is that one user interface cannot work for everything, but we hyper-focus on one anyway.
All smartphones are touchscreen now, which is a terrible form of input for the vast majority of use cases. The blind can't feel it, a sighted person can't type without looking, it doesn't work with gloves, repairs are difficult and expensive, and typing requires complex software for it to not be slow and painful. Touch screens are not meant for 100% of user input, yet that's what we're left with.
The mouse is just a poor form of touchscreen. Hopefully we can convince industry that the user's ease of use is more important than an inconvenient "standard".
I spend a lot of time in an IDE at work. I spend a lot of time in vi at work and at home. I have the keyboard shortcuts for those apps, and a few more apps I use all the time, down. But I think if I had to memorize the keyboard shortcuts for every single app I use, I'd have a fit. Sometimes it is just better to use a mouse. Sometimes it's just nice to sit back and click around (web browser).
It always confounds me when people assert that the number-one desirable feature in all user experience is velocity of input. As if there's nothing to be thought about, much less discovered. Just data to be entered. That may be true in certain narrow segments of interfaces, like POS software and development environments, but to pretend that all human/computer interaction fits that mold is to be willfully ignorant of the reality of personal computing.
Edit: It's been pointed out that towards the end he does acknowledge some valid use-cases for mice, but he still drastically oversimplifies the space of GUI use-cases and ignores some of the key benefits of mouse-based interaction.