Clear Ruler

clear ruler

this is the best ruler i’ve ever used.

every ruler should be clear, so you can see what’s underneath and whether you’re in the right place. 0 is directly on the left edge, as it should always be; it makes alignment much easier. and since a ruler’s length is defined by precise measurements, why not its width too? so this ruler is exactly 3cm wide, with a 1cm grid covering its surface, which helps for drawing parallel and perpendicular lines.

this ruler doesn’t just look good; its look informs its function. its look makes it vastly more functional, and you couldn’t have any of those useful functions without the beautiful look. it’s a harmony of look and function; that’s good design.

Analog Microwaves Are Fucking Better

microwaves should not have buttons.

look at this mess.


Popcorn? Pizza? Potato? Defrost? Reheat? Cook by Weight? i assume these modes use sensors and whatever to do all sorts of fancy shit like change the power level and cook time, but exactly how so? could Pizza mode and Potato mode possibly be that different? i have no idea and i’m not even going to figure it out.

why is there a timer on my microwave? microwaves are for cooking, not timing. when people want to set a timer, they don’t walk over to their microwave. a timer kind of makes sense on an oven or stove, but a microwave already operates on a timer no matter what (there’s no “stay on” mode on a microwave because it cooks so fast).

how the hell do you set the power level? every microwave forces you to press the buttons in a specific order. on some microwaves you can’t set the power level until after setting the time, and sometimes you can only do it before. and to actually set the power level, you might press a number, or you might press the Power Level button repeatedly. it’s always different and it’s always arbitrary. if only there were a way to set the power level that didn’t involve buttons.

and yes, i said microwaves should have no buttons, and that includes the Stop and Start buttons. even those are unnecessary. don’t believe me?


this is the true form of the microwave.

there are two dials. one sets the power level. the other sets the time. it couldn’t be any simpler.

it’s totally clear what the current power level is, and it’s totally clear how to change it. you can change it whenever you want, not just when the microwave says you can.

to set the time, you turn the Time dial and the microwave starts automatically, and the dial decreases to zero.

that’s it.

setting the time with a dial instead of a keypad makes more sense. why should 15 seconds mean the difference between 1-4-5 and 2-0-0? on a dial, it’s just turning a little further in the same direction. time is continuous, so by its very nature it fits better with an analog control.

more importantly, a dial does everything you would otherwise need a screen and over a dozen buttons to do, and it does so more intuitively. you don’t need a screen because the time is shown by the position of the dial. you don’t need ten numerical buttons. you don’t need a Start button because the microwave starts when you turn the dial. you don’t need a Stop button because it stops when you open the door. you don’t need a Resume button because it resumes when you close the door. you don’t need a Clear button because you just turn the dial to zero.

best, you don’t need that silly Add 30 Seconds or Add 1 Minute button, because you just turn the dial some more. you can turn it a little to add a little time, or you can turn it a lot to add a lot of time. wow, isn’t that genius? you can even decrease the time.

Start, Stop, Resume, Clear, and Add Time buttons are nothing but clumsy imitations of what a dial does intrinsically—by its very design. with a dial, you can do more things (decrease the time), with more precision (by a specific amount), with fewer controls (obviously), and with less thinking. all of these functions are just natural consequences of how a dial works.

the instant you look at an analog microwave, you already understand it better and can do more with it than you could ever do with a digital microwave.

that’s good design.

How to Successfully Eliminate a Home Button

this is a design analysis of how iPhone X successfully replaced the Home button, and why each new gesture does what it does.

i would like to tell you a story in three acts:

  1. why the Home button’s replacement is worse,

  2. why its replacement is better, and

  3. why an alternative solution would have sucked.

i hope this is insightful. please enjoy.

Act 1

in some ways, nothing will ever be as elegant as the Home button.

but first, why was Home even a physical button?

the first iPhone proved that a touchscreen could do anything. before iPhone, smartphones had Qwerty keyboards, green buttons, red buttons, multi-function buttons, menu buttons, back buttons. iPhone replaced all of those with a touchscreen.

but it added the Home button.

why a physical button? why not just have a persistent touchscreen button for closing apps, like a big red “X” in the corner?

physical buttons feel more trustworthy, because they can’t disappear.

a new user interface is confusing, and the last thing you need is to get lost and not know how to escape. software buttons disappear and change. even a persistent software “close” button wouldn’t feel as trustworthy as a physical button.

the Home button never disappeared, guaranteed. you could trust it to always there for you.

but also, the Home button had absolute power over the screen.

