What if every button in your app had an email address? What if apps could email each other? What would they talk about?
This might sound absurd, but it is not far off from the philosophy that makes Unix such flexible infrastructure for software.
Expect the output of every program to become the input to another, as yet unknown, program.
Unix Philosophy, Bell System Technical Journal, Jul-Aug 1978
Where Lego has dots, Unix has pipes. Programs in Unix receive input and send output over standard streams, called stdio. Using the pipe operator, you can connect these streams together. The output of a program becomes the input for the next program. Programs can be composed from many smaller programs, like Lego bricks.
cat sample.txt | grep -i "evolution" | sort
Email is the stdio of the internet
Everything talks email. Newsletters are delivered by email. Google Scholar Alerts are delivered by email. Even hermetically-sealed walled gardens send receipts and notifications by email.
Functional fixedness fools us into seeing email as an app. Email is not an app. It is a protocol, like HTTP. As a protocol, email has a lot going for it:
Everyone knows how to use email.
Email infrastructure is everywhere.
Email is read/write.
Email is federated.
Email is local-first.
Email is social. You own your own social graph.
Email is open and standardized.
If you’re looking for a Lego dot, this is a pretty good one. Email is the perfect candidate for lateral thinking with withered technology, and I plan to do some interesting things with email in Subconscious.