Today I tweeted a link to another stupid linkbait article proclaiming that Flash is dead. Of course, this set off a huge flurry of tweets about whether or not Flash is still breathing. And it made me realize that I haven’t made my current position on Flash very clear.
The fact is that I have no longer have any interest in Flash or ActionScript as a platform or language. While I did do some work with ActionScript and mobile AIR development while I was at Disney, I don’t think I’ve done any personal Flash development in two or three years. I don’t have Flash Authoring or Flash Builder or any other Flash development tools on any of the computers that I currently use.
But I’m not a Flash hater. I know a lot of people who jump started their development careers with Flash and have moved on and now rant and rave about how horrible it is and always was and how much they hate it now. I’m not in that camp. I have lots of great memories about Flash – both the technology and the community that it created.
So why did I jump ship? Short answer, I don’t see it as a viable, evolving technology for the future. That’s not the same as it being dead though. I look at it more that Flash has gone into retirement. Now, people who go into retirement are not dead. Many continue to have long, healthy, happy lives for decades to come. Some continue to do many productive things, have great experiences and learn new skills. But generally speaking, they’re not graduating college and looking for a new job to start their career. They’re winding down.
That’s where I see Flash. It had its Golden Age, and it was awesome. I’m super happy that I was a part of that. But that’s over. That doesn’t mean that it’s dead. In fact, Flash still does all the stuff that made it awesome, and does it as well as it ever did. It even continues to get some new features. And you can still use it for all that stuff. And many people still do, and they make a living at it, and likely will continue to be able to make a living at it for some time.
But, as I said, it’s not a viable, evolving technology. Looking at my years as a Flash developer, I started out with Flash 4. Flash 5 had groundbreaking changes and improvements. Eighteen months later, Flash MX blew everyone away with new features again. Flash MX 2004 gave us ActionScript 2.0. The next bunch of improvements get a bit hazy due to the player versions getting out of sync with the authoring versions, but we got BitmapData and crazy audio and video improvements, ActionScript 3.0, Flex, Flex/Flash Builder, Flash Catalyst, basic 3D and then Stage3D, and on and on.
But in the last few years, there has been nothing like that. Yes, Stage3D continues to get improvements, and AIR continues to get updates. And there are things here and there, but as an overall ecosystem, I feel like it’s largely in maintenance mode. I know people will deny this and start posting long lists of recent updates and improvements. But you can’t tell me that Adobe is anywhere near as committed to the future of Flash than it was 10 or even 5 years ago.
Where is Flex? Where is Flash Mobile? Where is Flash Catalyst? Where is any sign of Flash on Linux? (hint: gone, gone, gone and gone.) What is in store for the next version of ActionScript? (hint: there is no next version of ActionScript planned.) What improvements are upcoming for Flash Builder? (hint: none.) How many people were on the Flash team a few years ago and how many are on it now? (hint: fractional.) How is the Flash Platform monetized? (no hint. no clue.) How many people do you know who were full time Flash developers 5-6 years ago who don’t Flash at all now? (hint: a LOT.) How many of the numerous Flash conferences from 5-10 years ago are still held, and have not changed their name to exclude the concept of Flash? (hint: zero.)
I know I’m now sounding like a Flash hater, but I’m really not. These are all just facts. Adobe is committing a small fraction of the resources it used to to the Flash Platform. It has cancelled most of the projects and products related to the platform. Almost every person I know who worked on the Flash team back in the day has either left, been laid off, or has moved onto other projects. Most of the Flash developers I know personally from years ago are now doing iOS, HTML/JavaScript or other development – exclusively in most cases.
Now, I know people are going to come on here and tell me how great Flash still is. Yep, I already said that. They’ll say that it is still innovating with new features. I covered that. They’ll talk about how great it is for games. No argument. Then they’ll go onto say how much HTML and JavaScript sucks. They’ll say how you can’t make apps with it and you can’t make games with it and you can’t really do anything with it because it isn’t strictly typed and doesn’t have private vars audio support sucks and blah blah blah. I’m not going to respond to those people. Only going to roll my eyes and feel a bit sad for them.
Long, long before I was into development, long, long before most of you were into programming either, I knew a guy who was a programmer. An MIT graduate. He was really proficient in some particular language being run on some particular system. I can’t tell you what language or system because at the time, I couldn’t tell you the difference between C and BASIC. But he was one of the best at this system. He had this great, really well-paying job doing it. He worked there for years. Had it made. Then the company upgraded to a new system with a new language that he knew nothing about. So he was out of a job. And he went to look for a new job. And he realized that absolutely nobody used that old system or language anymore. He was so confident and complacent at his old job that he never bothered to learn any new language or system. Now, all his skills were completely obsolete and he could not get a new job. I think he wound up doing data entry somewhere. This is not a made up fable. This was a real guy that I knew well. I don’t want to be that guy, so every once in a while I put aside my likes and biases and take an honest look at the landscape around me and decide where technology is going so that I don’t paint myself into a corner. And that’s why I stopped doing Flash.
I had a similar journey, with time I started to love my new set of tools and leveled up on my backend skills.
I just wonder why it is almost only Flash that is surrounded with all of this drama ?!
but there is something that is not clear in your words .. you say that you don’t want to be that guy who gets left behind because he didn’t want to try things out of his comfort zone .. but that doesn’t actually explain your last words: “that’s why I stopped doing Flash.”
what does learning new stuff has anything to do with “stopping” using the stuff you already know ??! .. that doesn’t make any sense and that is the problem with lots of those who have jumped ship.
those who make sure to make it public that they have stopped using Flash as if they have stopped drinking alcohol or smoking!!
those who don’t want to learn new stuff have a problem .. and those who always want to look like they only use the new “hyped” ones and have stopped using the old ones have a bigger problem!
It’s a personal decision. Nothing in Flash excites me anymore. There are only a few key areas where it’s being updated – Stage3D and AIR. And I’m not interested in those anymore. And the audience for Flash is diminishing. As I said, the community is nothing like what it was. No more forums, no more conferences, no more user groups. It’s got nothing to do with hype. I’m not saying anyone else should stop doing Flash. But it has nothing for me anymore.
I totally agree with you … nevertheless, there´s no platform or tool that is so easy and pleasurable doing things like Flash … html, js and css are boring to say the least. All we had to do with Flash is place an element on stage and attach some code to it. Its a shame that Adobe didnt put more efforts to the Flash technology.
Once you start saying things like “this is boring” you have to understand that it’s boring to you. I used to find Flash very exciting and JS boring. Now it’s the exact opposite.
You’ve said it perfectly. This is exactly how I feel. I started with MX 2004 and jumped ship last year. My video tutorial site was based on all these awesome technologies, but after Adobe gave up on it, I couldn’t invest the time to promote it anymore.
Luckily for me, my job description changed 4 years ago and I moved to iOS native development. Since then I have tried to use Adobe AIR where I could, but it soon became a losing battle at work, where the executives wouldn’t support a “legacy” technology anymore.
I personally will continue to do video tutorials, but no more Flash/Flex/AIR. Moving forward I’ll focus on native iOS, native Android, and perhaps Unity and even GameMaker Studio for fun.
Thanks for keeping it real Keith!
Brent
consider this my reply – freshly written:
http://thonbo.wordpress.com/2014/04/24/tech-religion-html5-and-flash-again-and-again-stop-it-the-web-plugin-not-the-app-cross-compile-tool-aka-air/
I just find it a little odd that javascript excites you. I mean, you don’t encounter any situations where you’re fighting with the DOM and thinking, “this was so much easier in as3”? And by that I don’t mean easier because you already knew how to pull it off but in terms of the comparative nonsense you have to go through to get it work.
Don’t get me wrong, I feel similarly to you. Flash had matured enough for me so I don’t see it’s lack of evolution as a deterrent. I simply have trouble contributing time to something when it makes more financial sense to contribute it to something else like Unity.
It’s my passionate hope however that when developers look back, we don’t consider ourselves in a better technological place. Multi-screen, responsive, multi-media, interactive experiences and single page apps are flat out hard with today’s tools. Had things gone a little differently, the concepts of a stage, displayObjects and a reverse cartesian grid could be the standard instead of an elastic swing set. That will always pain me.
Keith, I went from being a tourist to being damn good thanks to bit-101.com and Making-Things-Move. For that I’ll always be grateful. I wish you the best.
“Had things gone a little differently…” Yup, that’s the key point. I can totally see an alternate present where I am still excited about Flash. But that’s not how things played out.
As for excitement and frustration, and hacking the DOM to get things done…
Surely you remember setting up two frames with your loop code on frame 1 and a gotoAndPlay(1) on frame 2?
Or making a movie clip with a 100 pixel diagonal line and translating it and scaling it to create a drawing API?
Or creating movie clips on stage and putting them off 1000 pixels to the side and moving them back on when you needed them?
People forget how godawful horrible Flash was in the early days. Which is to say how awesome it was. Maybe in the end, I got bored because it was so good. 🙂
Ah the preloader loop. Flash sure did lots of growing up. I contributed a lot to what eventually became swfaddress and for some reason I have fond memories like that of a good puzzle game. Making flash do things it couldn’t do yet was a welcome challenge (I was also much younger) and the effort was defensible.
Trying to keep track of elements that are inline and absolute and all the cascading ramifications of that depending on the styles of those around it and who might be looking at it… frankly it’s insane.
But I think your point is to carry on and not blame tools. Cheers to that.
Your excitement over JS puzzles me too. It’s great for making toys, but building a larger product that requires a team to develop it, JS is hands down the worst language to use. People who like JS generally are hobbyists or solo indie developers. They don’t really see where the weaknesses of the language actually lie.
It sounds like you’re making a snap judgement based on inexperience.
I did a lot with JavaScript before getting into flex, >8+ years ago. Back then your assessment would have been correct.
But, nowdays frameworks encapsulate away a lot of the browser incompatibilities and things just seem to work. AngularJS is well suited for large enterprise development and can be used to create very clean code.
(I wrote a book on AngularJS for Flex Developers; due out next month: http://www.lifeafterflex.com/ )
I’d also add that while there are still browser incompatibilities, they are nothing like what they used to be. Even Microsoft is falling into line.
I was a front end web developer for 12 years before moving on to Flash. I wrote my first line of Javascript in 1998.
That may be the problem then. I resisted moving to JS from Flex because when I thought of JS I thought of JS circa 2005. It is COMPLETELY different now. Moreso the ecosystem and tools than the language, but it’s all been massively improved.
Also, your initial comment about “hobbyists” and “indies” is demonstrably false, and frankly absurd. I’ve personally been involved in multiple large, team developed JS apps, one of which has processed several millions of dollars in orders for the client. There are literally thousands of teams building “real” JS apps right now. Anyone who truly believes otherwise is laughably out of touch with the industry.
Wait…did we know each other “well”? Am I doing data entry? Oh, no, you were talking about someone else.
Director lives!
Haha. No, this was long before Director even. This guy’s programs ran on those big reel-to-reel tape machines.
Hey Keith,
very good read here and I see myself (and many people we both know) in these words. Good old times? Yes. But good times ahead as well. Looking forard to meet you any time aroudn the world. Hopefully sooner than later 😉
Take care my friend!
/marc
“Then they’ll go onto say how much HTML and JavaScript sucks. They’ll say how you can’t make apps with it and you can’t make games with it and you can’t really do anything with it because ***IT ISN’T STRICTLY TYPED AND DOESN’T HAVE PRIVATE VARS*** audio support sucks and blah blah blah.”
http://github.com/gaulinsoft/jtypes
Sentimental journey, glad to be part of it. Now if you want to get that old fuzzy feeling of the early days of Flash when it was still fun, try Lua and Corona SDK. That’s where I spend my time these days, unless I have to use Objective-C for something specific. Yes, you can have fun making things again.
With all the proclamations about the ‘death of flash’, there has to be a reason for its longevity. For any developer whose majority of time is spent coding for projects OUTSIDE the web, you’d have to be crazy to ignore the feature set that AS3 brings to the table. Although i do a lot of native Android, javascript, and Python coding, Flash is still my swiss army knife for projects involving any type of installation work, kiosks, robust video display and interacting with sensors and microcontrollers(arduino).
FYI: Flex has thrived under the Apache Foundation with numerous bug fixes, performance improvements, new features, and plenty of releases.
For the moment, it is still closely tied to Adobe’s Flash Platform, although there is an ongoing FlexJS project which shows promise
I have no idea if it will retain relevancy long term.
Thanks for clarifying that. Yes Flex still exists under Apache. I can’t speak as to whether or not it is thriving as I haven’t followed it at all. My point was more to the fact that Adobe has systematically dropped direct support for product after product related to the FlashPlatform. The only Flash product it sells and updates is Flash Professional. And of course it updates the free SDKs and runtimes. They haven’t yet cancelled Flash Builder, but that hasn’t been updated in ages and as far as I know, there are no planned updates. They seem to mainly push Flash Professional as a tool to create AIR apps, which is a massive step backwards.
Here’s some info on the FlexJS project:
http://inflagrantedelicto.memoryspiral.com/2014/04/apache-flexjs-0-0-1-released/
Something I think a lot of ‘Flash is dead’ articles miss (especially the one that incited you to write this post) is that Flash-like material made to run in a browser with CSS3, Canvas, or WebGL doesn’t happen by magic. The browser makers have finally made a way to take what Flash could do, and baked that functionality into the browser. But somewhere in that mass of browser code is an interpreter much like AVM2 that uses javascript rather than as3 (canvas). Sure it’s technically plug-in free and made with standards, but until the tooling for this new stuff matures… and I mean REALLY matures to where they are compatible with Ecmascript5.1 or or 6/7, (it still has several years IMO), I’m still going to miss Flash’s simplicity, speed and power. Adobe created Flash as a type of creative gap insurance for the things a browser could not do at the time – that’s it. It’s like we went from doing math with a pencil and paper, to a calculator, but then a pen was invented and Steve Jobs said ‘use the pen – it’s the future’.
Hi,
I can’t help but feel odd about your post. You’re saying one thing and then it’s opposite. But if you feel this is dying (or going into retirement), then let it die. I wouldn’t spend more time and energy on something I don’t believe in.
But what strikes me is when you say that “flash was and is still a great platform” while pushing it straight into retirement…
Or this story about this guy who didn’t learn a new language…
Flash is still very present, after 5 years of flash is dead and with more and more successful apps being released every day…
My opinion (and it is the one that I think you have as well when reading bits of your post) is that people need to be discovering new things all the time. Discovering and/or reinventing the wheel all over again.
Flash proposed things html and js where far from being able to propose many years ago already. But js is by far a more “secure” platform. As well as .NET.
I think it all goes down to that: what feels secure ? (and yes I also do believe it does have something to do with hype and what people think of it in contrast of what it actually is and what it actually helps you achieve)
I think this post is not drawing an objective portrait of what flash is at the moment (quite alive in fact and loaded with many possibilities) and looks to me more like a frustrated statement (“if things had been different”). And I mean no offense at all, really.
Now that being said, I do believe flash needs to evolve and change to something new and more appropriate (as html and js are filling their own gaps). And I think this is what they are trying to do (but with not much efforts I believe): make it a game/app platform. And for that, I do think flash/air already has a great potential.
Also, I never liked Flex and Flash Builder (too big, heavy/complex and thus not interesting). There are still great things going on in the flash community, not to mention the great IDE FlashDevelop.
As a last thing, I don’t think it is necessary to spend time and energy to push something down if we already believe it is going down. I think it’s more constructive to push things up instead, if we believe in them.
I understand how you can see this as saying two opposite things. What I mean is that as a technology and language, Flash is still what it always has been and more. It still does most of what it always could and probably better than it could. But the state of the technology is just one part of the picture.
I know people keep saying it’s alive and there are lots of exciting things happening with it and lots of possibilities, but if you were heavily into Flash 5-10 years ago, it seems like a graveyard now. As I said, Adobe has killed off most of the products in the lineup, there is no real community to speak of like there was years ago. Few if any books are being written about Flash, there are no more Flash conferences, even at MAX they pretty much ignore Flash, all the old Flash forums and mailing lists are dead and gone, all the people I used to know at Adobe are gone or on other teams.
Almost everyone I know who was doing Flash back then is now doing other stuff. I guess there’s a new crowd out there now, and good luck to them.
As for why I spent the time to write this, it’s because I think a lot of people who don’t know me personally still see me as a hard core Flash guy. And it’s just not the truth any more. I thought I should make that clear. There was no intention to push something down. I’m not bitter. Well, maybe if anything, a little bitter at a lot of the decisions Adobe has made that have resulted in Flash being where it is now.
I think a lot of the disconnect is that a lot of the people into Flash now are relatively new to it maybe. So it’s cool and exciting. I understand that. I was excited about it for years. As I’ve said, it’s great technology. But for a lot of us who have been around it for the last 10-15 years, it really just feels like it’s time has passed.
I understand the feeling, I’ve been a flasher for many, many years.
I don’t think learning a new language takes a huge amount of time, especially when I see the common apps/games being build, I don’t think you need to be a master in .NET or js to be able to do things. The fact is that most of people tend to use libs and/or tools that are doing most of the stuff for you (look at Unity and the Final State Machine package that is being used in many commercial products, you don’t even need to code anymore).
My point is:
I wouldn’t quit flash just because of all of what you wrote. It stills allows me to compile to many platforms (the ones that count commercially) and provides me with lots of possibilities to do things I need to do.
And when I see that people are more oriented towards apps than web on mobile, I think the choice should be easy. But then what people think is another story…
Anyways, thanks for all the things you shared in the past, it helped me.
So, what should we do if we want to do web based games?
Javascript? I tried Javascript many years ago and it was a nightmare.
Would C# be of any use?
Apart from Actionscript, is there any oop language to do web animation?
Thanks
“I tried JavaScript many years ago” – That is the story with most people who hate JavaScript. And then they go into it again with that bias, and of course continue to hate everything they see about it because they are comparing it to something it’s not.
JavaScript is an object oriented language by the way. I usually get a lot of flak for stating that, but facts is facts.
Javascript uses a prototype inheritance model which is different than the class based approach used by Java / C# / ActionScript3 .
Many folks don’t like change. 🙂
Poop on your OOP 🙂
haha. get out of here you old ex-Flasher!
I agree 100% with your article, Flash is still good for web games and mobile games though(thanks to air).
My biggest grip is not about Flash,it’s about what Adobe did with Flash.They did nothing.They did not support their tech,they had this awesome language actionscript3,which could have been used on other places,like the server.
Adobe wasted a lot of product from Macromedia.Fireworks,Freehand?awesome pieces of software yet discontinued now.
Yes we need to move on yet, we still have the right to be angry at Adobe and share this anger with others. I would never touch a product from Adobe again, never.
What i hope flash devs would have done is revolt against Adobe instead of supporting it all these years. They did not.Even when Adobe was messing things up,they still supported Adobe.They dug their own grave.
HTML /JS is hard. No IDE,no structured language.Several browsers to support. Yet it’s getting better. the FWA site shows an impressive list of cool projects.Yes they are “brochure” sites,not flex apps,but they are cool. And there are some cool JS frameworks for LOB apps to. All is not that bad,it’s just feels like a lot of time have been wasted.
I want to thanks the awesome flash community,which really push things forwards,and want to tell Adobe a bit F. Adobe needs serious competition in the design apps space. That should be the focus of ex flash devs.Revenge 😉
I want to mention that people keep bringing up AIR as being awesome for mobile games, as if this were something that I was not aware of. Actually, I spent most of the last year working on mobile AIR games at Disney/Playdom. Personally, I found it to be a pretty horrible experience. For a simple game, I’m sure it would be fine, but these were pretty complex games and I can say that the concept of write once, publish everywhere is still a dream. It wound up being a mess of conditionals, config blocks and special classes for web, ios and android. And the native extension stuff I found to be a big pain in the neck. Bad enough if you had an existing extension, but if you needed to create one, ugh. And performance is still not all that great. I spent weeks on one project just profiling and optimizing. And the frame rate was still barely adequate. I swear, it would have been more efficient to just do the game natively on both mobile platforms. They were very heavily invested in AIR, but in the long run… well, just keep an eye out for how many AIR based games Disney releases in the next year or so. If any, I bet it will be the ones that are already almost done.
First, Keith thanks great post.
I loved Flash… loved. 11 years loved… maybe too much love. I have not used it in 4 years.
Flash succeeded until ubiquity faltered on modern devices in-browser. Today I feel the only path to run in-browser is with Web standards. Having used Flash, that is a tough pill to swallow as we took ubiquity for granted and with Web standards, ubiquity is hard work.
If you really love “flash”… look at EaselJS and TypeScript, the combo yields a development model that I feel is “modern flash” on web standards. TypeScript brings in the things I loved with AS3 and EaselJS provides a displaylist API for rendering to or WEBGL. You can also build very large apps with these. For the past 18months our team built an InDesign file editor at walmartstationery.com | expressionery.com | iprint.com. The app loads an indesign file as json+png and makes it fully editable on all browsers. The irony is that SWF is the fallback for IE6-9. In 6months we will turn off the Flash version.
Learn Web and build something great.
Ted 🙂
Spot on as always. Well written Keith.
Maybe “retirement” is a strong word. But that it’s not going anywhere is undeniable. Gone are the days where I’d see numerous daily blog posts about Flash or Actionscript with some new, exciting feature or demo. I still see some of that but it’s like once every 2 months. While other technologies continue to surprise me. It’s not really about the state of the tech (which is good for what it tries to do), but the community; the Flash community is not exciting anymore, as it is in maintenance mode. Everyone who is excited about what they do has moved on.
The way I see it, this is a repetition of the Director history. Director could do so much more than Flash at a certain point, but Flash was the new, hot thing. Easier to use, with an awesome community. Maybe not as good in terms of bullet points, but still more *pleasant*. So it took over. The same is happening with a bunch of other tech stacks on several of the fronts Flash used to be the king.
The moment people start asking whether a technology is “dead” or not, or writing posts defending it, it means it is, for all intents and purposes, on the way out.
Anyway. I’m just rambling. You’ve already nailed it. Thanks.
I think the value of Flash in the past is patching the Web to rich. Now the Web is getting stronger bit by bit, it’s hard to predict how long would Flash stay with Web. Flash is not dead (as a technology), because you can countinue to use it and get daily updates.
But the ecological system of Flash is becoming DEAD SEA, that is the big problem…
since Adobe do less on Flash, many many Flash developers jumped, users are losing day by day…I don’t know why Adobe had made those *strange* decisions and let the developers disappoint again and again.
My previous superior was using Director now he jump to Unity. I saw what a pain it is if you only have one skill which people don’t use anymore. Unlucky, the same thing happen on me now. My current company use Flash less than before (except Apps), and I can’t find more jobs on Flash now.
Anyway, I still feel doing experiments/prototype with Flash is funny. And many thanks for Keith’s books, blog and MinimalComps, it teach me a lot 😉
Director is a great example. Over the years, I met several Director developers who were heavily invested in it and saw no reason to learn anything else. Then they woke up and realized there was no more work for Director developers. And they were reluctantly learning Flash and struggling with it, often making the same kinds of statements about Flash that Flash developers make about JavaScript. “This would be so easy in Director. Flash is just so far behind.”
There’s also an illusion that can occur at a certain phase in the lifecycle of a technology. The opportunities for work in that technology decrease and many developers of that technology “jump ship” and move to other technologies. Those companies that do rely on that technology have a hard time finding developers. The developers who are left still see that there are plenty of jobs left and don’t see what the big fuss is about. The technology is doing as well as it ever was. Eventually, reductio ad absurdum, there’s one job left and one guy left doing it and as far as he is concerned, the future is bright.
very nice post that summarizes what I think and I could not put as words.
I personnaly moved to C++ and a bit of js, all that as3 years put me up to speed in creative coding.
Flash is like an old friend for me, the one you see sometimes to remember good times.
And… Thank you for your CodingMath videos, very instructing!
‘Adobe created Flash as a type of creative gap insurance for the things a browser could not do at the time’. I agree 100% with this statement. The key point here is targeting the BROWSER. I strongly feel if the mature platform that is flex-air-as3 were just ‘invented’ today, it would be heralded as this incredible new tool and a great(and better alternative than HTML5-JS) for any projects OUTSIDE the web, and yes Keith, this includes mobile. Of course this is a niche environment and it all comes down to $$ when trying to justify maintaining and advancing a platform. Speaking of niches, I know someone that works for an award winning animation house and they rely on the flash IDE almost 100% for creating their educational preschool cartoons. Personally I’m not a huge fan of the IDE, especially if used in developing for mobile. Keith, I’m also surprised you experienced problematic performance issues when targeting mobile. Was this using Starling?
Starling is the bomb.
Yes, Starling was being used, but we were looking at writing our own alternative in house to get by some of the bottlenecks. I didn’t have a lot to do with that part of it. I just know that other devs were pretty happy when we got around 15fps.
Flash is still an excellent platform to create tools for graphics-related development. We also had a huge background with flash. Now we create games with native/xamarin/unity.. etc. But our artists still create content in Flash CC. Flash CC is really fresh thing without bugs and performance glitches we have since Flash 7. We have tools written with AIR that generates all necessary assets from Flash’s vectors: sprite sheets, animations and even source code for UI. I agree that Flash is going out as main platform for development. But it is still extremaly efficient in some cases (for those people who know what to do :)).
Are those tools publicly (or commercially) available in any form?
No, due to those tools are deeply coupled with our project structure and workflow, I think they are useless for common usages. Exporting resources from flash is not a big deal. But it is also necessary to have starling-like runtime for rendering. I now considering ability to make simplified FlashCC -> Unity workflow. If it will be done, it will be accessible I hope.
It’s all about selling your book?
Nice try..
You caught me. I stopped doing Flash 3 years ago, just so I could write about it now, in order to sell some extra copies of my book and make maybe a hundred dollars. A masterful plan. But you saw right through it.
I still tell people that Flash is a great way to learn JavaScript. Someday, if the stars align, JavaScript and HTML might get close to where Flash was. They’re really not that different, and ECMA 6 compliance will make them even closer.
I’m grateful that Flash taught me how to be a conscientious and discerning developer, and that has been very important in negotiating the wild west of what we have now. I fear for up and comers having to learn the ropes without the rigid, idealistic systems that Flash encouraged. I see a lot of people gravitate to JavaScript frameworks nowadays, and I think the reason might be that they offer the sort of one-for-all systems, structure, and security that Flash used to have and that JavaScript will never have all by itself (which is good when you know it, but sucks when you don’t).
I jumped into flash when it was cool to be a flasher, back in 1999. The big names were inspirational, Joshua Davies, 2advanced, shockblast… even eye4u, and eventually bit101.
Then of course it got bastardized and everything had a splash screen, a horrible intro and flash started to get a bad rep.
Then web 2.0 arrived.
Then Apple decided to trash flash.
Then the browsers started catching up.
Then Adobe itself hammered the axe.
Now being a flasher is inexistent, I no longer get an ego boost when I say I work with it, instead a get an “oh really” confused look.
And to be honest I’ve always hated flash. The love is in the potential. Now that potential has stagnated. The promise was not fulfilled.
Still, nothing can beat it yet for the kind of games that I do, and the demand for flash games is going up now that they can run on mobile with Starling / Stage3D.
So its not dead. Far from it. It’s a second to none dev environment for web and mobile apps, and specially good for 2D games. That’s it. It’s not longer trying to change the world, but getting the job done. It’s not more dead that Microsoft Word or Excel or Illustrator. It’s just there.
It will die when something better comes and replaces it. Which to be honest is not even in the horizon.
I don’t understsand what’s the trouble with flash. Is it just that Jacobs forbade it?
Why did he do that?
I have just run “circle.swf” from chapter 3 of your book “making things move (flash)” source code and “circle.html” from “Foundation HTML5 Animation”, and the html5 version eats 35% up to 50% of CPU steadily while the swf version only uses 1% to 9%.
I thought the main reason for dropping flash player was CPU usage. But as it turns out, html5 and javascript seem to be worse.
Could it be just a commercial war?
To the people wondering why Keith is excited about JS and saying flash was better/faster/whatever:
in the end, it’s not about the technology. Not really.
It’s about community, resources and evolution. All 3 of those have diminished for flash. Obviously this doesn’t make flash as a technology any worse, but it does make it legacy. This matters due to the nature of web development. We develop for a large audience in a medium which evolves fast, which means we need (to feel) this same pace of evolution in the tools and technology we use. For flash that is no longer the case.
I too was very saddened about flash’s downfall. To me it came at the worst moment, since I had finally the honour to work alongside Shaun Smith, the best AS3 developer I’ve ever encountered BTW, to co-develop Robotlegs v2.0 It was a bumpy ride, involving a lot of work, but it was fun. It broke my heart to see how little interest it generated once released. And I’m pretty sure Shaun’s too. To me Robotlegs was one of those things which made developing in AS3 exciting, first as a user, later on as a contributor. Its community was great, the interest was high, tutorials popped up everywhere, you felt something was happening. I honestly became a much much better developer by using Robotlegs and seeing how other people were using it to solve the problems I’d been struggling for so long with. And here we get to the crux of the matter: I don’t get that feeling anymore when working with AS3. Not that I’ve become the best AS3 coder. At all. But I don’t feel like I can learn anything anymore, since there’s nothing to be found anymore.
And that’s the difference with JS. The excitement lies in finding a new tool, a new trick, a new library; and also contributing to something and feeling that you made a difference, no matter how small. That someone will be using that piece of code you released, being grateful you solved that particular (small) problem.
Does JS have its shortcomings? Sure. A lot. But so did flash/AS3. So does any technology. That’s not important. What is important is the feeling to be able to overcome these shortcomings one bit at a time. And that is definitely happening in the JS-world right now.
Sorry, I should have said Jobs, not “Jacobs.”
Ah, I thought you meant Jacob Neilson. He had no real effect. But Jobs, yeah, his refusal to allow Flash in mobile Safari led to the cancellation of the whole mobile Flash player program. Adobe saw no sense in making a mobile Flash player if it only worked on something like 40% of mobile devices (at the time).
And with the rise of mobile, this was a big hit to any Flash web content. Flash on the web meant desktop only. That’s when mobile AIR publishing came around as a solution to getting it on devices. Now it seems that most people who are into Flash are into it for AIR mobile, not desktop web.
1. I completely agree with your stances on Flash. Coming from a background as a full-time Flash developer and now doing full-time Javascript development (node.js mostly), it’s a great feeling to keep evolving and keeping up with what is out there.
2. CHECK YOUR ETSY.
I feel pretty much exactly like you.
I’ve been there doing flash stuff since flash 3, too, been active on the flash communities and worked on lots of cool stuff using flash. But then Adobe bought it and after a few ok versions, more and more made one bad decision after the other.
That coupled with the pushes of platform holders to first don’t have plugins on mobile and then push em out on desktops, too lead to flash automatically getting pushed out over time, at least on browsers. Thanks to Adobe not progressing it well enough for mobile deploy, well, using it for apps there got less and less often requested, too.
Adobe would have just had to do a few things differently and flash would have had a way longer way brighter future ahead.
They could have bought scaleform (before it got sold to others) and implemented hardware acceleration for all non stage 3d stuff that way. They could have made the hardware acceleration work in general for the vector side by rasterising it, no matter if scaleform like or with custom implementation.
They could have not deprecated AS1/2 and instead done the wiser thing and implement new api features for those, too and just name that Flash JS and the other thing (AS3) AS.
Then they could also push it forward more now as THE tool for making html5/web gl 2D content.
They could have pushed massively in mobile instead of half baked AIR efforts and IDE updates obviously made by people who have no idea about what the good sides of flash are and by whom all it is used how.
Flash has many strengths and some of them have not been matched to this day by any other competitor in satisfying way.
Sharp Vector text/shapes with both good editor and codeside workflow, the displaylist model, many such features are still lacking in competitor middleware.
To this day still most console games hence run using scaleform (flash) ui.
But no, Adobe thought its a good idea to make ugly looking components based “RIAS” for the web using flex, the thing flash got replaced at first.
But yeah, no proper backing from Adobe as in trying to move it forward with full force, dying down browser content market for it in plugin deploy, small market in webgl/html5 game deploy.
they could have..they could have..but they didn’t 🙁 🙂 And they don’t.
I create most stuff in unity for a good number of years now but also dabble with all sorts of other stuff.
There was something very special about the era of flash, the tech for its day, the community, the vibe. Very fond memories of a few years there.
But yes, times change. On some ends for the better, on others for the worse.
Hence like you i think its the best as someone interested in creating stuff to experiment with new promising languages and middleware from time to time so one can have more options and is not bound to one technology which the company who bought it doesn’t push properly forward anymore.
A few years ago I wrote this: “What is Flash?” http://www.bit-101.com/blog/?p=2908
“Flash’s job now is to be back out in the wilderness blazing more trails … Flash will either keep innovating or it won’t. If it does, it will be fine. If not, it will die.”
For many years, Flash did so many things that were really just not possible in HTML and JS. Not “better than” or “easier than” HTML and JS. Just things that were impossible or virtually so in HTML/JS.
HTML and JavaScript’s job was to catch up. And it caught up. Yeah, you may not LIKE using JS and HTML, but with it, you can do most anything you can do in Flash. The only real thing that Adobe is holding out as innovative is 3D gaming. But HTML/JS is catching up. Yes, I’m talking about WebGL. Surely you all know John Grden, the rock star (almost literally) Papervision 3D developer. Here’s what he’s up to lately. http://rockonflash.wordpress.com/2014/04/03/fish-gl-released/
And leaving HTML/JS out of the picture, if you’re really serious about doing 3D on the web and you don’t mind using a plug in, you’re probably going to use Unity 3D anyway.
So that’s the web. Unless Adobe pulls out a huge surprise, Flash on the web is definitely in retirement.
As far as AIR for mobile games, the jury is out. I used it for a year full time, and I was not impressed. Others love it, but it would not be my first choice ever again.
mostly agree (hence why i do a lot in unity for some years and dabble with webgl etc, too =) )
Capabilities side html/js is still more limited than flash in cross platform/browser audio playback and things one can do with video (one can play it back but not that much more). For keyframe animation html/js is worse, too, usually most people end up with spritesheets based stuff for that then, which is usable for some stuff, but also feels like nes era (which it is).
No comparison yet to an as capable/flexible cross platform cross platform vector graphics workflow or even just using a few pngs with special compression settings in a keyframe animation.
Just a few examples, no, html/js still hasn’t caught up =)
But yeah, doesn’t matter, cause plugins are just pushed out, if one can’t run on mobile devices with browser content, that’s pretty much a nogo for most browser content today.
If Adobe wants flash to be used in browser content at all in the future they better make it deploy the whole content in running in html5/canvas/webgl ways, and not just some of it.
And for mobile apps, well, Adobe doesn’t push enough to make it run well enough nor enough to make it not cumbersome enough to use all the capabilities of the devices/OS.
Since i have -1000 trust in Adobe for several years now, yeah, better bet to dabble with other options.
Well, as I said, HTML/JS has caught up to Flash from the viewpoint of things that used to be virtually impossible are now possible. Not just theoretically, but people are doing them regularly. Sure there are still workflows and tools that Flash and say Unity have an advantage with. But Flash and Unity are commercial products. There is no JavaScript, Inc. pushing out standard JS tooling. 🙂 So you have various efforts on various fronts.
Also, on the spritesheet front, I’m willing to bet that a majority of newer Flash games, particularly with Starling, are now using spritesheets rather than vector graphics. Still, Flash Pro is a great tool for creating spritesheets. 🙂 My own SWFSheet tool has seen a lot of use. In fact, Adobe basically copied a lot of it to create their in-house sprite sheet export function. I’m not complaining or speculating. We had conversations about it beforehand. They liked it and wanted to incorporate a lot of the functionality directly into Flash Pro.
Regarding the Unity/Flash/JS comparison: yeah, that’s a plus and minus regarding js =) On one side its pushed forward by more groups, on the other side no single group pushes it further to the degree flash was pushed in its heyday or unity is pushed now. Same goes for webgl etc. And way more decission makers have control over whether and how much things are supported or not.
I mean we’re in 2014 and still webgl doesn’t run on most browsers on most platforms by default.
Yes you can install special/new browser versions or toggle things in settings etc, but that’s not mass market/mass user accessibility.
“Also, on the spritesheet front, I’m willing to bet that a majority of newer Flash games, particularly with Starling, are now using spritesheets rather than vector graphics. Still, Flash Pro is a great tool for creating spritesheets.”
Yeah, that pretty much sums up my point =)
Yeah, i was among those, too making games in flash in whichever ways possible (which initially with flash 3 was basic stuff on the timeline and then with buttons and then movieclips with onclipevents, then with code in one frame of a movieclip, then external code files, drawing api stuff, bitmapdata stuff, and going more and more tilebased for more and more things etc).
Now, reviewing how we, much of the flash designer and developer community progressed there and also reviewing flash’s strengths and weaknesses years later after having dabbled with many other technologies and middleware,
i see things a bit different =)
On codeside:
Yes, its nice when your code is more structured and cleaner, but the main reason many switched to AS3 was not that they wanted those things more than anything, no, it was that Adobe has deprecated the previous AS versions so new Api features were not added for AS1 and 2.
Next to that, the performance was better when doing things in AS3. And that was very needed for many games since performance was always an issue with flash.
So it was pushed as big performance gainer, which in hindsight is super stupid because the main performance bottleneck with flash is totally the graphics handling side since pre stage 3d stuff is not hardware accelerated (unless one deploys to scaleform or similar).
Other options like Unity show that with good cross compiling and hardware acceleration for the graphics side, one can very well let a developer code in C# just like in JS and still get great performance in either case (compared to flash for some such things).
AS3 alienated many less code centric designer people, it lost one of its core strengths of being accessible to non coders there, too.
It lost one of its main strengths which was that anyone into it, even people less experienced in coding could jump into it and make interactive stuff easily.
Also: Again, yeah, if they pushed AS1/2 onwards, too as alternative language option flash js, they could have had an easier transition to deploy to html5/webgl now where js is much more en vogue (again).
On the side of tilebased stuff, sure as game developers as we got more seasoned and flash allowed to do that better and better with the addition of the bitmapdata api, many of us turned to doing more and more things tilebased.
Though while for some game types that’s the ideal way to go, for many others it isn’t and it was still done mainly cause the performance way better.
(Next to Adobe actually breaking some of the movieclip control features with AS3 and also not adding the Bitmapdata api functionality in visual workflow in the IDE so if one wanted to use it one already had to go codeside centric in either way)
Thing is, the main reason flash’s vector graphics side was slow was of course that it was not hardware accelerated.
Again, in hindsight the worst thing for flash since tilebased games can be made with pretty much any technology/middleware so that makes flash totally replaceable, they should have hardware accelerated the vector graphics side at least as scaleform does cause the vector graphics, timeline and displaylist sides are actually what makes flash unique.
Hence why as you said still many use flash now to actually create the animations for their spritesheets etc for use in other engines. Since other engines to this day lack those features that make flash unique.
And those things are actually more important now than ever before because of more and more platforms/screens going to more and more different screen sizes, aspect ratios and dpi.
So resolution independent graphics are actually a huge selling point when done right.
Basically Adobe screwed it up by not pushing the strengths of flash forward, not pushing AS1/2 (JS) forward which kept it accessible to non coders, not hardware accelerating the vector graphics and displaylist api based stuff and not integrating the bitmapdata api based stuff properly in visual workflow in the ide either.
Changing those things would make flash still be used way more now and in the future, no matter if as totol, for making games by itself or as middleware used for making games in other options.
I code most stuff in C# for several years in Unity, but i sure see and know how important it is for Unity that they also push JS (Unityscript) forward since that makes it accessible to people not as experienced in coding yet (next to people coming from web dev etc)
And i’ve made my fair share of 2D games and UIS (next to 3D stuff) in other technologies too to see how yeah, those still don’t have scaleable vector graphics and text as easily creatable and as well usable as flash and still most others lack something working as well as the displaylist model =)
Creating a UI, sharp text, timeline/keyframe animation and such things in other engines, especially when going multi platform/multi screen size/dpi variations etc to this day is still cumbersome and usually means adding several atlases for different resolutions etc.
I’ve made my fair share of RIAS for clients and own projects before that term was coined and later on, too but i always thought it was nonsensical Adobe pushed flash for rigid same bad look using components using “RIAS”, was always clear to me Flash would first get replaced at that as soon as JS etc catch up on some such ends.
(The RIAs it was used longer and more for were those which very more flashy and/or used the unique strengths of flash instead of trying to ape what is possible in better way with other options)
And stage 3d was a mega fail to me because with that flash is still a much much worse choice for 3d than Unity, Unreal etc and they also did it in a way where they basically ditched any vector grahics and displaylist api etc, so anything that makes flash good in unique way.
They have not hardware accelerated the parts they would have to to actually make it useful for the majority of people who’d maybe like to use flash for the parts that actually make it unique. For everything else its totally replaceable and the worse choice anyway.
Its nice and all others jumped in with Starling etc to try to fill the gap, but that’s not the same as giving all users the functionality to accelerate all the graphical side they can make in flash, also in the IDE and also with the APIS they knew and that actually made flash unique.
To this day, when doing stuff in unity, unreal etc, in unreal i use scaleform and in unity solutions like NGUI etc (until the new builtinUI system rolls out) for doing 2D/UI stuff and to this day even those progressed engines don’t match flash in the functionality and workflow it has in IDE for vector graphics and keyframe based 2D animation or even just sharp rich text at any size/resolution/dpi.
So yeah, all looser points go to Adobe for not actually understanding what the unique strengths of flash were and still are compared to the other stuff and hence never properly pushing those forward, hence being the main reason for why flash got more and more replaceable and is at the reputation and usage level its at now.
Although I left for different reasons (other programming languages became more appealing), the use of Flash on the web faltered because of it’s unavailability on iDevices.
The good thing about this is that JavaScript / HTML / CSS are now taken more seriously and it’s developers have formed an active and engaging community. The bad thing is that a lot of people did not do Flash before and so lessons learned are lost.
It will be a while before websites stop sending our computers to space (CPU usage) but I hope ex-Flashers in the JavaScript space will help the ‘new’ developers with that.
Thank you for writing this post, brings back nice memories.
“all his skills were completely obsolete”… hmm, I cannot imagine any flasher, whose skills are “completely obsolete”. In fact, most skills from the real world (games development for example) are perfectly reusable.
Sure, you wouldn’t be completely obsolete, but try to get a job as a JS/HTML web dev, or native Android or iOS or anything else, and present nothing but Flash work for the last ten years and you’re not going to get far. That’s why I don’t get so many Flash users’ hatred of JS or Objective-C or Java. Like it or not, they’re going to have to use one of those (or something else) some day. Better to get the experience now. Learning is good. Learning something out of your comfort zone is great. Sticking to what you know and like is death. At least in a fast moving tech field.
I could not have said it better. I wanted to write this kind of stuff for some time. Thank you for doing it for me 🙂
I started doing Flash and AS3 8 years ago to create what was to become Minko (http://minko.io). Back in the days it was the best (only?) solution to build web 3D apps. We felt like pioneers and we were.
Now Adobe dropped the ball, we had to move. At the same moment, C++ started targeting the web with Emscripten, closing the gap between native apps/libs. Now we write mostly C++11 code and Lua for scripting. We feel free, using only open technologies and standards. And I’m not even talking about how great the language is…
On the business side, we don’t depend on anything/anyone else. In a few weeks we will add Windows Phone as a target in addition to iOS, Android, Windows, Mac, Linux and HTML5. We didn’t have to ask anyone to implement it. We’re free and we don’t rely on a specific platform. That’s a big plus. Now we can make a difference between the target platform and the dev platform (without even relying on a VM!). It’s a game changer and opens a brand new world of perspectives.
Actually, I don’t code for a living at all. But I had done a lot serious flash code before. I got some wake-up call and left code career, And then, I am totally focusing on art/design works now. But sometimes, I do code for my personal video/art works. I don’t get any big differences BTN AS and JS. Do they not look so similar? They both use “FUNCTION” method. Actually, those are same to me. I hope that JS catch up AS3(advanced ECMA-script) some day. AS and JS both are beautiful languages. And I love Peter’s “Playing With Chaos.” Also, I love Peter’s old flash contribution. There’s no reason to hate. Only politics makes same people hate together. PEACE… http://www.youtube.com/watch?v=BWf-eARnf6U
I remember precisely that day when Adobe acquired Macromedia On April 18, 2005.
Every great idea turns into slowly dying paddle when big one buys small one.
But I am wondering what happened with your idea to “MAKE FLASH GAMES. RETIRE EARLY” – What happened?
When I’ve built my first iOS game (in 4 weeks using Phonegap + Pixi.js) without sale plan, promotors it’s just a proof of concept that Flash Designer can do mobile because javascript is like actionscript.
– what is most annoying – in the UK for instance to all the recruiters and my old mates I am still in a box: FLASH guy not interactive designer.
I think they, these people must literally “die” to let us live again.
Flash is a tool and I will be using it for next couple years as animation tool.
I might guess that your biggest issue is that badge “Flash” not Flash in itself.
This is the most compelling article I have read to get me off my ass and force me to learn something new. I’ve been avoiding this truth for too long.
That story about your friend sounds like me 2 years from now 🙁
What shall I learn???
Coming from the Flash world, I’d say Android, Swift, JS, Unity3D are all viable options right now.
I switched from Flash to Javascript 3 years ago (because i saw flash die) and now think about switching to Swift/Objective-C or Java because the last project with Javascript was really frustrating and things with Javascript get better very slowly. I always struggle around with the same problems… performance problems on mobile devices when its a very interactive user interface, spending so much time on browser differences and being upset because of developers wo think Javascript or the library XY is the best and aren’t open minded to something different. I think Javascript will be very important in the future, but its not a good time to develop with it.
What would you recommend me to learn? Android or IOS with Swift?
I wonder why the interest in Actionscript has gone up?http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Keith… thanks for writing this.
It’s what I needed to hear today.
I’ve had my head to the Flash grindstone for years and just decided to take a look around to see where my friends from Flas4/flashforward/ etc days were doing.
Never have I felt as joyous and optimistic as I did when I first received my student discounted Flash v5 (yeah, I actually paid for it). Macromedia’s slogan was “What the web could be”. I have something in common with the hippies of ’69 because I am constantly aware of a sense of “WTF happened, guys?”. Adobe became the personification of the ’80s. We experienced tremendous growth but nobody seemed to give a real shit.
AS is like an old and dear friend with a terminal illness. But now I’m past that age of any having any desire to make new friends. Like this comment, all is vain and boring. If you read all of this reply…., well, why?
Great article indeed! Also, a big thank you for all the books you have published over the years, they are packed with concepts that can be used in any programming language.
I wanted to ask kind of a side question: ActionScript is/was a great language to start learning basic programming, say for 1st year students in college. I personally think it’s easy enough to learn the basic programming steps, allowing you to become creative in many different ways. I think we all agree on this.
But with Flash/ActionScript dyeing, what would you recommend to include in the 1st years’ curricula, under basic programming?
PS: please correct me if I’m wrong in my assumptions 🙂
I know I’ll get a lot of flak for saying this, but I’d recommend JavaScript. It’s pretty close to AS, minus some of the class-based stuff and strict typing. It’s got its funky parts, but hey, so does ActionScript. There is so much going on in the world of JS and web dev, so many resources and available work. But it seems like most hard core Flash holdouts hate JavaScript with a vengeance. And I’m sure someone will come on and tell us all how horrible JS really is.
Another great language for learning programming is Python. I really love that language. Ties in well with a lot of new devices like the Raspberry PI, too.
C# is also a good one to learn with. Very close to where AS3 left off in most of its syntax, and supported on a lot of platforms now, including Unity.
Flak incoming! I can’t really say JS sucks, it’s the world in which it lives that sucks (less and less as time goes on) To this day I find myself really missing things like simple(r) abstraction, event bubbling, precompiled art assets etc.
I want to second the idea of choosing Unity as your new playground. It has all the wonder and fun that Flash ever had especially with their new GUI system in the 4.6 beta. Don’t waist time with unityscript, it wont help you grow. Stick with C# and ignore people who say C++ is better.
It also comes down to what you want to make. Flash was unique in that you could do pretty much whatever you want with it. I wouldn’t want to try to make a web app or any kind of app with Unity. It’s good for mobile games though. Decent for web based games, but not a lot of people have the plugin. It’s possible to make simple 2D games with HTML/JS, but I wouldn’t try to use an HTML-to-native-app conversion process for a game.
I think his question was more about what is fun to learn programming in with a cheap entry fee. Unity’s ability to replace flash as a rich web experience platform, in time, is a whole other discussion, but one I’d like to have.
Unity faces the same limitation in that there’s no plugin for web browsers on mobile.
But you can make mobile apps pretty easily. I think that comes at a pretty big cost though.
the other thing about Unity is that the plugin doesn’t have anywhere NEAR the install base that Flash had, or still has, for that matter. I don’t have it installed, and if I ran across a game that required me to install it, I’d probably give it a miss, unless I really, really wanted to play that game.
Can make mobile apps on flash quite easily too 😉 as far as rich “web” experience HTML5 is the only game in town if you want mobile browsers to be included.
Have you tried to make a serious, professional, cross-platform mobile game in Flash? I spent a year doing it at Playdom. I’d rather do two separate native versions. It basically boiled down to doing that anyway. There was an iOS team that built the iOS version and and Android team that came along later and created a whole new code base to create the Android version. A lot of the code was shared, but it was painful. I’d never go through that again.
Keith, yes, with Starling, quite a pain and lots of bugs. Though, now AIR is rendering the display list (even vectors) in GPU faster than Starling, and 5x faster than web. I even tried compiling my regular flash games and it blew me away how fast they run on mobile… so it’s all I wanted flash to do, just four years later. My client runs this one, all flash https://itunes.apple.com/us/app/slot-buster-slots-tournaments/id736212342?mt=8
Is that just iOS, or cross platform. Building on a single platform is not quite as bad. But there are so many differences between iOS and Android that do NOT get abstracted away by AIR, that you really are building two completely different versions. And either you have two different code bases, or your code is littered with conditional compile blocks or different versions of classes SomeClassIOS / SomeClassAndroid.
There’s also the pain of ANEs. Any time you want to use any third party library (ads, tracking, etc) or use any native functionality, you need to write ANEs for each platform. This complicates the build, and vastly complicates testing. And in the long run, would be easier to just go native and build two versions.
I don’t say this lightly either. The app I am working on now is native iOS and Android. I am doing the Android version. Another dev is doing the iOS version, we each have others devs helping us. It’s a 1000x better experience to just code natively for your own platform. And I’m firmly convinced that there is no huge savings in time, if any at all from trying to do a large cross-platform mobile project in AIR.
Its cross platform (web, iOS, android, amazon), a couple of the ANE’s are different but overall it’s the same code. What are you working on these days?
I would also be interested by “those” things that do not get abstracted by air and/or make it just painful to build in flash instead of two separates apps build natively.
At the moment, I’m quite happy with flash. It’s true that the ANE thing is a bit painful but it all works fine for me (building an air app that uses socials interactions and notifications)
thanks
Hi guys and thanks for all your replies. It seems that i started up quite a discussion which is always positive 🙂
So I guess it’s basically down to C# and Javascript and maybe Python … hmm, I was thinking the lines of C# and Javascript but wanted another opinion. I don’t know to program in Python myself 🙂
What I’m thinking now is that C# can be quite complex for students and there’s a big risk they will jump into Unity, do a basic 360 rotation, scream of joy and forget to learn anything anymore since they “own the worlds now”. From my experience with 1st year students (here in Norway, at least) they tend to think they know it all after opening the program.
Javascript, on the other hand, is basic stuff but maybe too basic?
Put in other words, Flash was simple enough to keep people concentrated only at programming and was advanced enough to help them learn programming and become creative.
I think maybe it’s wise to start them slow, build their programming skills with Javascript and, later on, introduce C# and Unity.
PS: I’m starting to experiment with HTML5/JS as Keith indicated, I really think that’s the future.
Marcel, you said flash /as3 was a good on ramp for new programmers but then said unity, which offers a nearly identical on ramp is too tempting. Then you said html5 to and js look like the future. Neither of those opinions make sense. The web, in its absolute purest form is nothing but DOM hacking. It’s the last thing I would show a young programmer if I wanted them to stick with it.
And to Keith and Yohami, Unity’s free webgl exporter could very easily usher in a new era of super rich web experiences on any device.
I hear ya on the native thing though, I worked on the first kids book reader for Nook Color which was all air and dealing with the mic and file system was painful.
What I mean to say was that Flash/ActionScript didn’t had the complexity that Unity adds. Unity is a great too but I think it’s far too complex for beginners. Frm my experience, students want to learn stuff but, most of the time, don’t have the patience that’s needed when starting in a new subject, they want quick results and there’s a big chance they get distracted very easily by “the power of Unity”. This is what I meant to say 🙂
As for HTML5/JS, I was thinking more like HTML5/JS vs Flash, with the 1st becoming the new standard for web games in the near future.
yup .. 8 years as a senior Flash developer. Now, all I have are cool tales of the elder days. Now, I design landing pages instead of pushing the envelope with Flash.
/dreams