it didn’t matter what the screen was doing. it could have been playing a video, loading something, confusing you with a poorly designed user interface, or just frozen. pressing the Home button always killed it, and took you back to a familiar environment. the hardware had total control over the software, massively simplifying the user experience. this was one of the most important hardware-software relationships in all of history.

and it was a lie.

the Home button wasn’t actually all-powerful, like how pulling out a video game cartridge literally stops the game from running. closing apps isn’t a hardware process. the Home button just sent the software command for “close this app”, in a really fancy way. the Home button never was hardware in control of software. it was just an illusion.

but preserving that illusion made iPhone a design triumph.

first, the Home button always worked. no app could disable the Home button or change what it did. the mere fact that this wasn’t allowed was part of iPhone’s design.

unfortunately, there were exceptions. popup alerts disabled the Home button, and in iOS 10, you pressed the Home button to stop rearranging your iMessage apps. i despised these exceptions, because they broke The Illusion.

second, the Home button worked even if the screen froze. the Home button was just a software command, so it could have frozen too, but iOS was structured to make this happen almost never.

and third, just the fact that the Home button was physically separate from the screen. it suggested it was special and had total control.

the Home button never disappeared, and it felt all-powerful. these key traits made the physical Home button so elegant, and no touchscreen control can match it in these aspects.

so, its replacement… first of all, what do we call it? Apple is clearly avoiding giving this thing a name, constantly saying things like “the bottom edge of the screen”.

some people call it the “Home indicator”, citing Apple’s Human Interface Guidelines. but the “Home indicator” does more than just take you Home, and that name limits your thinking about it. so what should we call it?

i’m calling it the Handlebar. that’s because it’s a multi-purpose tool that operates on physical movement, just like a real-life handle.

the Handlebar is less elegant for going Home, because it lacks the key traits of a physical button.

first, the Home button never disappeared; the Handlebar can.

no matter what, the Handlebar will always feel less trustworthy than the Home button. that’s just because it’s software and not hardware, and software controls merely have the ability to disappear.

i’m not even talking about the fact that it does disappear. even if the Handlebar appeared onscreen 100% of the time, it would still feel less trustworthy than the Home button.

it helps that the Handlebar is so persistent about appearing onscreen, even when it has to overlap screen content in an ugly way. but that’s how important it is. some people are arguing that the Handlebar is ugly and wishing it didn’t have to appear all the time. that’s a terrible idea. going Home is extremely common and it needs to be extremely obvious.

at least the Handlebar even exists. iPhone X could have had no Handlebar at all. that would have been a confusing disaster. Windows 8 was a confusing disaster because you had to swipe from all four edges of the screen, but nothing showed you you had to do that. thank god iPhone X shows the Handlebar, and so persistently, or the basic task of going Home would have been confusing as shit.

but alas, the Handlebar does disappear sometimes, like when you’re watching a video. thankfully, this only happens rarely and appropriately, and the Human Interface Guidelines discourage it: “Allow auto-hiding of the indicator for accessing the Home screen sparingly. […] This behavior should be enabled only for passive viewing experiences like playing videos or photo slideshows.”

second, the Home button felt all-powerful; the Handlebar doesn’t.

technically, The Illusion should be equally reliable with both, because they’re just delivering the same software command. they should also be equally reliable at killing frozen apps.

but the Handlebar necessarily feels less powerful, just because it isn’t physically separate from the screen. that element of The Illusion is just missing.

a third thing: the Handlebar requires learning.

it isn’t immediately obvious how to use the Handlebar, because it requires a swipe, not just a tap.

iOS gives you two hints about this.

first, if you stare at the Lock screen for long enough, the Handlebar animates upward. (this motion cue restores the glory of “slide to unlock” from the first iPhone, which you could understand without reading any text.)

second, if you tap the Handlebar in any app, it bounces a little. however, in my experience, this is so subtle that no one sees it. (oddly, if you tap the Handlebar on the Lock screen, nothing happens. it should bounce there too.)

the Home button obviously wins again in this aspect, because it doesn’t even require learning.

in these three aspects, the Handlebar is inevitably less elegant than the Home button. no touchscreen gesture can ever match a physical button in these three aspects. these elegancies will go away with the Home button, and the purist in me will always miss them, if just a bit.

Act 2

but the replacement for the Home button ought to be better somehow. if it were worse in every way, why not just have a Home button? why remove one of the best buttons in history?

more screen space is an advantage, but not advantage enough. an extra centimeter of content is worth nothing compared to the elegance of the Home button.

well, the Handlebar does do something better: it rearranges the multitasking actions into a physical space.

