SWX: A new data exchange format for Flash.
You don't need to wonder what project codename The Tangent is any longer. The tangent is SWX!
SWX stands for SWF Data Exchange Format. It's a new way of working with data in Flash that uses simple SWF files to exchange data. SWX is the natural, native way to get data into Flash: You loadMovie() your data!
And you receive your data in a tasty SWF shell. Yum!
If you want to find out more, head on down to the SWX homepage (swxformat.org) and read the introductory article on SWX.
I just finished uploading the initial release and I opened up the SWX SVN repository for read access. You can either check out the latest version from there or download a .zip of the release from the SWX download page.
Don't forget that this is a very early alpha. Read the known issues and limitations section in the SWX documentation for more information.
I can't tell you how excited I am about SWX and I hope that you will be too after you read up on it and try it out. And please let me know what you think by leaving a comment either here or on the SWX homepage!
Here's to SWX! I hope you enjoy using it!
The SWX: A new data exchange format for Flash. article by Aral Balkan, unless otherwise expressly stated, is licensed under a Creative Commons Attribution-Noncommercial 2.0 UK: England License.

Zeh
Oops, the first link to the SWX homepage above is wrong, missing “http://”.
(You can delete this comment after it’s fixed…)
March 29th, 2007 at 6:47 pmaral
Hey Zeh, thanks for the heads up - fixed
Editing a post on a mobile phone was an experience! I’m still on the train to London
March 29th, 2007 at 7:19 pmAbdul Qabiz
Aral, great work. This is indeed very useful stuff. I can imagine many use-cases, some of them I have done in past with flasm and bytecode injection on empty swfs…
But having generic and in PHP really help.
FlashLite apps, application that require security (like Pandora etc) etc would benefit from it.
Thanks
-abdul
March 29th, 2007 at 8:56 pmAbdul Qabiz
Aral,
I would let you know of any bug or enhancements. Also, if I can help you porting it for Python, Java, .Net. I feel I can help on those three platforms.
Thanks for making it, I am gonna use it in my project some where.. I am excited, it’s cool.
-abdul
March 29th, 2007 at 9:12 pmJim Duber
Hey Aral,
FYI, I get a “Can’t connect to host” error warning under Safari when trying the load data sample. The host address is identified as:
http://localhost:8888/swx/trunk/php/swx.php
I wonder if maybe this could be the cause of your gateway troubles?
Anyway, thanks very much. This looks to be a very useful tool. I hope to find some time to check it out in detail in the near future.
All the best,
March 29th, 2007 at 9:14 pmJim
Dustin Senos
Awesome man. I look forward to testing this out!
March 29th, 2007 at 9:30 pmThom Shannon
awesome! it lives up to all the hype!
March 29th, 2007 at 10:56 pmSo when are you launching the SWX Twitter Gateway I know you’ve written?
portuguesedanny
What can I say…
Your presentation was Inspiring! not least the end where you said…
Just get coding your first version, hack it up, mash it up, fix it, break it… & dont worry too much if it’s the right way to do it just as along as it works.
I’m a fairly seasoned back end network guy and things had got a little boring until I got the RIA bug fairly recent
March 29th, 2007 at 11:35 pmNow although all the diff ver of AS, Php, Flash, Amfphp (& now Swx) is a little daunting & goes mostly over my head, I cant keep away
maskjones
It was really inspiring and useful presentation Aral, thanks!
March 30th, 2007 at 1:23 amBen
Forgive me for being dense, but what need does this solve? Is LoadVars not available in FlashLite? Why would you use this instead of loading XML from a PHP call?
March 30th, 2007 at 1:54 amAl
Great work!!!
In theory you could also add any supported media to the library of the returned SWF. For example: instead of returning a dataset with a URL of image and then having to load the image, you’d get the lot in one hit. Just a thought.
March 30th, 2007 at 2:20 amgilles
Hi Aral great Job,
I would be very interessed in porting it to python and by the way do you mind i make some french translation of the site for the french guys. And send them back to you for posting it on the site? Or put it on my site ??
March 30th, 2007 at 7:12 amJörg
Hi Aral!
Sounds definitely interesting! Haven’t downloaded and tried it yet, but I will at the weekend!
Cheers from Munich!
PS: I could help doing a .NET port! Maybe I’ll do it just to “rediscover fun”…
March 30th, 2007 at 10:32 amaral
Hi guys,
Just a quick communal reply to say “thank you” for your support and words of encouragement. I really appreciate it.
Also, thank you for all your offers to port SWX. I am currently working on getting it working on PHP 4 and will issue a new release once that’s ready. I think the porting projects could start concurrently after that point.
I need to set up a project page for this on OSFlash as well as a mailing list. I will also update you when that’s ready.
Again, thank you for your support and excitement!
March 30th, 2007 at 10:40 amaral
@Ben: Please see my new post titled SWX: A good idea. It should hopefully answer your question
March 30th, 2007 at 1:31 pmelmer
I really enjoyed your inspired/inspiring talk last night Aral.
Still loking forward to that tiwitter app though
March 30th, 2007 at 2:41 pmaral
Hey Elmer — thanks, man! I’m looking forward to it too!
March 30th, 2007 at 9:12 pmBob Ippolito
We’ve been doing something very much like this, mostly because it saves a HTTP request when you’re doing cross-domain stuff: loadMovie isn’t subject to crossdomain.xml.
Using a LocalConnection for a callback when using SWF-ad-data is a better solution in general. For example you could pass in a LocalConnection id and you’d just get a response over that rather than having to poll result. This works better cross-domain because you don’t have to muck with System.security.allowDomain() and stuff.
April 1st, 2007 at 4:27 pmVagabondoDigitale
Good, i wnat test it, Thx for your review.
September 15th, 2007 at 6:46 pmRobert
Hi Aral,
Great stuff, and very simple to use. I am, however, having a lot of trouble trying to use this in an AS 3.0 project - compile errors with type problems, etc, etc.
Is there a way to use SWX within an AS 3.0 project?
Thanks in advance for your help
Robert
February 11th, 2008 at 3:34 pm