I feel Adobe discontinued support for Flash Player on Android because the vast majority of content on the web that utilized Flash was simply video or animated banners, and HTML5 is a better solution.
Apps dominate the overall usage of devices. AIR puts you right in that large demographic and it does so in a way you can use a vastly unified code base so apps can be deployed to multiple platforms with little recoding. With Stage3D more doors are opening up not just to games but to native-like performance without native coding, saving huge amounts of app development time.
Flash makes complex animations simple. Desktops will continue to enjoy those rich animation experiences. Devices will enjoy it in apps. I feel they targeted destroying the poor practices which gave the product the real bad press. Sites made entirely of Flash, "just because they could".. It greatly impacted sites universal usability, SEO and accessibility (read: handicap).
Nobody is saying take your complex games and animations and start learning canvas. Give it more time and the frameworks around canvas will grow, just like frameworks around Stage3D. Adobe will no doubt continue to wrap canvas and also continue to optimize Stage3D.
In the future I have no doubt Flash Player (or perhaps a full shift to AIR) will re-emerge on devices. Those people developing for devices have one burned in bit of experience however. People think their device is a computer. This is a huge mistake. Only now are we even beginning to penetrate the CPU performance of an 8 year old desktop. The GPU, thankfully, is pulling all the weight averaging the speed of a 4-5 year old desktop. With RAM on top end models (2GB) just starting to open doors, you're standing on the revolution of mobile computing.
Flash Player doesn't run well on devices because web developers didn't create their sites with near decade old computers in mind. As devices continue to catch up to desktops you may very well see Flash Player appear again. But not until people, like you, realize what device development takes.
You should find a way to enjoy the ride and evolve. The industry isn't going backwards.
Thanks for your reply.
But - I don't agree with the video on android assumption but we will not be able to prove it anyhow. A lot of your other points might be so, but I don't feel the speed of devices has anything to do with what adobe does to Flash.
But what I totally disagree about is: 'The industry isn't going backwards'. The Flash community was by far the most vital part of bringing the 'web industry' (don't like the term) forward. With every new step in Browser/HTML & co. development, 'they' were mostly trying to catch up to what Flash(ers) already had (done). Now we are triing to do in HTML what we have done in Flash (much more elegant) years ago.
If you mean, that one cannot stop the passage of time, that might be true, but I also think that we could at least try to save things that are (were) great, because the web belongs not to one group or philosophy alone.
Flash on the Desktop will soon be of no interest, because the vast majority will not pay for two versions of rich applications, and Air nice, but also won't help a lot, becaus stand alone apps will (not only in my oppinion) be more and more substituted by web-app's (Exactly what Adobe's RIA Strategy was some time ago).
We can agree to disagree on some future development, or we might even agree a lot about this things.
My interest in this discussion however would be if you feel that Adobe is doing a good job in supporting the Flash community, or if you agree that publishing player (11.5) tha brek a lot of old as2 flashes, and not beeing upfront with that blunder is only one more fail of theirs....
A touch on your comments and then I'll offer my opinion to your answer.
MP4 is an amazing, flexible, scalable, highly efficient format. MP4 is supported on all the primary codecs very well by all devices, and fully hardware accelerated at that. HTML5 loves MP4. I see no reason Android doesn't like it (My old HTC EVO 4G, Asus Transformer and SGSIII sure does).
As for the rest of it I'll generalize it into what I consider the "ideal" web. The ideal web is whatever requires the least obstacles to producing something while being viewable on the largest demographic. Flash did reduce obstacles like uninstalled fonts, missing codecs and animation, but at the cost of needing to install and update a plugin. All of those obstacles are now gone. What's left? A plugin to be maintained. So what do you do? You set your sights on the future and make it viable and necessary again.
Flash Player is circling its wagons around what Adobe considers exactly what you extol. You say that RIAs were the future and Google has sure proven it to be a viable medium for some applications. Now Adobe is saying the browser and Flash Player can replace your console gaming. Enter, Stage3D. A, perhaps, byproduct? Device apps able to utilize the GPU gigaflops for apps with native-like performance. Win win situation. Who needs applications when there's RIAs and who needs to spend $399 on a console when you have Flash Player running games just as well?
Lastly, to answer you, I hate AS2.0. I lived in it far longer than I should have and I am unfortunately still supporting applications (even this week) written in it. While unexpected reworks are costly and unfortunate, those that neglected half a decade old AS3.0 ran that risk willingly. I even need to tell my own clients this. Software is a moving target, keep up or expect trouble. This also generates your company profit and in the end makes the product better. What do you do when a browser updates (say the infamous IE box model) and all your browser-specific tweaks break your site? Like everyone else, you remove the unnecessary tweaks, reduce code clutter, gain performance and development efficiency no longer needing the tweaks. Why is Flash any different?
I'm really stressed out right now, with a a project where all the horrors of HTML jQuery etc. come together and on top clients I haven't heared of in years call and tell me (essential parts) of theire sites stopped working. (There is an non flash version) but they have a player....
I hat to went feelings I (and a lot of colleagues) harbor for quit a while.
I really think, that there ought to be a broad and constrictive discussion about the topics we started to talk about. And it would be great to have Adobe in it - even if we have to 'force' them.
have to go now, but I'd like to continue the discussion soon.
Maintenance is a regular part of any software endeavor. I'm coming from the opposite end. If I was still in Windows 98 I certainly wouldn't expect much in the way of support or jeer for my desire to continue to use it. "It just works for me" isn't good enough. Just update to Windows 7 or 8 and the pain goes away.
I think Flash is an excellent teaching medium as well. I can only hope you're teaching AS3.0 (not 2.0). However I wouldn't advocate that as the entire courses curriculum. The web is the largest canvas for them to paint and they will be unprepared for its volcanic evolution. Flash keeps you neatly in its own box, limiting your need for coexisting with other technologies. That's not how the web is. You do need to learn dozens of technologies, languages, structures, industry standards, specifications, best practices, etc. Otherwise you're feeding them to the wolves. That's just IMHO but during my hiring process if a student told me they're only proficient in a single language or technology, that makes it very easy to sift them out.
The good parts of flash are Stage3D, an excellent high level engine for sophisticated animators and a unified deployment approach from a common re-usable code base. I see no future, or desire, in Flash-only websites, which is the only reason I'd care about Flash Plugin on mobile.
I sure teach AS3, and I fully agree, that it mustn't end with flash, but it's a great start into a career of learning.
I never made Flash only web-sites, and I always advised against them, but there are and have been highly interactive parts that you cannot (at least with a reasonable amount of effort and cost) build as good and elegant with other technologies.
About your win 98 analogy:
1. we are not talking 14 years but 4 years here (remember player penetration)
2. Microsoft would get a lot of heat if they'd stop supporting even 7 year old features - and they do (get shitstorms and) react if they try to end XP-Support.
3. It wasn't a conscious (and communicated) decision, but a bad bug - which happens. - I'm angry because a) it is only one of many we had in the last years. b) there is no official communication about it one can easily find.
1. FP9 and AS3.0 were released in 2006 and that doesn't include beta time (soon to be 7 years ago). Is it unreasonable to update a project in 7 years to AS3.0? Do you have any products developed 8 years ago that you still use regularly? Are you using an OS from 2005 or prior (WinXP/2000 or before, OSX Tiger 10.4 or before, etc)?
2. Yes, XP is still supported because the userbase is gigantic with enterprise installations reluctant to upgrade. Do you know why? The first obvious answer is cost and labor associated with upgrading. However XP IS broken, with discontinued support for vital techologies like DirectX and its own Media Player. So why hang on to XP? One simple reason.
Vista had so many bugs it should have been called Win7 Public Alpha. Everything from performance to security to insanely ridiculos things like no gigabit plagued the OS. Any system that wasn't overpowered to the teeth saw nothing but transparent windows and a ~50% loss in performance. Not to mention applications failing and user havoc with the new UAC system that made administrators leap from buildings. Paid Microsoft support couldn't get 4 different NIC cards to gigabit speed on a dual quad Xeon rig with a server workstation quality motherboard.
Are you serious when you say Microsoft received no flack for that? The fact that they can't end support for XP proves that. They can't end XP support until their next generation is rock solid. Win7 is a generation worth leaping to, and in sync, most businesses are, 6 years after the engine was introduced in Vista.
3. I think the "bugs happen" horse has been beaten enough above.
Heck, StageVideo still has a bug that reduces the performance of Flash by ~20-30% if it's ever used, and that's brand new. Nobody communicated this to me. Here's my bug report on it. I had a deadline so I replaced it with a UIWebView ANE and fixed my issue even though it cost me precious time to diagnose, report, purchase the ANE and recode it. It will get fixed in due course.
The proper channel for your anger is the bugbase. Locate the issue if it already exists and vote it up. Those bugs tend to get fixed rapidly. Just venting here isn't likely to get anything done.
From the time of the FP9 release to the opportunity to use it in the wild one year + surly was a sensible time span by then. And no, it is not reasonable (for me who has to feed 3 kids) to update a perfectly working AS2 project if the client isn't willing to pay for it.
My hard- and software is very up to date, but ones a lot of visitors on my various sites are using are often more than 6 years old.
It isn't about me.
Even if I was one of a raare kind who hade near to no trouble with vista, I'm not meaning to say MS is better than Adobe, I tried to say that we can agree that they are rightfully blamed. But because of all the bad press MS got with vista they had to listen to users and Admins and made a far better job with 7. I think that is what we should try with Adobe - if it isn't too late, and if Me and most of my Friends in the business aren't alone with the feeling that they deserve some educational pressure.
And as far as I know it's not about fixing or reporting a/the bug (they seem to work on an update already) this particular bug at times when the product is (maybe rightfully) under pressure just proves my point of Adobe being not dedicated to Quality. (That's not only with Flash btw. but for me it's more obvious with Flash than anywhere else.)
There are many old bugs in the player and in the IDE, that are reported and no one has taken care of in years. Maybe I am (was) ranting, but I guess you weren't happy with Adobe when you ran into the StageVideo bug.
I too have lost endless hours and quite a lot of money with fixing bugs - that is -in my eyes - further proof that Adobe needs a louder wake up call than single bug reports.
But I feel I'm not getting my message across clearly - my English probably isn't very good to begin with and I'm to distracted with fixing bugs :-) right now.
You said it all when you said this:
if the client isn't willing to pay for it.
If they don't pay for it, it doesn't get updated. Their site remains broken until they do. Who expect anything purchased to work forever with absolutely no updating or help? A car? House? TV? Furniture? Food? Why is software any different?
Try returning to your client and explain the situation. If they won't pay, why should you fix a problem you didn't create from a very outdated site? None of my clients have any issue with this and I'm not just getting lucky. I'm explaining software to them before they purchase it from me. You always need to inform your customer of the limitations and obligations.
You're getting across just fine but no product is bug free. The complexity of these products are so outside the scope of understanding it's amazing they have so few bugs.
As I said it is not so much about the one current situation. My client might pay for an update to a jQuery solution - but before I can get around the site which (I still like to use as reference) is broken. When a client calls me with such a complaint, it can take you quite a while to analyze the problem and I don't feel like charging him the time.
I agree in general that bugs happen, and that the player is provably (or used to be) in the upper league there. Still this bug seems to be so hard to miss when properly testing, that it seemed one more sign, that Adobe doesn't care enough about it's former top-platform.
If it's not the winning platform in the online advanced animation wars, who is? Silverlight? Canvas? C'mon now..
I'm not really trying to just be argumentative but coming from a long history of programming such as yourself, this is just the same thing over and over. Whether it be a game update, OS update or Flash update, something will go wrong, something else will get fixed. As for us, we are and always have been stuck just dealing with it. It's not like a game where we can just start playing a different game. The best thing to do is identify the bug, report it and work around it. Just because the workaround ends up being extensive doesn't mean you shouldn't charge the client for it.
Next time your engine light comes on, your engine is up in fumes and you bring it into the shop to diagnose, tell the mechanic you're not going to pay for them to figure out what the problem is. See what happens
But why not charge him the time? Why are you willing to subsidize his
maintenance costs with your valuable time?
I'm actually curious (because I haven't noticed any breakage lately
myself) what was it that broke about AS2?
Well, I could charge him the time but he won't be happy, because he feels it is not his fault. I advised him (with good reason at the time) to use Flash...
And in this case time being less than an hour, client in Austria I'm in Germany...
Still it is very hard for most clients to understand, that it is not my fault - and with a lot of persons in our business, doing sloppy work and blaming it on Microsoft, Dell you name it - they might even be skeptical if it wasn't my fault in the first place.
But that is beside the main point.
As far as I've dug (not too deep) it seems that some events of the MovieClipLoader class are not firing. Which breaks a lot of image loading naturally and is so basic and popular a functionality, that I cannot understand how they can have missed it - if their do and testing towards AS2 at all - but obviously they have changes something in AVM1 so they should.....
It just proves my point.
One more example: in Illustrator CS6 they removed swf (and svg!) from "safe for web". We need to load vector graphics (great for all the right reasons we all know not least retina displays) into an AIR app. You can still use export from the file menu, but guess what in the last 6 Years no one at Adobe cared to make those swfs AS3 compatible - not even deep down in preferences.
My feeling is, that at Adobe they first felt, that Flash is so popular and untouchable, that they can afford to invest less. Then after Steve caught them with their pants down, they decided to - well not to do anything - and probably less of that. Well milking the last of the formerly great community might be something they still want to do.
I always told everybody, that Flash is not THE technology, but ONE sometimes unbeatable choice. And I have hated what Adobe is doing and not doing to hasten it's downfall.
Maybe I'm just getting old - but I'd like to think that is is mostly because I feel that the new girl is actually a lot uglier but over-jazzed by ... whomever and my old love that had grown into a (not flawless but real) beauty is leaving the scene without even trying to give a good fight.
And who wouldn't love to see a good cat-fight? (not meaning to be sexist in a carbon-world way.)
PS: There is a lot of beauty in some of the newer concepts but we might agree, that a lot of movement in the otherwise inmovable object (aka open standards) was provoked by Flash doing cool and (sometimes) useful things.
Are you clawing at the last bits of life AS2 has because you haven't learned AS3 yourself? I can't understand why you care so much about keeping it around.
Give a warranty if it makes it easier for your client. You guarantee for X amount of time that your code will work. After that any changes necessary for the unforseen future events will require full development fees. This is how the world works.
I have had endless events vanish into thin air on AVM1. I made hundreds of projects (being the interface project manager/main coder) using AS2. I've seen the most bizarre behavior after you reach past the 40,000 lines of code mark. The runtime seems to just do whatever it feels like at that point. "New XML loaded? What XML? I never got the memo..".... *user waits endlessly for app waiting for XML*.
I literally became accustomed to starting intervals checking on a processes completedness because events weren't reliable. Now I would assume intervals are internal events of sort and have their own failure level but the chance of 2 events failing (especially one running on an interval over and over) is pretty slim. Using both of those together I've had to duct tape some huge AS2 kiosks together.
AVM1 and AS2 need to die. I'm extremely suprised you're "just now" seeing AVM1 drops events sporadically. Consider yourself the luckiest person alive.
I've never encountered this issue with AVM2/AS3. It's the little things that keep me sane. That is definitely one of them. Have I found bugs? Of course, we all have. But at least the bugs I find aren't as insanely crucial like events simply not firing off for who knows what reason.
You really should check the scope in which you're always initiating and receiving your events for those loaders. That is by far my single most hated thing about AS2. Delegation should continuously be from the scope in which it's created, or assigned. In AS2, it's from the object that fired the event. That is insane.
Fixing scope alone has cut my development time by 20% because I no longer need to use the Delegate class to keep my scope sanity. It's probably also something affecting your events. They very well may fire off but you accidently didn't consider one random incomprehensible usage of your app and scope wasn't correct so the functions or objects you're trying to utilize with the event can't be found. Man, I do not miss continuously using _level0.obj.obj.obj just to guarantee I know the scope is correct.
It seems you don't understand:
- I haven't done a AS2 project in years
- I kwon AS3 quite well
- I perfectly understood about scopes back wehn we only had AS2 - it was a bit more complex, but really not a problem. (I nearly never had my event vanish then or now btw.)
- the bug that triggered my post has nothing to do with bugs that were known before
When I wanted someone/something to go down fighting I meant (AS3-) Flash, I don't give a rats-a... about AS2.
What I mean is, that there was no harm in having AVM1 in the player - therefor not breaking millions of old swf out there. I think that Apple did the right thing when they dropped Rosetta, but they announced it up front and not juts broke it...
Flash (with AS3) is great in a lot of respects, but it is hard to argue on the behalf of Flash, when Adobe's work on the player is so sloppy. You think a lot of clients will understand the difference between AS2 and AS3 - nor will or should they care. But when 80 percent of the industry for 90% of the wrong reasons say "Flash is bad". And theri old Flash-Elements just broke (at theri expense) - why argue at all. (And again I#m not talking full flash sites - never had, and also not just simle aniomations.)
I e.g. would have preferred XHTML 2.0 to HTML5 - but because of billions of pages out there that won't be updated any time but are still of some value for some one it is HTML5. In this frame of mind we should have AVM1 working in the player forever. (Just playing devils advocat here.)
My point is still the same and still quite simple.
Adobe does a lousy job of keeping Flash a good contender in the web business in general (and as consequence in the RIA world by extension)
That is bad for anyone, as choice is good. It surly is even worse for us who supported the platform and made it great.
You can feel different, but please stop (mis-)interpreting details.
You said you found MovieClipLoader events weren't firing off properly in AS2. I said events in general (of all kinds) mysteriously disappear. I said this is nothing new. Also, this IS the bug that triggered this post unless you didn't mean this:
As far as I've dug (not too deep) it seems that some events of the MovieClipLoader class are not firing. ..... but obviously they have changes something in AVM1 so they should.....
No, they probably haven't. You just got lucky you never missed an event before.
You said a client doesn't care about AS2 or AS3. I never said they should. I said put a limit on the clients expectations. I used the most generic, understandable example of one; a limited time warranty. Easy to understand and fair.
I delved into scopes just to not only vent about how terrible AS2 is but also to point out your "missing event" might be a scope issue. I've hunted deep in code for mysterious bugs before and more often than not found my code to be the culprit under an unforeseen and extremely rare circumstance of context.
I don't want AVM1 to disappear and break all my work either. I just want clients to upgrade their content to something more modern. In all cases it's going to be a huge mix of choosing between AIR, AVM2 and HTML5/CSS3/JS. I don't want my browser bogging down with AVM1 any longer than it needs to.
I maintain my counter-point. If Adobe isn't doing a good job of maintaining Flash as the #1 ultra light-weight 2d/3d real-time rendered animation engine on the web, please point me in the direction of who's winning that race.
If I've misinterpreted any of that, I apologize in advance.
OK once again the bug is a bug in the player not in my ages old app.
The first time I was confronted with it, was when a colleague of min called, and said that a image fader (very old bur quite popular at it's time) tool they had on some old sides stop displaying any content. I had a look, and decided it wasn't worth the effort and changed it to jQuery which made everybody happy (iPads...)
Not my code, a tool that use to work painlessly on hundreds of sites for year - broken with 11.5 update.
My app - also no rocket science some galley-tool in a slightly more complex php, xml, html context. Worked without a hitch for about 6 or 7 years. Did nor show one thumbnail at all after update to 11.5. What is the likelihood of that being due to me not having had the scope right years ago? Yeah - zip, zap nada, null and zero times nothing!
Trust me, I might not be as good as you at programming, or I might be better - besides the point - but I do know ma way around, if not, I would be able to ask for help in a clear and understandable way.
And Yes I agree Flash is by far the best tool for a lot of things we want and need to do. And this is exactly the reason why I'm so pissed at it's masters/owners - they do not help us selling the point. Adobe does pull Flash for mobile not with the clear and loud message that it will be time soon for the real deal on mobile devices. And the press and those who didn't like Flash for the dumbest reasons call out 'Apple has won' Flash will be discontinued.
(This was an article here on the most read German newspaper-site then! I read the official press release, and don't ask...)
So I agree: still a great product but with bad marketing, no clear strategy (catalyst, wallaby, muse etc.) and making the product actually worse, ignoring age old bugs - Adobe seems to me like Flash's worst enemy. They aren't doing a good job there.
Flash was king of the hill for years, and the HTML5 / Browsers / js frameworks are so far behind in a lot of respects that it really doesn't take anything to stay on top for a while.
Talk about Apple, there is a company with great products - as flawed as Flash is - but with a million times better leadership and communication. Have you read Steve letter about Flash. Full of ********! Imagin he, who was making Billions by forcing us into walled gardens has the balls to lecture Adobe about open standards. And no one calls him on it - at least not in public!
I could go on for hours like this... No use!
So let's start squashing some bugs. Don't disregard it, let's be the people you want Adobe to be and lead by example.
Can you explain more about the blur that is no longer working? Are we talking about a blur filter in AS2? Does it have any special contexts or purposes such as acting as a mask, etc?
In the MovieClipLoader class, which events have you found to fail? If you're traced it back to that class, chances are you have a bead on which one is no longer working (assuming a "complete" or "error" event).
Let's create reproducable examples of the bugs and submit them with the example files so they can be fixed.
[optional Apple disdain]
I'm the farthest person from an Apple fan. Many people see Apple as a bastion of simplicity. The holy grail of complexity reduction by intuitive design that allures customers. They market very well along the same principals. Some of the commercials I don't mind seeing on TV are Apples because they're so simple and elegant, like the iPad playing Heart and Soul with 1 finger while panning slowly to the iPad mini playing the other hand, complimenting the larger iPad yet performing the same complex task in suit. Who wouldn't love that product when you combine all of advertisings basics? Highly nostalgic song (even from a classic movie (Big)), bright vivid colors (happiness), product familiarity (trust, comfort), cooperation, entertainment, excessively simplified message to remember (2 words, "iPad Mini"). The only 2 things they neglected is a cute animal (but hey, OSX is named after animals) or someone partially naked.
What do I see? The choice to use objective-c for native development requiring exhaustive redundant ancient practices like pre-instantiating every variable and method in every class with header files like we're right back in the early 90s. "Apps" full of unportable code in any useful way to any other platform. The lack of user experience customization in any useful way (you're not smart enough to choose your own keyboard, SMS app, etc, no way!). DRM dripping from every purchase made on the store. Their hands deeply in your pocket for your hard work. A terrible paradigm you're forced to use to sync or update devices (1 computer at a time, ever), called iTunes. A closed market approach, afraid to let others develop potentially better markets to tap into (unless jailbroken). A provisioning process they clearly hired a mentally unstable chimp to develop. Constant uninteresting and sometimes questionable over-hype/emphasis on product releases (the new maps being the breadwinner this year, what an amazing mess). A desktop computer line devoid of any meaningful hardware updates on the high end for far too long (i-series Intel? Hello?). The unexplained "Apple Tax" markup on all the throw away unupgradable hardware easily duplicated for Windows at half the price, with far superior quality and technology. A company that over the last decade abandoned their own hardware and OS development due to rampant failure (via themselves and Motorola), relenting to Intel and Unix. Market fragmentation that hurt Android but will now hurt iOS due to varying hardware (iPhone 4:3, iPhone Retina 4:3, iPhone Retina 16:9, iPad 4:3, iPad Retina 4:3, iPad Mini 4:3), finally making Android a choice first-target choice for new app development. I could go on forever..
Sorry, did I come off as an Apple fan? And I agree, Steve's comments were entirely uncalled for blaming Macs instability due to Flash Player as the reason they chose not to include it. I especially enjoyed the rant that if anyone else dared to include it in their smartphone Apple would as well. Well, Android did, and Apple "forgot". They called him a visionary. Too bad all his visions were "inventions" from other companies stolen and refined, branded Apple.
[/optional Apple disdain]
Ok I feel better