What happened?

I’ve been working with web technologies in three different phases over all these years. First was the tumultuous start in the early nineties where we were participating in teaching and research at the University of Essen. This was a great time, everything was fresh and new, we participated and organised conferences on web technologies, experimented and implemented. There was a feeling that the browser can be a very capable runtime environment, but it wasn’t yet clear how it would look like. My own take on where things should be going were Active Hyperlinked Documents(AHDs), and the keen reader will see which great technology inspired parts of that idea :)

In the second phase in the 2000’s, things had settled down, and a common setup was to have a server which ran PHP or Ruby on Rails and which served HTML with CSS, often with a sprinkle of JavaScript. With that stack, I developed a bunch of small tools, and was also using it for 40Hz.org. Things still happened on the server side, but slowly moved to the frontend.

I took a break from this until the late 2010’s, when I started to get curious again and wanted to update my skills. This current phase is again a very turbulent time, with the pendulum having swung full time to browser based frameworks with WASM on the extreme end. It is however also a bit tiring. Frameworks and tools come and go, many things not making it past beta, tools which look promising being abandoned for the next great idea, and technical and architectural decisions increasingly hard to make. Of course I have to say we wanted this back then, the ability to run full scale applications in the browser was one the ideas behind the above linked AHDs, so I can only blame myself :) And there are some good sides to be able to fully encapsulate an application on the client side and treat the backend simply as a data source - as an application developer, you don’t have to involve yourself with running and updating server side components to develop your code. But the overall execution of this model doesn’t look too convincing.

As a software architect I should have answers to this, but I guess a good architect is also one who knows when to say “it depends.” Maybe one line to draw is whether you are building something for the World Wide Web, or whether it is indeed a desktop or mobile application. Take for example GitHub, which I see as a web site, but which has degenerated into a sluggish application. Compare that to SourceHut, which deep linkable, fast and quick to navigate.

2025-01-18