post by alkjash
score: 39 (13 votes) ·
Day 14: Design
This is part 14 of 30 of Hammertime. Click here for the intro.
I am a finger pointing to the moon. Don’t look at me; look at the moon.
Rationalists drone on and on about how our fake our models are, how we gesture at and point to deep inarticulate truths, and – to shoulder some of the blame – the importance of circumambulating the truth rather than honing in on it directly. We spend all too much time insisting we’re fingers pointing at the moon.
Hammertime says: Fuck the moon.
There are trillions of indistinguishable giant space rocks floating around in the universe. But a human finger contains a trillion copies of the source code for the most power intelligence to walk the known universe. If I had to choose, I’d rather spend my days studying fingers than moons, and it’s not even close.
Hammertime is a set of fingers pointing at the moon. Occasionally, it may prove useful to sit back, cross your eyes, and look for the moon: that grand overarching cognitive strategy behind these techniques. But if you miss the moon, fingers are awesome too. So don’t worry. Relax. Just do exactly as I say.
Day 14: Design
Previously: Day 4.
Design is the practice of seeing all the tiny incentive gradients in the environment, and shifting them in your favor. Last time, we took environment to mean physical space, but Design principles apply across domains.
Today I will apply Design principles to the design of Schedules, Social Groups, and Screen Space. As budding self-help guru I dub these (together with Space) the Four S’s of Design.
Keep in mind the three principles of Design:
- Intentionality: notice all the knobs you can turn. Turn them the way you intend.
- Amortization: pay up-front costs to save attention in the long run.
- Reflexive Towel Theory: the aesthetics of your environment determine your self-image.
I am no expert on using calendars; this section is about the basics.
What’s the single most important incentive gradient to fix about a calendar? The incentive to use it at all.
Knowing where you’ll be, what you’ll be doing, how much of your project will be done days, weeks, and months in advance is great. Unbelievably great. It would seem as if the incentives are already there. So why don’t people plan everything all the time?
Everyone has different aversions, but I think the biggest one against calendars is categorizing them as productivity tools. My emotions when I first started filling in tasks on the page were those of an unwilling serf hauling his fall harvest to the landowner. That despot wanted my time, all of it, to grind into “productivity.” He would give me nothing in return.
Open your calendar now. It is just a tool. Whatever it is that you really want, it’s here to help you achieve it. If you truly want to produce productivity, block that off on your calendar. But if you want to binge-watch Death Note this weekend, block that off. If you want guilt-free evenings to lay in bed and cry, block those off too. And treat your calendar reminders as the gentle urging of a well-meaning friend.
Never let your calendar become your tyrant.
Exercise: set a Yoda Timer to plan as densely and as far into the future as you can.
Jordan Peterson likes to say that in the evolution of homo sapiens, the Nature that selects in natural selection is three parts natural environment and seven parts other human beings. For the last million years, social, and especially sexual, pressures far outweighed the pressures of survival. The social environment is for us as unchanging and unyielding as the Antarctic winter, and it’s hidden incentive slopes have been shaping our lives since millions of years before we were born.
You have the power to shape your social incentives. Reinforcement learning is the primary mechanism by which human beings learn, and we receive so much of our feedback from the social environment, so engineering your social feedback loops [LW · GW] is vitally important.
Rule Three in Twelve Rules for Life is: make friends with people who want the best for you. Not everyone shares your values. Not everyone who does can recognize your progress. Not everyone who recognizes knows how to reward. Make friends who reward you for your virtues and punish you for your vices. Ask your friends to hold you accountable, and receive feedback warmly.
Nothing heals the soul like a good smacking from a close friend.
Exercise: set a Yoda Timer to engineer your social environment. Perhaps you want to install a TAP for thanking people for good advice. Perhaps you can teach by example and praise the good you see in people. Perhaps you need to show people you can take criticism. Perhaps you simply need more and better friends.
A mathematician is bound to make a fool of himself teaching macros and keyboard shortcuts to an audience of mostly programmers, but every so often I run into the odd Windows programmer who doesn’t use AdBlock. This post is for you.
I have two general principles for the Design of my experience on the computer.
First, never do with a mouse what you can accomplish more efficiently with a keyboard. There are keyboard shortcuts for everything. Set a Yoda Timer in Chrome by typing “Ctrl-T timer 5 minutes.” Archive selected emails with the e key. Jump back to Today in Calendar with the t key. Did I mentioned vim?
Second, build gentle incentive slopes. Remove Netflix from your bookmarks to push it one more click away. Set your LaTeX editor to run on startup to make it slightly easier to start writing your next paper. Take full advantage of the taskbar to visibly place the applications you value most.
Things you didn’t know you needed: LyX, vim, AdBlock, HoverZoom, RES, RSS Reader, EXTRA MONITORS.
Exercise: set a Yoda Timer to optimize your Screen Space. Keyboard shortcuts you’d like to practice. Aliases you need to set. Icons you’d like to move around. Look for and eradicate all repetitive actions. There’s a little thing called a computer designed to do that for you.
Contribute your vastly superior knowledge of computers to the Design of Screen Space.
Comments sorted by top scores.
comment by Said Achmiz (SaidAchmiz)
· score: 23 (5 votes) · LW
First, never do with a mouse what you can accomplish with a keyboard.
The idea that keyboarding is always faster than mousing is somewhere between “not well-supported by available evidence” and “simply a myth”.
I am a big fan of keyboard shortcuts. (We built accesskeys and other keyboard navigation into GreaterWrong.com [LW · GW], for example, and I do the same for every other site I design.) I set up many custom keyboard shortcuts on my workstation machines at home, and use tools like Quicksilver extensively.
But your injunction is far, far too strong. I respectfully suggest that you consult the HCI literature on this topic. Whether mouse-based or keyboard-based interaction is more efficient for any given task is a much more complex, and more interesting, question than you give it credit for.
comment by alkjash
· score: 15 (4 votes) · LW
You're completely right. I made a slight edit. I think the actionable piece of that injuction should be:
Everything you do automatically with a mouse, you should at least look for a way to do with a keyboard and try that way.
comment by Said Achmiz (SaidAchmiz)
· score: 16 (3 votes) · LW
I think this is definitely on the right track, but I’d modify it slightly, for two reasons.
First, keyboard shortcuts belong (as do many other “efficiency-enhancing” UI modifications/customizations) to that class of tricks wherein the barrier to adoption consists largely of “activation energy”—which here has two components: first, being aware of the existence of keyboard shortcuts, of ways to set up keyboard shortcuts, of where to find keyboard shortcuts, etc.; and second, the initial effort required (in some, though not all, cases) to set things up so that you can use keyboard shortcuts in any given case.
Second, you say:
… never do with a mouse what you can accomplish more efficiently with a keyboard.
This phrasing is unimpeachable and I have no quibble with it per se, but I worry that some folks will look at this sentence and instead see this:
… never do with a mouse what may be accomplished more efficiently with a keyboard.
… which is, of course, a seriously misleading idea.
So let me emphasize that in addition to “activation energy”, there are also very real interpersonal variations—in everything from cognitive styles to manual dexterity to available hardware to eyesight to software to typical task distribution, etc., etc., etc.—that make it impossible to make even very strong general (let alone universal!) statements about this. Again, it’s a question of emphasis:
“Never do with a mouse what you can accomplish more efficiently with a keyboard.”
And then—going back to the “activation energy” issue—I would add this corollary:
Familiarize yourself with your tools. Be aware of how to quickly find keyboard shortcuts, where they exist in your software; and also be aware of how to customize your software (and what add-on software exists that lets you customize further) to add or modify keyboard shortcuts. Then, you can decide on a case-by-case (program-by-program, task-by-task, etc.) basis, whether it makes sense to use keyboard shortcuts in any given case.
 “Know your tools” is, of course, a much more generally useful maxim than just in this context.
