Asual

Monday,
8 Dec 2008

Deep linking with the Digg API

A sweet new SWFAddress sample that utilizes the Digg API just went live this morning. I wanted to create a simple Ajax based showcase for the project and I almost accomplished the goal. The complexity of the code is a little bit higher than I originally wanted but I hope that most of the people will be able to understand it.

The sample uses a dynamic script tag inclusion in order to access the Digg services in a cross-domain fashion. It lists the popular posts in the Technology section, does paging and shows post details.

Go check it out.

Saturday,
25 Aug 2007

Moviestar - what happened to SWFAddress?

The latest Flash Player Beta release is great: H.264 support, hardware acceleration, immediate Linux availability. I thought that currently I don't have the time to test the new features, but a little bit later I was warned that SWFAddress does not work with this update. While this is something which can be expected from a Beta version I felt obliged to investigate what is the reason behind this failure.

The release notes of the Moviestar update say that the ExternalInterface has been improved and this sounded like a potential reason for my SWFAddress troubles. Yesterday I found some time for experimenting which led me to the following:

So it appeared that there is only a problem with AVM1 and ExternalInterface. After some more testing I came to the conclusion that:

Basically simple function work, but object methods no longer can be called. I suspect that this is not a desired behavior and I've created a test case which is available for download. The bug is now also submitted to Adobe and you should do the same if you find any other issues with your existing content.

Update: Everything is back to normal with the Flash Player 9.0.64 release. Thanks to everybody involved in this quick fix!

Tuesday,
21 Nov 2006

SEO for SWFAddress

I would like to introduce you to the most interesting feature of the upcoming SWFAddress 1.0. It enables generation of real links that expose the appropriate content to search engines. The magic happens with some interesting URL rewriting and some trivial serverside code. Here is an example how it works for a website located at http://www.domain.com that contains a portfolio section:

SWFAddress uses http://www.domain.com/#/portfolio/. The URL that can get indexed is http://www.domain.com/portfolio/ and therefore it should exist as a link in the HTML code of the page. When someone visits the indexed address the rewriting functionality makes a redirect to the URL that SWFAddress expects. Everything happens transparently for the end used and further navigation through the website correctly changes the Address bar value. The situation is different when the same link is followed by a search engine bot. In this case the address is just rewritten without any redirection to http://www.domain.com/?swfaddress=/portfolio/. The page that handles all this should use a serverside technology in order to generate the appropriate content depending on the "swfaddress" parameter value.

Requests containing GET parameters like http://www.domain.com/#/portfolio/?desc=true&year=2001 are handled similarly. The search engines will index http://www.domain.com/portfolio/?desc=true&year=2001 and the script will expect http://www.domain.com/?swfaddress=/portfolio/&desc=true&year=2001.

The result is a fully indexed Flash website with deep linking support. To see it in action you can try on of the following search queries:

While this approach improves the usability of Flash content over the web, it also requires an additional effort. This means some manual work for static websites and some smart code for dynamic ones. The best case will be a Flash CMS that automates the whole process.

I haven't seen something similar created for Ajax heavy websites although a part of it is documented in the Unique URLs pattern. It will be great for both Flash and Ajax if a technique like this gets adopted and improved over the time.

SWFAddress 1.0 ships tomorrow, stay tuned.

Wednesday,
22 Nov 2006

SWFAddress 1.0

As of today SWFAddress 1.0 is available for download. It took me about a month to prepare the first final release and it definitely exceeded my own expectations in terms of new features and improvements. Here is the full changelog:

  • Improved folder structure.
  • Build procedure based on Apache Ant.
  • Optimized version that utilizes the dojo compressor.
  • Support for GET style parameters with the corresponding getPath, getQueryString, getParameter methods.
  • SEO support via PHP/mod_rewrite for Apache HTTPD and JSP/UrlRewrite for Apache Tomcat. It uses values like '/portfolio/' instead of '/portfolio' or '/portfolio/?desc=true' instead of '/portfolio?desc=true'.
  • Detection of supported browsers.
  • Improved Safari support that relies on a cached form and cookies. The method is not bulletproof, but will work in the majority of cases.
  • SWFAddress.setValue() can be called from JavaScript.
  • Support for manual address changes in IE.
  • Fix for '#' title in IE.

Two weeks ago I moved SWFAddress to Sourceforge.net in order to reduce the traffic on our site and provide nice facilities like Subversion, mailing list, forums and more.

Learn more about SWFAddress or go straight to the download.

Thursday,
1 Feb 2007

SWFAddress 1.1

SWFAddress 1.1 is the next step towards an optimal deep linking solution for Flash. It comes with various improvements and fixes, the most important of which are listed below:

  • Improved SEO rewriting rules and IE support.
  • Transparent page view tracking with Google Analytics.
  • New ActionScript getParameterNames() method.
  • Flex 2 sample changed to work with states.
  • Support for named EMBED tag in a typical OBJECT/EMBED combination.
  • Support for rollover statusbar display of deep links, an idea by Andrey Gorbatov.
  • Safari history is stored in document.location.
  • Example for rewriting of content placed in the domain root.
  • Fixed preloader for the MTASC sample.
  • Fix for degradation in unsupported browsers.
  • Fix for working with the top window location.

SWFAddress was recently featured in the open source section of WDDJ. Some very nice websites are already using it and if you do so then you should definitely consider upgrading to the latest version.

« Previous Entries

Projects

Syndication

Blog Search

Blog Categories

Blog posts

Recommended sites