Home  >  

Sean McCracken Interview

Author photo
AddThis Social Bookmark Button

seantron.jpg

Tell us about how you got started with Flash and what attracted you to the language?

My first real encounter with flash was with Flash 8 Professional. Back then I was working at Warner Music Group, at a dead end job part time, so I was looking for an out. And I have always been an Anime dork, so I started teaching myself Animation techniques with my entry level Wacom. The problem was, that I found I sucked at Traditional Animation, because it’s all about drawing, and that’s not my strong suit. So then I got into After Effects and 3d, and started going down the whole Motion Graphics path. Then I get a job in New Mexico at a local shop that does a lot of Flash dev, and I thought I was hired in as an Animator, but turns out I was brought in to be taught Flash Dev. Nothing drives you to learn programming more than the possibility of losing your job. And yes, if you are following along at home, that means my first language was AS3, weird right? But I think it actually was a much better language to come in on than AS2 or god forbid AS1. And my first development project I learned about the power of Singletons (they were all the rage back then, because I think Flash had finally become really OOP), and no code was on the timeline.

You are well known for your work with FMS. What are your thoughts on the service and how would you like to see it evolve in the future?

Yep, good ol’ Flash Media Server. Things are going to change very rapidly in the FMS world when the RTMFP (Real Time Media Flow Protocol, RTMP’s Peer2Peer brother) bomb is finally dropped. At this point Stratus (and very recently Stratus 2) have been the only way to Authenticate the RTMFP, but the next version of FMS is going to have it. And yeah, that’s going to be a sea change in the industry. There’s also some major changes coming to FMS that will make it way more attractive for Developers to use. Influxis is going to be leading the FMS push too, so there’s a lot of exciting things on the horizon. Peer 2 Peer is going to make FMS a real contender in a lot of industries that it was overlooked before.

You have been doing a lot of work with 3d in Flash, can you talk about your favorite project and some of the limitations you have overcome to make it work?

I’m an official Away3d Contributor and I’ve been very involved with Flash 3d since I built my 3d Virtual World with Away and FMS. As for favorite projects in 3d, I don’t have one, hahaha. Although to be good at 3d in the Flash world you have to learn all the tricks from the old days, which is a good thing. As amazing of a job that the Away and Papervision teams did (yes, I still have major respect for everyone on the PV team), it’s just never going to be up to the level of graphics that most users have come to expect in the year 2010. Developing a real 3d project in the flash player is like being teleported to the year 1998, or imagine banging your head against the wall for 6 months, and you’ll get close to how fun it is to develop 3d with Flash. The limitations lie in the Flash Player itself. I could go on and on about this, so I’m going to stop, because I’m getting a headache.

What are your thoughts on 3d in Flash and where do you think the platform must do in order to compete with other browser plugins such as Unity 3d?

I don’t think Flash will ever be able to compare to Unity 3d at this point, because of the direction Adobe is taking Flash. Flash Player 10.1’s GPU acceleration is only going to help out Flash Video, which is understandable that they went in that direction, but it’s also frustrating. The display renderer is the bottleneck at this point, and I don’t really see the Flash Player getting close to the polygon count of Unity3d. But at the same time, we can’t really compare Flash to Unity3d, because it’s a case of apples and oranges. Unity3d isn’t going to be used for RIA development or even regular web development the way they are going. Flash kicks Unity3d’s butt in GUI development, and the 2d space. Unity3d is a game development platform, period. But in that area, they shine. So, I don’t really know if Adobe even cares about the 3d Game area, and if they do, an easy way to do that is to have a special flash player that integrates the 3d of Director (which for some weird reason is still alive, although they’ve lost a lot of their leaders to Unity3d).

Perhaps some of your most interesting work has been on the AS3 VM and compilers. A while back you began demoing a merge between AS3 and C++ 3d engine. Can you talk about the project and what you learned about the core of the Flash VM?

Yeah, that was a fun project (learn more about it here). It was completely masochistic though, because I taught myself C++ by doing that project. What a nightmare of a language that is. My brain literally hurt for about 2 weeks, programming growing pains suck. Well, I learned a lot about what a Virtual Machine is, and what is going on under the hood on the scripting side. But it actually made me ask more questions then it answered, like the following:

  • Why isn’t the flash player multithreaded?
  • What the hell is going on with the display?
  • Why can’t a C++ 3d engine like Irrlecht or Ogre3d be added to the player, and an AS3 API be made to control it (which I did by the way). By doing that you would be able to push more polys than even Unity3d could (hint hint).

But after this project, it gave me a new found appreciation for the Java VM and the power of it.

It also made me give up on extending the AVM2, because while it’s great to see what’s going on and learn a bit about Flash’s guts, it’s a waste of time changing it. Actionscript 3 isn’t a powerful enough language (especially at the Tamarin level) to make a different version of Adobe’s Integrated Runtime (AIR), and start building a full on API that just won’t be used. Just build it in C++ with the engine of your choice at that point. Because you aren’t using the flash player, you are just running a stripped down version of the Flash Projector shell. So yeah, it pretty much comes down to Flash being closed, and why should I do their work for them.

What is your favorite feature of Flash and what is the feature you think needs the most work?

As down as I’ve been on Flash, it comes from a place of love. Flash has a special place in my heart, and I’m so down on it, because I want it to be better, and keep up with the competition. I still think that mixing the Flash IDE’s design power with something like Flex Builder is a really powerful combination. Flash has an awesome workflow, and I will always love the MovieClip and the Drawing API for 2d RIA and Game Development. But at this point, everything needs to be revamped a bit. The Player, the IDE, AS3 (please give up on ECMA, please!), all need a lot of work. All this talk about HTML5 being the Flash Killer (which was said of Silverlight too, ha), is blown out of proportion. HTML5 sounds awesome, and I welcome it (whenever it truly arrives), but Flash has a definite place in the Web-o-sphere. It would just be nice to be able to go on an awesome Flash driven Favorite Web Award site and not have my Macbook Pro sound like it’s hitting Warp 7. I don’t know why that is so much to ask.

What are you plans for 2010 and are there any web technologies, Flash based or not, on your radar that you want to get into?

I’m still going to be focused on Server Technology, because I’ve actually started to really enjoy solving the problems involved. But I’m studying the low level nitty gritty, like the internal workings of UDP and TCP/ip. Server clustering (clouds), Multiplayer Game backend development, Games, and Arduino. As for languages that I want to learn: Scala, Python, and mastering C# are high on my list. In the Flash realm, I’m going to be focused on RTMFP, and linking Flash to cloud based applications to leverage the flash penetration levels but figure out smart was of taking a lot of the load off of the Flash Player. Oh, and haXe, I want to play with haXe badly. I’m sure this list will completely change in about 3 months, but I’m cool with that. As long as I learn something and become a better, faster, stronger developer/architect it’s all good.

Read more from Jesse Freeman. Jesse Freeman's Atom feed TheFlashBum on Twitter

Comments

1 Comments

dejan said:

It is so unbelievable, Sean and myself had such a similar carrier path. From animation and 3D into the programming end beyond. I ended programming in MS Access and Java. But I am still missing power of 3D platforms like Maya and Flesh. Flash is fantastic for animations and possibly for user interfaces. gamucci micro One can use Flash to convert boring Microsoft style interface into really exciting to work with too. Flash just needs good database connectivity.

Leave a comment


Type the characters you see in the picture above.


Tag Cloud

Latest Features

Recommended for You

@InsideRIA on Twitter

Archives

  • Or, visit our complete archive.  

About This Site

Welcome to the premiere community site for all things RIA sponsored by O'Reilly Media and Adobe Systems Incorporated.