Not ready for Web3

Brennan Stehling
10 min readJan 14, 2022

There’s been so much talk about Web3 and everything it is going to be which will be so much better than whatever Web2 was. But we’re really not there yet. There is a lot more work left to do.

When the World Wide Web took off in the 90’s with HyperText and put together by Web Masters, it was all new and it was not clear what it was going to become. Many were not even exposed to the Internet for the first time. College students used a very early version of electronic mail. And a little startup named Netscape created a web browser which would display static content from websites that you would find with Alta Vista. This was the very start of Web1. It seemed magical. You would enter a URL into the location bar and press enter. As several connections were made to load everything the Netscape logo would rotate and it was mesmerizing.

Early HTML was very rudamentary. It was meant for sharing technical documents which only researchers would see. It was meant to be human-editable likely with an editor on Unix like Emacs or vi. It was not possible to create a complex layout until table tags were introduced and abused along with the BLINK tag. It was not until later that we got Cascading Style Sheets with div and span tags to spark the debate about whether tables should never be used now that layouts could be done entirely with CSS.

At this point Document Object Model was still fixed. The HTML loaded into the web browser would be parsed and rendered and remain unchanged. If you wanted to make any changes to a web page you would use PERL to support CGI scripts with your Apache web server. Eventually we needed a way to identify all of the HTTP connections from the same user since the protocol was completely stateless and so Cookies were introduced with very tight privacy constraints.

Right around this time Sun Microsystems was getting Java off the ground when C/C++ were very dominant system languages which could be used with various compilers to support software on many platforms. Java promised that you could Write Once and Run Anywhere on top of the Java Virtual Machine and a very comprehensive Standard Library. Many software developers believed Java would be the last programming language they would ever need. And to get into the mix with the new hotness that was the WWW the contribution which Sun introduced was Java applets which were mini programs. They could run inside web pages to give users interactivity which was not possible with just HTML. At the same time Netscape launched a new scripting language, totally separate, yet still called JavaScript.

In a very short time so much had changed. This is still just Web1. With JavaScript, CSS and Cookies websites gained a lot of functionality which was all presented in a web browser. Very quickly you did not need a Java applet, but you could throw one in there to show stock prices or sports scores if you liked. Web developers had a lot of new tech to play with and a lot of it was not quite stable. It required a lot of page reloading to see if your guess at a workaround would work. Microsoft came late to the game and rushed their own web browser out along with other browser makers which ignited the Browser Wars. It was still exciting but it was also exhausting. While JavaScript was useful it was very difficult to do anything meaningful with it and make it work in all of the popular web browsers and so it was limited to form validation.

For a while websites were becoming essential for a lot businesses which would buy their domain names from Network Solutions which was the only domain registrar for many years and there were only a small number of Top Level Domains or TLDs. Companies also found they could invest in websites for web apps supported by the IT department. Processes which were done with paper forms were replaced with websites. AOL was big along with Bulletin Boards and GeoCities. But perhaps the most important use for the web was to sell products and handle payments securely with Secure Socket Layers which was integrated with HTTP to become HTTPS and e-commerce and the shopping basket icon took off.

This kept a lot of consulting companies and agencies busy for years. Businesses had to go paperless and get online. You had to get your details out there so you could show some branding but also your address, phone number and hours of operation so people could look it up, doing away with the Yellow Pages. There was so much work to do and it was getting done. NFL, NBA, NHL and MLB teams were getting their own websites one by one and eventually the leagues too. It was all very useful and still felt like there was so much potential.

Then everything changed. Google had been steadily winning everyone over while displacing Yahoo and their web portal so there were plenty of eyes on Google when it started to use AJAX with Maps and Mail. Now instead of the constant page reloading you could load new data and modify the DOM to see live updates from the backend. And it was not just that AJAX eliminated page reloading, it unlocked an entire world of features many did not think was possible with web pages. Not only could you enter an address and get a map faster than MapQuest, it was very easy to read, it looked very good. You could move it around and zoom in and out. It was very smooth. Tiles would be preloaded so they would fill in immediately. Web developers who had only been using JS to validate forms were suddenly shown that this little scripting language was a heavyweight which was very much underutilized and it was time to step it up.

There was an explosion of JavaScript frameworks at this time like Prototype.js which would patch any differences between the various web browsers which prioritized flashy new features which would make it essential. Browser makers blatantly ignored Web Standards no matter how Jeffery Zeldman felt about it. There was also Backbone.js, MooTools and many others and of course jQuery with a powerful plugin system built on top of core features by John Resig, the JavaScript Ninja.

