Archive for the 'News' Category

We’re Still Alive!

Even though it has been a few months since there was an update to the SWX blog, the community continues to thrive. While Aral is extremely busy putting together the Singularity conference, he was kind enough to provide me with access to post an update with some recent developments in regards to SWX.

Over on the SWX Mailing List there has been lots of discussion around small bug fixes (which you can download here), creating solutions for using SWX with AS3 projects until an official update is developed (more on this below), and general debugging and problem solving. If you are not a member of the list, it is highly suggested that you join, as this is where most of the community discussion is happening at the moment.

It should be noted that SWX was recently featured in a new Friends of Ed release entitled "The Essential Guide to Open Source Flash Development". The chapter focuses on providing real-world examples of how to get started with SWX, and how to use it in real-life web and mobile projects. Other chapters include PaperVision3D, Red5, Fuse/Go, and more. Buy your copy today and support open source Flash!

Lastly, this merits its own post, but I am starting an initiative to form a development team for an AS3 version of SWX. If you are interested in helping out with writing the necessary byte code, have started something similar on your own, or would like to help out in some other way, please post to the SWX mailing list. Look for a post on this in the very near future.

SWX PHP and SWX ActionScript Library Version 1.0 Released

SWX PHP 1.0 and SWX ActionScript Library 1.0 Release Announcement

It's my great pleasure to announce that after six months of alphas and betas, SWX PHP 1.0 and SWX ActionScript Library 1.0 are now available for download.

The major changes from SWX PHP Release Candidate 1 include a revamped Start Page with new, royalty-free icons, and a friendly new list view for the Services and Flash examples folders.

I've also updated the SWX Nabaztag API so that you can now specify the voice that you want your Nabaztag bunny to talk in and you can move its ears and send it ear and LED choreographies. You can test out and use the SWX Nabaztag API and the other SWX APIs (Flickr, Twitter, etc.) directly from the Public SWX Gateway using the SWX Service Explorer.

Finally, there's a new LOG_ALL configuration option in swx_config.php that determines whether non-error (status, info, profiling) messages are written to the PHP error log. Set this to false on deployments for better performance. The setting defaults to true as it is useful for troubleshooting during development.

Update: Based on Jon MacDonald's suggestion (thanks, Jon!), I've also created a SWX PHP Deployment Bundle to make it easier for you to deploy SWX PHP to your server. Use the regular SWX PHP and SWX PHP MAMP Bundles to develop with and then deploy the lean-and-mean deployment bundle to your server. The deployment bundle is much smaller than the regular build as it doesn't contain the source code for the Flex-based tools or the sample Flash FLA files.

The release of SWX PHP 1.0 and SWX ActionScript Library 1.0 is something I've been looking forward to for quite a while now and I hope that SWX simplifies your development life and makes it as fun for you to create Flash and Flash Lite applications and mashups as it has for me.

In the next two months, I'm going to be traveling around the world to talk about SWX at FlashForward Boston, FlashForum Conference in Germany, MAX Chicago, MAX Barcelona, FITC Hollwood, MAX Japan, and Flash on the Beach in my home town of Brighton, in the UK. In addition to this, development work continues (I just made my first post-1.0 commit to the SVN repository) and will include efforts to create a Flash 9 version of SWX PHP, as well as SWX RPC implementations for Ruby, Python, J2EE, and .Net.

In the next few days, I will be releasing Internet Drafts for SWX and SWX RPC which I hope will become Informational RFCs.

Here's to Version 1.0! This is just the beginning.

Read the full release notes for SWX PHP 1.0 and download the 1.0 release.


effexor weight

lipitor and grapefruit

generic viagra

phentermine 37.5 mg

oral prednisone

imitrex

paxil online

paxil medication

proscar finasteride

kamagra oral jelly

cheap levitra online

crestor tablets

furosemide dose

order phentermine

cost levitra

proscar for hair loss

doctor lipitor vs zocor

buy neurontin

buy celebrex online

digoxin action

phentermine diet

side effects of furosemide

furosemide renal

ultram tramadol

celebrex medicine

dose of prednisone

melphalan prednisone

buy neurontin online

fluoxetine prozac

prozac alcohol

cheap rimonabant

venlafaxine

phentermine prescription

effexor tablets

viagra side effects

side effects of prednisone

diflucan side effects

lipitor side effect

buy cialis

proscar hair

effexor 37.5 mg

10 levitra

rimonabant smoking

prednisone in dogs

buy effexor

buy cheap cialis online

viagra for women

fluconazole diflucan

discount paxil

crestor meteor

What is SWX, how does it work, and where is it going?

