Composability has become a new buzzword in the Web3 world. “An application is composable if it can be used as a building block for another application,” wrote a Web3 infrastructure company called Syndica. In another definition, a16z VC Chris Dixon defined composability as “the ability to mix and match software components like lego bricks.”
If this concept sounds familiar, it’s because web developers have been building applications from reusable components since the 1990s. In Web 2.0, composable applications were known as “mashups,” “web services,” “widgets,” and any number of similar terms. Even before the web, software companies like Microsoft offered ways for developers to re-use software objects — Microsoft’s system was called the Component Object Model (COM). You could even argue this concept goes back to the 1960s, when Doug Engelbart’s “bootstrapping” philosophy helped his team develop the first networked computing system.
With all this history behind us, why do we need to re-invent reusable components as “composability” in Web3?
Why Web3 Is Championing a New Term
When I asked on Twitter what makes “composability” different from earlier generations of reusable apps, Chris Dixon responded that “composability was a big part of early web2 (remember “mashups”) but basically went away when it became clear the winning web2 strategy was to not interoperate and APIs were deprecated etc.”
It’s a fair point. At the beginning of Web 2.0, the potential of “mashups” was viewed through rose-tinted glasses. In a blog post I wrote in March 2006, the younger me expressed excitement about the potential of mashups. “There are a number of ways in which mashup developers can monetize their products,” I wrote. As examples, I cited Simplyhired.com, a “vertical search for jobs” business that gathered data from a variety of sources, and a site called Dude, Where’s My Used Car?, a mashup of data from eBay Motors and Google Maps.
While some great businesses did indeed start as mashups (Simply Hired continued to grow and was eventually acquired in 2016), by the start of the 2010’s centralized platforms began to assert their control on the web. Some of those companies limited or even shut down access to their APIs, which put the mashup business model in jeopardy. A notable example in the tech industry was Twitter, which up till 2011 openly encouraged mashup companies to use its data, but by 2012 was severely curtailing developer access to its API.
Mashups was a peak of Web 2.0 excitement. And then centralized platforms shot it down.
— Lev Walkin (@levwalkin) January 9, 2022
So yes, the Web 2.0 dream of open APIs and an ecosystem of mashup businesses fizzled out during the 2010’s. It was a shame, because a big part of the appeal of early Web 2.0 was the potential for a free-flowing web of data.
Ceramic: Bringing Data Composability to Web3
Where Web 2.0 was in 2006, Web3 is in 2022. There is growing excitement among developers — among believers, at least — and an expectation that data will soon be freed from the clutches of Big Tech. The rose-tinted glasses are on-again, except this time they are perched on the noses of NFT apes and punks.
— Developer DAO (🧱, 🚀) (@developer_dao) November 12, 2021
One of the more interesting composability projects to emerge in Web3 is Ceramic, which calls itself “a decentralized data network that brings unlimited data composability to Web3 applications.” It’s basically a data conduit between dApps (decentralized applications), blockchains, and the various flavors of decentralized storage. The idea is that a dApp developer can use Ceramic to manage “streams” of data, which can then be re-used or re-purposed by other dApps via an open API.
Unlike most blockchains, Ceramic is also able to easily scale. A blog post on the Ceramic website explains that “each Ceramic node acts as an individual execution environment for performing computations and validating transactions on streams – there is no global ledger.”
Also noteworthy about Ceramic is its use of DIDs (Decentralized Identifiers), a W3C web standard for authentication that I wrote about last year. The DID standard allows Ceramic users to transact with streams using decentralized identities.
Web3 is more than DeFi and NFTs. Blockchains have already demonstrated the value of composability for tokens. Ceramic brings that same composability to every piece of data on the internet. Think portable profiles, social graphs, blogs, identity, reputation, content, games, feeds.
— Ceramic (@ceramicnetwork) February 16, 2022
The company behind Ceramic is 3Box Labs, which announced a $30m investment round in February, led by Multicoin Capital and Union Square Ventures (USV). Kyle Samani, managing partner at Multicoin Capital, wrote an accompanying post explaining his excitement about Ceramic. “Building an application on Ceramic looks like browsing a marketplace of data models, plugging them into your app, and automatically gaining access to all data on the network that’s stored in these models,” he wrote.
One potential use case Samani cited was a decentralized version of Twitter, which would enable each user to control their own “stream” of data — and potentially bring that data to complementary or even competing dApps.
Let’s pull on that Twitter clone thread for a minute. From a developer point of view, the idea is that other dApps could use the same data model that the first Twitter clone built. Let’s say that you’re a dApp developer and you want to build a very niche version of Twitter (for example, for quilters). A simple way to do that would be to use the original Twitter clone’s data model for your dApp so that quilters using the original product can start using your product straight away — and potentially even import all of their quilting-related content.
The Solana Blockchain and Composability
While composability is a buzzword that can be applied to the Ethereum blockchain — in a blog post, VC Linda Xie argued that the ERC-20 standard is an example of composability — it is the Solana blockchain that has most closely associated itself with the term. On its homepage, Solana states that its blockchain “ensures composability between ecosystem projects.” Ethereum’s homepage, by contrast, makes no mention of the word.
The Ceramic project is careful to position itself as agnostic towards blockchains (in fact, Solana isn’t even mentioned on its homepage, but the Ethereum logo is present). Regardless, Solana does seem like the most complementary blockchain to Ceramic. Solana’s key advantage when compared to Ethereum is a much faster transaction rate for dApps. Kyle Samani, whose VC firm MultiCoin is also a heavy investor in Solana, thinks that “the next generation of apps are going to be lego castles that are built on top of Solana.”
I’ll end with my standard disclaimer about Web3 projects: let’s see what actually gets built with Ceramic before we pass judgment. But in theory, I like the notion that composability in Web3 will bring mashups back to the web.