Inter version 4 released. After two years of work, Rasmus Andersson has finally released version 4 of the Inter typeface family.

This release, with a stunning new site by the way, is massive. There are 41 OpenType features. Forty one. That might be borderline too many, but not a single one feels half-baked. My favorites are the new compact f and t, simplified u, and basically all of the alternative digits. (I’m a sucker for a flat topped 3.)

There is little you can compare the Inter project to. What started as Andersson’s personal project is now the de facto UI typeface for the web and one of the most popular typefaces in the world. (Likely helped by the fact Inter is free and open source.) Comparing Inter’s influence to Helvetica’s isn’t fair because, well, Helvetica, but it’s also not not fair.

(Pro tip: If you use Slack, you can use this pseudo CSS declaration to set Inter—or anything—as the UI font: /slackfont "inter variable". If you want to reset it back to Slack’s version of Lato, just refresh the app.)

Monday, 20 November 2023


A eulogy for coding in the age of GPTs. I have LOTS of thoughts, but this piece by James Somers for The New Yorker was a wonderful read. I usually try to avoid overly quoting from an external piece, but this section captures the crux too well:

Perhaps what pushed Lee Sedol to retire from the game of Go was the sense that the game had been forever cheapened. When I got into programming, it was because computers felt like a form of magic. The machine gave you powers but required you to study its arcane secrets—to learn a spell language. This took a particular cast of mind. I felt selected. I devoted myself to tedium, to careful thinking, and to the accumulation of obscure knowledge. Then, one day, it became possible to achieve many of the same ends without the thinking and without the knowledge. Looked at in a certain light, this can make quite a lot of one’s working life seem like a waste of time.

But whenever I think about Sedol I think about chess. After machines conquered that game, some thirty years ago, the fear was that there would be no reason to play it anymore. Yet chess has never been more popular—A.I. has enlivened the game. A friend of mine picked it up recently. At all hours, he has access to an A.I. coach that can feed him chess problems just at the edge of his ability and can tell him, after he’s lost a game, exactly where he went wrong. Meanwhile, at the highest levels, grandmasters study moves the computer proposes as if reading tablets from the gods. Learning chess has never been easier; studying its deepest secrets has never been more exciting.

Computing is not yet overcome. GPT-4 is impressive, but a layperson can’t wield it the way a programmer can. I still feel secure in my profession. In fact, I feel somewhat more secure than before. As software gets easier to make, it’ll proliferate; programmers will be tasked with its design, its configuration, and its maintenance. And though I’ve always found the fiddly parts of programming the most calming, and the most essential, I’m not especially good at them. I’ve failed many classic coding interview tests of the kind you find at Big Tech companies. The thing I’m relatively good at is knowing what’s worth building, what users like, how to communicate both technically and humanely. A friend of mine has called this A.I. moment “the revenge of the so-so programmer.” As coding per se begins to matter less, maybe softer skills will shine.

Somers goes on to talk about how what he thought he’d teach his children about programming has changed. I think about that too. I have kids, and coming from a programming/computer science background, I’ve always assumed I could give them a leg up in life by teaching some of these skillsets early.

But the proliferation of LLMs and AI have changed my thinking. More than how to hack together a bash script to do in one click what used to take five, I think learning how to break down problems into chunks that a computer can tackle—systems thinking—is a more relevant skill to acquire early. Paired with actual application (either through directly writing code or interacting with an LLM), I’ll likely net the same effect I was hoping for.

I have a deep love of programming. GPT-4 (or whatever variant you’re using) has only deepened that love. Having an always available, deeply knowledgeable, and easy-to-use thing that I can just throw questions or problems at feels a bit like magic. Not because it teaches me something I couldn’t ultimately learn on my own, but rather the sheer speed at which it increases my learning has become its own high that I now look forward to chasing whenever I sit down in front of the keyboard.

Thursday, 16 November 2023


Archive your old projects. “hypertexthero” on Hacker News:

While working, occasionally take photos or screenshots of what you are doing showing your workspace, the computer desktop, the desk with pencils and papers and cables everywhere, the wall or piece of string with notes. Show the messy process of creating something.

This is good advice. Even though most modern apps have version history, pictures are a better medium for browsing through the past. I also like the idea of occasionally capturing a photo of my physical desk space—I tend to change things up with some frequency.

For design nerds, a wonderful side effect of taking screenshots of work in progress is that you’re also likely capturing the OS, browser, and app design language of the moment. You think you remember MacOS pre-San Francisco, but take one look at OS X Yosemite’s interface and you’ll realize how fickle memory truly is.

Monday, 13 November 2023


Google kills Gmail Basic. Wes Davis, The Verge:

Google will send Gmail’s basic HTML view sailing into the great beyond starting in January 2024, after which time everyone who uses it will be switched to the service’s far more modern “Standard” view.

You’d be forgiven if you didn’t realize the “basic HTML” view was still available, since activating the UI required a chaotic combination of force reloading Gmail followed by frantic clicking in the bottom right of your screen, hoping to hit the link that enabled the mode.

