How I approach my core work
My core work is independent research in software — here is the how and the why.
Publ. October 5, 2020 · Upd. June 14, 2021 · 11 min. read
Early in my career, I found myself at cocktail parties celebrating various business communities strangely often. These events were usually three to four hours of small talk. Business small talk. The conversations were dull and repetitive, and event wine only helps so much.
Over time, I found myself naturally gravitating to far more interesting conversations with anyone in the room who wasn’t there because of the business community: The server in New York City who was working up the money to book studio time to record his first album, or the significant other who has spent her entire career researching the butterfly.
“The butterfly?” I asked, thinking that can’t be all of her work. Sure enough, it was. She loved them. She spent years learning everything we already know about butterflies, and was now advancing that research for humanity to know a little bit more. But what’s more? She found it. She was outright beaming when we spent a half hour discussing butterflies amidst a sea of suits and ties having beer and wine, “bumping elbows,” as a colleague called it.
Have you ever been in such a conversation? Where you can feel the spark in someone’s eyes and voice, their energy rubs off on you a bit, and when you try to tell someone else about the excitement this person had for their specific area of interest, you can’t even quite communicate it — except to share “they’ve definitely found their calling”?
There is something cosmically beautiful and peaceful about finding or meeting someone who is driving after the field they deeply care about and enjoy.
As a kid, I found two things that were pure magic to me: computers and music.
They held so much potential for expression and ideas, and so much potential for making life great.
Music never disappoints. But computers do.
Computers simultaneously mesmerize and disappoint me. I think this is why computer science is ultimately the field I went into. Lots of things fascinate me, and lots of things disappoint me. But it’s computers that do both. They harbor so much potential, yet so often they fulfill very little of it.
My work in software has always been borne out of this gap: How can software improve people’s daily lives? What concepts might open up our thinking and elevate what we’re capable of producing? Who should be in charge of the future of personal computing, and how should they be charged with its direction?
Contributing to the graph of human knowledge
Imagine the total of human knowledge as a graph of many interconnected nodes.
Through work that contributes new knowledge to that graph, we draw from a series of nodes as our sources and inspirations — sometimes a unique set of nodes which have never been directly combined before — and we create or advance some new node in the graph. And maybe in a generation or two, someone will draw upon our node, the one we created, among others, when they push forward their own new node with their own new work.
You have done this all your life: novel thoughts or unique insights that you have shared with others were influenced by the unique combination of existing things you’ve read or been interested in exploring. Some sources may be thousands of years old (like a philosopher’s perspective you enjoy), and some may be very new (like a review you read in your favorite magazine last month). As you discern and share your own novel ideas, thoughts, and perspectives, you’re contributing to the total graph of human knowledge.
This compendium became additive when our species started passing on knowledge, and really accelerated once we had the ability to record the knowledge (somewhat) permanently.
Yet much of what we do in technology isn’t additive; software depreciates over time — and with it, the ideals it stands for also depreciate, unless if those ideals are fought for in an additive medium.
Many mediums appreciate over time — books, film, and so forth. My grandkids will watch Toy Story, but will never use iPhoneOS — the first version of iOS. Both were core work, at different times, in Steve Jobs’ life. But only one will live on in its own right, simply appreciating, while the other is rebuilt year-round by thousands of developers in order to stay current.
Once the book is printed, it might exist for hundreds of years. Same with a movie: generations after yours might enjoy it. But software?
That’s one purpose of my research: to be an additive medium through which I can contribute to the graph of human knowledge my humble little node which draws from many others before me, and from which maybe someone in the future can draw upon as they create theirs.
Everyone deserves the opportunity to do this: to find the thing they love as much as my companion-in-conversation at a boring event loved butterflies, and to contribute their spark to it, which might even be the inspiration for the next person.
The researcher and the practitioner
A toothpaste company once spent a few million to solve a tricky problem: sometimes a box without a tube of toothpaste would make its way into a customer’s delivery. Working out and building the solution took some time and a good chunk of money, but eventually it worked. A scale was installed at the end of the packaging line which would quickly weigh each box, sounding a bell if one was empty to alert someone to stop the line and pull the empty.
At first a success, albeit an expensive one, the bell stopped ringing within a week or so. Upon closer inspection, the project lead found a small fan in the middle of the packaging line, blowing the empty boxes into a bin as they moved past. “Jerry got sick of the bell,” someone on the line told them, “so he picked up the fan on his way in.”
Urban legend, source unknown.
The researcher and the practitioner work in different ways, and think with different perspectives. In my experience, the greatest joy and the deepest insights come from working as both — exploring in abstract and application.
Working only in abstract can lead one to become some form of an architecture astronaut, as Joel Spolsky calls it. Working only in application does not allow one to advance towards truly great work, as Richard Hamming famously professed.
In my work, this means bouncing between the academic nature of research: exploring unanswered questions, culling down to the strongest potential answers, and designing experiments for those hypotheses; and the applied nature of creating and publishing software: testing ideas with customers, finding out what really matters, and learning the many unknown unknowns that elude the strict academic.
This is another purpose of my research:
It forms a continuous cycle that simultaenously produces better products and more insightful research.
Insights to ideas
What if email was more like social media? Or what if email was more like your to-do list? These seemingly terrible questions actually have fascinating answers, from which my first product — an email client — drew its core innovations that have since spread widely.
These questions followed little insights:
On the first: The inbox suffers a poor signal-to-noise ratio, just like social media. But in the case of social media, it is someone’s job to design the product around that problem, otherwise people won’t use it. What solutions worked for them? Can they work in the inbox too?
On the second: Every email message requires some further action (e.g. reviewing some work, writing a reply, or just deleting the email), just like a to-do list. And yet, the inbox works more like a news reader, with a “read” and “unread” state, rather than like a to-do list with an “incomplete” and “complete” state.
There is tremendous merit in ideas and the process of ideation, despite the widely misunderstood claim that “ideas are worthless”.
I love ideas. I love living in the space of ideas. I love exploring ideas that are fascinating in their own right and seem to have no obvious connection to anything else I am working on. Eventually these things come around; the dots connect later.
When our email client proved popular, we focused on the next major problem in email: anyone who has your email address can fill the sacred ground of your inbox with anything they want.
We envisioned a button that would allow you to grant a sender access to your inbox, and another you could use to similarly revoke their access — much like authorizing and revoking access to your Twitter or GitHub account from a third-party app — but for your inbox.
Wouldn’t that be great? But of course that isn’t how email works. That fictitious vision of the future is impossible without getting everyone to adopt an entirely new system to replace email.
But does that have to be true?
Here is what we built: a browser extension which adds the authorize button to email fields on the web. When you click it, the system generates a unique, random email address in the field. If you ever want to revoke access, the system simply destroys the unique address that had been given to that sender.
The futuristic vision of an impossibly better tomorrow was instantly available to us today.
The kind of innovation that is found in a new way of thinking about the tools and technology we have, to put the future into people’s hands today — that’s what I most love to do.
Magic is experienced in the form of products that feel like they’re from the future, made real and useful in the present. And this kind of approach requires both the mindset of the researcher and the knowledge of the builder.
That’s the third purpose of my research:
It helps us put tomorrow into people’s hands today.
The majority of the people who interact with my work do so when they use the products I've created.
But my core work — the stuff that gets me up early in the mornings and keeps me up late at night — happens much before those products are publicly released. It’s in the research: the process of finding interesting questions that seem to go ignored, getting to the root of the topic, exploring many possible answers, building up the most promising ones, experimenting to test their merits, occasionally releasing a working product that can improve people’s daily lives, learning more, and publishing what I have learned for the good of the public.
Learn → Think → Create → Repeat.
This is what I love to do. I have done it for years in private, only publicly sharing the final products that my core work occasionally results in. But commercializing a product is highly time-consuming, so most of my core work goes unpublished, allowing no one to benefit from it — whether by intellectual entertainment, advancing their thinking on a problem set of their own, or sparking the needed inspiration to drive after something they know they want to pursue. I hope to correct this by publishing more of that core work in the future.
I have published my software with a community of users for years, and have now similarly begun to publish my research-in-progress for the community too, via my Lab Notes, which document the progress, experiments, and insights in my research as I build a new kind of operating system meant to explore the future of personal computing.
Working with the lab door open
Drawing from his prolific research career, Richard Hamming sought to help others pursue the best outcomes from their own research with his talk You and Your Research. Quoting a small part of this talk-turned-book, in his own words:
Working with one’s door closed lets you get more work done per year than if you had an open door, but I have observed repeatedly that later those with the closed doors, while working just as hard as others, seem to work on slightly the wrong problems, while those who have let their door stay open get less work done but tend to work on the right problems! I cannot prove the cause-and-effect relationship; I can only observe the correlation. I suspect the open mind leads to the open door, and the open door tends to lead to the open mind; they reinforce each other.
As an independent creator, I do not have a physical door that I can keep open to others. And given my proclivity to toil away in silence, I very much risk working hard at “slightly the wrong problems.”
This is a primary purpose of my Lab Notes; they are my proverbial open door: by committing myself to publishing them every week, I ensure that my work can bump up against others’ thoughts, ideas, questions, works, and discussions.
Working with my lab door open, by way of my Lab Notes, gives me a better shot at producing work which solves the problems being approached in a meaningful and valuable way.
Open door, open mind.
50 pound of pots
There is one other primary purpose of my Lab Notes.
The ceramics teacher announced on opening day that he was dividing the class into two groups. All those on the left side of the studio, he said, would be graded solely on the quantity of work they produced, all those on the right solely on its quality. His procedure was simple: on the final day of class he would bring in his bathroom scales and weigh the work of the “quantity” group: fifty pound of pots rated an “A”, forty pounds a “B”, and so on. Those being graded on “quality”, however, needed to produce only one pot — albeit a perfect one — to get an “A”.
Well, came grading time and a curious fact emerged: the works of highest quality were all produced by the group being graded for quantity. It seems that while the “quantity” group was busily churning out piles of work — and learning from their mistakes — the “quality” group had sat theorizing about perfection, and in the end had little more to show for their efforts than grandiose theories and a pile of dead clay.
In software development we often toil away for years on a single codebase meant to solve a single problem.
The aim of my Lab Notes is to encourage many discrete experiments, which can be designed and built from scratch each time as necessary. If the destination is quality, the journey is quantity (did you know that Pablo Picasso produced 50,000 pieces of work?).
The Lab Notes are meant to dually encourage “50 pound of pots” in my research.
Today, my research is focused on the future of personal computing. This involves, among other things, building a new kind of operating system. If you would like to receive my work as I publish it, sign up at the bottom of the page.
I share my research regularly for those who want to support this work, be a part of the community, and help find clues as we build out both the answers to unanswered questions and the products they might describe. A diverse community interested in unfolding a better vision of the future lets us quickly test what matters — sometimes the hardest piece to get a pulse on.
And, ultimately, if I can help others to engage in this kind of inquisitive thought work throughout other important facets of life, I will consider that the biggest possible win.
Whether it’s butterflies, music, software, or anything else — I hope you find your spark, and I hope you get the opportunity to contribute your own node into the graph of human knowledge.