personal experiences and code :)

Monday, December 11, 2006

opaque swf format?

Tim Sneath is an MS Vista Technical Evangelist, and I was reading his post on the WPF/E dev environment over the weekend. I was particularly interested, because I have a mac (with mono installed), and was wondering how I can get some wpf/e goodness going on this environemnt. Now if I am right, there's no luck here... is MS interested in having people develop for wpf/e on macs? Most geeks I know have mac book pros these days... I don't plan on getting vista installed, personally, but I would love to develop (or at least learn about wpf/e... in my current development env).

Anyway, a statement on Tim's post didn't quite sound right to me:
One difference that I'll call out is in the way each technology is embedded. Flash applets are distributed as .SWF files, which wrap all the resource and code information into a somewhat opaque (emphasis, mine) binary format. On the other hand, the goal for "WPF/E" is to complement HTML by providing a more transparent approach.

I think this is inaccurate, and I hope the language is not deliberate; you can find out more if you do a web search for "swf specification"; I think there are benefits in having a single swf file to deploy: it is convenient for all the assets that come together for your particular swf, the binary format allows for a smaller footprint and efficient delivery eventually, plus it is trivial anyway if your target is a binary. If you really want to share the source, nothing prevents you from zipping it up and making it available, anyway. If you are doing flex and you want to publish your souce code, well that is documented too. I am not a fan of the fla format/flash IDE though, which is why I am happy that mxml allows you to do swf source, declaratively, with plain text.

Judging from the response from the just-ended FOTB conference, people realize that ms has some really good tools for the web here. I don't know for myself. A fud campaign, however (and I hope it is not), will yield exactly the opposite of whatever the expectations are. Let the tools compete on their pure merits (if there indeed is overlap in capabilities), and do not set the baseline of developers for the platform to a windows OS.

-- eokyere :)


WPF/E Developer Environment -
Publish Your Flex Source code -
SWF Specification Links -


Tim Sneath said...

Hi Emmanuel,

Thanks for your post - it was good reading. I hope you'll accept my post in the good faith it was intended: I wasn't trying to spread any FUD. As you say, the SWF specification is not completely closed. But equally, it's not exactly an open format: unless you sign up for a license, you can't access the specification, and the fact that it's a binary blob makes it harder for search engines, source code control systems and even just casual developers who don't have Flash tools to access. That was really what I meant by "somewhat opaque" - hopefully that clarifies things.

Your own question about developing WPF/E as a Mac user is itself instructive in this regard; you can of course run WPF/E applications by installing the runtime and there are no tools needed to create a XAML page - it's just regular XML that you reference and manipulate with JavaScript. So certainly, we'd love you to explore WPF/E from a Mac.

Warm wishes,


eokyere said...

Hi Tim,

sorry for delay in ack'ing comment and thanks. It took my reading of Lee Brimlowe's blogpost here: to get what you've been pointing out all along.

I was able to get a wpf/e hello world app from just my bash env (Terminal) up and running. I believe that is quite compelling and I think you should be communicating that and the aghost.js bits more to developers.

once again, thanks and cheers.

-- eokyere :)