This is all going on while browser plugins like Macromedia Flash and Adobe Shockwave were also in the mix but they were always at odds with web developers and designers who were tired of the Browser Wars and saw Web Standards as the right path forward to realize the full potential of the web. And so HTML5 was branded and promoted widely. Adobe had trashed Flash as buggy, slow and insecure for years. Then Adobe acquired Macromedia and tried to convince Steve Jobs that all iPhone apps should be built with Flash. It was never allowed on the platform and despite attempts to make it work well with web browsers on Android it only killed the battery and made the web browser slower. Eventually Adobe reluctantly gave in and started to release tools which would convert Flash to HTML5 and set an end of life date for Flash. The end of Flash was Web 2.0 reaching a significant milestone. Browser plugins and Java applets were a crutch and thanks to Web Standards and the popular web browsers reaching a reasonable level of compliance it was possible to do away with them. Many don’t even remember that YouTube was only possible with Flash for many years and now just uses features defined as a part of HTML5.

Since this time more advanced JavaScript frameworks and CSS layout systems have been popularized like React.js and Angular. Many websites have adopted one stack or another and we now commonly use Single Page Apps, or SPAs, like Google Mail, Facebook and Twitter. But there are also native mobile apps and desktop apps. Often these apps leverage the backend through a REST API which also support a website or SPA. This allows a lot of features to be shared across iOS, Android and Web. It also allows Third Party apps and websites to access those features via REST APIs for powerful integrations like IFTT. This has now been the state of the web for years. But there has not been that moment like the time when AJAX opened so many people’s eyes to what could be created.

There have been gradual improvements since HTML5 took over, but really Google Maps and Mail are pretty much the same level of utility. It can show a lot more detail. You can use Street View and render bike lanes. You can also see live updates for traffic and public transit. Cities publish Open Data which Google and anyone else can use to present information on maps. But what is the next step change? What is Web3? Are we really going to be sitting around with VR headsets strapped to our faces and just ignore the red pressure markings left on our faces from a day in the Metaverse? Are all of the people who are selling us Web3 as some kind of product really pushing anything or is it just Vaporware? Or worse, is it hype to just make some quick cash?

What was groundbreaking about AJAX was that everyone could start doing something with it. Jefferey Zeldman, John Resig and many others educated us with their books and blog posts. We were trained to leverage all of the power of HTML5 combined with AJAX and an arsenal of tools for JavaScript and CSS. We are long past GeoCities now. In order to make a major step forward again we need a lot of the same ingredients which allowed HTML5 to take over.

Years back we transitioned from spending most of our time looking at websites to using apps. Passing the 50% point was a milestone. It’s now over 90%. Facebook just had a website for years without ads and then it launched a native iPhone app with a major contribution from Joe Hewitt. (He also created Firebug for Mozilla which optimized the workflows of every web developer and designer. Now all web browsers have developer tools and I credit Firebug for it.) This native app on the iPhone was really great. Twitter was launched with a REST API and OAuth support so anyone could create an iPhone app which could be a great Twitter app. Day by day users spent more time with apps and less time with web pages. Even as a native app on the iPhone it used a lot of technologies made with the web in mind. All those calls done on the REST API over HTTPS with improvements made to the HTTP protocol all made this native app possible.

Since HTML5 replaced browser plugins and Java applets, why not replace native apps with HTML5? Mark Zuckerberg tried. He believed deeply in HTML5 and decided that an all new version of the Facebook app would commit to it completely. A new major version of the app replaced the one Joe Hewitt created and articles covering it praised it for how great it looked in the early weeks. Then about a year later the articles had turned sour for how slow and unpleasant it was to use the app. HTML5 web views embedded in a “native” app just did not cut it and Zuckerberg admitted that Facebook bet too much on HTML5. This was 10 years ago.

There is this great scene from Halt & Catch Fire which encapsulates the sense of the possibilities of what the web could become. Do we really want to put on a VR headsets, enter the Metaverse and shop for NFTs? There is so much more we could be doing with all of the technology at our fingertips today. What is being sold as Web3 is just not anything I want today. What I do want is for all my technology to be more useful and for the barriers which prevent solutions from being made to come down. We have our advanced mobile phones, portable computers, lots of wireless devices as well as voice assistants. Each one is powerful and capable on their own. They could be even better if they are integrated well.

One example of a very smooth integration is Apple’s products. I can quickly look up an address in Apple Maps on my Mac and send it to my iPhone as I head out the door. Once I am outside about to start driving I can get directions on my Apple Watch. As I approach a turn it vibrates to let me know. With very little effort it is so powerful. These devices integrate with each other and help me in the real world. Each of these devices are running code built with the same programing language which is refined for each of these devices which greatly reduces the effort required to make it all work. All these factors together is key and has been so elusive all this time. Each of these steps did not involve a web browser yet leverage many technologies developed for the web to make them work. I believe this is what Web3 should become. It needs to grow beyond the web browser.

JavaScript was considered a very limited technology before AJAX sparked years of new innovations. Making an AJAX request is a very small amount of code, but it was so powerful. It allowed a web page to connect, communicate and interact. We have all these devices in our lives which don’t have a web browser, but have so much potential. Maybe there just needs to be that one killer app which makes us realize what that potential could be.

--

--