SIMON BISSON TALKS TO ADOBE’S MARK ANDERS ABOUT FLEX, APOLLO AND THE FUTURE OF ALL THINGS FLASH
One of the creators of Microsoft’s ASP.NET,
Mark Anders, joined Macromedia to lead
the development of Flex Builder. He’s now senior
principal scientist at Adobe, where he’s working on turning
Flash into a platform for building next-generation Rich
Internet Applications. We sit down with Anders to have a
chat about Flex and the future of Flash.
It’s a cross-platform future, where Flash doesn’t care which
operating system you’re using. After all, Anders himself
recently switched from a Windows PC to a Macintosh and
realised that he didn’t develop tools for either system – what
he developed them for was Flash. He’s enthusiastic about the
future of Flash and the up-coming Apollo release: “I think it’s
really catching on very nicely. We’ve shown an Apollo demo
from eBay and it’s gorgeous – a beautiful app completely
branded.” It’s another move down the road to Rich Internet
Applications, which are more closely related to desktop
applications than your browser. Apollo lets developers
design applications on one platform that work just as well on
another. Since it’s all Flash you can have different chromes
– and with the system chrome you get a Windows or
Macintosh user experience.
Apollo lets you also have a custom chrome with a
transparent background. This means you can build
irregularly shaped applications, which used to be very hard
to do in Windows. There are similarities between Apollo and
what you can do with Windows’ new WPF user-interface
tools, but Anders isn’t too bothered by what he has seen of
Microsoft’s new tools: “It was kind of amazing because it was
launching Expression and was at Flash on the Beach, so I got
to see the latest apps – and by and large I don’t think they
look dramatically better than the apps I’ve seen done in
early Apollo.”
Taking Flash out of the browser is important. Anders
describes it as pushing the boundary, by offering a “crossoperating
system runtime environment that allows people
to build applications using the skills that they have with
existing technologies such as HTML, AJAX, Flash and PDF
and to run those applications outside the browser.” It’s
an interesting approach, delivering a desktop host for
applications developed with those technologies. As Anders
says: “We’re doing it with skills people have today, but with
some new twists. The way that Flash and HTML combine
today is the HTML page contains the Flash.” Apollo changes
that: “The way we’re doing it with Apollo is to turn it around
and embed HTML within Flash. We’ve integrated the Webkit
HTML engine, which is what powers Safari on the Mac, but
it’s composited through the Flash rendering pipeline. So you
can take HTML and have it in a piece of Flash and apply filters
to it, rotate it, skew it and use it as an integral part of a more
Flash-based presentation.” Apollo will take advantage of
the work done on Adobe’s Spry AJAX framework, so you’ll
be able to embed Web 2.0 components (like Google Maps)
in your Apollo applications.
Flex Builder began life as a proprietary tool, but the
latest version is based on the open-source Eclipse IDE.
Originally designed as a Java development platform,
Anders describes Eclipse as “a great environment for
building tools”. Working with Eclipse made Flex Builder
easier to deliver. It certainly made a difference, as Anders
points out: “We shipped Flex Builder almost exactly
18 months after we began it from scratch – that is
beginning on a new code base.” The developers weren’t
Java developers either – they were C++ programmers
from Macromedia. The task was made harder as it was
being built around a framework that was still under
development. Flex was being ported to ActionScript 3, so
every module of code was gone over and Flex went from
a loosely typed language to one that was much stronger.
While they went from nothing, to a full development
platform in a year and a half, it still took longer than
planned due to the complexity of working with so many
different tools.
Some of the credit for that success has to go to Eclipse,
which Anders describes as a fabulous framework. He
made the initial proposal to use Eclipse for Flex Builder
shortly after joining Macromedia. There were two other
alternatives. One was a custom C++ development on top
of Macromedia’s existing tools and frameworks. The other
was to use Microsoft’s .NET platform. Anders was a big
.NET fan, having been involved with it at Microsoft from
the early days – but there was one big problem: it wasn’t
cross-platform. As Anders says: “I’ve 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 is that if you’re trying to build code to run on a variety
of platforms .NET could offer you nothing and in fact,
where’s the cross-platform Windows form? There wasn’t
one. Mono is doing a windowing toolkit, but that just
makes a great environment for writing Linux applications.
I didn’t want a Linux application, I wanted a cross-platform
application.” For Anders, Eclipse was a better approach:
“Although I liked .NET more than Java and even though I
like C++ as a language, the fact is that if you’re building a
tool, .NET has nothing – Eclipse is incredible for
building tools.”
In fact, Eclipse nearly didn’t make it as the basis of
Flex Builder. Eclipse 2.0 wasn’t quite good enough for
Macromedia, so Anders and his team began to build their
own platform. A month or so later Eclipse 3.0 arrived on the
scene and everything changed. Anders had his platform,
and work on Flex Builder could switch to the more mature
Eclipse IDE.
Adobe also had to integrate Flash into Eclipse as the
whole of Flex’s design view was written in Flash. Anders
was pleased with the result: “The advantage is that we’re
running all of the live components and so you see exactly
what you’re going to get.” It’s a very different way of
using Flash, Anders points out: “You’re dragging Flash
components round on screen and manipulating them, but
at any time you can flip back to source code.”
Flex does away with the Flash timeline, which
pleases Anders: “That’s why I quit Microsoft and went to
Macromedia – the timeline. I’m a developer and there was
the dual realities. I would see amazing stuff done in Flash
and think ‘that’s incredible’ and then I would pick up the
tool and panic.” Even so, he saw a lot of potential in Flash.
It’s easy to see what people are doing in Flash compared to
other web development technologies, but Anders felt that
Macromedia could do better – building on the work done
with Flex 1.0.
There needed to be changes. Anders thought: “We
could create a tool that would appeal to developers – and
we wanted to make the SDK free.” Moving away from being
a server was also key, as it allows Flex to be widely adopted
beyond the enterprise market.
The next step is to take Flash offline, which Anders says,
“Is really what Apollo is aiming for”. With Apollo you’ll be able
to use whatever techniques you want: “You can use Flash,
you can use HTML, if you deal with PDFs, use those.” And with
Apollo, you don’t have to run in a browser or create a hybrid
application with online and offline versions.
The future looks pretty bright, as Anders says: “What
we’re doing with Flash is forever pushing the boundaries
and enabling new things – in Flash 8 there were new visual
effects, new video codecs, filters, alpha blended video and
new drawing commands. People took incredible advantage
of it. Flash 9 focused on memory access and a new language,
with a ten times increase in performance.” That’s not the end,
as Anders concludes: “We’ll always be looking to increase
the richness.” Adobe’s plans for Flash are ambitious: “We’re
going to be working on new stuff too. We did Flex Builder 2,
start to finish, in 18 months and we’d like to ship more often
than that. We’re working hard on Apollo and we want to get
it out by June. Beyond that we have been showing Flash 9
and there’s some really exciting things going on there. I think
you’ll see much better integration between all the tools. One
of the things we’re focused on at Adobe is that we have all of
these great tools and making them work well together is a
critical thing.”
So what of the future of Flex? Anders plans to increase the
Flex community: “I think one area where Adobe can improve
is in how we talk to developers and how simple we make our
message. I would like to see www.flex.org be more effective
in communicating what Flex is. But overall it’s been good – I
hear from people here in London there’s a huge demand for
Flex programmers. Luckily there are good problems to have
and bad problems to have. To me the good news is pretty
much everybody I hear who takes a look at Flex and tries
it out says ‘hey, it’s a great product’. To be more successful
we need to do a better job of communicating what it is and
who should be interested in it. The good news is it’s not the
product – it’s not that we have a bad product, we just need to
evangelise a little better.”
Imagine Publishing Ltd, Richmond House, 33 Richmond Hill, Bournemouth, Dorset, BH2 6EZ
Registered company 5374037 (England) : VAT No 864 6042 18
Directors: Damian Butt, Steven Boyd, Mark Kendrick, Alistair Ramsay, Harry Dhand, Andrew Hartley, Sam Watkinson