But once you got in, basic Gmail was a marvel on multiple fronts. This lite version of Gmail, riding on the rails of a modern internet connection, was one of the last few examples I could reach for in the “web app that feels blistering fast” department. It could have used a touch more JavaScript interactivity and keyboard shortcuts, but overall it was simple and snappy. Standard Gmail is, alas, not a replacement.

Sad to see it go.

Thursday, 28 September 2023

Go Direct

There should rarely be more than three people involved in delivering feedback from one person to another: the giver, the receiver, and (possibly) a trusted third party. Beyond that, problems arise.

Involving more than three people tends to create a “table-shaped” feedback path. This type of feedback gets passed up, over, and back down through bosses and peers. The more people or layers involved, the more delays or distortion.

The best feedback is direct, clear, and timely. A simple “when you did X, I felt Y, and observed Z” formula works well. Separate the behavior from the person. Assume good intent (i.e. round up). And try to give the feedback as soon as possible. I’ve noticed teams who train this muscle tend to take more risks, find more success, and enjoy work more.

In short: go direct. Keep feedback timely and involve the fewest number of people possible. It can take practice, but this type of feedback, eventually, becomes easy to give. Feedback loops complete faster, and, ultimately, comments lead to change.

Monday, 18 September 2023


Intel One Mono, a new monospaced font family designed by Frere-Jones Type. I’m a sucker for monospaced typefaces. They’re my preferred font for writing code (obviously) and prose.

Intel One Mono is interesting for a few reasons. First, it’s Intel-branded, so that’s neat. Second, the target user is the “typographically underserved low-vision developer”, which basically means the character set remains quite legible even at small sizes—something you don’t have to be low-vision to appreciate. Finally, the team behind the project is none other than Frere-Jones Type design studio. If you’re a type nerd, you know FJT’s reputation.

My one sentence review of Intel One Mono: it accomplishes what it sets out to do, manages to strike a good balance of quirky and legible (though it doesn’t always stick the landing), and currently serves as my default writing typeface.

If you’re looking for other great monospace fonts, definitely check out IBM Plex Mono (their whole sans-serif, serif, and monospace families are fantastic), Hoefler&Co’s Operator, and the truly wonderful (and likely what I’ll return to after the honeymoon period with Intel One wears off) JetBrains Mono.

Sunday, 25 June 2023


‘The Case for Bad Coffee’. Keith Pandolfi: 

Lately, I’ve been reacting to fancy coffee the same way a child reacts to an accidental sip of red wine mistaken for grape juice. I don’t know when it happened, but I’ve devolved into an unexpected love affair with bad coffee. It’s not just instant coffee that I hanker for each morning, either, it’s any subpar coffee I can get my hands on. (As I write this, I am a (sic) sipping a watery cup of java from an old pancake house down the street from my office in Little Italy.) Instead of that gourmet market in my neighborhood, I’ve begun perusing the coffee aisle of my local Ideal Supermarket like I once did the cereal aisles of my youth. I’m delighted by the big, red jars of Folgers, the yellow Chock-full-o-Nuts, the sky blue cans of Maxwell House.

I go through seasons of coffee fussiness. AeroPress, V60, drip. Lately though, I’ve swung hard towards “bad but dead simple coffee” in the form of Folgers Classic Instant Roast Coffee. I’m loving it. Don’t at me.

Sunday, 20 November 2022

Leaders Leave Last

Before we went remote, I used to hang around at the end of meetings just in case someone had a lingering question they wanted to ask without an audience.

Today, even though I’m only a quick keyboard shortcut away from instantly exiting any Zoom call, I still try to be the last one to leave. Once we say our goodbyes, I hang on for ten more seconds as the group filters out.

Most of the time I’m left looking at me. Sometimes though, someone else waits around too. Then, given this serendipitous opportunity to bring up that gnawing question, they ask if I have another minute, and I say sure.

There’s no way to prove that I’m getting questions or conversations that wouldn’t come up some other way. But I do think there’s a little something to not rushing away at the end of calls—and a lot of something to leaders making an extra effort to be available. Besides, it costs me nothing.

I tend to overthink these kind of things. But the few times I’ve hung around at the end of a call only to see someone else hesitantly hanging around with me, I know I’m probably in for something good. “Hey, do you have another minute?” Yes. Yes I do.

Wednesday, 12 October 2022

The Screenshots Page

At some point, companies that make software stopped having a dedicated “screenshots” page on their websites. These pages were always sparse. A simple gallery of thumbnails. But for those of us who appreciated seeing before buying, or for those who were simply curious in nature, the screenshots page was one of the best out there. I miss it.

I understand why it went away. It’s hard to sell a screenshot. It’s just an image. No fancy animations. No marketing copy. No abstracted illustrations. Just a flat, two dimensional picture. The product has to do all the talking.

App stores have sort of revived this art form. I don’t think I’ve read many app descriptions. But I’ve certainly swiped through thousands of screenshots.

