For billions of us, if you asked a 5 year old to draw a portrait of us working, chances are good it would depict a person staring at a computer.
Almost 3 years ago, Alex Cohen approached me about starting a Calendly competitor— he reckoned there was a large producer surplus of value that if transferred to consumers could produce a large business. I personally wasn’t a Calendly user for a bunch of reasons that aren’t relevant here, so I processed the opportunity as one to make a scheduling tool for people like me who didn’t use scheduling tools.
We got started by carefully observing our scheduling processes. Receive a message from someone agreeing to meet, so now need to find time. Calendar isn’t in the messaging inbox so need to tab over to calendar. Stare at Calendar grid to search for openings between events, find some free blocks. Now need to share those blocks with the person you want to meet with a reply in the messaging inbox. So you memorize the free blocks, tab back to inbox, start a new reply, and type the free blocks in from your memory.
If you get interrupted and forget, start the process from scratch. If you want to share more blocks than you can remember at once, repeat the process. If you feel anxious about sharing correct blocks, memorize what you just typed into the reply, tab back to calendar, and stare at the grid to see if the blocks you’re remembering having typed in are valid.
It’s tediously predictable, slow, and error-prone, the unholy trifecta of process descriptors that scream the computer should be doing this for me!
More reflection made plain that the scheduling example above is a specific instance of a general problem: we use separate applications together to perform tasks, they don’t work together, and it leaves us performing the gratingly unsatisfying role of human data pipeline.
The forward march of technological progress has been making the problem worse for decades as new software tools are developed to solve increasingly specialized problems along the fractal expansion at the margins of our work. And— you’re not going crazy— the pace accelerates with each new victory in the important fight to make software development more accessible.
We chose to take up the question: what does the PC look like if we push these trends out beyond the horizon? If the number of software developers grows by 10X, what kinds of applications will get produced? If the number of applications produced grows by 100X, how will developers connect with the users who can most benefit from their tools over the fray of a much, much noisier software marketplace? And how is the average PC user going to go from feeling anxious about their fluency with today’s paradigm going to adapt to a future with orders of magnitude more options produced for increasingly specific use-cases by increasingly anonymous makers?
Prognosticating is a tough business, and being stereotypically lazy software people we opted to take the easy way out by finding analogies outside of software then modeling them across disciplines. We found a pattern that appears to hold true for growth of all kinds.