Live data from Hacker News

Applets are officially gone, but Java in the browser is better

frequal.com

61–70 of 101 posts

Re: Applets are officially gone, but Java in the browser is better

#61
post #38
post #35

Earlier quoted context omitted.

The JVM proved to the mainstream that a virtual machine good be as fast (sometimes even faster) than a compiled binary. Because of that it took a lot of the market share of C/C++ in the 90s. You got a buffer overflow safe language without compromise of speed. After it has been loaded, of course. But that's why Java had such a tremendous effect in Web services where the load times are negligible to the run time.

Of course, eliminating buffer overflows is orthogonal to using a virtual machine.

You also got a language easier to use and learn than C/C++.

With universities almost immediately jumping to Java as an introductory language you got way more potential employees.

Re: Applets are officially gone, but Java in the browser is better

#62

> In the 2000's, politics interfered and browser vendors removed plug-in support, instead preferring their own walled gardens and restricted sandboxes That's one way to say it. The more common way was that users got tired of crappy plugins crashing their browsers, and browser devs got tired of endless complaints from their users. It wasn't "politics" of any sort that made browsers sandbox everything. It was the insan…

It mostly was politics. Browser crashes and slowness were almost always traced down to microsoft own java plugin that strongarmed proper java plugin install out of the way every update and every now and then to be sure, with a semi compatible runtime and a classloarlder that insisted fronting the dow load of all resources. It created so much uncertainty across the ecosystem even today people repeat the "applet crashe…

Yes I’m sure jobs went on stage calling out flash as the main source of Safari crashes because of Microsoft’s Java plugin.

Re: Applets are officially gone, but Java in the browser is better

#63

Earlier quoted context omitted.

I would attribute this much more to Mobile Safari saying "no", which killed off plugins, especially Flash. Java Applets were essentially slow Flash from a user's perspective.

I don't think Safari mattered much. Java was still used for things that wouldn't work on phones without massive redesigns anyway. I doubt you'd have been able to bootstrap Runescape in any form, even rewritten in native code, on the first iPhone to support apps. Applets worked fine on desktops and tablets which was what they were designed for. Browser vendors killed the API because when they looked at crashes, freeze…

> I don't think Safari mattered much.

Apple was the first to publicly call out native plugins (jobs did so on stage) and outright refused to support them on iOS, then everyone else followed suit.

Re: Applets are officially gone, but Java in the browser is better

#64

> In the 2000's, politics interfered and browser vendors removed plug-in support, instead preferring their own walled gardens and restricted sandboxes That's one way to say it. The more common way was that users got tired of crappy plugins crashing their browsers, and browser devs got tired of endless complaints from their users. It wasn't "politics" of any sort that made browsers sandbox everything. It was the insan…

For Flash vs iPhone case, it was indeed mostly politics. People were using Flash and other plugins in websites because there were no other alternative, say to add a video player or an animation. iPhone was released in 2007 and app store in 2008. iPhone and iPad did not support then popular Flash in their browsers. Web experience was limited and broken. HTML5 was first announced in 2008 but would be under development for many years. Not standardized yet and browser support was limited. Web apps were not a thing without Flash. Only alternative for the users was the App Store, the ultimate walled garden. There were native apps for everything, even for the simplest things. Flash ecosystem was the biggest competitor and threat for the App Store at that moment. Finally in 2010 Steve Jobs addressed the Flash issue and openly declared they will never support it. iPhone users stopped complaining and in 2011 Adobe stopped the development of mobile plugins.

Adobe was in a unique position to dominate the apps era, but they failed spectacularly. They could have implemented payment/monetization options for their ecosystem, to build their own walled garden. Plugins were slow but this was mostly due to hardware at the time. This changed rapidly in the following years, but without control of the hardware, they had already lost the market.

Re: Applets are officially gone, but Java in the browser is better

#65
post #38

Earlier quoted context omitted.

Of course, eliminating buffer overflows is orthogonal to using a virtual machine.

No, it's not? Using a VM is one way of preventing buffer overflows, it's not orthogonal.

You can prevent buffer overflows even when you don't use a VM. Eg it's perfectly legal for your C compiler to insert checks. But there are also languages like Rust or Haskell that demand an absence of buffer overflows.

You can design a VM that still allows for buffer overflows. Eg you can compile C via the low-level-virtual-machine, and still get buffer overflows.

Any combination of VM (Yes/No) and buffer-overflows (Yes/No) is possible.

I agree that using a VM is one possible way to prevent buffer overflows.

Re: Applets are officially gone, but Java in the browser is better