Back to the web: maybe most buyers didn’t care to see the real thing. If the screenshots page had been a high converter, it’d still be around and I wouldn’t have any reason to write this post.

But even when I didn’t end up buying, which was most of the time, I respected the guts. And even when the thumbnail gallery showcased every way not to design a product, I still respected the pride in the work. It may, at times, have been hubris. But it’s hard not to love that which has nothing to hide.

Tuesday, 28 June 2022


Desperation-Induced Focus. Ravi Gupta:

When I think of my time at Instacart, I remember desperation. It was painful. But it was also powerful. Our best moments as a company came when we shared a singular purpose. Our most fun moments as a team came when our backs were against the wall.

In my experience, desperation is the single greatest advantage you have as a startup. It takes you down to the lowest level of detail. Desperation inspires creativity and intense focus. It is an essential ingredient to building great products and services.

More wood behind fewer arrows.

Saturday, 21 May 2022


The other night our three year old just started going to bed. No fuss, no fighting. I tuck him in, and he goes right to sleep.

This is a welcomed change. He used to call for us constantly. After we’d shut his door, there’d be a solid 90 minutes of toys and books crashing onto his floor before, eventually, he’d fall asleep. Also on the floor.

The not-really bedtime was, candidly, annoying. But in its absence, there’s a small void. I suppose part of me loved seeing him rebel against the night. Fighting against sleep so hard he’d collapse, exhausted. But now when I check on him—peering into his quiet room where books are still on their shelves—I’m looking at a little boy just a little bit older and a little less little.

It’s a weird time to be a parent. I understand and can empathize with some of my generation’s decisions to delay or not have kids. I’m happy we had ours, but I probably don’t sway anyone towards parenting when I talk about the sheer lack of sleep I’ve grown accustomed to getting.

And aside from the sleep, there’s what you give up. Because choosing to be a parent is choosing to give up a great number of other things. Once the hospital sends you home after what can’t possibly be enough time to mentally prepare, you become a bit like the Greek myth of Atlas: carrying the world (their world) on your shoulders. And although there may be no one way of doing it right, there is a minimum of doing it. And doing it involves a continuous cycle of best intentions and second guessing. Failing and learning. Attempting to do it better than whoever raised you, and then failing (again) at doing just that. You die to yourself daily. You let go of dreams, goals, money. You definitely give up time. And, importantly, you strive to give it up without resentment. Because no matter how well you hide it, they’ll know.

Parenting is hard. You’ve heard that already. It’s hard even when you have it easy. My kids have no significant medical problems. My wife and I have great jobs and good insurance. I’m more concerned about them eating food than having food for them to eat. Our support system is strong and felt. On the days where it’s particularly difficult, I remember how stacked the deck is in our favor.

And I also think of how, today, when I look back on memories and photos of us pre-kids, the world seems to lack something. That void again, but different. Having kids has forced me to grow in some wonderful ways. This stretching, over years, engenders a resilience that, so far as I can tell, is unique in the experience of adulthood.

And then there are the small moments. The ones that fill you back up. An emotional booster shot. One day you’ll be sitting side by side reading a book, and he’ll ask you to stop only to tell you he loves you. Or that time when you taught him how to use his flashlight to fend off the dark, giving him a bit of relief before bed. And what about the hours where you co-discovered some new imagined game of pillows and plush. Where you riffed on pretend rules, changing them at your whim for the whole afternoon only to look up shocked that it was almost dinnertime.

Like everything in life, there are good moments and not so good moments. But what I’ve come to realize—what helps me keep perspective—is that I have a front row, reserved, and one-time only seat to this little person’s life. A life that has already given me some of my highest highs and, if anything were to happen to him, I’m certain my lowest lows. A chance to witness all of this personality, potential, and passion. All wrapped up in my tiny lookalike, sporting a dinosaur t-shirt and missing one sock and who explodes with smiles when he sees me come down the stairs—greeting me at the top of his lungs with, “hi daddy, watch me!”

It’s this balance, the weightiness of the responsibility and the lightness of seemingly uninterrupted curiosity, optimism, and love that pulls me in like gravity. Imploring that I fully immerse myself in the world he’s building. And that I cherish the unplanned moments I find myself invited in.

I don’t always see these moments for the gifts they are. Some days the world can leave you with little left in the tank. But I try. I try hard.

Because eventually, inevitably, and on one completely normal night, I’ll tuck him into bed, and he’ll go right to sleep.

Sunday, 16 January 2022

Optimism and Positivity

We have an internal mantra of “we’ll figure it out”. I love this, because it’s a catchy, lightweight way of embedding optimism into countless meetings and group chats. (We even have a custom :wfio: emoji in Slack.) A cultural adoption of optimism is important—especially when teams face large-scale challenges or uncertainty.

That said, I’ll occasionally see someone conflate optimism with positivity. The differences are subtle but important to understand and communicate. If you attempt to embed optimism at a cultural level but don’t call out how it’s different from positivity, you’ll likely end up with a messy combination of mindsets.

