I thought flex was great. I really did. The funny thing is I used to do a bunch of cold fusion work back in the day so I already had firsthand experience with Adobe's complete lack of interest in supporting a developer platform. All I have to say is "allaire homesite", most CFdevs should remember.
Nevertheless I got involved a handful of huge flex applications. This was back when it was Apollo, so 07/08. Firefox was gaining traction but not much, Jquery didn't really exist and google was for searching, not web browsing.
These apps looked beautiful, every pixel was accounted for, they were responsive(ish) and, the best part, when they were done they were DONE (mostly). No more trying to support IE5.5 or IE6. Flex was something you could sell to an enterprise shop.
Then native technologies finally caught up. The IPhone, perhaps rightly so, gave a huge middle finger to Adobe. Then JQuery, then Bootstrap comes into the picture and... amazingly... the shit actually works. Seriously, this is not expected behavior when dealing with html/css/js libraries.
Flex was really just a means to an end. For devs like me it meant I didn't have to code another $#@! table layout or drop-down-select or menu-navigation or accordion.
On one hand I feel the industry caught up to Flex and the better player (native support) won. I feel that I shouldn't personally blame Adobe on this one. On the other hand I know that Adobe has killed off so much through their process of atrophy-driven-development that I can't help but want to point a (very specific) finger at them.
Eh, yeah, at this point when I hear Adobe I walk away, I can't blame them for everything, but I've lost all faith in their ability to deliver.
the shit actually works. Seriously, this is not expected behavior when dealing with html/css/js libraries.
People learning html/js/css today have no idea how incredible they have it. They don't even have to think about IE compatibility!
I used a lazy evaluation strategy for my life: in 2007 after it became clear to me how ... well, awful ... the webdev technologies were, I switched fields for a few years. And hey, presto, now in 2013 everything works. And works well! I can be a web developer with about 1/3rd of the effort it would've taken me in '07.
EDIT: Actually, after spending a few minutes remembering what those times were like, I'd say nowadays it's a lot more than 3x easier. It's now at least 10x easier to write webapps, if not 30x.
The vast majority of one's time was spent hacking around various unexpected behaviors and incompatibilities.
For sure, certain things have gotten a lot better. Supporting IE8 (still for a bit) is far better than supporting IE6/7.
But there are new areas that inspire a kill-me-now reaction. If you've tried to do anything serious with controlling HTML5 audio via JavaScript, for example -- it's a nightmarish maze of different commands and event names and varying functionalities and crashing bugs that vary from browser to browser and version to version.
Ajax calls ... I remember how painful that was before jQuery.
I wonder too if being around before jQuery took the prize has something to do with why I hesitate with new technologies, especially when so many try to fill the same need. Had I not picked jQuery I would have had to rewrite everything in whatever had caught on.
So yes, you're absolutely right; they are so lucky to have missed those dreary times.
I spent a few years doing Flash/Flex development back then as well. I don't know if this was ever a problem for you, but I always found Flex to be, well, kind of slow.
All that data binding and event bubbling was convenient for the developer, but you certainly paid a price for it at runtime. Most of the Flex apps I encountered during that time period (even very simple ones) just seemed to run so sluggishly. That type of user experience might have been okay for internal corporate type applications but I never really found it suitable for the web. And of course on top of that you had to deal with the SWF loading times too.
Flash/Flex definitely had its time in the spotlight but I can see why it ended up dying out.
I really miss working with the Flex framework, even after all these years being away from it. The layout features were so comprehensive, data binding was expressive and very very simple. All the source code was available right in the editor to inspect, so making a new component that conformed to the behavior of builtin components was really easy. And lastly the skinning was just awesome, every time I have to create a custom control in IOS I hang my head and wish I had the skinning features flex had.
Adobe has never cared about developers. I'm not sure whether from greed or incompetence. One of my first gigs was as a Director developer (eww Lingo) - I managed to jump off that ship right before it sunk from neglect.
It's frustrating, Adobe make really useful products that hover on the edge of greatness - Director, Flash, Coldfusion, Air - then somehow seem to lose interest right before they break through. I mean, if Adobe had of lifted even one finger to work with Apple, then Flash might have had a bright future in front of it. As it stands, Adobe stood stupidly chewing their cud in usual fashion until El Jobsy gave up.
In some ways, I regret every one of the many hours I have put into learning Adobe dev platforms; on the brightside, their BS pushed me straight into the arms of OSS.
True. Another problem is, they now seem to not care about users either, with the possible exception of large design studios.
The CC subscriptions are fucking over customers who used to skip a version or two (now they have to constantly pay up or they lose their CC programs), and they also fuck people that don't need all of CC but a few choice programs (you either fit with their pre-defined bundles or you're screwed if you need access to only a few programs: after 2 programs, it gets cheaper to buy the whole suite, even if you don't need it).
I'd appreciate a full_suite_price/number_of_components base pricing for a single program (with a slightly larger weight for star programs like Photoshop and Premierre), instead of the current "need 3-4 programs? Sorry, you have to rent the whole thing").
Plus the non-US Creative Cloud pricing is a joke. The formula seems to be: take the US price, add any local taxes (legit) and hike it another 30-40% just because.
>It's frustrating, Adobe make really useful products that hover on the edge of greatness - Director, Flash, Coldfusion
Hmm, all of those were made my Macromedia (Cold Fusion by Allaire and then Macromedia).
True, although they maintained a lot of momentum after the acquisition. But maybe that's the answer - perhaps Adobe slowly starved the dev platform teams to death whilst rolling in all the filthy lucre from the design products.
What sucks is that for media creation apps, Adobe still has untouchable quality. Nothing even comes close (sorry Gimp, RIP Freehand), except maaaybe Final Cut or Vegas for simple editing.
I wouldn't put Premiere in the untouchable league. Sure, Photoshop, Illustrator, and (perhaps to a lesser degree) InDesign are industry staples, but AFAIK, Final Cut Pro 7 is still the king of professional video editing software.
It's still in early-early-early-beta but it's the first product I looked at and thought "woah, there's something that is actually interesting in the design space".
I've seen other awesome specialist "arty" apps like this, but nothing for general use. Photoshop has incredible breadth and depth, I've been using it for 15 years and I still stumble across hidden corners.
Corel Draw is the only app I've ever seen seriously compete, and it wasn't really in the same league - I could be wrong, I never spent a long time with it. Gimp really is a toy by comparison. (Sorry Gimp.)
A veteran! Ah yes, i have been thinking that for a while now after reading those posts. Adobe didn't CREATE that stuff. they simple acquired it.
PS: Been playing around with Flash since Flash 4! (was a wee little kid back then). Pretty much learning programming from actionScript. So it really does break my heart to see that Adobe is letting it die
Funny how Adobe used to be one of the major promotors and implementors of SVG (remember the Adobe SVG plug-in?) because it was their answer to Flash, and then immediately after they bought Macromedia, SVG instantly became the red-headed bastard stepchild living out back in the dog house. And now Adobe's all like "oh yeah, SVG, that's part of HTML5, and we totally support that!"
In defense of Adobe, I made my living for many years from a Flash 8 app I wrote 9 years ago. We have since moved to html5, but I swear, I have made 1 change to the flash version in 5 years and it still works flawlessly on all browsers. The html5 version constantly require tweaks for stuff that changes. Support for html5 video is all over the map. e.g. do you get load progress events? Are loaded ranges truthful? Contiguous?
I don't disagree with the author as we are now 90% html5, and 10% flash, but the flash version has worked without issue over the last 200 updates to the flash plugin. I have a feeling our app is going down some C++ code path that is never going to get modified because it is a giant shit pile that no one understands. The good news is that it will probably work forever.
I've seen the Flash player source (we had a source code license at chumby) and even modified parts of our version of it.
It was in fact a giant and difficult to understand and overly abstracted piece of shit. But it mostly worked and a lot of the horrible abstractions helped it be wildly backward compatible.
I would have thought so too but I just watched this talk that suggests flash is the best way to go if you want sound effects in your html5 game (click on the second to last slide to skip): http://www.gdcvault.com/play/1015669/A-Practical-Guide-to-Bu...
If there's a better solution I'd love to hear it, since this wouldn't work on iOS devices afaik.
The technology is in transition. Flash is the least-worst option for now, but it won't be a year from today. Impressive new Web Audio APIs are already in the pre-release Chrome and Firefox, and I believe some just landed in iOS7 as well.
Pre-release? they were in ios6, been in chrome since version 10, ios6, safari 6, and the whole idea of them CAME from firefox. What is coming out in firefox now is the standardised version of what's already there.
as for IE support, well, there's not really that much risk in using soundmanager/flash if you still need to support 7 and 8, is there? I even discovered that old MS even exposed some nice windows media activex controls that you can use to do simple sound playing stuff without loading up a flash plugin, if you're that serious about backwards compatibility.
Forget a year from now. You can start using this stuff today, and by the time you release a year from now, things will be even better.
The writing was on the wall when Adobe killed flash for mobile about two years ago. It's pretty clear that they wouldn't invest much resources into flash and instead focus on HTML5.
Just to clarify, they killed flash for mobile browsers. Adobe AIR for mobile, which packages the Flash runtime and user application together as a native app, is still alive and wellish.
I used it myself for a small project a year ago and was well pleased. I find that Flash has such a PR stigma now that developers don't even admit to using it. I unbundled an app I use occasionally just the other day cause it smelled a little Flash-ey...what do you know, it was!
Either Adobe open sources Flash, or it's as good as dead. And one had to start worrying about Flash dying earlier. It's somewhat late for such concerns now. For example newer versions of Flash aren't even released for Linux anymore for a while. Isn't it a clear indication that it's time to move on?
>Either Adobe open sources Flash, or it's as good as dead.
It's already dead, it just hasn't hit the ground yet.
Imagine that the features that make Flash useful were added to browsers without the need for a plugin. That's what's been happening. The process hasn't completed yet, but it will, give it time. It takes time because standards bodies move slowly etc. etc.
At that point, who prefers Flash to the standard? Nobody. Not developers, not users, not even Adobe -- who is only in it to sell software, which they can sell just as well if the output is HTML as if the output is SWF. It even benefits them to kill Flash (the plugin), because then they don't have to maintain it anymore. Everyone would be happy to have Mozilla do that part instead.
So you say, fine, open source Flash, make that the standard everyone is converging on so we don't have to wait. Ignore for a moment the probable licensing issues Adobe would have in doing that if they've licensed anything from anyone for use in Flash. Ignore the wailing you would hear from Hollywood if the "DRM"/obfuscation they think they get from Flash were to be made transparent by releasing the source code. Who actually wants the plugin?
The features that Flash provides would work better if they were properly integrated into the browser. But doing that requires you to rewrite the code as part of the browser instead of a plugin -- which you want to do anyway because as we all know the Flash plugin is a dungeon of sorrow and despair. But if you have to rewrite it in any event then what good is having it? You just throw it away and start over as you would anyway.
So Flash is dead. All that releasing the code would get you is to extend the period of time that we spend lugging around its corpse in the passenger's seat pretending it might wake up again. If you really want to do something productive, find a feature in Flash that isn't in HTML and submit a patch implementing it to Mozilla and Chromium. Shipping code wins -- implement it and people will use it, and implement it the same in two major browsers and the other will follow and standardize it. The sooner that happens the sooner Flash can disappear and make everyone the happier for it.
make that the standard everyone is converging on so we don't have to wait
No, I don't see any benefit in it as a standard. I only said it's the only way for Flash to exist in the future. It doesn't mean it has to be used with that. In vast majority of cases Flash now is used to decode video. HTML5 video suffers from crooked companies like Apple and MS who refuse to adopt open standards. When situation will improve, Flash will surely hit the ground for good. And to clarify, I don't think there is a point for Flash to continue.
Adobe actually wants to open-source Flash, but they're concerned about the security impact. The source would make it a lot easier to find a 0day and infect somebody's computer.
They actually have trusted customers that they share the Flash source code with: Google and Mozilla both have it, for instance.
Security by obscurity is not a real security anyway. So I don't think open sourcing would hurt it. If anything, it can even improve security, since more researchers would be able to review it.
I think that depends on just how many security flaws are in the codebase. If the codebase is so full of bugs that Adobe wouldn't be able to keep up with the flood of exploits when it's open sourced, they're better off keeping it closed for now.
Basically, open source makes it easier to find security bugs, but that's no help if you already have your hands full with the ones you can find yourself. I don't know if Flash is in that state, but it kind of sounds like it.
These are Adobe's concerns, not mine. I don't work for Adobe, but I'm familiar with Flash and have talked to Adobe engineers before.
And it's not an easy call to make: keep in mind how many computers have Flash installed. If open sourcing the project would double the rate that vulnerabilities get found and exploited, that's a real problem for Adobe.
Trusted partners already have the Flash code and report security issues.
Is that something with any real evidence behind it or just Microsoft FUD? I have a hard time believing that patent trolls would even be interested in hiring engineers to read source code. Their business model is to send you a threatening letter with a settlement demand which is noticeably less than the cost of vindicating yourself in a courtroom. What do they care anything about what the code actually does, so long as they can maintain the charade sufficiently to make the threat credible?
Adobe cares about developers, they just know when a technology needs to die.
Things like the new Generator framework for Photoshop and the entire Edge initiative show that they care more than they have in the past. They just don't care about the dated platform you're using.
Adobe just patched several remote code execution vulnerabilities in the latest update in the past month, don't you think it's a little premature to state that them patching shader compilation to prevent exploit is something that will literally never be solved ever?
More than likely, Adobe determined that it was much easier to secure a known slow path for shaders on the CPU than a fast GPU path. As a security-conscious user, I think I prefer that they adopted a quick fix that might have incurred a performance cost rather than put everyone else at continued risk for an indeterminate amount of time.
If you read the comments on the report (and specifically Jing's comments, who works for Adobe), you'll notice that they imply it will never be solved ever.
The bug report was written a few days after the release of the player that contained the crippling. Note that we had to find out through other ways than a changelog in Flash what was wrong. The Adobe worker said they had to disable JIT compilation because of a security issue and didn't have the time to fix it before the release.
A month after the bug report was created, he implied through asking for votes and by apparently talking to management, that he'll try to get it fixed in a future release. We waited another month and now he closed the bug, added "NeverFix", and gave alternatives that are a joke.
If that isn't a NeverFix, I don't know what is. If you know have inside information on this, please do share.
* They were trying to intentionally hide this change to spite you
* They were avoiding unintentional disclosure of the attack vector for this vulnerability (indeed, none of the CVEs that I could find for this month's Adobe Flash update describe the attack)
* The security hand didn't talk to the changelog hand
* The security team worked independently of the perf team, and perhaps this case wasn't thoroughly tested or the regression not detected
And so on, and so forth. Let's be honest, there are lots of reasons we can imagine why Adobe did this, but imagining things doesn't make them true.
It doesn't matter whether it's ignorance or malice. I don't have to imagine anything, because what I care about is whether changes that affect me are in the changelogs.
I'm so glad we're able to read so much into so few words.
Today I learned: "never fix" means they will never ever solve the problem when it's used on a bug report submitted due to a performance regression on what might have been a zero-day vulnerability with in-the-wild attacks:
> Adobe is aware of reports that CVE-2013-0633 is being exploited in the wild in targeted attacks designed to trick the user into opening a Microsoft Word document delivered as an email attachment which contains malicious Flash (SWF) content. The exploit for CVE-2013-0633 targets the ActiveX version of Flash Player on Windows.
>
> Adobe is also aware of reports that CVE-2013-0634 is being exploited in the wild in attacks delivered via malicious Flash (SWF) content hosted on websites that target Flash Player in Firefox or Safari on the Macintosh platform, as well as attacks designed to trick Windows users into opening a Microsoft Word document delivered as an email attachment which contains malicious Flash (SWF) content.
It's a shame because Adobe have done some really interesting work.
I'm no expert in lower level tech but I used one of their tools to compile libjpeg to AS3 bytecode. I was able to write a file uploader half in AS3 and half in C. Faster than any other uploader I've ever used with the ability to reliably compress jpegs before sending from the client machine.
Unfortunately, I don't think they ever completely open sourced the work they did and it was a lab project so they don't support it (though it's been a long time since I looked).
It was Adobe Alchemy, now http://adobe-flash.github.io/crossbridge/ but doesn't look very alive. I remember I used it to compile Box2D and Bullet...took some finagling, but was doable in a few days.
I did flash/flex/air development for 5 years.. it was fun for sure but when you had problems you were at the mercy of adobe. Don't get me started on the many hacks I had to do to be able to use the core flash, hacks that fixed problems that adobe knew of but didn't care to fix for multiple version releases(they still break webcams every few releases). Needless to say I was sad when adobe stop pushing flash and I quickly had to switch gears ,but looking back I'm glad adobe did this. Flash is pretty pointless unless you are doing video. It hurts to see the company and tech you spent so many years/hours in just died without even fighting.
Great example of this is Sliderocket.com (powered by a very complex Flash slide editor/interface), recently purchased by ClearSlide. My guess (with no inside knowledge whatsoever) is that SlideRocket was looking at an expensive tech transformation to move up to current standards and fix all the annoying technical debt they've accumulated along the way. (It's extensive: I'm a customer, their platform is buggy and dated.)
I wonder if that explains why the flash ads on sites like techcrunch have been so slow recently. For the most part flash is a pain in the ass. I've never programmed it myself, but my wife tells me it is horribly buggy.
What does this mean for Scaleform? if Flash stops being developed, then will Scaleform continue to be developed independently? lots of game studios are using Scaleform for their games.
Can anyone read that Adobe bug report mentioned in the article? All I get is "We're sorry but we weren't able to process this request due to an unforeseen error.".
Well, I would say Flash's inability to perform well on mobile was the killer-blow but even before that flash was the only thing that caused blue-screen on my Win7 box... and it's always the thing that makes may laptop's fan go into warp-drive... and on linux, Flash kept claiming the whole sound-system and I'd have to close the browser to get sound out of any other app(but that may have been a linux issue more than Flash. Just interesting that Flash was the only audio-enabled thing that would cause it.) Flash was great, certainly better than COM object that embedded WindowsMediaPlayer into your browser(IE only). I was a major[1] Flash lover at one time, but it's really past its expiration date at this point. We're just waiting for solid & frozen'ish HTML5,<video> and <audio> tag RFC specs and to agree on a non-patent-landmine-covered decoders for all significant browsers to support.
Then maybe someway to "compile" javascript so websites that do flashgames(Nintendo's Japanese website is big on this) can keep doing it with HTML5+js without worrying that it's super-easy to have their content "borrowed" and re-hosted somewhere else.
Note, there are ways to make a Flash game(swf) not work outside of a given domain that would be at least semi-difficult to remove since it generally follows the same-origin rules of XMLHttpRequest. If you test for that in your actionscript, export-to-swf with obfuscation enabled and make sure the string is obfuscated so it can't be found in a hex-editor even if the export-obfuscation was reversed, a flash game hosted at http://www.nintendo.co.jp/ will not run anywhere else and it'd be kinda difficult to alter that behavior.
Seems like a rant from someone who's butthurt.
Technologies evolve and there's no future for Flash.
Adobe has been pushing a lot and investing on new stuff for developers.
I thought flex was great. I really did. The funny thing is I used to do a bunch of cold fusion work back in the day so I already had firsthand experience with Adobe's complete lack of interest in supporting a developer platform. All I have to say is "allaire homesite", most CFdevs should remember.
Nevertheless I got involved a handful of huge flex applications. This was back when it was Apollo, so 07/08. Firefox was gaining traction but not much, Jquery didn't really exist and google was for searching, not web browsing.
These apps looked beautiful, every pixel was accounted for, they were responsive(ish) and, the best part, when they were done they were DONE (mostly). No more trying to support IE5.5 or IE6. Flex was something you could sell to an enterprise shop.
Then native technologies finally caught up. The IPhone, perhaps rightly so, gave a huge middle finger to Adobe. Then JQuery, then Bootstrap comes into the picture and... amazingly... the shit actually works. Seriously, this is not expected behavior when dealing with html/css/js libraries.
Flex was really just a means to an end. For devs like me it meant I didn't have to code another $#@! table layout or drop-down-select or menu-navigation or accordion.
On one hand I feel the industry caught up to Flex and the better player (native support) won. I feel that I shouldn't personally blame Adobe on this one. On the other hand I know that Adobe has killed off so much through their process of atrophy-driven-development that I can't help but want to point a (very specific) finger at them.
Eh, yeah, at this point when I hear Adobe I walk away, I can't blame them for everything, but I've lost all faith in their ability to deliver.