Mark Anders on Flash development
At least someone likes Eclipse…
Interview Along with Scott Guthrie, Mark Anders was one of the fathers of ASP.NET. Then he led the Flex Builder team at Macromedia. Now at Adobe, he’s in charge of making Flash a development platform for rich Internet applications.
Mary Branscombe caught up with him after the Flash on the Beach conference and asked about Eclipse, how Flash measures up to ASP and whether Vista raises the bar for Internet apps.
For years, developers have complained about designer-focused concepts in Flash like the timeline. Is Flex Builder deliberately a change from that?
That’s why I quit Microsoft and went to Macromedia - the timeline! I'm a developer and for me there were dual realities. I would see amazing stuff done in Flash and then I would pick up the tool and literally every concept you have is wrong! I want a data grid, I want a tab - how is that a movie clip? That was the potential I saw in Flash and in some ways it was similar to ASP. With ASP, Scott Guthrie and I were looking at how people built Web apps and at the hoops they were jumping through. We looked at Visual Interdev 6 and the gobbledegook it was spitting out and we thought there has to be a better way.
So will ASP programmers be interested in Flex?
One, Flex Data Services is optional. Flex is a framework of ActionScript code and tools to work with it for building Flash applications and Flex Builder is an optional tool you can use to be more productive. Flex Data Services is for certain scenarios where want to integrate with backend systems and do a richer form of communication But also, look at the Microsoft model; it's about loosely coupled Web services that are XML based with Web services communicating between tiers. Flex is a great front end for that, so it really fits in wonderfully for the whole .NET architecture.
Everybody apart from Microsoft seems to be switching over to Eclipse for development tools; why did you pick it for Flex Builder?
Eclipse is a great environment for building tools; they created a really nice framework for building tools. One of the things I hadn’t thought about until we started developing with Eclipse was ‘What is an IDE?’ Well, it’s an environment that allows you to plug in lots of developer tools and integrate them. Typically, it’s from a single vendor and you’re not aware of the architecture.
Microsoft has VSIP [the Visual Studio Integration Program – Ed] but having all the source code of the environment and having it structured in fabulous way allows you to unleash your creativity. What we’re seeing with Eclipse is tremendous innovation; I think the Microsoft tools have a bit more polish but there’s a lot more innovation in Eclipse. With your background, did you consider using .NET?
One of the alternatives was .NET – and I was a big fan, having been involved from before it was .NET - and the other was Java and Eclipse. I'd spent the last six years working on building a managed code platform; I thought it was goofy to build in C++. The thing I concluded about .NET was if you're trying to build code to run on a variety of platforms .NET offers you nothing - where's the cross platform window forms? There wasn't one.
Mono is doing a windowing toolkit just to make a great environment for writing Linux applications but I didn't want a Linux application, I wanted a cross platform application.
Microsoft isn't doing that with Windows Forms and Rotor is just nothing – because I knew how it was built. That was kind of surprising. Even if I liked .NET more than I liked Java and even if I thought there were some better features in .NET, and I liked C# as a language - if you're building a tool .NET has nothing for you. And the problem is not the syntax of the classes or the performance or that it gives me a nice Windows native UI. It’s just Eclipse is an incredible framework for building tools.
Were there other big changes to the code?
One thing I was really happy we could do was come up with a variant of ActionScript that’s strongly typed so you get those good compiler messages. When we moved to ActionScript 3, we had to port all this code and there were a number of places where the programmers said ‘How did we ever ship that? That code just doesn't work’. Once you have real strong typing it ferrets out things you didn't know were there, even if you're a great developer.
With Vista Microsoft has the Windows Presentation Framework (WPF); does that raise the bar for what Flash and Apollo have to offer graphically for application development?
With Apollo [due for release, I believe, sometime in the first half of 2007 – Ed] we say use all the techniques you use today; use Flash, use HTML, if you deal with PDFs use those, but you don't have to run in a browser. What we're doing with Flash is forever pushing the boundaries and enabling new things. In Flash 8, we had new visual effects, new video codecs, the blended alpha channel, new drawing commands - and people took incredible advantage of those.
If you look at what Microsoft is doing with WPF, they say it's really about rich Internet applications but actually, I don't think it is, because I think rich Internet applications are not about Windows only. I think the Internet is about a multitude of machines and you do not always know what they are. What WPF was really trying to do was modernise the way you program Windows, because most of the customers who used to be developing VB apps moved to the server and were developing Web applications. I was happy with the role I played in creating .NET because something had to be done to have something more up to date and richer for creating applications. ®