Thankfully, it’s an easy explanation: optimism fights for the future, positivity protects the past and present.

A positive person will tell you everything’s fine. Those problems you had or have? They aren’t as big as you think! Positivity is useful, but it’s a strong flywheel. If you’re not careful, you end up peddling positivity for positivity’s sake. And to many, particularly the pragmatists, it can appear you’re attempting to avoid the underlying problem.

Optimism, however, injects positivity with vision and action. Optimism doesn’t try to make things OK right now. It acknowledges the gap between where we are and where we could be. And in that gap, creativity and forward progress thrive.

Positivity has its place, and there will be moments when it’s called for. But, the most innovative, consistently successful teams I’ve seen lean heavily into optimistic thinking. Whenever these teams face challenges, even new ones, the instinctual response is: WFIO. And they always do.

Tuesday, 19 October 2021

Write Sentences, Not Too Many, Mostly Active

Writing is hard. It takes time. And a lot of that time is spent rewriting what you’ve already written.

But good writing is easier to pull off than most people think. I think most people are only a few small changes away from being better writers.

My advice? Write sentences, not too many, mostly active.

Write sentences

The only way to beat a blank page is to fill it. Write a single sentence. Then another. Each sentence should stand on its own. If a sentence tries to say two things, make it two sentences. Don’t edit yet. Step one is to get words out of your brain and into the world. Besides, you can’t rewrite nothing.

Not too many

Everyone skims. Most writing has too much writing. There’s fluff everywhere. Ask yourself if every sentence is helping move the reader along. If a sentence fails the test, remove it.

Mostly active

What is an active sentence? Let me show you:

Active voice: I’m writing a blog post.

Passive voice: A blog post is being written.

In an active sentence, the subject does the verb. In a passive sentence, the verb is done to the subject. Active sentences have momentum. They gently push the reader through your words. Passive sentences aren’t awful. Many wonderful writers use them. But an active voice is the better default.

Above all else, just keep writing. Put sentences on the page, remove the unnecessary ones, and favor an active voice. Rinse, wash, repeat.

Thursday, 11 March 2021

Tuned for the Mac

What’s a good word for Mac apps that feel like good Mac apps?

Back in August, Brent Simmons wrote about the blurring definitions between “desktop” and “web” stating “there is no word that means what desktop used to mean — there’s no word for ‘native Mac, Windows, and Linux apps.’ It’s not a concept anymore.”

A month and change later, Panic launched its new code editor, Nova with the lede, “Nova, our next-generation, fully native, future-focused code editor — only available for macOS — is here.” On the marketing site, you’ll read the headline, “Can a native Mac code editor really be that much better?”

On the same day, Sketch wrote a 10-year anniversary treatise (couched in an absolute tour de force of web design) titled “Part of your world: Why we’re proud to build a truly native Mac app”:

Native apps bring so many benefits — from personalization and performance to familiarity and flexibility. And while we’re always working hard to make Cloud an amazing space to collaborate, we still believe the Mac is the perfect place to let your ideas and imagination flourish.

Following Sketch’s post, we find John Gruber of Daring Fireball:

I’ve taken to calling these apps “Mac-assed Mac apps” recently, but we need a better term. Je ne sais quoi means “a quality that cannot be described or named easily” – it’s no surprise it’s hard to categorize these apps with a term. Panic just introduced their splendid new programming editor Nova as “an extremely Mac-app Mac app”, which captures the sentiment (and sound) of “Mac-assed Mac app” in a purely joyous way. I like that. Whatever we call them, they’re worth embracing and celebrating, and Sketch sure as hell is one of them.

Finally, and just to round things out, here’s C.S. Lewis in his 1940 book The Problem of Pain:

You may have noticed that the books you really love are bound together by a secret thread. You know very well what is the common quality that makes you love them, though you cannot put it into words: but most of your friends do not see it at all, and often wonder why, liking this, you should also like that.

So there’s something here. Something exhibited by certain Mac apps but not others. A Mac-ness. What do we call it?

For a while, I’ve quietly referred to these apps as “higgy.” As in they closely follow Apple’s HIG (Human Interface Guidelines) for patterns of design and interaction. But while “higgy” is a fun word to say it’s a terrible word for marketing and writing. Nova, a higgy app for the Mac. Pass.

But turning it over in my mind the past few weeks, I keep coming back to “tuned.”

“Nova, tuned for the Mac.”

I like “tuned” for two reasons.

First, although “tuned” is primarily associated with musical qualities—side note: I don’t think that’s a bad thing given the Mac’s close association with creativity and the arts—the lesser-used definitions speak to “agreement or sense of harmony” or “to adjust for proper functioning”. To “bring into harmony with MacOS” feels very close to me.

