This talk is an overview of how web apps evolved over time: from traditional CGI to full-stack SSR frameworks and local-first apps. By using an analogy of a physical distance between a human and computer, I tried to show that the variety of tools we have now and their complexity makes total sense. As developers, we are trying to wipe the boundary between desktop and web UX, while iterating on the platform and dev tools. I tried to provide a simple explanation of concepts like partial hydration, resumability, islands architecture and signals.
The second part of this talk is an overview of the arising web development trends (all-in-one tooling, local-first, backend-first) and some speculations of what’s coming next: for example, can AI run entirely in the browser? The illustrations and visual style for this talks were produced in collaboration with Liza Zaft.
Before I start talking about JavaScript and web applications, I'd like to make a short detour. The year is 1996. The company known as Sun Microsystems, headquartered in Santa Clara, California, is about to release "the next big thing" — a low-cost desktop killer. And it's not just an unknown company; Sun was a big technological company that pioneered enterprise computing, CPU manufacturing, and is known for their invention of the Java programming language.
The product they were about to release was called JavaStation, or by the nickname "Mr. Coffee." Sun positioned the product as a "thin-client network computer." It was a tiny computer that could sit on your desktop next to your display, mouse, and keyboard. It didn't have a hard drive; it booted up a lightweight OS called JavaOS. The OS contained essentially just the browser. It worked entirely over the network: loading programs, storing data, etc. Sun figured that it was more efficient to have one fat corporate server that could power lots of thin clients: it was easier to maintain and scale.
The way JavaStation worked was that the browser would load an HTML page with a Java Applet — an application that could be executed by JVM. These applications were rich and looked just like native apps. They even handled network state: if you powered it off and on again, all your data and session would remain untouched. It even supported apps like Corel Office (word processor).
This was truly revolutionary. Mosaic browser was released in 1993, Netscape Navigator in 1994. JavaScript wasn't even standardized. But JavaStation completely flopped, and Sun had to shut it down. Users complained about:
I had to apologize to my students for the slow and inconvenient machines --- I remember making some jokes about technological progress. Dr. Alex Ryba, Former Professor at Marquette University (Quoted March 2000)
Sun shut the project down and eventually ceased to exists after it’s acquisition by Oracle. The next big thing didn’t happen.
But why? Let's take a moment to discuss the concept of S-curves and innovation cycles in technology. This idea helps explain why some technologies, despite being promising, fail to take off immediately. A perfect example is the JavaStation.
The JavaStation was an innovative concept but arrived too early in the technology adoption curve. It didn't succeed because the necessary foundation wasn't yet in place (JavaStation was too early and too unstable, at the beginning of S-curve). This illustrates how technological progress often follows an S-shaped curve: slow initial adoption, followed by rapid growth, and then a plateau as the technology matures.