Sunsetting Flash
blogs.unity3d.com
blogs.unity3d.com
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.
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.
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."
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.)
"Flash on my Galaxy Nexus drains the battery."
If you read http://www.apple.com/hotnews/thoughts-on-flash/, you'll see that point #4, was all about battery, and battery life is indeed, an element of a "performant" device.
Although I do agree with your comment, I think that Apple's reasons for ditching Flash went beyond their public words.
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.
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.
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.
So I suspect "it drains the battery" is covering for a deeper issue, like perhaps: were we getting good value from Flash?
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.
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.
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.
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.
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.
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.
"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.
Maybe they escape drudgery that is most of development that way. :)
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
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.
So, have they fixed this bug in Alchemy: http://forums.adobe.com/thread/487570
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:
extern "C" {
void sztrace(char*);
}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.
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
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.
And nothing guarantees that the Unity web player is not a turd , from security to performance and power conservation.
Obviously you never used their player ...
http://www.marketwire.com/press-release/unity-reaches-one-mi... (April 2012)
Yep, that's zip alright.
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?
In that scenario flash seems pretty obsolete indeed.
Their demo was pretty impressive - lots of nice looking 3D graphics and so on - but I have to admit I was skeptical even then.
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.
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.
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.
The flash IDE is great for vector graphics , animation ,and game assets.
AIR is great , but there is a lot of untaped potential , and Adobe doesnt seem to be interested in making that product grow.
Adobe could run it's player on a js vm, but does Adobe want to now ?
Adobe is relaunching a new version of Director , that would make it a unity competitor.(i'm one a beta tester of the next director).
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.
http://html.adobe.com/mission/
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).
Actionscript 4 -> Web, anyone?