the first change is the App Switcher.

you used to open it by double-clicking the Home button, but there was never any sort of reason. the App Switcher wasn’t “further Home” beyond the Home screen; it was a separate place.

the Handlebar gesture does something brilliant.

first of all, people keep misunderstanding this gesture, including reviewers. to bring up the App Switcher, you do not swipe up halfway, or do a longer swipe. these are indisputably wrong. i can consistently demonstrate that a short swipe or a long swipe can bring up the App Switcher, and a short swipe or a long swipe can go Home.

you don’t swipe up slowly, either. a slow swipe can go Home, and a fast swipe can bring up the App Switcher. distance and speed are both irrelevant. if you write about technology, do your experimenting and test your own words before you preach them as fact!

to bring up the App Switcher, swipe up and stop.

if you swipe up and flick up, you’ll go Home. if you swipe up and stop, you’ll bring up the App Switcher. the difference is vertical speed when you let go. it’s like scrolling; whether the content keeps moving or stays put after you let go.

conceptually, if an app flies upward, it’ll close. if you hold it in place so it doesn’t fly upward, it’ll go into the App Switcher.

Apple itself says to swipe up and pause, which is actually misleading. you don’t need to wait. there’s a vibration when the App Switcher appears, but that’s deceptive—you can let go before that. as long as you stop before letting go, the phone will vibrate after you let go, and bring up the App Switcher.

some people think it’s faster to swipe up and then to the side. it isn’t. in fact, the app you want to switch to is usually in the center of the screen, so why bother moving your finger to the side and then back again? all you have to do to skip the waiting is swipe up, stop moving, and let go; no sideways movement required.

although, it does make sense that “up and to the side” works, because even though it leaves you with horizontal speed, it removes vertical speed, which is what matters.

so many people misunderstand this gesture. apparently some reviewers just have no ability to correctly identify patterns.

on the other hand, if this gesture has been so hard to figure out, then it’s bad design. the feedback isn’t being clear enough. in iOS 11.3, the further you swipe up, the shorter the pause before the vibration happens, which might help more people accurately understand this gesture.

but now that we know the gesture, something really interesting happens.

the App Switcher is now a partial version of going Home.

you swipe up like you’re going Home, but you stop partway. and from the App Switcher, you can continue Home by swiping up again.

the App Switcher is now in between apps being open and closed, which is genius because that’s what apps in the App Switcher are.

this turns iOS into a three-layer cake. you can be in an app, in the App Switcher, or Home. apps and Home are now at opposite extremes, and the App Switcher is in between.

this was possible because Home and the App Switcher both involve shrinking your current app. shrinking it all the way takes you Home. but shrinking it only partially, stopping while it’s in the form of a card, brings in other cards from the side, which is the App Switcher.

now that i see this, i can’t believe it was any other way before. remember, before iPhone X, the App Switcher was a completely separate place from Home. that makes no sense in comparison. in between is so clearly the right place for the App Switcher.

the second thing the Handlebar changes is direct app-switching.

on previous iPhones, you swiped from the left edge while using Force Touch. (yes, i know it’s called 3D Touch on iPhones, but i don’t care.) on iPhone X, you slide the Handlebar sideways instead.

the Handlebar gesture is better for two reasons.

first, it follows a design pattern. the Handlebar closes apps and brings up the App Switcher, so it also switches directly between apps; it’s a tool for manipulating apps.

second, it follows physical space. the App Switcher shows that recent apps are arranged horizontally, so swiping the Handlebar sideways is just going between them without visiting the App Switcher first.

“Force Swipe” was completely undiscoverable, because it didn’t follow any design pattern or mental model. nothing else in iOS required swiping while using Force Touch at the same time. and the established tool for switching apps was the Home button, so you wouldn’t even expect to do that with the touchscreen.

i’ve seen multiple people discover the Handlebar gesture all on their own. it’s more discoverable and understandable because of its coherent design.

the Handlebar’s advantage is that it unifies the app manipulation model.

apps, the App Switcher, and Home are now a three-layer hierarchy. Home is the bottom. the App Switcher is the middle, and you get there by stopping on your way to the bottom. apps are the top, and you can move within that layer by going sideways.

and, there are now continuous transitions between layers. you can transition between the App Switcher and direct app-switching, and from the App Switcher to the Home screen, by physically moving an app up or down to the layer you want. these transitions didn’t exist—and couldn’t exist—before.

these changes make app manipulation more coherent.

