Flash successfully enabled one set of code for one application, independent of browser and OS. Macormedia documented the file format back in the 90s. The Flash Player itself remained proprietary, but the open file format enabled competitive authoring tools like OpenLaszlo in addition to the original Flash authoring tool and later Flex. Of course, OpenLaszlo moved to support HTML many years ago, as browsers grew faster and more capable making HTML a practical choice for apps with desktop-like interactivity.
It’s Not Just About Technical Merits
For a while it looked like Flash might just offer a proprietary API that worked effectively across desktop, web and mobile, but they didn’t effectively make the leap to mobile, nor did they keep up with some of the capabilities of the desktop browsers; however, neither have web browsers yet to fully catch up to Flash. The standards committee approach doesn’t seem to be effectively driving new capabilities and the platforms are splintering even more than they were in the late 90s.
So why did Flash lose (technically)?
- Settings… (This should have been called Flash Player Settings: with the addition of context menu items, the “Settings…” menu may appear to control application setting; however, if someone picks that menu item when an iframe is partially obscuring the app, it will not appear to the end-user and the app will seem to hang. I have to admit personally responsibility for screwing this up circa 2000 when I was at Macromedia leading the Flash video team. In my own defense, it is very hard to balance usability and security. I wish we had done more of a trusted app model with authorization of features (like Android and iOS do fairly well for mobile apps) and used OS dialogs to prevent spoofing.
- Drag & drop not integrated with the desktop (Browsers are doing better on this, but there is still a ways to go)
- Cut/Copy/Paste really needs to work well for text and all media types, which is still not fully there on browsers.
- http auth: seriously silly that this was not easily supported
- Sometime network operations fail — real apps need reliability
Why HTML still sucks, just like Flash
- “This script has caused the Flash Player to run slowly” — web browsers haven’t figured this out either, I like how Apple handles this with desktop apps better
How HTML sucks more than Flash
Desktop HTML video suffers from same of the same issues as mobile web video:
- The only use case that is well-vetted and works effectively cross-platform is playing a movie with VCR controls. There are a lot of other video interaction use cases that Flash did a very good job of supporting and HTML isn’t there yet on even modern browsers, let alone on the range of browsers and platforms supported by Flash.
- There is no accepted standard here — we’re back to the codec/format wars of the late ’90s with Apple sticking to QuickTime and Google arguing that zero cost = open. This is a hard problem, and pretending it is solved isn’t helping anyone.
and of course, same goes for audio.