In October, I’m planning to focus my writing a bit more on Twitter. I will put all my writing energy into crafting the most amazing threads and Tweets you have ever seen.
As much as I love exchanging emails with my subscribers, Twitter is just much faster. This allows me to get feedback on ideas before sending them to your inbox, skipping the mediocre ones and doubling down where I stumble upon something interesting. I feel like I can get more out of Twitter, and I’m planning to experiment in November. I’ll report in another email after a month.
If you follow one person except me on Twitter, it should be Visakan. Just by having him on my timeline, I transformed my experience on the platform from a frantic hellhole to a heartfelt chat with friends.
The key feature of (public) Twitter is that any player can interact with any other player. Any player can reply to any other player’s tweets, or retweet it, or quote-tweet it. This bypasses traditional limitations of both “real life” as well as older web mediums like “blogs”.
I can’t entirely agree with Venkatesh about WordPress being obsolete, but his piece about the nature of text points out why Twitter is likely not going away.
It implements a few key features of 1980s vintage hypertext visions — block-level addressability, transclusion (changes in referenced blocks being “transfer-included” wherever they are cited), and bidirectional linking — that utterly transform the writing experience at the finger-tips leve
David Perrell’s idea of the content triangle inspired me to double down on Twitter. He tests his ideas on Twitter and in conversation, much like comedians iterate on jokes in smaller clubs before going on National Tv (or Netflix).
Many writers wait until they publish a blog post to share an idea with somebody. I do the opposite. I share my ideas as much as I can and run them through numerous filters. I move from conversations, to tweets, to emails, to blog posts. Each medium provides a different layer of feedback. By the time I’ve published a blog post, I’ve run the ideas through 3-5 filters, and each time I receive feedback, I keep more of what resonates and less of what doesn’t.
Lego Blocks, Shipping Containers, Roam Research, Open Source, and any other unreasonably successful endeavor follows the fractal design of composability.
Epistemic confidence: 3/5. I intend to return to this post in the future.
The current iteration of global capitalism is built on the backbone of a shipping container. Not the car nor the plane. As much as I do think the washing machine is transformative (and do check out this TED talk by Hans Rosling), it didn’t have an impact as huge as the shipping container.
At the beginning of the story, total port costs ate up a whopping 48% (or $1163 of $2386) of an illustrative shipment of one truckload of medicine from Chicago to Nancy, France, in 1960. In more comprehensible terms, an expert quoted in the book explains: “a four thousand mile shipment might consume 50 percent of its costs in covering just the two ten-mile movements through two ports.” For many goods then, shipping accounted for nearly 25% of total cost for a product sold beyond its local market. Fast forward to today: the book quotes economists Edward Glaeser and Janet Kohlhase: “It is better to assume that moving goods is essentially costless than to assume that moving goods is an important component of the production process.”
Shipping containers are standardized and composable. Much like the most successful software.
Open Source, and UNIX philosophy
As much as the container is the backbone of the current economy, the software will be the backbone of a new one that we all help to build. If we take the “evolutionary” definition of success, the most successful piece of software will be some obscure low-level library or a Unix tool running on every modern device. Here are the first two Unix principles according to Wikipedia:
Make each program do one thing well. To do a new job, build afresh rather than complicate old programs by adding new “features”.
Expect the output of every program to become the input to another, as yet unknown, program. Don’t clutter output with extraneous information. Avoid stringently columnar or binary input formats. Don’t insist on interactive input.
As you can see, these are interlocking – do one thing well, and build “higher” when connecting more things that do one thing well. In my mind, Unix philosophy, Open Source, and building an information economy go hand in hand. Each next iteration can stand on the shoulders of giants, using the abstractions built by previous developers. We don’t have to sync time anymore, allocate memory, or deal with disk I/O operations. We can use ready tools to do just that, to focus on building something more complex.
You may have heard about Roam Research – a Note-Taking app that has gained a cult-like following, and a $200 million investment at a $900 million valuation. If you have not heard about Roam before – Anne-Laure has a good introduction. If you feel like note-taking is suddenly hip without any reason, I have an explainer here.
How has Roam gained this popularity? Is it all a scam? After trying it out – I’ve noticed two aha moments:
The first Roam AHA moment
You discover, that the expected value of your notes grows exponentially. If I have a 1:1 (a 2-person Team-Lead <-> Team member meeting) with David, I can type [[1:1]] with [[David]] and I create notes simultaneously:
As my TODO in the daily note
On the page called 1:1
On the page called David
During the day – to the day I can also create a note [[David]] posted a good post here: (link).. When I later visit [[David]] page, I can see the history of our 1:1s and all data I meant to include in the formal feedback when the time comes.
Even though I have never visited or even created “David” page before.
This “higher expected value of each line of notes” is like crack – gets the thoughts out of my brain faster than any other tool, since it’s rewarding bringing concepts together.
The second AHA moment is all about composability
The real kicker is the second AHA moment. In Roam, not only EVERYTHING is a block, but also the blocks interact with each other sensibly while nested
No interface, I just nest bullets and table appears
I create a Kanban the same way I create a table – since everything is an interplay of nesting, I immediately know how to create this Kanban. Gutenberg is already pretty good at this – we are trying to follow similar patterns across our blocks, but there are a lot of custom interfaces.
How about table in a Kanban?
EVERYTHING is composable
Ok, enough about Roam Research. The message is that composability let’s you be way more creative by knowing a few basic principles. But to call something “composable”, we have to have:
A canonical unit of “thought”
Multiple nesting levels
Lists of things behave differently than things themselves
What about functional programming?
Paul Graham (a startup demigod and a very clear thinker) is continuously playing with Bel – a variation of LISP
I do appreciate the elegance of a purely functional language and after realizing the closure-roam-research link I can see how that mindset translates. But nevertheless – relying on the language to translate into a better product is ignoring the messy complexity of the real world.
In the real world (unlike the comfortable world of the algorithms), the program has to interact with the vast spectrum of inputs and outputs – thus npm with its library of packages may be better representing composability than any functional language. In the end, composability’s goal is to achieve real-world results with simple, easy-to-reason blocks. And yes, I credit React’s success to the composability of JSX.
Writing on the Internet
Publishing on the Internet at its core is composable too. We can argue if the sentence, a paragraph, or a blog post is the canonical unit of clear thought, but blogging lets you organize the uneasy mess of “stuff” into coherent blocks you can compose into more and more clear reasoning. The linear structure of the page lets you examine each and every paragraph for doing what they are supposed to be doing. The list of paragraphs is just like a row of containers organized in a higher-order unit (a ship) that makes it easy to move.
Twitter is similar to Roam in more ways than one. To the casual user, it’s a hellhole of political arguments and fabricated urgency, but for those who know how to use it, it has almost infinite expression power based on simple rules.
Twitter Threads are composable.
Remember the requirements for composability I have outlined above? Twitter satisfies them all.
A tweet is a self-contained complete thought
Threads let you organize these thoughts into more complex narratives
You can nest and recombine them at will
Sidenote: Follow Visakan (a master of threads) if you want a kinder, more productive Twitter.
Composability succeeds because it enables cooperation
When evaluating a product or endeavor we tend to focus on metrics, features, and shiny checklists:
This has more bloblybums,
That is soo shiny,
The other thing succeeded because it’s just faster,
But over the long term, the thing that succeeds tends to do so, because it makes it easier for people to work together. Composability is a framework for putting new layers of abstraction in a predictable manner.
An average human can hold about seven items in short-term memory and successfully cooperate in a team of seven people. Composability reduces the cognitive load by organizing things into higher-order sets, which in turn – can be reasoned about or reduced further.
Other, successful composable things include:
Written word (letters -> sentences -> paragraphs -> pages),
World Wide Web and HTML
Matter in the Universe (The Elements are comprised of the same 3 building blocks)
Memes (TikTok in particular)
Despite my clickbaity title, there are successful endeavors that are NOT composable:
App Stores / App economy – apps usually don’t mix with each other