the problem with double-clicking the Home button and Force Swipe is that they were one-off ideas. one-off ideas are individual solutions to individual problems. one-off ideas aren’t discoverable, and more importantly, they have no paradigm to add deeper meaning to them. you can’t generalize any knowledge from them, or understand how they work. you can only memorize them.

the Handlebar gestures can be not just memorized, but understood. the Handlebar shares common principles between multiple actions, establishing a paradigm. and each gesture has a reason why it does what it does, and an explanation how it relates to the others.

look, it’s inevitable that Android phones are going to rip off iPhone X’s gestures this year. but for fuck’s sake, copy them correctly. one Android phone has already done it wrong. you can’t just imitate the motions. you need to understand how and why the gestures work, and copy the entire physical space.

the biggest consequence of iPhone X is not the extra screen space. it is the rethinking of app manipulation in iOS.

Act 3

if you just want to make a phone with smaller bezels, you don’t need to bother inventing new gestures or redesigning the app manipulation model. all you have to do is put a virtual Home button on the screen.

all the rumors and concepts for iPhone X just assumed it would have a virtual Home button. and i mean all of them. everyone just assumed the same thing because it was the most obvious solution.

a virtual Home button would narrow the bezels because the button could be smaller than a physical button, and it could overlap the content and disappear sometimes. in fact, the Handlebar could have looked exactly as it does now, except rather than using swipes, it could have used tap, double-tap, and tap-and-hold instead. that would have been a virtual Home button.

of course Apple considered that. but instead, they created a design that unified all the app manipulation actions, taking full advantage of touch. a virtual Home button could never have done that. people who are still wishing iPhone X had a virtual Home button are completely missing the point.

and yet, a virtual Home button is exactly what Android did years ago.

credit to Android phones for shrinking their bezels way before iPhones did. but when they took out their physical Home, Back, and Recents buttons, they just replaced them with virtual buttons that do the exact same things. you still tap, double-tap, and tap-and-hold them just like physical buttons.

and while this may work fine, what it totally lacks is rethinking.

replacing physical buttons with a touchscreen gives you a huge opportunity to completely reimagine all your basic interactions. Android didn’t do that.

and so, on Android, there is no relationship between the Home screen and the Recents screen, and there is no coherent model for switching directly between apps, and there is nothing else that goes beyond physical buttons.

as for direct app-switching, Android Nougat added the ability to switch to your previous app by tapping the Recents button twice. that’s crappy. it makes no sense because it doesn’t operate on any coherent model. and it isn’t discoverable. it’s a one-off idea, like Force Swipe on previous iPhones.

this is a perfect example of being limited by old thinking. Android wouldn’t even be thinking of features like this if they hadn’t gone with virtual buttons. virtual buttons carry over all the limitations of physical buttons, and now they’re stuck in that thinking as they try to add new features.

a lack of rethinking also builds up cruft.

earlier, i suggested a Home button that could overlap the content, and disappear sometimes. that is exactly what the Samsung Galaxy S8 does.

the spot where the Home button appears is pressure-sensitive. when the button appears, tapping or pressing hard on it goes Home. when the button disappears, tapping that spot taps whatever’s onscreen, whether it’s another button, or nothing at all; pressing hard in that same spot activates an invisible Home button.

that isn’t built for the future. it might work fine for now, but will it in ten years? people will wonder why you have to press hard on an invisible button in a specific spot for such a basic action.

virtual Home buttons are the result of past-anchored thinking. past-anchored thinking straps you to complexity, rather than freeing you from it.

the same goes for all the iPhone X concepts that added extra controls in the bezel area. if you were designing a smartphone from scratch today, you wouldn’t make a section of the screen that worked separately from the rest. it might be counterintuitive, but just extending the content without adding more abilities is a better design, because it stays free of carryovers from the past.

Apple didn’t give iPhone X a past-anchored design. they didn’t slap a virtual Home button on it and call it a day. the Handlebar and its new app manipulation model were born for the world of touch, without carryovers from physical buttons. this design unifies existing actions and prevents cruft. this design will make sense in the future, as if it were designed from the future.

this shows Apple’s values. they don’t just care superficially about checklist features like narrower bezels. they care about good design.

the Home button was extraordinarily elegant for going Home, and nothing will ever match it at that job. but the Handlebar’s advantage is that it unifies the app manipulation model around a consistent pattern and a coherent space. a virtual Home button couldn’t have done that, which is why iPhone X doesn’t have one.

what pleases me is that the replacement for the Home button isn’t anchored in the past. it’s setting the path for the future, so i would want it to do some great things a Home button could never do. luckily, the Handlebar is exactly that.