You, Me, and Web3! 🦄
As a web developer, Web3 brings with it a lot of familiarity as well as some new things for you and I to explore!
Hi everyone - first of all, just wanted to say thanks for continuing to be a part of the KIRUPA Community where I share topics that intersect design 🎨, development 🤖, and business 💰.
Today’s installment features a topic that many of you have heard about, dismissed, or are eagerly itching to get your feet wet in. That has to do with Web3. I hope you enjoy my technical/webdev focus on it, and if you have any questions or comments, please do reach out by posting on the forums.
From Web 1.0 to Web3
Before we dive into what makes Web3 interesting to us as web developers, let’s take a moment to set some context. To understand the reasons for why Web3 exists, we need to go back in time for a bit and look at the three named eras web sites (and apps) are categorized in.
Web 1.0: The Read-Only Web
In the beginning we had what everyone now calls the Web 1.0 era:
This was an era where the web had were content creators on one side and visitors on the other side. When we visited a web site here, everything we saw would be something the site maintainer specified. We had no ability to alter on enhance what the web site showed. This was very much a read-only experience!
Web 2.0: The Read/Write Web
This is where things got really interesting. If the content creators were responsible for everything visitors saw in the Web 1.0 era, the Web 2.0 era blurred the lines here quite a bit. This era saw the rise of message boards, comment threads, like/vote buttons, blogs, and more that enhanced Web 1.0 experiences with heaping spoonfuls of social interaction. Web 2.0 truly hit its stride when massive online platforms and social networks evolved whose entire existence revolved around user-generated content where what people saw was created by other people just like them:
In this read/write world with visitors playing the role of both content consumer and content creator, what did the maintainers of these platforms do? They built the infrastructure. They built content creation tools that made it easy for anybody to post content. They created the discovery algorithms that connected the user-generated content with eyeballs...which in turn encouraged visitors to create more content.
Ultimately, the platform maintainers played (and continue to play) a powerful central role in how these sites are run, what types of content is or isn’t allowed, and how to monetize the content visitors generate.
Web3: The Decentralized Read/Write Web
In Web 2.0, we can see that the balance of power is heavily skewed towards the platform maintainers. Much is written about the problems such a power imbalance can create - everything from free speech to content ownership to who should monetize the data. Putting all of those concerns aside, there are tangible technical challenges. With centralized services, there is a risk of “what happens to all of the content” when the platform goes down or just goes away. As someone who used to have a site on Geocities back in the Web 1.0 days and lost all of that content when Geocities shut down, I empathize with this problem.
This is an area where Web3 offers a solution. Instead of data being stored in centralized servers that can be taken offline for any number of reasons, a foundational piece of Web3 is data being stored in a decentralized fashion. This is where the buzzwordy term blockchain comes in. Think of the blockchain as a database that allows you to read and write content (but not delete or modify), and the contents of this database are distributed across a bunch of people:
If any central node (ie: Geocities) in a centralized system is removed, the entire system will have problems where data gets lost. This is a problem we had with Web 1.0 and continue to have with Web 2.0. Because data in Web3 is stored in a blockchain in a distributed and decentralized way, this data will theoretically live forever since too many copies of the data will be floating around. No one person or organization can control the data, alter the data, or remove it. This brings with it a lot of technical changes to how we traditionally think about app development.
Web3 and Web Development
Today, we can generalize modern web apps by saying that they involve client-side and server-side components:
With Web3, things are not much different. The apps that we all will build on Web3 will need a client-side/frontend layer where all of our DOM, React, Vue, CSS, A11y, etc. knowledge continue to be completely relevant.
The biggest changes will be in the server/backend where:
Traditional web servers and CDNs are replaced with decentralized blockchain-aware variants
Authentication will rely on anonymous verification as opposed to the Oauth (Twitter/Google/Facebook/etc.) or password-based approaches that we have used historically
To make it easy for our web app frontends to interact with these new blockchain-based backends, various libraries such as web3.js exist. They abstract away some of the complications around authentication, decentralized storage systems, messaging, networking, and more.
The thing to keep in mind is that we are still in the early days of Web3 infrastructure. Much is being built and experimented at the more foundational layers, and us web developers are much higher up on the tree where breaking changes and learning/unlearning/re-learning is a part of the fun. If you are looking for a “one click” setup where you can go from a blank slate to a hello, world! app in your favorite web framework running on Web3, we are still a ways away from there.
Ok, what should you do? A few things:
Keep going deeper into frontend technologies and learn all that you can. This will benefit you today and in the future.
Think of a killer app idea that will only work in Web3 and start building towards it. This won’t be easy, but you’ll learn more about Web3 development (like wallets, coins, gas, and more!) as part of figuring things out through trial and error
Be thoughtful about who you follow and listen to. As with all emerging technologies, there is a lot of hype and bad actors pushing the hype. Be skeptical of anything that sounds too good to be true.
Have fun.
Conclusion
Phew. That was a lot to cover as part of an overview, but I hope you found this post interesting and useful. If you feel there are people in your network who would benefit from this, please do forward it to them. I would greatly appreciate it that.
Lastly, I always want to hear from you! I make it a point to personally respond to all of the comments that I receive, so please message me on Twitter or post on the forums.
Till next time!
Cheers,
Kirupa 😀
Great write-up! As has been the case from each web transition -- the basics / fundamentals are the most important.
I don't understand the hate you got from other comments. If you don't want to evolve and be a part of the future -- just ignore or unsubscribe.
I didn't sign up for this, why am I getting emails about it. Web3 is a scam and I'm not remotely interested.