comment by Said Achmiz (SaidAchmiz)
· score: 18 (5 votes) · LW
As I mentioned in my other comment [LW · GW] on this thread, knowledge of one’s tools is paramount. Here, then, is some of my knowledge. (Note that most of this pertains to the Mac OS. I invite users of other operating systems to fill in the gap.)
The Mac’s built-in keyboard shortcut customization feature
Go to the Apple menu -> System Preferences -> Keyboard -> Shortcuts. Double-click on any of the shortcuts to change them to whatever you like (or to add a shortcut where none is set).
Pay particular attention to the last item in the list at left: “App Shortcuts”. Yes, you can select any application that you have installed (whether Apple-provided or any third-party app) and specify a keyboard shortcut of your choice for any of its menu items.
In the same list (in the Shortcuts tab of the Keyboard preference pane) you will see a “Services” item. There you will find all manner of system-provided functions, to which you can add keyboard shortcuts… but did you know that you can very easily make your own Services—which can do anything from launching applications to copying files to executing shell scripts to doing all sorts of more complicated things—and then bind custom keyboard shortcuts for those, as well? You can use Automator (which comes with the OS) to do so (I will not give instructions here, but they can be easily googled).
If you use a Mac, no doubt you already know that hitting Command-Space brings up the Spotlight window, where you can type a few letters of the name of an application, etc., and then hit Enter to launch it. But third-party versions of this functionality exist, which are far more powerful and customizable—the one I use is called Quicksilver; others include LaunchBar and Alfred.
Keyboard-based window moving/resizing
Divvy (also available for Windows!) lets you move and resize windows with a set of customizable keyboard shortcuts. (Other applications that do similar things also exist, such as Moom.)
This one isn’t Mac-specific, but is a feature of all major browsers on any platform (only the particular modifier keys differ). The way it works is: any link or button on any web page that has its
accesskey attribute set, can be triggered by holding down a certain combination of modifier keys (in Chrome on the Mac, for example, it’s Control-Option) and hitting that key.
Unfortunately, access keys are not as widely used as I’d like—and where they are used, there’s usually little or no indication that a website supports them. GreaterWrong.com is an example of a site that uses access keys; for instance, I can hit Control-Option-f to switch to the “Featured” tab, Control-Option-c to go to “Recent Comments”, or Control-Option-i to italicize some text in the comment editor. (You can discover this via the alt-text you get when you hover on a button or link.)
comment by Qiaochu_Yuan
· score: 16 (3 votes) · LW
Now that we're on this topic: one of my least favorite incentive slopes is the fact that Chrome autocompletes URLs based on my bookmarks and history, meaning to get to e.g. Facebook I only have to type "cmd + t, f, enter." Awhile ago I looked into disabling this feature and I couldn't. Anyone know how to?
comment by clone of saturn
· score: 9 (2 votes) · LW
Firefox lets you to completely disable URL autocomplete with the browser.urlbar.autocomplete.enabled setting. Chrome doesn't seem to allow this.
comment by Unnamed
· score: 9 (2 votes) · LW
Go to chrome://settings/, click "Advanced" at the bottom, unselect "Use a prediction service to help complete searches and URLs typed in the address bar" and maybe also "Use a prediction service to load pages more quickly".
comment by Qiaochu_Yuan
· score: 5 (1 votes) · LW
I had the first one unselected already but not the second. This doesn't disable autocompleting based on history or bookmarks. I can clear history but that's only a very temporary reset.
comment by John Faben (john-faben)
· score: 2 (1 votes) · LW
pressing shift+delete while you have a specific suggestion highlighted removes it from the list of suggestions, but I think that might also be only a temporary solution (although easier to implement than navigating to a settings tab).
comment by chlorophos
· score: 11 (4 votes) · LW
I'm a bit late to the party, but I'd like to mention Vimium. It's a browser extension (chrome and a firefox port) that creates vim-like hotkeys and injects them into every page.
Scroll with "hjkl", search with "/", jump tabs and bookmarks with "T" or "B". My favorite command is "f", which puts a little box with letters next to everything clickable on the page. Type the letters and it clicks the element.
I'd estimate I use the mouse for browser navigation about 20-30% of the time. The activation energy for learning to use "f" in particular was very low, because it was almost immediately a better experience than using the mouse.
comment by tcheasdfjkl
· score: 7 (4 votes) · LW
Computer use efficiency tools! These are fun. (My workplace and especially my team are quite into these.) Here’s a few of my favorite (I use Mac+Chrome).
1. Custom search engines in Chrome: not only does typing some search terms in the URL bar by default do a Google search, but also you can make it so, say, you type "mw word" and it'll open up the definition of "word" on Merriam-Webster's website, and/or you type "w word" and it'll open up the Wikipedia page for "word". (This works for any kind of URL where there's a predictable pattern that you just need to slot a thing into. I use it most frequently for opening up specific cases in a certain system, given a case number.) Settings > Search engine > Manage search engines.
2. Chrome bookmark bar, more efficient: if you delete all text from a bookmark title, the bookmark will appear as just the logo, and you can fit tons of sites you often visit into just a bit of the bar.
(I have: Google Play Music, Workflowy, new Google doc, new Google spreadsheet, a particular Discord channel, Feedly, Evernote, Google Drive, Riot (messaging app), WordReference (multi-language dictionary), Journey (journaling app), LW; this takes up about 3 inches of bookmark bar space.)
If you have lots of bookmarks and they lend themselves to categorization, you can put a bunch of folders in the bookmarks bar and access everything from there.
3. New Google doc/spreadsheet in one click by bookmarking these:
(side note: I’d known for a while that this can be done but didn’t know how, and this Yoda timer spurred me to finally go find the answer, so thanks!)
4. TextExpander is a program that lets you make custom shortcuts for text strings - useful if there are things you find yourself typing very often. It’s extremely useful to me in my job and moderately useful in my personal computer use. However, it’s not free; my employer pays for me to have it, so I don’t know if there’s a decent free alternative.