Hacker News new | ask | show | jobs
by blacktriangle 1930 days ago
I think the answer would have been for Java desktop apps to take off. I think if we had had a more diverse desktop landscape in the late 90s / early 2000s Java desktop apps would have won. As it was that was peak Windows and Java desktop apps were never given the time they needed to mature since the cross platform pitch was at its least compelling. The browser pretty much won because it was able to unseat the Windows hegemony without directly attacking Windows the way any of the alternative OSes had to do.

Sadly here we are now with bigger computers, better performing JVMs, great Java dev tools, and still losing to the browser due to massive inertia.

2 comments

Web apps won because they didn’t need to be installed on the device. They were vastly inferior to desktop apps built with any framework (even java), but they were “good enough” and IT departments liked them because they were easy to deploy. Anything that required a local install never stood a chance. That advantage for web apps is still there, which is the thing that keeps web app dominance in place.
I feel like this could have been overcome by Java Web Start, which at the time it was released was too little too late. Even embedding applications as applets could have been a good solution.
I don't know.

For complex desktop apps I don't really think Java was a viable option until the 1.3 release in 2000 (from memory). You also always had that problem that you couldn't guarantee what version of Java somebody would have installed so you'd have to bundle whatever JRE version you needed into the installer. Deployment was always a challenge.

In the browser Java never really got past 1.1 because Sun and Microsoft fell out so you had to install a separate plugin, which almost nobody did, or just live within the restrictions of AWT.

Couple this with the fact that, as you've pointed out, Java Web Start was so late to the party and it's easy to see why it didn't do better, either on the desktop or in the browser.

Until Android came along I really thought Java was a dying technology platform. Obviously since then its fortunes have significantly improved.

I think people forget how slow the Java applets were to load though. It wasn't a great experience at all.
I'm not saying there were no problems, and it's not like we haven't gone through massive teething pains to get to where we are with browser based apps either. However I'd argue if all the work that went into trying to turn a hypermedia system into an app runtime had instead been focused on fixing the Java issues, we'd be in a far better place.

Although what is interesting is that with the Java solutions, it was the user who felt the pain where developers had a decent experience. As the web platform has evolved, users have avoided most of the issues and the pain has been experienced by developers. This would go a long way to explaining why users have never had it so good as they have right now and every developer I know is trying to figure out how to get out of the industry, or at least get out of web dev.

Java Web Start must have all stars aligned for the apps to work correctly.

Ever tried to use HP ILO's Remote Console via Web Start? (For additional nerd points, try doing that with Apple M1 machine). Compared to that, the HTML5 version just works.

I don't think Java as an app platform ever really recovered from the reputation in picked up in the 90s in the form of applets (which were notorious for crashing your browser/machine) and in the 00s with desktop apps due to the high startup time and often alien-feeling UI toolkits.

I recall back in the 2000s there being a few Java apps for macOS that used Cocoa UIs via the Cocoa-Java bridge that used to exist. These tended to be embraced almost as readily by users as full-native Mac apps, and I think that was largely because these apps tended to start up more quickly and fit into the user's desktop better, removing those two barriers to adoption.