I returned home from the Microsoft MIX06 conference in Las Vegas last Thursday (I meant to blog sooner, but I’ve been busy catching up after the trip). It was a good chance to take a look at what Microsoft is working on with Sparkle and their other interactive media (“Expression”) tools. It was also a great chance to hang out in Vegas (and play a lot of Halo) with friends from the Flash world.
A quick thanks to Lynda.com and Microsoft for getting everyone together, and exposing us to the new products. Thanks to Adobe for giving us somewhere to hang out in Vegas, and hooking up the XBoxes. Fragging Mike C, Mike D, Guy, Aral, Chafic, Erik, Beau, Danny, Hoss et al was a lot of fun. Coming in second in the Halo 2 tournament was even better – the final game with Guy was a real adrenaline rush!
Here’s my quick rundown on the products MS showed, my apologies if any of this is factually incorrect, I’m just going from my hasty notes and memories:
Overview
I think competition is a good thing. My one ongoing concern with the Adobe acquisition of Macomedia was that it would remove all (realistic) competition from the marketplace, and lead to a slow down in innovation. Microsoft looks ready to step right into the void and apply pressure to keep Adobe on its toes. That said, the new MS suite of products is generation one, and I honestly don’t see any real competition to Flash in this release.
Generally, the Expression products looked fairly well assembled for first generation software. This was without using them personally, or seeing any complex tasks carried out. I got a loose sense complex tasks might require some arcane UI knowledge. In fact, one MS presenter basically said that the UI was non-standard, but that designers could figure it out because we were power users. There were also some comments on stability problems with the current builds, but that is to be expected in alpha software.
One thing that I found interesting (if I read it right) is that MS is dividing the current 2 discipline workflow for interactive production into 3 disciplines. Instead of the current model with designers and developers, they are proposing a model with graphic designers sending aesthetic design to interactive designers who would generate UI interaction (layout logic, button / UI states, data binding) that could be passed on to a developer who would code business logic. It looked like a somewhat well managed process, but there wasn’t a lot shown on this process would work in reverse for design revisions and such. It got me thinking though that the Flash world could (and sometimes does) use a similar model using Illustrator (or Flash or Photoshop or Fireworks or etc) for design, Flex for layout and data binding, and AS for business logic. In the Microsoft world, the tools would be Expression Graphic Designer, Expression Interactive Designer and Visual Studio respectively.
Expression Graphic Designer
I didn’t see a lot of details on this product, but it looked like a young version of Fireworks. It handles both bitmap and vector art, and provides a path for passing the assets on to Expression Interactive Designer as a library of assets plus XAML. As Mr. Gump would say: That’s all I have to say about that.
Expression Interactive Designer
This was the product I was most interested in, as it has the closest resemblance to the Flash IDE. At first glance, it looked like After Effects and Visual Studio got dirty and and had a love child. Visual Studio style property inspector and data binding, After Effects timeline. Not innovative by any stretch, but it looks functional – very Microsoft.
There were definitely a few features here that I would love to see in Flash. For example, the property based timeline (AE style) would be beautiful, especially the “open” timelines that let you tween without specifying an initial keyframe (so you can tween between any two states without having to define every transition manually). They also had an interesting system where you could visually edit instances of templates (essentially movieclips), and still maintain the integrity of the template (for instance, you could add an icon into an instance of a button in the IDE without creating a new symbol in the library). Another little feature I liked was the ability to right-click anywhere on the stage and get a list of all of the clips under the cursor – selecting one let you jump to that timeline (similar to Photoshop).
Again, this looked like a decent 1.0 product, but I came away with the sense that doing real work could get convoluted. Hopefully this product prompts Adobe to put more work into the Flash IDE – the poor thing has been stagnating for the last couple of releases.
WPF/E
Windows Presentation Foundation Everywhere. This is essentially the Microsoft equivalent of the Flash Player. It is a plug-in that will allow you to display a subset of the content you can create with Expressions Interactive Designer on other platforms. MS showed off some content running in FireFox on Macintosh OSX. It seems to work, and MS is committed to keeping the player size comparable to the Flash Player (their stated target is less than 2MB). I was a little shocked that there were no killer features in the player – it’s feature set looks like a direct rip off of the Flash 8 player. It handles text, video (WMV, no DRM), 2d graphics (vector and bitmap) and scripting (via C# internally or javascript by extending the browser DOM). It does not include 3d or any features (afaik) that Flash 8 doesn’t already have. It uses a JIT compiler (like 8.5), so should perform well on code execution.
Of interest, all of the components will be baked into the player. I find this interesting for a few reasons:
Filesize – it’ll be interesting to see how they fit a full set of components, plus the runtime into a 2MB package. I’d say it’s possible, given that the Flash components are < 300kb in total, and the Flash runtime has a fair amount of bulk for legacy support (old versions), but this is Microsoft.
Extensibility – one MS rep specified that you would only be able to extend a limited subset of the components. He even suggested that you may only be able to extend a base UIObject class, but that the baked in components would be inviolate. This would be a huge issue for me as a developer.
Updateability – how do you fix component bugs? Do you need to release a new player every time someone finds a new bug in DataGrid?
This version looks more like an attempt to prevent MS shops from using Flash, versus an attempt to win new business. I can definitely see MS shops using WPF/E as an excuse to not deploy Flash. Again, I can’t see this generation of it being a genuine threat to Flash as a platform, but it should ensure that Adobe continues the great work they’ve done with fp8 and 8.5 in the future.
Expression Web Designer
I don’t do much work with HTML these days, but I think this is the product Adobe will really want to keep an eye on. Even in the first generation, it has some nice tools for working with CSS that I haven’t seen in DreamWeaver or GoLive. It enters the market with a potential advantage – it’s built from scratch to only work with CSS / XHTML standard sites, so it doesn’t have the clutter or mess from legacy support that other tools have to contend with. This also poses some problems, you can’t easily use it to edit legacy sites and the markup it generates might not render properly on anything but the absolute newest browsers (and possibly not even in them).
Of interest, it uses its own proprietary xhtml/css rendering engine that is (supposedly) completely standards compliant. This engine is not shared in any way with IE. I find it odd that MS has built a fully standards compliant rendering engine for this tool, but can’t get one into IE7. This also potentially means that sites you create in Web Designer might render fine in the tool, but not in MS’s own browser.
In summary, generation one of these tools look functional and have a lot of promise, but they aren’t particularly innovative. Flash will remain the best solution for cross-platform, cross-device, web-deployed rich content for the foreseeable future. Microsoft does have a lot of money to throw around, and they seem genuinely interested in the space, so Adobe will have to keep innovating to stay ahead in the game, but I have every confidence they will be able to do so. Ultimately, this heightened competition will benefit us all with better tools and richer features.
There’s more I’d like to type about (like Vista), but this is getting pretty long. I’d be interested to hear other people’s thoughts on these tools, and the future of Flash / WPF/E in general.
Intersting stuff – I wondered how long it would take before Microsoft was nipping at the bud of Adobe’s / Macromedia’s online / creative tools with a legitimate suite.
From the design standpoint – it reminds me of the huge conversion of Quark users to InDesign. Quark found their niche, and didn’t expand – then when users finally found the huge advantage of an integrated layout program working seemlessly w/ Photoshop and Illustrator – many started jumping the Quark ship. In relation, Microsoft “is expanded”. There are millions of Microsoft users that like to play with Adobe’s / Macromedia’s creative tools, but find them a bit unfamiliar – I wonder if its this group vs. web developers and designers that will really start to jump from Adobe and Macromedia and pick up and use these new tools from Microsoft.
It’s interesting being a Flash developer here at Microsoft. It’s apparent that they are going after Adobe with the Expression package. I agree with Grant that it’s more likely that they’ll get the hard core MS shops online with this stuff than any design studios. MS would have to come out with something that really kicked ass for a Flash designer/developer to want to pick it up.
So while MS is going for Adobe’s knees they’re missing the fact that Adobe as about to take a headshot at them with the Flash/Flex platform – eventually Apollo. Is it possible that MS really doesn’t see the threat?