#66
post #26

Earlier quoted context omitted.

> banks to stop using it for online banking apps I never understood why so many banks flocked to building their online banking in applets when it wasn't like you needed anything more advanced than HTML to view balances and make transactions.

Because they’ve hired a bunch of Java devs that don’t know anything outside of Java?

Amusingly, we see the repeat of this in "desktop" apps that are just web technologies in a browser, wasting CPU time and RAM for "ease" of development. (I don't think it's easier at all - a mess of JS callbacks makes it difficult to see the initiator of anything).

Re: Applets are officially gone, but Java in the browser is better

#67

Earlier quoted context omitted.

I don't think Safari mattered much. Java was still used for things that wouldn't work on phones without massive redesigns anyway. I doubt you'd have been able to bootstrap Runescape in any form, even rewritten in native code, on the first iPhone to support apps. Applets worked fine on desktops and tablets which was what they were designed for. Browser vendors killed the API because when they looked at crashes, freeze…

> I don't think Safari mattered much. Apple was the first to publicly call out native plugins (jobs did so on stage) and outright refused to support them on iOS, then everyone else followed suit.

>then everyone else followed suit

NPAPI's death in non-IE-browsers started around 2015. Jobs announcing mobile Safari without Flash was 2010. Unfortunately, ActiveX still works to this very day.

Chrome built up a whole new PPAPI to support reasonably fast Flash support after the Jobs announcement. Microsoft launched a major release of Silverlight long after Jobs' speech, but Silverlight (rightfully) died with Windows Phone, which it was the main UI platform for around its practical death. Had Microsoft managed to launch a decent mobile operating system, we'd probably still be running Silverlight in some fashion today. Even still, Silverlight lasted well until 2021 before Silverlight actually fell out of support.

Jobs may have had a hand in the death of Flash websites, but when it came to Java Applets/Silverlight, the decision had little impact. That plugin model was slowly dying on its own already.

Re: Applets are officially gone, but Java in the browser is better

#68

Earlier quoted context omitted.

Flash is still a big loss imho, the ecosystem of games, movies and demonstration thingies was amazing and they were accessible to create by many. Unlike Java applets that slowed the main browser UI thread to a crawl if they didn't load they usually didn't), Flash didn't have such slowdowns. One exception is early 2000s Runescape: that was Java in browser but always loaded, no gray screen and hanging browser. They kne…

Many of the old games and movies still play back well with Ruffle installed ( https://ruffle.rs/ ). Newgrounds embeds it by default for old interactive flash media that they couldn't convert directly to video. It's not a perfect fit, but it works. The speed of Ruffle loading on a page is similar to that of Flash initializing, so you can arguably still make flash websites and animations to get the old look and feel if…

It's good that we have the runtime to run old Flash games. What we lost is an extremely easy environment for authoring/creating them. Nothing has come even close since Flash. Not just game, but any kind of interactions and animations on the web.

Re: Applets are officially gone, but Java in the browser is better

#69

Earlier quoted context omitted.

Because they’ve hired a bunch of Java devs that don’t know anything outside of Java?

Amusingly, we see the repeat of this in "desktop" apps that are just web technologies in a browser, wasting CPU time and RAM for "ease" of development. (I don't think it's easier at all - a mess of JS callbacks makes it difficult to see the initiator of anything).

> Amusingly, we see the repeat of this in "desktop" apps that are just web technologies in a browser, wasting CPU time and RAM for "ease" of development.

Web is chosen because it is the fastest way to hit all platforms, not because it's a skill issue.

> a mess of JS callbacks makes it difficult to see the initiator of anything

Async/await is available in most browsers since 2017, what year are you from?

Re: Applets are officially gone, but Java in the browser is better

#70
post #26
post #5

Earlier quoted context omitted.

Exactly. Java was so buggy and had so many security issues about 20 years ago that my local authorities gave a security advisory to not install it at all in end user/home computers. That finally forced the hand of some banks to stop using it for online banking apps. Flash also had a long run of security issues.

> banks to stop using it for online banking apps I never understood why so many banks flocked to building their online banking in applets when it wasn't like you needed anything more advanced than HTML to view balances and make transactions.

I'm getting the impression you're conveniently ignoring how piss poor HTML/AJAX/JS capabilities were back then, or even how slow internet speeds were.

Applets could do things that JS could not. Some bank applets did client side crypto with keys that were on the device. Good luck doing that in JS back then. My bank's applet could cope with connection losses so I could queue a payment while dialup did it's thing.

Post reply on HN