←back to thread

1424 points moonleay | 1 comments | | HN request time: 0s | source
Show context
moonleay ◴[] No.45941605[source]
A cool project, when you want to use AirPods outside of Apples ecosystem. Sadly, you have to use a rooted android device with a small patch due to a bug in the Android Bluetooth implementation. https://issuetracker.google.com/issues/371713238
replies(6): >>45942063 #>>45942373 #>>45942451 #>>45943437 #>>45943943 #>>45944340 #
Andrex ◴[] No.45942373[source]
I'm convinced it's impossible to implement the BT spec without MANY of these kinds of bugs popping up.

Apple mercy-killed Adobe Flash, we should be asking they do the same to Bluetooth. I'm sick of living in a reality where no one thinks to make something better. It has to be possible.

replies(3): >>45942402 #>>45943295 #>>45943476 #
SilverElfin ◴[] No.45942402[source]
Mercy killed? Flash was great. There were so many inventive games and animations in that era. Apple didn’t mercy kill anything - they just removed a threat to their walled garden ecosystem using their anticompetitive position, but dressed it up as a security issue.
replies(10): >>45942413 #>>45942465 #>>45942494 #>>45942541 #>>45942577 #>>45942835 #>>45942907 #>>45942943 #>>45943049 #>>45943407 #
kmeisthax ◴[] No.45942943[source]
As someone who did a bunch of work on Ruffle a while back, "mercy kill" is almost the correct word. There's about a decade it spent rotting before the actual kill, and Apple's not the one who fired the final shot. I've heard stories from both the Apple and Adobe side on this, but basically both companies wanted Flash on iOS and neither of them were capable of actually shipping a good version of it.

Apple begged Adobe to ship a working Flash mobile build at least four times and each time they rejected it for all sorts of various UX or performance issues. At one point Apple asked for and was delivered Flash Player source code, which they reportedly couldn't get to compile. Adobe tried to brand Flash as an open standard, and then went over Apple's head by just shipping an AIR runtime that could be packaged into an IPA and submitted to Apple. Jobs then wrote the infamous "Thoughts on Flash" letter, which was really there to justify going scorched-earth and banning all third-party development tools. This only lasted for about three months before the Obama DOJ threatened to sue[0].

Also, Steve Jobs was probably pissed off that he couldn't get the CEO of Adobe on speed-dial. At that point in time everyone involved with shipping iPhone software was in his contacts and in regular contact with him. Google logo looks weird on the phone screen? Have Jobs call Page and get it fixed in 10 minutes.

As it stood after that moment, Flash was a viable development platform for iPhone apps and remained so for many years. This is entirely separate from its use in the browser. Practically speaking, you have probably played plenty of Flash games on iOS without even knowing it, because all the hard work of building touch-friendly UX and a performant UI was shunted over to the developers of individual games rather than trying to make, say, the core Flash rendering model GPU capable[1].

Adobe then shipped Flash Player for Android to huge fanfare, and it sucked just as hard as it did on Apple's dev iPhones and was unceremoniously canned a year later.

At this point it was obvious Flash Player needed a rewrite, even within Adobe, so they announced "FP Next" along with an AS4 language for new movies to run in. Except the Adobe execs were angry about the cost so they tried to shake down their customers for the funds. They wanted any cross-compiled 3D engine code to have to pay a revshare to Adobe. Everyone jumped ship to Unity, so Adobe canned the revshare requirement... and FP Next/AS4, the thing that was supposed to modernize Flash's aging codebase.

And then right after Adobe starts disinvesting from Flash, a bunch of CVEs land and all the browser vendors pushed hard to actually, once and for all, excise plugins from the browser. That was the actual mercy kill, but it was preceded by almost a decade in which all the people who knew how Flash actually worked didn't have the budget to fix it, and all the people who wanted it fixed didn't have the expertise to do it.

[0] For the record, Obama was the guy who saw Zuckerberg illegally buying Instagram to keep people from moving off of Facebook and said "sure thing, wave it through".

[1] There's an AS3 project called Starling that gives you hardware rendering by pre-rendering a bunch of assets in advance into bitmaps, which kind of betrays the whole point of Flash. But I also can't imagine Adobe doing it any other way as the Flash renderer was both highly optimized and bespoke.

replies(1): >>45943482 #
mschuster91 ◴[] No.45943482[source]
Thanks for the writeup. Dear God, Adobe's leadership appears to have been completely bonkers...

I wonder why they didn't just go and open-source the entire damn thing, all its commercial value has been lost anyway.

replies(1): >>45989015 #
kmeisthax ◴[] No.45989015[source]
Flash Player, like most proprietary software, is not Adobe's to give away. There's lots of licensed code owned by companies that sold it to Adobe (or Macromedia) and having a functioning FP runtime would require getting those companies to also license the same code. Remember: proprietary software cares a lot less about licensing arrangements[0] than we do. Everything they do wrong can be papered over with money and licensing agreements, because the entire point of copyright is to make money moves out of people's wallets in a way that improves the health of the state. The FOSS world rejects this principle, so we have to build everything from scratch to get a clean copyright pedigree.

If you're wondering what would actually block a FOSS release of the Flash Player runtime, here you go:

- Sorenson Spark, a half-finished H.263 implementation.

- On2 VP6

- Likewise, their H.264 or MP3 decoders, which were almost certainly third-party libraries as well.

- The "advanced text rendering engine" added in SWFv8 to replace legacy font rendering, which I know was licensed but I forgot which company.

- Adobe DRM

The media codecs would be replaceable with any number of FOSS implementations. I've[1] personally written a clean-room decoder for Sorenson-flavor H.263 in Rust, and the APIs for these libraries tend to be pretty simple and easy to wire up. Font rendering would potentially be more invasive to the codebase. And DRM is basically high-grade radioactive waste to FOSS projects. The main problem is that this wouldn't be "just compile Flash from source" anymore, you'd be making an "OpenFlash" fork with at least some compatibility breaks involved.

And to be clear, Adobe actually had some interest in opening Flash Player. They released a bunch of technical specifications for the SWF format - albeit, hilariously inadequate and inaccurate ones. AS3 in particular was supposed to be a web standard, in the form of ES4, or "JavaScript 2.0". Adobe actually released their AVM2 implementation, avmplus, specifically with the goal of it replacing SpiderMonkey in Firefox. This never worked out[2], but they kept updating the avmplus GitHub right up until the death of Flash.

The underlying problem with both "opening up Flash Player" and "porting Flash to iPhone" is that Adobe management was not terribly interested in doing things that did not have a direct connection to bottom-line revenue. If they were willing to open Flash, they would have also invested into their platform instead of trying to find a way to bilk money out of people cross-compiling Unity to Flash.

I think the best goodwill move Adobe could make now, in 2025, would be to specifically release the renderer component of Flash. They own it completely, the copyright pedigree goes all the way back to Jonathan Gay, and it does a lot of specific things that no other SWF runtime implementation gets quite right. It would be an absolutely amazing object of study.

[0] https://www.theregister.com/2018/03/14/a_dolby_sues_adobe_fo...

[1] To be clear, several other interested Ruffle contributors helped me actually get it decoding video (especially some broken files) and doing so efficiently.

[2] I'm not a fan of him but I hear Brendan Eich stalks these forums. He probably has better insights on the backlash to ES4 than I do.

replies(1): >>46013868 #
1. mschuster91 ◴[] No.46013868[source]
Holy, that's a reply of rare depth and quality. Thanks!