As someone who has not been following this very closely, why on earth did Adobe abandon Flash? They had a reasonably capable plug-in shipped in just about every browser, with a huge ecosystem around it, and then they just chucked it all away. This seems to make no business sense at all to me.
I don't think Adobe abandoned Flash -- they saw the writing on the wall due to declining support. It started with Apple coming out and officially stating[1] why they thought Adobe was bad for their devices -- even for the desktop OSX.
And since Apple devices have such a large market share, many web sites realized they needed to switch to HTML5 to support this market share.
I also think Apple's public rejection of Flash affected its reputation, and Flash was seen as an outcast by some. It became "cool" to switch to HTML5.
It was a snowball effect that resulted in their ultimate demise.
That's how I observed it anyway over the past few years.
Without being [too] snarky, I thought it was interesting that, after meditating on your reply for a minute, I could accurately edit your response, without really distorting your observations:
I would still consider it performant, even if it does drain the battery. It drains it just as much as watching a video on the YouTube app will drain the battery.
Although I do agree with your comment, I think that Apple's reasons for ditching Flash went beyond their public words.
> It drains it just as much as watching a video on the YouTube app will drain the battery.
I very much doubt that this is true. Most modern smartphones have a dedicated video decoding chip. Flash, on the other hand, is entirely in software. This means that to play a video the system in question has to load up not just video codecs but a full-stack VM -- Flash -- as well, and the CPU is responsible for most of that responsibility. At that point the power efficiencies gained by offloading functionality to a dedicated chip are lost.
Now, Adobe might have pursued a route wherein those functions were offloaded to the AVC chip and/or the GPU, but they were not apparently successful in being able to do so.
> Although I do agree with your comment, I think that Apple's reasons for ditching Flash went beyond their public words.
Why? I think at this point history has shown that those publicly stated reasons were entirely valid. Efforts to make Flash run efficiently on tablets and smartphones failed, despite energetic attempts to do so.
Evidence tends to support the view that Flash failed on mobile on its own shortcomings.
I think everything Apple said about their reason for not allowing Flash was true. I think they really did believe it made a sucky experience that people would blame on the phones, instead of flash.
I also think that wasn't all of their reasoning on the subject. The business value of not allowing cross-platform tools was huge. It effectively created a lock-in early-on in the iPhone's tenure. Of course, I have no evidence of this, but Apple has been too shrewd not to consider it.
So, in our world, where flash sucked, it wouldn't get on the iPhone regardless of the lockin implications. But in a world where flash didn't suck, I think the same decision would have been made.
The interesting thought question is whether consumers and developers would have allowed it in that world, and, if they didn't, how would the reduced lock-in have affected iOS share.
> So, in our world, where flash sucked, it wouldn't get on the iPhone regardless of the lockin implications. But in a world where flash didn't suck, I think the same decision would have been made.
Ahh, I see. Perhaps. That is certainly a defensible position. But to continue on the speculation: I'm not so sure. If Flash hadn't sucked then there would have been demand for it that Apple would have been forced to listen to. Their position in mobile was not strong early on.
That was what I meant by my last paragraph. If flash hadn't sucked, demand may have pushed it onto the iPhone and that could have drastically altered the landscape as apps would have been cross platform, leading to less vendor lock.
As a happy Apple customer, I'm not sure if that would have been a better or worse world. I'm very happy to have Android out there, keeping competitive pressure strong, but having Apple run basically unchecked early on caused a massive revolution that altered the whole mobile world, and in a cross-platform app world, would that have happened?
Regardless of whether it is true or not, both drain the battery. Flash probably does drain it faster, but I'm only talking from a user perspective. I will watch about five minutes of video online a day, on average. The difference isn't noticeable for my use case, and probably not for most other peoples.
> Why? I think at this point history has shown that those publicly stated reasons were entirely valid.
No one said they weren't. What I'm saying is that it is likely that there are other reasons for Apple not wanting Flash on their system.
> Efforts to make Flash run efficiently on tablets and smartphones failed, despite energetic attempts to do so.
What efforts?
> Evidence tends to support the view that Flash failed on mobile on its own shortcomings.
Again, no one has said anything different. I'm saying that Flash works well on the Galaxy Nexus, and as a result will probably work fine on the iPhone if Apple wanted Flash on its system.
In a sense, "draining the battery" is the entire point of a high-performance graphics plugin and it ought to be the user's decision whether or not to play Flash games based on their need for battery time.
So I suspect "it drains the battery" is covering for a deeper issue, like perhaps: were we getting good value from Flash?
It took quite a long time for Adobe to get mobile Flash to the state it's in now. Years after iOS devices were shipping without it. The earlier mobile versions of Flash for Android were not good.
My point was more that by the time the got a reasonable level of performance out of Flash on mobile it was too late: the industry had moved away from it as a platform.
By the time dual core phones like Galaxy Nexus arrived on the market, the battle was already lost. Adobe should've made Flash "work" from the days of iPhone 3GS/first Droid.
> They had a reasonably capable plug-in shipped in just about every browser, with a huge ecosystem around it, and then they just chucked it all away. This seems to make no business sense at all to me.
They only made money off of development tools and services, not plugin installs, and they can do that off of HTML5 as well. (They would have competition there, which is a disadvantage, of course.)
They did try to monetize higher-end games, with the 9% revenue model they introduced. But apparently they found with their partners that it had no future, so they cancelled it.
Particularly that for a lot of target apps (ie. anything vaguely interactive/animated/noisy, such as games and education products), Flash is the only alternative if you need to support IE7-9.
I am in the process of porting our suite of educational products from AS3 to Haxe/NME/Jeash purely to hit tablets, but it looks like we might have to use it on the desktop too if this exodus keeps up.
Note that Flex and the AS3 compilers are now an Apache open-source project, it's just the player that isn't.
Because Adobe dont understand the web,it's not in their culture.
They never invented one successfull webdeveloper product, and those they bought from Macromedia ( Dreamweaver , Fireworks , ColdFusion , Flash)...havent evolved a bit or are dead.
They fired most of the legacy Macromedia work force anyway. They should sell all these tools or open-source them.
I don't know if Adobe doesn't understand "the web"; I think what happened here was just the landscape shifting out from under Adobe. The iPhone wasn't going to support Flash, initially because the power economics didn't work. Once the App Store was released, there was no way Apple would allow out-of-band application development technologies.
So what happened is that, to reach this new segment of the market, web developers needed to develop two versions of their applications -- one for iOS and one for everybody else. This in turn spurred development of non-native web technologies, for those applications where a fully native version wasn't feasible, which further reduced the demand for Flash. Adobe was forced to try and play catch up, and that's a really tough position to be in.
Good riddance, but I'm fully expecting Flash's niche as a provider of abusive advertisement and wretched restaurant menus to be filled soon enough. To paraphrase Jurassic Park, "shitty software will find a way."
You've clearly never heard of Edge[1]. Adobe are now putting great strides in providing HTML5 tools.
That said, I personally would still avoid Edge just because of Adobe's past record. It might seem petty, but I've lost faith in the company so there's little incentive to pay to join their HTML5 services.
That would be fine if we were talking about some small hidden product, but Edge has been well covered on HN and it's included with Adobe's Creative Cloud - which has also been well advertised. Plus at some level you have to expect people working in the industry to take responsibility for their own research (assuming he does work in IT, rather than being one of those "arm chair critics" that lesser forums are often plagued with).
As a tangent: oh man, if just Fireworks was open-source, I'd never have to pay for an Adobe product again. Most of my high-level design occurs in CSS, so the only thing I actually need software for is creating tiny icons and textures, and Fireworks excels at that.
Heck, if someone made an OSS clone of Fireworks I'd be happy. Why is everyone in the open-source community with graphics knowledge trying to clone either Photoshop or Illustrator? (And no, I don't mean "a pixel-art editor" in the style of Pixen; Fireworks indeed does that, but also contains the live vector texturing and manipulation logic from Flash.)
”When we started working on a Flash deployment add-on some 18 months ago we had high hopes for the future of Flash as a gaming platform.”
That made me wonder whether they were paying attention. The writing has been on the wall for quite some time.
Luckily, they have anticipated this and built a WebPlayer that does not require Flash and works on all major browsers – it even supports Native Client. http://unity3d.com/unity/multiplatform/web
>That made me wonder whether they were paying attention.
That makes me wonder if you're paying attention. Unity is a framework for high-performance 3D games. If you want those games to run in a browser, what do you use? How did the landscape look 18 months ago?
They were paying attention. Exporting to flash would have been a huge coup for Unity. The adoption of their plugin is slow. Being able to leverage the flash player would make it an actual, viable solution for game companies now, not after the several years it would take for the Unity plugin to reach critical mass.
So you are saying using a plugin is better than another one ?
Doesnt make sense. How many users have the unity player deployed ? zip. And a plugin is still a plugin , wether it is flash or not.
I’d rather not use any plugins, but not all plugins are created equal. Flash Player is a turd, from security to performance and power conservation. We deserve better.
Even if Unity’s WebPlayer were every bit as miserable as Flash, it would still make web browsing better than having Flash installed, as few websites will call the Unity WebPlayer.
It'll never happen. Flash is a lightweight rich media format designed for rich media. Unity is a full blown 3d environment and is not lightweight and not 2d friendly. That said, the only thing unity is really useful for is 3d applications, which are very limited. It's not going to replace Flash for 2d games.
Mirroring the growth of the Unity development platform is the Unity Web Player which had reached an impressive 125 million installs. The install rate of the Web Player also continues to grow and now reaches over 5 million new computers each month with all indication that this rate will continue to rise.
To offer a business perspective on this, as opposed to widely spread tech-centric comments...
Flash market is still there, and it's growing. Hard-on-3D browser based games are extremely sparse with business opportunities, as are HTML5 (WebGL, Canvas, plain old school js) games.
Unity player is seeing huge growth, but that's peanuts in comparison to Flash plugin availability. HTML5 games need monetization strategy that ain't just "slap a multiplayer and process most of it on backend".
Thing is, Adobe is a corporation. They think business first, technology second. Market is there. Plugin availability is there. Tools are there. Developers are there. Wtf?
And that's why Adobe doesn't make sense to me with all they're doing with Flash. At all.
On a more personal note, another wtf! Flash enabled huge infusion of creativity on web, way of expressing in much less contrived ways than available. Made you experience web you remember fondly from not so far long ago. Still does. Remember that. Only then move on.
I was going to use flash as a frontend for my startup's technology. The thing is, I could already see the handwriting on the wall even a couple years ago. Adobe was running around with their heads cut off trying to figure out how to develop flash. They just had no idea what they were doing. The compiler wasn't very good and simple performance problems with the VM and flash timeline weren't fixed at all. Instead, we got immediately abandoned projects that just sapped resources from more worthwhile endeavors. You basically had to use haxe to get good performance for certain applications.
With all of these issues known to Adobe you might suspect that they would move aggresively to increase the performance of Flash in general and Flex in particular. More integrated tools would have also gone a long way in improving the developer experience for flash/flex. Instead, Adobe went ahead with the strange creation otherwise known as Flex 4. Adobe decided that the main issue with Flex applications was their poor 'skinability.' Flash catalyst made no sense, and was totally unusable for serious application development. It was another tool (bringing the count to 3) for flash/flex authoring that did nothing to solve the problems with the platform.
To sum up, if Adobe had:
-aggressively targeted 3D gaming from the start
-built powerful authoring capabilities in the flash ide rather than supporting multiple development environments
-addressed performance, security and cpu issues with the plugin
-developed the as3 language
-not wasted time on mobile browser plugins
-trust the flash ecosystem to fill in gaps as they worked on the platform
the story might have turned out differently. Of course, they didn't do any of those things when they had the chance
>You basically had to use haxe to get good performance for certain applications.
Haxe did nothing you couldn't do with AS3 and Alchemy.
>With all of these issues known to Adobe you might suspect that they would move aggressively to increase the performance of Flash in general and Flex in particular
They did, by quite a bit. They also had parallel project for increasing performance with Stage3D and Alchemy.
I get your point about Flex 4. It is a better UI framework than Flex 3, but not significantly better, so the engineering effort that went toward it could have been better spent doing something else.
I also mirror your thoughts about "what could have been". My pet theory is that Stage3D should have been a FP10 feature (which would put it around the beginning of 2009 timeframe) and Adobe should have had some sort of (optional) browser-based app store to push Flash as a gaming platform. And since we're in hypothetical scenarios, AS3 should have been better designed, and cross-compilation to HTML/JS should have been there from the beginning. This may have given Flash some legs. But the reality is that sooner or later it would have been superseded by HTML anyway. Oh well, hindsight.
Furthermore, looking at the performance gains that Google, Microsoft and Mozilla managed to squeeze out of a language like JS, one can't help but think how much faster ABC and Flash Runtime could been.
It's kind of hard to use C++ when you're not allowed to make a copy of std::string. Last I looked into this in May 2012 this was still not fixed (reported in 2009.) There is a page on stackoverflow where someone explains how to work around this problem by rebuilding a patched version of libstdc++. But after applying that fix you hit other similar problems.
Also, the sztrace() function exists and is documented, but they forgot to add it to the .h file, so if you want to log anything, you have to write:
Do you have a reference for this? Not that I have a reference to the contrary, but I'm not getting this impression at all based on the increasing number of sites that I see supporting HTML5 (more and more sites work on iOS devices).
At one point, most multimedia sites wouldn't work on iOS devices. Now, I only run into these occasionally, and it seems to be less and less frequently that I do.
EDIT: Actually, according to this[1], the Flash market is indeed shrinking. Assuming this is accurate, of course.
Aside of asking for details of few high profile developers and sponsors, no. They have extremely widely distributed and viewed network of games, so I'm fairly confident in the accuracy of those trends reported.
Another interesting point they've raised is fairly low overlap of mobile and flash gamer demographics (which impacted their cross-promotion attempts).
EDIT IN RESPONSE TO EDIT:
Market and distribution are not neccesarily correlated, prime example being iOS vs Android. In Flash game market, this is reflected in ever increasing quality of games published.
> Thing is, Adobe is a corporation. They think business first, technology second. Market is there. Plugin availability is there. Tools are there. Developers are there. Wtf?
The momentum is behind HTML5, and Adobe sees that. They can make the same amount of money selling HTML5 devtools as they can Flash tools, while not swimming against the current and not having to deal with building their own technology stack and maintaining it on multiple platforms.
With IE apparently going to support WebGL, HTML5 has become a complete solution for things like games. Flash's advantages in the games space are much reduced, and Adobe rationally can't ignore that.
Maybe developers are more interested in eco-systems than designers?
"It's completely build on open source software!" makes many devs proud to say.
whereas
"It looks and behaves just awesome, just like I imagined it!" makes many designers proud to say.
But it seems to me the OSS movement swept over to the designers in the last years, just look at the creative commons. Probably because many of them started to code for themselfs and found the potential of OSS.
I am absolutely sure they work on something targeting ASM.JS. They already support native client and for the rest there is the native Unity plugin. Furthermore Flash is (and always has been) buggy, support by Adobe is lacking and its future isnt looking good.
In that scenario flash seems pretty obsolete indeed.
As long as there is fragmentation then flash will not be obsolete. For example the lack of a common supported audio format or shader language in browsers to name two.
With ASM.JS and Native Client Unity can basically run their plugin without needing a plugin :) For the rest of the browsers there is still ASM.JS (which just runs slower on browsers not directly supporting it) or the native Unity Plugin. So for Unity Technologies, Flash is pretty much obsolete.
I was at Unite last year in Amsterdam, and had a chat with the Adobe reps at their booth. The first question I actually asked them was about the future of Flash, because I'd heard that it was being phased out. But that was "only on mobile" apparently.
Their demo was pretty impressive - lots of nice looking 3D graphics and so on - but I have to admit I was skeptical even then.
The more that jump of the whole Flash/Flex nightmare the better off we will all be as a wake up call to Adobe to either sort out the bugs that are quite evident or to just accept that it should be put to rest.
How about instead of continuing to ramble on with poorly spelled and grammatically flawed comments that claim all sorts of things about Unity (and Flash, for that matter), you provide the vaguest amount of evidence or even speculation to support your claims that Unity's web player is some sort of security nightmare?
How about some CVEs? Or descriptions of botnets using Unity to infect end users' machines? Or even descriptions of bugs in the web player that cause the slightest discomfort to users?
I've played lots of Unity games in my browser and I know lots of developers who use it. I've literally never heard complaints about security problems or had the Unity plugin crash my browser, and I have to terminate plugin-container all the time when Flash hangs, so I'm no stranger to plugin crashes.
Two following links should be sufficient to prove the point that just because you have never head of any security issues with the Unity Web player does not mean there are none.
Unity right now gets the benefit of security through obscurity. Nobody exploits Unity, because nobody cares about Unity. The install base is inconsequential. Flash penetration is something to the order of 90%+ of all PCs, which makes it a target.
Are you trying to argue that somehow Flash Player and JVM engineers don't know security like Unity engineers? Give me a break. It takes years to secure a leading platform, and even then you get zero-day exploits.
This is good news. Flash is a dying technology, and HTML is the way forward. Hopefully this means they will make a HTML5 version with WebGL of their player.
Flash Player not withstanding, the rest of the product line is very good IMHO. ActionScript 3 is a decent language with great compiler support, three good IDEs (FlashDevelop, FDT and Flex Builder) and libraries galore. Desktop support with AIR (i.e. iPlayer) is right there too.
But the runtime, Flash Player, sucks. It pains me to see Adobe throw away everything else just because the runtime is horrible. I would LOVE to see ActionScript shift towards browser-native or HTML5 runtimes. Seriously. Flex can go walk the plank along with the Flash VM, but please, Adobe, take the maturity of that platform and make it do something useful. You managed to compile to iOS, Android and Blackberry, so we know you are capable of really good work, it just needs to be web right now.
I like where you're going with this. Adobe has shown that they can make great tools for designers and developers. They're already big proponents of modern web standards like HTML5 and CSS3, see:
I would be very happy to see Adobe release a competitor to Unity3D Editor that can target all major platforms, including HTML5 (including WebGL and maybe asm.js).
That's exactly why I thought Flash would be repurposed - especially as they have a track record in making tools for creating (D)HTML and JS - anyone remember GoLive? Maybe they're still working on it, it can't be an easy task.
The thing I never understood was why Flash Player continues to be a binary blob. They don't even sell it for money. Just BSD license the damn thing and inside of a few months it will be on the standards track and people will have incorporated the code into all the major browsers and be fixing all the bugs for you.
Popular image file formats are open standards and people still buy Photoshop. Popular video codecs are open standards and people still buy Premier. Why they decided to go with a binary blob for ActionScript and in so doing make everyone hate them is a mystery.