A few people have asked about putting my FF08 presentation slides on line. Unfortunately (or fortunately actually), I don’t make slides with tons of info on them. No long lists of bullet points or text. Just some visual cues to give the audience something to look at and to help pace myself and know what to say next.
However, people seemed to like the presentation, so I thought maybe I’d cover some of the basic ideas in writing.
Basically, I started Flash in 1999. Over the next couple years I started learning about ActionScript and in 2001 started this website, bit-101.com. Contributed to some books, did a fair amount of side work, and started becoming this somewhat well known Flash guy. But my day job was assistant (to the) estimator in the HVAC department of a large mechanical contracting company in Boston. Hated it. I’d work there all day, then go home and do Flash.
So in 2003, I got nominated for a Flash Forward Film Festival award in the Experimental Category. I went down to NYC and wound up winning! Pretty cool. I was pretty pumped up. I had recognition as a Flash dude. Ready for the big time. I went back to Boston and back to my job the next Monday. I’d like to say I walked into my boss’s office and quit, but what happened is that he called me into his office and fired me.
So on one level I was pretty bummed out about being fired, but underneath that I was pretty psyched because I could do Flash full time, which I started doing a few days later and am still doing.
So the theme of Flash Forward 2008 was “Passion” and I think that a lot of people in the Flash community have a whole lot of that. More than in a lot of similar fields. I don’t know, but I kind of doubt the PHP community has the same passion that Flash has. (Maybe they do, but that line got a good laugh from the audience anyway. 🙂 ) I think part of that is that traditionally, most people who work in Flash have started out as more creative people. Even Flash developers often started out on more of the design side of things and learned programming via ActionScript (that’s definitely my story). Of course a lot of that is changing with Flex pulling in traditional Java developers and people from other fields. But overall, Flashers have this creative streak thrown in with this geeky developer aspect, which is probably why Flash conferences are so much fun.
At this point I took a look a the definition of “Flash”, wondering why did they name the product what they did? Why not “Web Animation Tool” or “Internet Application Builder”?
Flash(y): ostentatiously attractive or impressive
Cool. That pretty much describes Flash, historically. There’s that “WOW” factor. That thing that makes you look twice and then forward the link to your friends. Then I went a step further and looked up “ostentatious”:
Ostentatious: characterized by vulgar or pretentious display; designed to impress or attract notice
Yeah! Now that’s why I got into Flash! Now that whole vulgar and pretentious part can be taken negatively, but I kind of like it. It’s in your face. It’s getting your attention. You can’t ignore it. It’s cool! This was all very prevelant in my early years in Flash: 1999-2002. So I made a video to give people who might not have been into it back then, an idea of what it was like:
The Dark Years
Like all good stories, you need a villain. Ours was this man:
Jakob Nielsen. Actually, he’s not a bad guy. He just made this statement in an article, “Flash: 99% Bad” and had his 15 minutes of fame with it:
Although multimedia has its role on the Web, current Flash technology tends to discourage usability for three reasons: it makes bad design more likely, it breaks with the Web’s fundamental interaction style, and it consumes resources that would be better spent enhancing a site’s core value. – Jakob Nielsen
But so what? Take a look at his site: http://www.useit.com/. This is not a man who really sees the aesthetic value of nice design. Big deal, no wonder he doesn’t like Flash. The problem wasn’t that he said that. The problem is that we listened.
In June of 2002, Macromedia announced a partnership with Jakob Nielsen, to improve the usability of Internet applications in the next version of Flash. Take a look at his photo and his site. This is the man who is going to help us make Flash “better”. Right.
But, in 2003, Macromedia released Flash MX 2004. This had a bunch of new features, including:
- New User Interface components for building Rich Internet Applications.
- New ActionScript 2.0 for building complex applications.
- New “screens and forms” for building Rich Internet applications
Screens and forms never really took off, but the whole concept at the time was to lure developers from other communities in to become Flash Rich Internet Application Developers. The problem was that developers would come into Flash, see a timeline with layers and drawing tools and run away screaming. Screens and forms were an attempt to make a better application development environment.
So although that didn’t work, Macromedia forged ahead and created Flex. Flex is aimed from the bottom up at creating RIAs. It’s built (since Flex 2) on Eclipse, a well known, popular development environment. It has a rich set of components, layout containers, etc. for creating applications.
Now if you take a look at most Flex sites today, you see very polished, professional applicatons. Lots of UI controls, charts, graphs, numbers, things layed out in grids, nice transitons, rounded corners, smooth gradients, that shade of blue that makes you want to scream because the developer was too lazy to change it, etc.
All well and good, but THAT’s not why I got into Flash! When I saw my first over-the-top Flash site, or made my first tween, my thought wasn’t “Oh my God! Someday I’ll be able to bind a data grid to an online database and display the results in a chart!!!”
Why Flex is good for Flash
If you look at the design / creative / expressive features that were in Flash 4, and then look across the versions of Flash up to Flash MX 2004 (Flash 7), you’ll see that virtually nothing changed. You’ve got the same old drawing tools, the same color picker, same timeline (give or take). Almost all the changes over that 5-6 year period were squarely aimed at adding new development / programming / application building features. (We did get the drawing API in 7, but that’s still more of a code-based feature.) Designers and creative people got left in the dust. People like me who got into the programming side of it still had plenty to play with, but a lot of people got left behind.
But Flex is now there to siphon off that development aspect, leaving Flash itself to move back to its roots as a creative tool. You did start to see that in the first version of Flash to be released after Flex: Flash 8. We got BitmapData – pixel level control of bitmaps, bitmap filters – dropshadows, blurs, bevels, glows, etc., blend modes. It was really the first batch of new expressive features to enter Flash in many years.
With Flash CS3, things stalled a bit, I think due to the fact that Adobe had to cram AS3 into the Flash authoring tool – no small feat. That took all their engineering cycles, so not much in terms of new creative tools there.
But Flash 10… OMFG. They’ve almost made up for the years of silence in one release. Just look at the new creative features about to be dropped on us: New Motion Editor / Tween Engine, 3D!!!, Bones (inverse kinematics), new Drawing API, Pixel Bender, new Text Engine, and Dynamic Sound Creation.
More than enough tools to make Jakob Nielsen very, very nervous.
My closing words of wisdom: Get out there and be OSTENTATIOUS.
This session topic is simply brilliant for the new FF08 format (time constraints, etc).
Well put.
Dude, I remember you from the good ‘ol days of were-here.com 🙂 So I heard that MM named Flash “Flash” as a contraction of Future Splash, but I don’t know for certain.
Up until the last part (starting with “Why Flex is good for Flash”)
i thought you were onto something there, you got it.
But then it falls apart, sorry.
I don´t think Flex is good for Flash (IDE), its an excuse argument for Adobe why the garbage code editor in flash ide is never propperly developed further, why code centric features are never propperly integrated into flash ide.
And while your putting the “flash back in flash (ide)” tag would be awesome if it was a reality, it sadly is off a lot.
While i appreciate the addition of some creative features in flash 10, they are additions, its not at all bringing the flash back to flash, its not addressing and fixing all the probvlems brought up before.
Where´s the player/garbage collector doing all the ressource allocation propperly automatically?
I see an interview with a player engineer where the talks about how much more versatile the new GC is and then says, yeah, its so powerful and versatile and better than the old one, but yeah, its not easily possible to add the functionality to it the old one had and if at all possible it will take a long while till they can add the functionality of the old one to the new one.
AHA!
Where´s the option to turn back on the compiler/interpreter working like in flash 6 when wanted (in AS3 export)?
Where are many many fixes to how AS3/the compiler handles visual assets to allow things that were most easy things to do and took pretty much o time to implement in flash6?
Your recent post about embedding whole swfs in AS3 is a very good example.
There are tons more such examples, basic things to do (in flash6) like controlling nested movieclips inside movieclips, how can such core graphical work ever be turned into such an error prone time waste?
Sorry, as long as the overcomplexification boner getting attitude, the attitude that it is evolution to turn flash´s language and workflow more and more to outdated lower level ways isn´t changed, no, the flash is not and will not be brought back to flash.
It is not propper evolution and the propper direction to turn a high level language and workflow into an older low level language and workflow.
It is no propper excuse for getting a tidbit better performance.
Performance should in this day and age,and since more than 5 years be achieved with propper gpu hardware acceleration and other ways.
The way pixel bender is made and works and should be used totally shows they didn´t get it AT ALL.
Learning yet another language (especially one that is Adobe proprietary and not useful for anything else than Adobe tools) for making custom filters?!?
What the hell are you Adobe guys thinking?!?
Yes, around 50-1000 guys will code in that and the rest of the flash folks will download and use those filters that way then, but is something like that the solution?
This is what you came up with and praise?!?
I have to say it again and again in such discussions, anyone from Adobe should go NOW, get himself unity3D to get towards what flash should have evolved.
Seriously Adobe guys, you´re totally missing it.
Check out the demos here:
http://unity3d.com/gallery/
Note: most of these were coded in javascript (One of the main reasons i can only laugh and feel sorry about anyone who codes in AS3 for “getting better performance,dude” reasons).
One can also use Boo and C# instead though.
One can also mix using the languages in one project.
I could go on and on, but yeah, bottom line is i think Adobe guys should take lots of notes there to get towards what flash should have evolved.
Again, for many years, the focus of Flash moving forward has been towards programming, developing, application building. Only since Flex was released have creative, expressive features started making their way back into Flash. And there are a crapload of them in Flash 10. Does that mean that all is OK now? Probably not. Software evolves. You can’t totally change what a program is and does 180 degrees in one or two releases. But I do see it that Adobe is going VERY much in the right direction with what they are did in Flash 8 and Flash 10. It is a major turning point. Doesn’t mean you should be totally satisfied and not ask for more, but I’m pretty optimistic about where it’s going now.
Ok,that´s cool, but yeah, when its “only” going towards the right direction (“at least” going towards the right direction is very important of course), but it is not there at all yet, then yes, saying things like “putting the flash back in flash” is way off, they can say that once they addressed all those (and many more) problems.
Until then, yeah, guys like me who are disappointed but too connected to flash to give up completely on it easily will come up and bitch and moan everyime they hype it like the next coming.
Well to clarify, “putting the Flash back in Flash” was my line, not Adobes – and I don’t work for Adobe. And it was more a call to the community to not forget why they got into Flash – to make vulgar, pretentious, ostentatious animations designed to attract attention. 🙂 The whole Flash 10 thing was that there are some awesome new tools to do that with.
Yes, i know it was a statement by you and i also know you´re not working for Adobe 🙂
A similar slogan could aswell have been put out by Adobe though seeing how they seem to think with these bunch of additions made in flash 10 they now did everything to make the more dsigner centric crowd happy again (or at least shut up for a while).
Again, me myself i´d love it if they really put the flash back to flash, so i could start enjoying it again and stop using other stuff for things which should be flashy ad perform well, but yeah, its just not there yet and i will believe they got it once i see it.
Just adding a bunch of designer centric features is not proving that (enough yet).
I think flash designers developers suffer from having no constraint and then too much constraint. So you start coding html and you have a handful of components. Then in flash you had none, everything you did was custom made. Then components arrived and flex now tweeners (the guys stuck between as3 flash cs3 and flex) have no idea how to consistently put projects together. When you work alone it’s easy to go mad. When you work in a team it gets a bit more tricky. We need a framework that allows us to be mad ass creative but allows collaboration. We still haven’t solved the designer developer issue. Expression studio doesn’t and neither does Thermo. So xml will make developers resent integrating graphics any less? Why do we now have a super layer to separate code from graphics in Thermo? In html you have a button and you load an image in as a skin, finished! Designers have become lazy with huge 32bit pngs not aligned not snapped to whole numbers. Let’s go crazy but someone put a framework together to do it. Am I taking crazy pills or has the component architecture for the last 6 years been over engineered? Nice work on your components I love the simplicity, load an image in and were away. Now if we had standard way to name library symbols that everyone adopted 🙂 Hope I made some sort of sense …
Well, besides all that, we have that flash isn’t going to run in most handhelds for a very long time (due to its crappy performance). I just adore Flash and the range of things I can do with it, almost anything, but if it won’t work in handhelds (like the iPhone) well, I don’t see much future for it, even less if adobe is putting more and more complex things to play with, and with which to cram the processor (not using the GPU y a move that I still vouch for). So I’ve been searching for a replacement for flashing without flash (and without plugins), the thing that flash did best was ubiquity, but that will be no more, so let’s look for the next one in line… (still looking for something like Flash). So unless Adobe start’s looking at what happens when you have a small processor and no GPU, I think we’ll be all talking together again at a PHP/XML/CSS Blog in just a few years…
I’ll miss flash, maybe in 10 years handhelds will be able to play the old Flash 10, just for kiks, like we play NES games in our cellphones today.
What flash does good:
Impress
Animation
RIAs
Security
Ubiquity (each day less)
What flash does bad:
Accessibility
SEO
OnLine edition (you must have the source)
BUT STILL THERES NO ALTERNATIVE!!!! Or is there?
Great article… and I could not agree more. The past year I’ve been purposely moving away from Flash to focus more on PHP and Ajax development. Just the other day I was telling my wife that PHP and Javascript just does not inspire me the same way Flash does. It was nice not having to worry about multiple language syntaxes and just focus on one language that could accomplish 80% of the task…. And with “Class” (pun intended 🙂
While going to school I felt more excited studying & working on Flash projects more than anything else. Javascript does have it’s benefits… but everything seems so cookie-cut. For example the ubiquitous “lightbox” effect. With Flash I feel like the only limitations is my imaginations and lack of creativity.
Sure it doesn’t work on an iphone. However I own one and there are plenty of Javascript Web Apps that don’t work. One huge issue is the lack of Mouse Events (rollovers, drag & drop, ect…)
Recently I’ve heard that Google is working being able to read swf files. That’s HUGE step forward and has helped renewed my interest in getting back into Flash.
Excellent post, Keith. Right on the money.
Well, thank you very much. And the presentation was awesome. Just how it has to be, since you presented it and didn´t need to project a book onto the wall.
I feel more excited studying & working on Flash projects more than anything else.