Second, it’s not about “native” and whether the app is pure Swift/Objective-C. Who cares? It’s about the feel of the thing. Can I rearrange sidebar items? Do disclosure triangles reflect the visibility of the disclosable content? Will common keyboard shortcuts work as expected? Is there consideration given to the software’s usage of my memory, CPU, and energy?

Or, simply: is it tuned for the Mac?

Monday, 16 November 2020

The iPad Magic Keyboard

The upshot: this is the best iPad keyboard you can buy. If the iPad were my only device, I’d buy this. The keys are great. (Finally.) The trackpad is tiny but better than anything else its size. The magnetic frame is a delight. The whole unit feels incredibly solid.

And yet, we have a situation where the whole is less than the sum of its parts because the genius of this thing is wrapped in a terrible material for a top-tier professional accessory: pseudo-soft polyurethane.

Coming in at $300 (for the 11-inch, small version) it wasn’t worth it to me. But if the iPad is your only device, you may not have any other options. And if you’re like me, material aside, you won’t want to use anything else.

Smudges, fingerprints; this case is a magnet. There’s also an almost imperceptible give between the material and its enclosed frame. After spending a week with this thing—moving between my office, the couch, and my bed—I’m certain this case will look awful in less than a year. Pleasing polyurethane patina is not a thing.

Which sucks. Because if the iPad plus Magic Keyboard is supposed to make a play for the hearts of MacBook users, I’m afraid that crowd will be left wanting. The Magic Keyboard polyurethane is the antithesis of my MacBook Pro’s aluminum chassis.

And at $300, it’s laughable that an otherwise great product would be wrapped in this.

(Now, a Magic Keyboard—same everything—but made of aluminum? Take my money.)


Okay. Let’s set the material aside for a moment. Besides, I’m tired of typing polyurethane.

The keys are great. I said it above, but I’ll say it again: finally. Although the 11-inch size (for my iPad Air, 4th generation) was a touch small for my large hands, there’s no getting around how great it feels to type on this thing.

If Apple’s keyboards forevermore hit this level of travel and clickyness, I think the typing world would find it perfectly acceptable. At this point, can we consider keyboards a solved problem space? No more innovation needed. Hard stop.

There’s backlighting, which is nice. I don’t need it, but I appreciate the subtle glow in the early nights of autumn.

No function key row was a miss. I hate having to reach up towards Control Center to adjust the volume down a click. Imagine if you had pull off to the side of the road every time you wanted to change your car’s speaker volume. That’s how frustrating (and flow breaking) the lack of function keys is.


The trackpad feels nice and exquisitely engineered given its size. In practice, I didn’t mind the smaller size, but I did find my finger running off the edge until my muscle memory was rewired. Two software preferences helped make the experience near perfect: turning the tracking speed all the way up and enabling tap-to-click. Once I had those settings tuned, I didn’t think much about the trackpad after that.

(In case you’re wondering, Trackpad Notions Per Hour is my only litmus test for this type of hardware. And the only passing grade is zero.)


I’m not a materials engineer, so when I say the Magic Keyboard hinge is a feat of engineering what I really mean is that the mechanism is good enough to quickly fade into the background. There’s no wobble or flex. It’s almost hard to believe the design works, but it does.

The design is striking, managing to blend the stability of a laptop (particularly the lapability) with the elegance of something entirely different and futuristic.

My only complaint is the restricted viewing angle. I wish it would lean back another 10–15 degrees. I kept instinctively trying to adjust the screen beyond where it would go, and I never completely adjusted to the reduced rotation.


The magnet system is a sublime experience. It’s easy to guide the iPad into the correct position, and the attraction is strong enough to win my trust. When they’re together, the iPad and Magic Keyboard feel like a single unibody unit. Closed, it feels satisfyingly solid. Like when you’re carrying a book with a high quality spine, binding, and pages.

Removing the iPad is easy. There’s a small area towards the bottom of the iPad that isn’t covered by the case, which makes it simple to grab and peel away the tablet.

All In One

If you want a great typing experience and the iPad is your only device and you want that typing experience to be the same between a desk and your lap, then the Magic Keyboard is your singular option. It’s expensive, I’m not a fan of the polyurethane material choice, and I’m immensely curious whether another iteration on the materials and design will make this a must-have. But otherwise it’s the best you can get. You’re just going to pay for it.

Sunday, 15 November 2020


Joshua Ginter’s ‘First Impressions’ of the iPhone 12 Pro. For years I’ve been recycling an anecdote about a man who desperately wanted to be a professional photographer for Major League Baseball. But he wasn’t a professional photographer, and he didn’t have any ins with MLB. What he did have, however, was a front-row seat to his child’s weekend tee-ball games.

So this guy decides you know what, I love taking photos, and I’m going to photograph this tee-ball team as though they were the freaking New York Yankees. He spent the whole season, every game, camera in hand, snapping the most striking photos of 5-year-olds struggling to swing a bat you’ve ever seen.

The anecdote, as I heard it, wraps up with this man’s local newspaper picking up and running a few of his photos. And then, eventually, an actual MLB team gives him the call to shoot one of their games.

