This post takes about 5 mins to read, but if you really want the TL;DR version then it’s basically this: there’s not enough collaboration and standardization around current efforts to decentralize the Web, and we risk ending up with more silos than we already have.
First off, this year’s Decentralized Web Summit was an incredibly successful event, even if you judge only by the fact that it was sold out. What really impressed me was the quality of talks and the amount of progress behind the proof of concept demos for applications and platforms. This isn’t really a surprise since this year’s theme was “working code”. Compared to previous years, I noticed a lot of interest from companies working in the blockchain space — e.g. the Ethereum Foundation, Protocol Labs, OmiseGO, Zcash, Aragon, but also representatives from Microsoft’s Decentralized Identity team, Mozilla, and even Google.
I think in general people were very optimistic. I noticed a lot of sessions on blockchain governance and consensus. In fact, I’d say that around 80% of the projects represented this year were from the blockchain space, if not more. I also got the impression that a lot of the people above have come to terms with the scalability issues around the blockchain, which is very refreshing to see — e.g. demoes were preceded by a disclaimer saying that “we know there are scaling issues but we’re working on solutions”.
There is one thing I’m really interested in hearing when I attend conferences or demos of projects that have to do with decentralization, and that is portability/interoperability. Let’s be serious, we all hope our project will last forever but the reality does not agree with us. Developers move on, user interest shifts, and projects start to rot. Each and every one of the projects I saw this year (especially on the blockchain side) is nothing more than a glorified silo. I haven’t seen any efforts to build bridges between projects or to standardize around a common data API. For instance, imagine how it would be to host your webpage on an Apache server, but then if you wanted to move to Nginx you would have to switch protocols completely. It’s really starting to look like a race to the bottom that is only helping the existing cloud-based monopolies, and that’s a shame.
Another thing that really makes me question the success of current decentralization efforts is the fact that there’s very little effort put into the final user experience. People (i.e. developers) working in this space need to listen more to what 99% of end users want — low friction interactions with the platforms, low loading times, total abstraction of identity (key) management. If you’re not building a solution that works just as easy, or even better that the current cloud-based approaches, users will not come. For instance, you can’t expect to see user growth/retention if your application constantly spends between several seconds and sometimes even minutes displays messages like “waiting for peers” or “synchronizing”. Users who are frustrated by a slow-loading app are likely to “bounce” — that is, visit your app once, leave and never return. For example, Akamai has a nice infographic showing that “47% of consumers expect a web page to load in 2 seconds or less”. What’s even worse is that “40% abandon a website that takes more than 3 seconds to load.”
I hate to be the bearer of bad news, but users have become accustomed to a quality of service from the so-called “free” platforms like Google, Facebook, Instagram, etc., that they just can’t get when using existing blockchain-based “dapps” today. Furthermore, the scope of current use cases supported by the dapps of which I’ve seen demos is limited around publishing content that is publicly readable. To be fair, you can store encrypted content but in most cases you are the only consumer of that data. Being an immutable storage solution, once you write encrypted data on the blockchain, every user who had access to the decryption key will always have access to that data, even if you revoke their access (keys) at a later time. Basically, you’re in the clear if your use case involves storing public content on a super resilient network that is not susceptible to take-down notices or government censorship. But don’t get me wrong, these are very legitimate use cases!
I would like to apologize if so far I’ve sounded pessimistic, I really am not. I think we’re still in the very early ages of our decentralization efforts, at least from a technical standpoint. It reminds me of the early days of the Web when its only use was to host read-only public web pages, as content was exclusively created by webmasters. Fast-forward almost 30 years from then, and we now have fully integrated read-write Web applications that are so ubiquitous in our lives that we’ve completely forgotten about the road it took us to get here.
On this note, the decentralization effort that I’m the most excited about is probably the work around decentralized identifiers (DIDs). They’ve taken the standards-based approach in dealing with self-sovereign identity, authentication, and identity hubs (i.e. storage). As Markus Sabadello very succinctly put it “this [work] is important, because identifiers are the basis for any identity and communications system — without identifiers, we cannot have relationships, transactions, data sharing or messaging between entities.” Sure, they are just getting started and the standards they are working on are still far away from being a W3C official recommendation, but it’s definitely a step in the right direction. If you happen to be working in the decentralized space, please take an hour or two and go through their specs or check out their Github organization. We need to join forces and to remember we all share a common goal, instead of creating more silos.
Enjoyed this article? Please take a moment to “clap” it one or more times (up to 50). Comments? Tweet them @andreisambra.