Independent coder for hire / Nightwatch.js maintainer
A few days ago I somehow ended up on Google’s web.dev platform, which I’m assuming is rather new. There is of course the possibility that I have been–or still am–living under a rock, when it comes to new web technologies.
“The key element of this solution is the usage of streams, which enables incremental creations and updates of data sources.”
The basic idea is to deliver only a very minimal page structure in the initial request and then gradually deliver the rest via fragments or partials, while leveraging caching. So is this the most paradigm shifting web architecture since a decade ago? It does certainly have the potential. I’m a little skeptical regarding the use of the term “magic” though, as is the case in Ben Halpern’s article.
“Real magic, in other words, refers to the magic that is not real, while the magic that it is real, that can actually be done, is not real magic.”
Confused? I know I am. But don’t worry, it’s only because consciousness itself, or the mind, the self, however you want to call it, “is a bag of tricks”, according to Dennett. In other words, it’s an illusion. When something is truthful it’s only because it appears to be so to our consciousness, and however truthful something appears to us depends on how convinced we feel about it.
But enough about magic. Let’s not ruin it, shall we? Let’s keep the magic alive. Back to service workers. My main concern is that saying its “magic” will make it difficult for this technology to be properly understood. A certain technological breakthrough can be an actual innovation only if it’s widely adopted. And for service workers to become widely adopted, they have to be properly understood by everybody, not just the most advanced and experienced engineers.
While the aesthetics may or may not be important, as the visual impact can vary from one person to another, the performance impact is certainly the most important one to consider. When measuring the visual impact, there’s a certain threshold above which the user interface becomes stable and subsequent updates are more or less redundant. There’s a certain point where the application is slick enough and any amount of additional slickness is irrelevant, and it might even be tedious.
On the other hand, a performance update that can “magically” make the app load much faster and can have a dramatic effect for everyone using it. Improvements in performance can have near universal benefits, because it saves us time; we spend less time while waiting for an event to happen in the application (such as a page or an image to load).
A performance benefit is like time regained, because the way time is perceived by our consciousness is shared across all of us, presumably.
These days however, what counts as innovation is mostly determined by the big tech “innovators” in Silicon Valley and the innovation itself is usually permitted to happen only if it furthers an agenda of economic growth and corporate prosperity.
Even if it does happen on the outside of the big tech corporations–and remember that the world needs massive corporations just as it needs small businesses–the innovation is absorbed and marketed properly to maximize the potential of value delivery.
But what does it matter? Innovation is innovation regardless of where it comes from. Whether this particular innovation–the “App Shell Model” architecture (we might want to do something about this naming)–is the next AJAX remains to be determined. Personally, I am quite enthusiastic at the prospect of yet again having an actual innovation in website and application building and not just another bag of tricks.