I have no idea if this story is true. But what reminds me of the tale today is reading through Joshua Ginter’s “first impressions” of the iPhone 12 Pro over on The Sweet Setup.

(I put “first impressions” in quotes because what credibility Mr. Ginter loses for misunderstanding what “impressions” means he makes up for by the time you finish his 3,400 word treatise.)

This is not only a good review of the iPhone 12 Pro, but also some of the best product photography of Apple’s newest phone I’ve seen anywhere. Save for maybe Apple themselves.

Anyhow, what I’m trying to say is you should read the review. It’s a treat, and the photos are a delight. Once again, Mr. Ginter has hit it out of the park.

Monday, 9 November 2020


Up between 6–6:30. Drink a full glass of water, take a shower, get dressed. Make the bed; hospital corners. Put on tennis shoes. I tried slippers for a while, but a standing desk calls for extra arch support.

Downstairs, start the coffee. 50 grams for about 6 cups. It’s a weaker brew, but that means I can have a few cups without getting twitchy. Water into the stovetop pot. Add oats. Make breakfast. (How have more people not experienced the awesomeness of oats, greek yogurt, and a little brown sugar?)

Family time, morning talks, good vibes. It’s about 8:00. Another 10-15 minutes, then I’ll grab a large cup of coffee and head upstairs to the office.

Crack the windows, let sunshine stream in.

8:15-45 is my chance to parse the day. I start with a beat of silence and a prayer, then I take a large sip of coffee and flick open a variety of windows.

First up, Slack and email.

90% of my Slack channels are muted. My notifications are off by default, which helps me treat Slack more like email and less like a 90s pager. I scan all unread channels and DMs, then throw anything warranting a followup into Starred.

Email is next. Through years of filter creation, my email is sort of like the Millenium Falcon—filled with really old stuff but tuned exactly how I like it. Everything in my inbox is signal.

Within several minutes, Slack and email are completely dispatched. Now to the calendar. What am I attending today? Tomorrow? What information do I need to have ready? Look at a handful of dashboards. How’s the bug count this week? Which teams have key members on PTO? Did the last 24 hours of pulse metrics look like I expected?

Close the windows, because the sun is doing its thing and warming up the Earth.

Visually, my calendar is stuffed. But a third of those chunky boxes are meetings with myself. Margin time, at least 1-2 hours every single day. It’s here that I work on my Most Important Things.

What are the Most Important Things? I have a simple system: take the top 2-4 most important things I could do this week and put them on a flashcard. The rest of the day will be about relentlessly attempting to complete everything on this list. I’ll usually get through about half, while adding 5-10 new items along the way. Tomorrow I’ll prune it back down to the top 2-4. Rinse, wash, repeat.

(What about a to-do app? I use one, but I use it differently than most. The only things that go in here are commitments I’ve made to other people. My to-do app is my your-word-means-something app.)

Pop downstairs, grab some snuggles from the kiddo, refill the coffee, and climb back upstairs.

The rest of the day oscillates between meetings and my Most Important Things. For meetings, I have a yellow legal pad and a .5mm rollerball. I used to roll with a .38mm, but the .5 feels way more messy and therefore better. Once the day is wrapped, I go back through every page of notes and move things either into my to-do app or onto my calendar. I’ve considered an iPad for this daylong writing, but I like paper. Again, the mess is what makes it great.

Finally, I journal for 5-10 minutes. This is some of the most important writing I do each day. I focus on any decisions I made and my rationale for making them.

Downstairs, dinner, books, bed, and hope to be just a little bit better tomorrow.

Sunday, 2 August 2020


On Having Full RSS Feeds. Kev Quirk thinks having a non-truncated RSS feed is a good idea. I agree. So does Zac Szewczyk:

Whenever I find a new writer, I go through everything they have ever written — turns out, good writers write good things often; this helps me find great works from their past. RSS feeds with, say, the site’s ten most recent posts make this much harder than ones with every article in them, so when I restarted this site, I took the latter route. Over a thousand posts would make my feed a hefty __ MB, though, so truncating the individual posts allowed me to strike a nice balance between the two.

Wait, how many people have their entire site’s archive available through the RSS feed? I’ve only ever seen sites with the most recent 20-40 articles at max.

Wednesday, 15 April 2020


Google Spins the Wheel on What to Call Hangouts, Again. Nick Stat, The Verge:

Google has officially removed the Hangouts brand from its enterprise G Suite offering with the rebranding of Hangouts Chat as Google Chat, the company confirmed to The Verge on Thursday. The rebranding follows a similar name change, confirmed yesterday, from the companion videoconferencing app Hangouts Meet to Google Meet.

This latest modification was first hinted at by an updated G Suite support document listing the Google Chat name alongside Google Meet. Of course, this version of Chat is not to be confused with the other version of Chat, the name Google inexplicably gave its relatively new RCS-based Android messaging protocol.

