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.

Oops, the first link to the SWX homepage above is wrong, missing “http://”.
(You can delete this comment after it’s fixed…)
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 :)
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
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
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,
Jim
Awesome man. I look forward to testing this out!
awesome! it lives up to all the hype! :)
So when are you launching the SWX Twitter Gateway I know you’ve written?
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 :-)
Now 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 ;-)
It was really inspiring and useful presentation Aral, thanks!
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?
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.
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 ??
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”… ;-)
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! :)
@Ben: Please see my new post titled SWX: A good idea. It should hopefully answer your question :)
I really enjoyed your inspired/inspiring talk last night Aral.
Still loking forward to that tiwitter app though ;)
Hey Elmer — thanks, man! I’m looking forward to it too! ;)
[...] What a crazy week this has been! First, I released a new data exchange format for Flash called SWX. It was generally very enthusiastically received but Patrick Mineault was not impressed. The ensuing controversy no doubt made interesting reading for many during boredom breaks at the office, prompting Niqui’s post on The Blog Soap Opera. Just when I’d thought that we’d mostly agreed to disagree on the matter, I got an email this morning from Patrick that put a smile on my face. Apparently, on further thought, Patrick’s decided that SWX is a good idea after all and suggested that we merge it with Amfphp. [...]
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.
[...] Second, on a much lighter note, Aral Balkan has announced the SWX format for Flash Data exchange. Personally I think its great! Not sure if I’ll use it, who knows, but I think anything that offers a way for more people to use Flash the better . And while I think Patrick Mineault makes some good points, I have to agree with Aral in that not everyone developing in Flash is ready for remoting and XML parsing (although I will say I wish they all were). The use of Flash is growing in leaps and bounds, which also means a ton of inexperienced people will be building flash apps (dare I say the wrong way?). From my perspective, SWX becomes just another option to separate the content from the presentation, allowing for a more maintainable app. And from where I sit, options are never a bad thing. How valid this option really is, only time can tell. As Aral mentioned, SWX is still in its infancy, lets wait and see if it becomes a drain on society or a boost, before we completely disregard it as a valid solution to a problem. [...]
[...] Check out Aral’s introductory post and full details on swxformat.org [...]
Good, i wnat test it, Thx for your review.
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