Now 7 Years Later, Here’s What Happened.
Google Trends "oracle" search term, it seems like I'm becoming less relevant Worldwide.
There’s nothing more stupid than trying to make predictions. Humans are very bad at it, and speaking to myself in the third person at least allows me to make fun of my own stupidity without feeling bad.
There's this illusion Venture Capitalists and Angel Investors have it all figured out; it turns out the rate of success of their predictions is as precise as heads or tails. Who knew? I thought they were actually paid to know what they were doing.
Regardless, 7 years ago I decided to make 7 Predictions For The Web In The Next 5 Years. This post was in draft for some time so I guess I’m a little late to the party. Should probably have been 5 predictions for the next 7 years instead =/.
The idea was to reflect on where things were heading so that I could revisit them again after the time elapsed.
The time to reflect on that is now.
1. I predicted: Progressive Web Apps will overrun mobile apps R.O.I., but mobile apps won’t become obsolete (yet)
Mobile apps are not even close to becoming obsolete, nor "yet". We have Instagram, TikTok, UberEATS and a myriad of other apps primarily tailored and optimised for mobile phones outside the Web. It's not like you can't provide equivalent experiences on the web, it's just that the skills necessary to do so and the speed in which JavaScript-based Web Technologies move make it hard for the mobile web to be a viable business.
Google Trends shows that the interest in Progressive Web Apps topped in 2018/2019/2020. However, it started to decrease quite significantly towards 2021 and came back in 2023.
Web Apps, though, never stop growing:
By the way, what the hell with all those September spikes?
Websites don't seem to care very much:
Seems like the Web is having a naming crisis. What’s next, Web Crypto?
Only a 2021 fad it seems…
2. I predicted: The web will be totally based on components
That one was a precise hit, though I should have added a few caveats.
Nowadays everything is a component, as much as everything was a "class" 10 years ago. React, and JSX are the most popular toolings, though they come at the cost of JavaScript Everywhere™ (better be careful) and front-ends with minimum requirements of 2GB payload size in the first run.
The "Modern Web" setup is completely feasible today, including React, Webpack and their 10¹³² dependencies. After all, every customer should be able to load your website with an iPhone 35 and the processing power of trillions of Apollo Rockets in their pockets, including an internet connection as speedy as the latest dial-up.
Every company seems to be copying Facebook’s tech stack in an apparent attempt to copy its success. I'm not sure if that will work, but the question remains if React is the future because of components, or if components are the future because of React.
Only time will tell.
3. I predicted: Functional Programming will be the fundamental basis for writing JavaScript
Speaking of React, they changed from using the render() as a method within classes to use functions that accept props and return JSX. That was a long time ago. It was a significant improvement in simplicity towards the functional paradigm. As I wrote 6 years ago , A Front-End Component Is A Function that Returns the View, glad they made the move.
In regards to Functional Programming reaching the mainstream, it seems like it hasn't outside the JS community. Luckily I didn't say it would:
I mean, Java and C# are still big things and Micro$oft is trying to eliminate the "Java" from JavaScript and replace it with "Type" on the likes of C#. Looks like there's some grudge there:
Watch out for the next news: "TC39 has been renamed to TS40".
4. I predicted: The Brave browser will become the second most used browser in the world and will drive the ad-block philosophy the same way Opera drove the Tabs philosophy
Unless BrendanEich has changed the UserAgent of Brave to be exactly the one of Safari (there's some precedent there), the prediction has failed.
Some places say Brave market share is 0.05%. However “Brave Browser Makes Tracking Market Share Difficult”: https://kinsta.com/browser-market-share/
One thing I got it right: Chrome is dominating as the first.
Safari on the other hand is the second.
3. Functional Programming will be the fundamental basis for writing JavaScript
React changed from classes to functions that accept props and return JSX. Functional Programming is everywhere, I haven't seen blog posts talking about Prototypal Inheritance in JS for a few years now.
I guess I got this one right.
5. I predicted: State-based architecture with Event Sourcing (AKA Redux) will be the standard pattern on how to design the front end.
For the web, the standard hasn’t changed. It continues being a spaghetti stored in S3 while architecture and design are thrown into the bin. Only the names of the tools are different, the mess is the same. If someone got it right, it was Kevlin Henney with “Old is the new New”: https://www.youtube.com/watch?v=AbgsfeGvg3E. Timeless!
In hindsight, I was too optimistic something would have changed.
The best way to measure Event Sourcing in the front end is by looking at the popularity of the Redux library, which is a half-baked functional event-sourcing implementation for the browser where "describing what happened" in an Object Literal is called an "action" instead of an "event".
Redux is on quite a constant star increase but seems to be reaching a plateau:
React grows more, easy to predict where the trend is going:
Vue is quite following React, both trying to reach the skies like the opening of an anime episode:
On another note, people are getting tired of Bootstrap:
Redux is Following the same trend as jQuery:
On a comparison, Bitcoin did jump in 2017 so ppl seem to be more interested in Crypto and Distributed Systems.
Yet the popularity of the Bitcoin repo is still at the same level as that of jquery, probably the popularity of all crypto projects is spread around the other 9 million "coins" out there.
6. I predicted: the core of JavaScript libraries and projects will start to be built without being tied to a specific state-based architecture implementation or framework.
I did that with js-cookie a long time ago but it seems like the trend hasn't followed to other components, maybe a few here and there. Angular was the new jQuery, NPM also became the new jQuery, and now React is the new NPM but it kind of uses NPM for distribution so it's weird. Everything is a "React" component. Building front-end components in JavaScript with frameworks and libraries "pluggable to it" doesn't seem to have picked up the pace and it probably never will. After all, creating JavaScript components doesn't help you being hired as The Next Senior {TrendyStuff} Engineer.
7. A standard pattern will emerge to write CSS concerns in JavaScript
Ok, I know what you're thinking. I'm not even sure if the styled-components trend actually made its way to the mainstream. React definitely did but very few people seem to be using styled-components nowadays, happy to be proven wrong:
So let's wrap it up:
I evaluated seven predictions about the web I made five years ago. The predictions included the rise of Progressive Web Apps, component-based web design, functional programming in JavaScript, the success of the Brave browser, the dominance of state-based architecture with Event Sourcing, and the incorporation of CSS in JavaScript.
Reflecting on these, it appears that while mobile apps are not becoming obsolete, Progressive Web Apps did peak in interest, went down, and then back again. The web did indeed become largely component-based, with React and JSX gaining popularity. Functional programming is now fundamental to JavaScript and React. However, the Brave browser did not achieve the success that can be measured (maybe it's intentional as it's a privacy browser). The web’s architecture with React remains complex despite small Redux adoption, while CSS concerns in JavaScript didn’t become mainstream as expected.
The predictions yielded a mixed bag of hits and misses. Which is expected when you try to be the Oracle. Speaking of which, I should also go and sue someone.
I'll be right back…
Thanks for reading. If you have feedback, contact me on Twitter, LinkedIn or Github.
Top comments (0)