As for the Hangouts brand, it will continue to live on as the name of the consumer chat app that Google spun out of its shutdown social network Google+ back in 2013 as a spiritual successor to Gchat. “There will be no changes to the consumer (classic) version of Hangouts,” a Google spokesperson tells The Verge.

Who thought changing the recognized name of a product currently experiencing unprecedented demand was a good idea? Not that this will hurt their SEO, mind you.

Thursday, 9 April 2020


Susan Fowler’s Year in Review. A wonderful writeup from one of my favorite editors. I particularly enjoyed this bit on the craft:

This year was transformative for me as far as my writing skills are concerned. I got to the point where I can now sit down and knock out 3000-5000 good words in one sitting, even when completely exhausted at the end of a long workday. My day job as an editor made all the difference here: since I’m so used to thinking of writing and editing as work, I no longer get writer’s block and writing has lost most of its mythical quality (which is a good thing, as far as I’m concerned). In addition to finishing my memoir, I also wrote a couple of pieces for the Times, two novels (which I am currently revising), and one very joyful screenplay.

Writing is like working out—there’s no shortcut to putting in your reps.

Monday, 16 December 2019


Lately I’ve been thinking about Elie Wiesel’s quote on love and hate. “The opposite of love is not hate, it’s indifference” he says.

In software circles, we talk a lot about trying to create products people love. Like, really love. Love to the point you can’t wait to tell your friends. You’ve likely experienced this—an app so good you were excited to bring it into someone’s life.

Logically then, if the goal is Love, a product team might try hard to avoid making changes or additions that people hate. But more than hate, I think the bigger risk is making something to which people are indifferent.

Why not focus on hate? For starters, eliciting hate is actually quite hard to do if the product team is competent. Even talking with your customers once a week should steer you clear of danger.

Indifference on the other hand is a product killer. Building something that doesn’t even register an emotional response eliminates the opportunity to learn. And a product team that cannot quickly learn—and then iterate to learn again—is a team that will slowly bring growth and progress to a halt.

So when we think about the big risks of building products, we should consider indifference towards the top of the list. You can learn from love or hate. But the moment you sense indifference from your customers you need to reconsider the core problem you’re trying to solve.

If you don’t, I can promise you’ll hate what happens next—even if your customers don’t care.

Tuesday, 17 December 2019

Don’t Hide the Date

I’ve noticed an interesting (growing?) trend over the past few years. Some bloggers (or their designers) choose to hide when a post was written. I usually see this via dates excluded from the URL and/or the page itself. Why they’re doing this, I’m not sure.

For URLs, I think dates are useful. Take this URL for example:


Just looking at it, you have a sense of when it was written and what it might be about. Instantly. That’s a good user experience.

(My favorite URL approach is from sites like Medium, where they opt for the questionable /title-GI83R1SH article ID at the end of their post URLs which manages to thread the needle of being both impossible to guess and devoid of any date context. I call this URL style post-modern, because what starts out understandable quickly turns convoluted.)

But I understand not wanting extra cruft in your URLs. Having a clean structure is attractive to my inner minimalist. Going title-only also makes it easier to recall the URL of a once-visited post, since you’re more likely to guess the title of an article than the title and date.

Then there’s the date on the page itself. I generally see a lot of designs use the smallest type size or the faintest gray color possible—if they even include the date at all. I think that’s the wrong way to go. Whether the post is timely or timeless, dates provide a sense of place and serve as an important piece of context for your readers.

You don’t have to overemphasize the when something was written, but please don’t leave it out completely.

Saturday, 14 December 2019

Treat pain points as debt

Dave Ramsey has this great method for paying off debt where you start with your highest interest loan, focus all of your extra income on that payment, and then once you’ve paid it off you snowball that payment into the minimum payment of your next highest interest debt.

I think you can do something similar for products and user experience. Let’s call it The Pain Snowball Method.

Start by taking inventory of all the customer pain that’s been reported over the past month. Prioritize it based on what causes pain the most often. Take the top three reported pain points and dedicate time every week to finding solutions. Fix one of them, and then roll that time into the remaining two pain points until all three are resolved. Do it again next month.

As your product grows, not every customer will use every feature. In order to continue adding value for those customers whose needs are met, dedicate time to fixing pain just as you do to adding features.

Saturday, 14 December 2019

Hierarchy of product team needs

I was on a run and thinking about Maslow’s hierarchy of needs and how a force ranked list of needs could apply to product teams. Here’s my attempt. Let’s walk through the levels:

Level one: talk with your customers daily.

You simply won’t have enough information to make good product decisions if you’re not talking with your customers every day. Call them. Email them. Ask them what they like, what they don’t like, what they wish your product could do, where they’re indifferent. Would they recommend your product to someone else? Who? Why not?

Level two: build and share prototypes.

You have customer feedback, and now it’s time to create solutions for their problems. A good product team should be able to quickly prototype (code, Figma, whatever) ideas that are Just Enough™ to demonstrate the value and begin to unearth usability issues. Prototypes should be lightweight and shareable with a single link.