I just made a comprehensive blog post describing what SWX is (with new definitions for SWX, SWX RPC, SWX PHP, etc.), how it works and the current roadmap on my blog: What is SWX, how does it work, and where is it going?

Heads up: Major API change to affect public SWX gateway shortly

In a few moments, and ahead of the Beta 1 package release, I will be deploying the Beta 1 build of the SWX server to swxformat.org in order to make sure that those sample files that use the public gateway work correctly.

There is one big API change in Beta 1 that will affect all existing SWX applications that are running off the public SWX gateway on swxformat.org (http://swxformat.org/php/swx.php).

The arguments property for your data holder movie clips is now args. This change was made for two reasons: One, arguments is a reserved word and, although it doesn't clash with the built in arguments object (for method calls), I still didn't feel right using it. The second reason is to make it consistent with the new SWX full API in Beta 1. See this post for an example of the full API (note: I just updated that post to reflect this API change so it will be slightly different to how it was yesterday).

I will amend this post with an update once this is done. Please update your applications accordingly once the public gateway is upgraded.

This change (of course) will not affect any local development versions of the SWX gateway you may have until you upgrade to SWX Beta 1.

Update: I'm still updating all the sample apps (of which there are multiple versions to demonstrate usage without the api, with the minimal api and the full api) so this, along with the beta release, is going to be delayed to tomorrow).

Update: I've updated the gateway on swxformat.org to the Beta 1 version. Please implement the API change outlined above in your applications if you are hitting the public gateway here.

SWX Twitter API for Flash and Flash Lite

I just documented the SWX Twitter API for Flash and Flash Lite on the official Twitter Development Talk group.

You can read more about this on my blog.

Heads up: SWX 0.2 is almost ready!

SWX 0.2 is almost out the door (I'm aiming for tomorrow) and this is going to be another huge release.

Here are the top three changes coming up in 0.2:

  • SWX now works across domains. Among other things, this means that, starting with 0.2, existing APIs can support SWX. If you want to, you can turn this behavior off using the SWX config file.
  • The SWX Analyzer works across domains too so you can easily debug remote calls as well as local ones with a single instance of the Analyzer.
  • We bid goodbye to PHON and say hello to JSON.

There are other changes too. Among other things, GET was broken since the API change from className to serviceClass and is now functional again and I've fixed a couple of bytecode-related issues.

I've updated the Twitter examples on my blog to use the new version and I aim to release 0.2 tomorrow.

The release after this one (the last one before FITC) is going to be a big one too so stay tuned! :)

SWX: A new data exchange format for Flash

Flash is getting a new data exchange format today! It's my pleasure to introduce you to SWX (previously known as project codename The Tangent.)

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!

SWX is easy!

This quick example demonstrates how simple it is to use. (Updated to reflect the new API in SWX Alpha 0.2.0 and above.)

import org.swxformat.*;
 
// A complex data object to send.
var myData:Array = ['data', 'to', 'send'];
 
// Assuming that dataHolder is a movie clip on Stage...
dataHolder.serviceClass = "Simple";
dataHolder.method = "echoData";
 
// myData will be sent as the first argument
// to the server-side method.
dataHolder.arguments = [myData];
 
// Prepare arguments array for transfer
// (serializes them in JSON format).
SWX.prepare(dataHolder);
 
// Call the SWX gateway
dataHolder.loadMovie("http://a.com/path/to/swx.php", "POST");
 
// A very simple check for returned data.
function onEnterFrame()
{
      // Results are returned in the result property.
	debug_txt.text = "Data: " + dataHolder.result;
}
 

That's all there is to it! SWX will create an instance of the Simple class in PHP and call its echoData() method, passing the arguments specified in the arguments array. It will then return the results in a variable called result wrapped in a SWX SWF file. (In this case, the echoData() method simply sends back the data object you sent it.)

You can either trace out the results of your data call or, a much better solution is to set debug mode on and view the results in the provided SWX Analyzer. The SWX Analyzer is a Flex app that shows you the returned data in a convenient tree view. Open the SWX Analyzer now (or just click on the image below) so you can see the results of the following example.

SWX Analyzer: For debugging your data transfers

Here's a live example that contains a slightly modified version of the above code sample. Click the button to get the data from the server and view the results in the SWX Analyzer.

This movie requires Flash Player 7.

Since the SWX SWF file you receive contains your data in native SWF bytecode, you don't have to worry about deserializing the data once you received it: You can just use it!

Another advantage is that you can use getBytesLoaded() and getBytesTotal() to show a determinate preloader for your data! The SWF Data Exchange Format (SWX) is a very limited subset of the SWF specification -- it's a SWF that only contains data.

Before sending data from Flash to the back-end, you must serialize the data you're sending in JSON format. You do this by asking SWX to prepare it using SWX.prepare(dataHolder);.

When you request data from PHP, you get a SWX SWF with the data inside it in native SWF bytecode (there is no deserialization involved.) The moment your data SWF has loaded, the data is available for you to access without delay.

So what does the back-end look like? Like everything else in SWX, it's very simple.

You simply create classes with public methods that return data and you place these classes in the /services folder. You can then call these public methods from Flash by doing a loadMovie() on the SWX gateway. You specify the serviceClass, method and an arguments array to pass to the method as properties in the movie clip you're loading the data into (see the Flash section, above).

class Simple
{
	 // Echo the passed data
	public function echoData($data)
	{
		return $data;
	}
}
 

That's it! The SWX gateway (swx.php) handles everything else, including parsing any arguments that you sent over, security checks to make sure that only public methods of classes in the /services folder can be used, the instantiation of the class and, of course, the serialization of the data returned by the class into SWX format using the SWX SWF Compiler. You don't have to worry about any of these things. As far as you're concerned, you're calling a method on a PHP class and receiving its return value as a native data structure inside a SWF.

The current alpha version of SWX only supports PHP but there's no reason for other programming languages and application servers to not be supported. Porting SWX to other languages is not a huge task as the most complicated bit, the generated SWF bytecode, is made up of chunks of constants that will not change. I expect that we will see Python, Ruby, Java and .Net versions of SWX contributed by members of the community in coming days.

Known issues and limitations

SWX is currently in very early alpha form: It may creak, break, or throw its toys. This is to be expected and I highly encourage you to test it out and report any issues you’re having to me so I can fix them.

It will be invaluable to me if you can send me the ActionScript and/or PHP data structures that are causing the issues.

There are several known issues and limitation with this alpha release. The main one is performance: SWX is currently not optimized in any way.

This means that neither the PHP code nor the SWF bytecode is optimized and that SWX is currently slower in serializing its data than other alternative technologies (Remoting, XML, etc.)

I expect that we will see a huge improvement in this area once both the PHP code and SWF bytecode is optimized. However, this will come later as my priority right now is making SWX as robust as possible before undertaking any sort of optimization work that will make the codebase harder to work with in the future.

If you have any optimization hints and tips, please do send them to me but realize that I will not implement them until later in the development cycle.

SWX is for you to play with, provide feedback on and create cool little apps with. Please do not use this alpha version in mission-critical applications: It's for experimenting with only at this point.

See the roadmap in the documentation section to see which issues I’m aware of and will be implementing in the coming days.

SWX is under heavy development and things may change drastically from day to day. I don't promise any sort of backwards compatibility during the alpha stage so please be prepared to have to update your experiments from release to release.

System requirements

SWX currently works with Flash 7+ SWFs and has been tested to work on the following PHP versions: 4.4.2, 4.4.4, 5.1.4, 5.1.6, and 5.2.1. It is *not* supported on the PHP 4.3 branch and is known not to work with PHP 4.3.10.

SWX only supports ActionScript 1 and ActionScript 2 at the moment. You can use SWX with Flex 2 and AS3 by creating a debug SWX SWF and making use of the LocalConnection. More native support may be added in the future. For an example of how to do this, see the Flex 2 source code for the SWX Analyzer.

Download

Get the latest SWX release from the download page.

Installation

To install SWX, unzip the file into a folder that is under the web root of the web server on your development machine.

Future releases of SWX will include installers that install a complete dev environment on your machine, including the necessary web server, PHP, MySQL, etc. If you don't have a dev environment on your machine currently, you can download and install MAMP (for OS X) or XAMPP (for Windows, Linux, etc.)

The sample files are hardcoded to work with the default MAMP installation (running on localhost, port 8888). Modify the sample FLA files if your setup is different.

In conclusion (or "Let's start having some fun!")

It's not everyday that a new data exchange format is created so I'm very excited about SWX and what it will mean for Flash developers. I created it because I feel that creating data-driven applications should be much easier than it is. In order for that to happen, however, we need easy to use APIs as well as a workflow and toolset that supports the entire experience of building a data-driven application. SWX will be just this.

SWX will make it easy for you create data-driven applications with Flash from the moment you arrive on swxformat.org.

I hope you're as excited about SWX as I am and I hope that it leads to more of you experimenting with mashups, mobile apps and other things I haven't even thought of yet in Flash. Above all, I hope it makes your lives easier and that you have more fun while building cool Flash applications. Because it really should be (and can be) fun! :)




Bad Behavior has blocked 3757 access attempts in the last 7 days.