Java had the earliest of early-mover advantages, it set out to be what Flash became, it tried extremely hard to be what Flash became, and it's a very impressive technical achievement that it managed to completely fail at basically its only goal in a clear field with no competitors in sight and an entire industry supporting and training and giving seminars and cheering it on.
Flash became its own security nightmare, as did Java, but that's a different problem to that of adoption.
My feeling is that there was something just fundamentally baked into the Java *language* model that made it aggressively incompatible with the Web scripting model. Like needing compilation, not being prototype-based, that sort of thing.
Would like to see more postmortems on exactly what went wrong on both the security and adoption fronts, since circa 1996 everyone seemed to think that Java powering the browser was just a forever done deal.
I met the guy who tanked jave remote method invocation in netscape.
He was right, but he also killed my startup, since I'd written for announced, rather than actual, features.
@natecull I wonder if one related factor was that Flash was first and foremost arbitrary vector animation, and Java applets were first and foremost "a UI that looks exactly like an extremely slow web page UI". I'm probably misremembering history on this though.
Yeah, Java applets were visually ugly and not suited to animation.
But I don't understand why this was the case.
Maybe it was just that Sun was clueless about animation -- even though they were pushing it as Java's first use case -- and didn't have anyone of Macromedia's background on board?
And yet wasn't a lot of the movie industry using Sun workstations at the time? Or am I thinking about Silicon Graphics and 1990s Sun was more of a corporate thing?
@natecull You just went beyond my experience with that last question.
What does come to mind is that Java UI widgets felt very similar in scope to Mac and Windows ones; nothing more domain-specific than that.
@natecull "Starting a new Gradle Daemon for this build (subsequent builds will be faster)" literally every time
Server run by the main developers of the project It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!