Level three: implement lightweight metrics.

You’ve built some stuff and now it’s time to measure whether it worked. The metrics rabbit hole is rife with products and terms and general misdirection about what you truly need. Do a lot of reading, ignore most of it. A maturing product team does need some form of analytics and metrics to shore up what you’re hearing from customers—but you do not need to spend tens of thousands of dollars and two months integrating with one of the huge product analytics players right out of the gate. Not yet.

At this level, you only need to answer two questions: (a) what do we track to tell if our stuff is working and (b) how will we report on this data. For (a), basic things like page views, clicks, and lower level database fields can help indicate behavior (Have they turned on feature X? Set a date field with the date they turn it on.) For (b), you’ll either need to have direct access to the database and some SQL knowledge (it’s not hard to get the basics) or a web-based tool that simplifies the reporting for you. There are a lot of tools out there, just be extremely judicious about giving database access to a third party.

Level four: have a process for team self-improvement.

Ding. Welcome to level four. Enlightenment time. At this point, you should be completing enough create → ship → research cycles that recurring issues become apparent—especially if you’re looking at multiple product teams. Once you’ve identified these problem areas, you need to set aside time for growth and reflection. If you don’t, these small pains will become chronic injuries.

Companies that get stuck at this stage will hemorrhage good people. This is because good product people are used to improving through iteration, and they won’t hang around a company that doesn’t treat the team as its most important product. (Side note: your company is your most important product.) Self-improvement at this level can be as simple as design reviews, a book club, or team retrospectives. Just set aside time and do it.

Level five: refine delivery, release, and marketing ops.

This is the last one I could think of, and it’s all about making sure the people you’ve got doing the things on the bottom four levels are able to spend as much time there as possible. However, once you reach a certain size I think having a team or members of the team assisting in the delivery, release, and marketing of the things you ship can be a big time saver.

Regardless what you call it (product ops, project manager, etc.), it’s the acknowledgment that if you want product people talking to customers, creating prototypes, and looking at the data, then anything they do that aren’t those things is hurting the lower levels of the pyramid.

What’s not here?

A lot. I’m certain this isn’t one-size fits all. But in general, I think if you pour time into one of these levels without an equal or greater amount of effort going into the level below it, you’re setting yourself up for problems later on.

Tuesday, 10 December 2019


NetNewsWire 5.0 Released. If I could only teach my non-technical friends two things about technology, I would encourage them to (a) learn the keyboard shortcuts for their most-used apps and (b) use RSS to read the news.

Speaking of RSS, Brent Simmons has finally finished rewriting NetNewsWire—the storied RSS reader for the Mac. You can pick it up for free, and even if you’re not sure what RSS is, check out the link because, again, it’s one of only two things I wish more people knew about.

NetNewsWire only supports syncing via Feedbin at the moment (Feedly support is being considered), but you can also use it as a standalone RSS reader—no account required. That’s what I’m doing, and it works great. An iOS app is forthcoming, which I’m excited about because for as terrible as desktop web news reading is, it’s 10x worse on mobile.

I like to measure products against the yardstick of what they set out to do. For me, NetNewsWire scores high on all marks. It’s fast, stable, and ultimately provides a small counterargument to the notion that we have to put up with website bloat, ad trackers, and algorithmically-powered social nonsense just to read the news.

Monday, 2 September 2019


Genius Claims to Have Proof That Google Is Lifting Lyrics for Its Search Results. Robert McMillan, The Wall Street Journal:

“Over the last two years, we’ve shown Google irrefutable evidence again and again that they are displaying lyrics copied from Genius,” said Ben Gross, Genius’s chief strategy officer, in an email message. The company said it used a watermarking system in its lyrics that embedded patterns in the formatting of apostrophes. Genius said it found more than 100 examples of songs on Google that came from its site.

Starting around 2016, Genius said, the company made a subtle change to some of the songs on its website, alternating the lyrics’ apostrophes between straight and curly single-quote marks in exactly the same sequence for every song.

When the two types of apostrophes were converted to the dots and dashes used in Morse code, they spelled out the words “Red Handed.”

Hiding fake or secret data inside of protected works is relatively common practice. In cartography, map makers will include fake roads known as trap streets, and laser printers have long included tracking dots that let you trace any printed page back to the printer that created it. Wikipedia has a whole list of these fictitious entries.

Genius’ approach takes the cake for me though, because it involves punctuation and typography.

There are better people to explain the nuances and mess of Genius’ attempted enforcement of pseudo copyright over lyrics that don’t belong to them. (As Nick Heer says, Genius’ content is a mix of “best guess original transcription[s]” and artist-verified lyrics.) But ultimately, this points back to Google’s enormous control over the traffic, and often financial wellbeing, of sites whose content it decides to scrape and surface via Knowledge Panels or Featured Snippets.

Monday, 17 June 2019

Check out the archive, read more about this site, or follow via my newsletter, Twitter, RSS, JSON.