5 ms·
> In the 2000's, politics interfered and browser vendors removed plug-in support, instead preferring their own walled gardens and restricted sandboxes That's o
by kstrauser 11mo ago
> 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 insane number of crashes, out-of-memories, pegged CPUs, and security vulnerabilities that pushed things over the edge. You can only sit through so many dozens of Adobe 0-days before it starts to grate.
- exDM69 11mo agoExactly. 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.
- cube00 11mo ago> 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.
- wiseowise 11mo agoBecause they’ve hired a bunch of Java devs that don’t know anything outside of Java?
- 72deluxe 11mo agoAmusingly, 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).
- wiseowise 11mo ago> 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?
- 72deluxe 11mo agoI think the initial idea of being the fast to hit all platforms was the idea, but this has meant a lack of skill in developers who don't know about each platform, so you end up with a mess of apps that attempt to (badly) replicate native elements like menus. You are right about async/await. I am old! (But I still find the development of software in a large JS system unmanageable versus old C++ development approaches).
- theandrewbailey 11mo agoJava Servlets and JSPs output HTML. I've been building a blog with them for over 15 years.
- elric 11mo agoI'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.
- im3w1l 11mo agoJava did many things very right. It's a really fast language. It's memory safe. It could run anywhere. It had well-thought out namespacing at a time where namespacing was a concept most people barely knew they needed it. It had an advanced security model. It was a very reasonable bet at the time imo.
- Gravityloss 11mo agoIn the 2000s, my bank was acquired by some bigger bank from another country. Their long standing, well working and fast banking application was replaced with a very dysfunctional Java applet thing. I was using Linux at the time and IIRC it either worked barely, or then not at all. I phoned the bank, and they told about a secret alternate 'mobile' url, that had a proper working service. I used that for a while before ultimately switching to another bank. The bank sent apology letters to customers and waived some fees also as they saw many of them leave. It made me really wake up that to the fact if the company can do these visible level blunders, what else is going on there, and also, how the customer is in such a vulnerable position. On the other hand, NASA in the past had some really great Java applets to play with some technical concept and get updated diagrams, animations and graphs etc.
- bigfatkitten 11mo agoI worked for a large financial institution in the early 2010s. They ran Windows XP, IE 8, and they stuck with a 3-4 year old JRE to support one piece of shit line of business app that was used only by about 100 (out of 50,000) users internally. That institution had endpoints popped by drive-by exploit kits dropping banking trojans like Zeus daily.
- locallost 11mo agoYeah, a totally mind boggling statement, almost completely void of reality. I wasn't even tired of the crashes, it was just a totally awful experience of using them in every way. They took forever to load, were clunky to use and even just downright ugly because the UI had nothing to do with what you usually got to use, and was a lot worse. The idea was good on paper, but the implementation sucked. Everyone, well almost everyone apparently, was relieved we didn't have to deal with any of that anymore.
- maxloh 11mo agoThe "walled gardens" he referred to are in fact based on open standards and open source, while the Applet runtime is not. Not all of Java is open source. The TCK, the testing suite for standard compliance, for instance, is proprietary, and only organizations with Oracle's blessing can gain access. AdoptOpenJDK was only granted access after they stopped distributing another Java runtime, OpenJ9.
- anthk 11mo agoActiveX was hell for security.
- jeroenhd 11mo agoActiveX was its own special kind of terrible for many reasons, but so were Java, Flash, and Silverlight. At least ActiveX didn't hide the fact you were about to grant arbitrary code execution to a website, because you might as well have assumed that the second these plugins were loaded. The only advantage to Java applets I can think of is that they had the advantage of freezing the browser so it could no longer be hacked. The Java applet system was designed better than ActiveX but in practice I've always found it to be so much worse of an end user experience. This probably had to do with the fact most ActiveX components were rather small integrations rather than (badly fitted) full-page UIs.
- Aardwolf 11mo agoFlash 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 knew what they were doing.
- jeroenhd 11mo agoMany of the old games and movies still play back well with Ruffle installed (https://ruffle.rs/ 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 you stick to the Ruffle compatibility range. The half-to-one-second page freeze that was the norm now feels wrong, though, so maybe it's not the best idea to put Flash components everywhere like we used to do. Runescape proved that Java could be a pretty decent system, but so many inexperienced/bad Java developers killed the ecosystem. The same is true on the backend, where Java still suffers from the reputation the Java 7 monolithic mega projects left behind.
- petesergeant 11mo agoI 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.
- jeroenhd 11mo agoI 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, freezes, and performance opportunities, the Flash/Java/etc. API kept standing out. Multithreaded rendering became practical only after the old extension model was refactorerd and even then browsers were held down by the terrible plugin implementations they needed to work around.
- masklinn 11mo ago> 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.
- jeroenhd 11mo ago>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.
- jauntywundrkind 11mo agoApplets also had no view-source. Spiritually the web ought to be more than an application development platform. We haven't been doing great about that (with heavily compiled js bundles), but there's still a lot of extensions that many users take for granted. I'm using a continual wordcount extension (50 words so far), and Dark Reader right now. Applet's are the native app paradigm, where what the app-makers writes is what you get, never a drop more. It's not great. The internet, the land of protocols, deserved better. Is so interesting because it is better.
- wiseowise 11mo agoDon’t worry, they’re trying to sneak back in with WASM and drawing everything to canvas.
- zihotki 11mo agoI wish there was a setting in major browsers to disable WASM or at least ask to enable per site
- MarsIronPI 11mo agoAt least with WASM I'm not stuck using Javascript whether I like it or not. Yes, transpiling to Javascript is a thing, but it's not too much better, since transpiled code isn't much more readable than WASM (see also ClojureScript; CoffeScript isn't too bad though, but it's almost equivalent to JS).
- jauntywundrkind 11mo agoWith v-dom and bundles, we have lost a lot of the societal wins of view-source already. Extensions still work but user agency is more limited. The view you are saying here is one that seems resoundingly common. Is what I heard from Flutter and flutter-web: my experience as a dve is what matters. What I can make is what matters. That's true, sure! But there's a balance. Society matters too. What agency users have, what their user agency allows them to do, how they can circuit bend your website for themselves also matters. How we judge the scales here is a factor. I am so so excited for wasm. Particularly wasm-components, where there is more than a huge mega bundle of compile code, where there are intelligible code boundaries and calls across modules. That, I want to hope will be a semi legibile WASM. But a lot of wasm today feels like it really slides back down the ladder into this rebuffing form of development that doesn't recognize any of how the web was better because it was more than the synthetic product it created, how the web was better for it's protocols, legibility, and user agency. I hope we don't slide back into a new Flash or Applet era, where the user & legibility & agency are given no regard, where a developer egocentricity is the only guiding principle.
- avereveard 11mo agoIt 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 crashes browser line, god riddance" line But it was deliberate action by microsoft. So yeah 100% politics because without a court document in modern society we cannot call this anything else.
- masklinn 11mo agoYes I’m sure jobs went on stage calling out flash as the main source of Safari crashes because of Microsoft’s Java plugin.
- sunaookami 11mo agoNo? Microsoft Java was discontinued in 2004, the crashes were infamous even way later in 2010. Flash was also notorious for crashing Firefox on YouTube. Not even mentioning the bad security of these plugins.
- ozgung 11mo agoFor 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.
- kergonath 11mo agoThat is almost entirely backwards. > For Flash vs iPhone case, it was indeed mostly politics. It was politics in the sense that Flash was one of the worst cause of instability in Safari on OS X, and was terrible at managing performance and a big draw on battery life, all of which were deal breakers on the iPhone. This is fairly well documented. > iPhone was released in 2007 and app store in 2008. iPhone and iPad did not support then popular Flash in their browsers. There were very good reasons for that. > Web apps were not a thing without Flash. That is entirely, demonstrably false. There were plenty of web apps, and they were actually the recommended (and indeed the only one) way of getting apps onto iPhones before they scrambled to release the App Store. > Flash ecosystem was the biggest competitor and threat for the App Store at that moment. How could it be a competitor if it was not supported? > iPhone users stopped complaining It was not iPhones users who were complaining. It was Android users explaining us how prehistoric iPhones were for not supporting Flash. We were perfectly happy with our apps. > and in 2011 Adobe stopped the development of mobile plugins. Yeah. Without ever leaving beta status. Because it was unstable, had terrible performances, and drained batteries. Just what Jobs claimed as reasons not to support it. > Adobe was in a unique position to dominate the apps era, but they failed spectacularly. That much is true. > Plugins were slow but this was mostly due to hardware at the time. Then, how could native apps have much better performance on the same hardware, on both Android and iOS?
- cogman10 11mo agoA coworker of mine that worked at Adobe through the death of flash said a big reason for that death was Apple deciding the Ipod touch Safari would not support plugins. Adobe had big plans on the Ipod supporting Flash and that announcement all but killed their Flash division. Yes, Adobe supported Flash for years after that, but it was more of a life support thing and not active development. They saw the writing on the wall and knew that for flash to survive, it had to survive in a mobile world. With the decreased support of flash, the other browser devs simply followed suit and killed off a route for something like Flash running in a browser.
- theamk 11mo agoMakes sense, Flash was eating battery like crazy. And it was widely used in ads, so it would appear on all pages of the internet. One of the first things I used to install on all my computers (laptops and desktops alike) was "block Flash until clicked" add-on.
- musicale 11mo agoNow no web browser can reliably block autoplaying video. :(