Deeplinking in Flash interface

So I’ve spent a couple days playing and getting the flex application to have deep linking.

First, what is “deep linking”? Normally with Flash apps that you see when you load the flash application it always starts in some state. Then as the state of the application is changed by clicking things, etc. the browser doesn’t know anything about the changes.  So if you browse away from the Flash page and then click the back button to go back, that state of the application is back to the way it was when it was first loaded, instead of where the user left it. Deep linking is the name given to being able to link back to a state in the Flash app other than the starting state.

Having this makes it so that the user can use the back and forward buttons of the browser to change state in the application, and the browsers bookmarking tools, and bookmarking applications like delicious can be used to link not just to the startup of the Flash app, but to a specific state. This generally improves the usability of the interface by not removing the tools and techniques that people are used to using.

All this magic is done by making use of the “#” in the url. In a normal HTML page the “#” indicates an anchor in the page. This is used to get state information into the url.

Instead of writing how to do this I am providing a link to an article about the tool I used to implement this.

The tool is made up of a javascript object in the containing page and an actionscript (1.0, 2.0, or 3.0) object for the Flash application. It is interesting to note that the tool (SWFAddress) can also be used for the same kind of deep linking into complex DHTML pages which can have the same problems.

I needed to spend a good deal of time getting the application to load up based on this tool, but once that was straightened out the application plays much better in the browser environment.

Comments are closed.