18 Nov 2008

Google Analytics for Flash

A cool new library for Google Analytics tracking was released yesterday at Adobe MAX. I learned about it thanks to webmonkey and I wonder why still there is no such info in the Adobe feeds.

So far the tracking of page views and events using the free Analytics tool from Google was pretty straightforward but still hard for many Flash developers. Basically it requires you to include a few lines in the HTML, call some JavaScript from Flash and eventually watch for security restrictions. The nice thing about this new project is that now it will allow you to do all this with just ActionScript. The quality of the library absolutely exceeded my initial expectations and I couldn't resist to not blog about it. You don't have to miss it if your projects require such functionality.

I'll be looking into integration between SWFAddress and GA for Flash in the near future. It won't make it into the upcoming release but I'm definitely interested in playing with it.

12 May 2008

Flex on Wordpress

This is the name of probably the most interesting SWFAddress sample I showcased at 360Flex Europe. A week ago I found some time to deploy it on and now everybody can experience this linkable and indexable Wordpress powered Flex based website.

The whole idea for this thing came up when I was working on a Flash CS3 based client project that needed a CMS and potentially community features. I already had good experience with Wordpress and I have always believed that it offers the best administrative interface out there. Utilizing such a system for content management is good because it automatically offers you a clean indexable HTML that can be used as a data source for a richer Flash/Flex/Whatever interface. In this sample the Flex movie directly consumes the HTML pages generated by Wordpress and parses the parts it needs without using additional XML dialects. It doesn't use posts and comments but only pages and probably can be extended in the future if there is enough interest.

Although it looked easy at first and I had to overcome some difficulties with Flex. The E4X expressions I used with AS3 in Flash didn't worked exactly the same in Flex 3 so I dived into experiments and tweaks that finally allowed me to achieve everything I wanted. I found it strange that some normal things from the CSS land are not that easy with Flex. Thankfully there are ready to be used solutions for repeated backgrounds and hover link styles. The integration of the SWFAddress PHP code in Wordpress was relatively easy and the result works exactly the same as our SEO sample. The SWFAddress ActionScript implementation became nothing more than a single proxy that requests the corresponding HTML.

9 Apr 2008

SWFAddress 2.1

Today is the third day of the 360Flex Europe conference and in about an hour I'm going to give a session about using SWFAddress in Flex 3. This is finally a good reason for a new release which has been postponed a few times since January. Enjoy the brand new SWFAddress 2.1 and send us feedback using the project forums.

The list of changes includes:

  • New SWFAddressOptimizer class that encapsulates the JavaScript SEO code and improves the HTML degrading of Flash websites.
  • New getPathNames and getBaseURL methods.
  • New Rewriteless sample for SEO support without URL rewriting.
  • New YouTube Player API sample for video deep linking.
  • New SWiSH Max2 sample.
  • Tomcat SEO sample ported to Flex.
  • Enhanced SEO sample.
  • Improved href and popup methods.
  • Safari 3 reload and popup blocker fixes.
  • Deep links validation for XSS vulnerabilities.
  • DOM fix for Firefox.
  • The new Google Analytics tracking is supported out of the box.
  • Strict mode no longer requires a slash at the end of the value.
  • The A2S/AS3 classes are available in the com.asual.swfaddress package.
  • Flex 3 compatibility.

The release includes many new improvements and various fixes. Some of you have probably seen the swfaddress-seo.js file which is now replaced with a new SWFAddressOptimizer class which fixes some issues and adds a Flash Player detection so that people without proper version won't get the deep linking redirect. The getPathNames() method can simplify the code in complex situations by providing an array containing all the pseudo folders in deep links like "/path/subpath/subsubpath/". The other new getBaseURL() method was made especially for the SEO enabled samples that now can easily provide "Copy link to clipboard" or "Digg it" type of functionality by exposing addresses without anchors and possibly improving your search engine positioning. The Rewriteless sample is for those of you who want to use the SWFAddress SEO approach, but don't have URL rewriting enabled. The YouTube sample was born a day after Google released the Player JavaScript API and showcases basic deep linking for video. Larry Benedict ported the basic sample to SWiSH Max2 and brought the SWFAddress functionality to a whole new group of developers. I spent some time rewriting the Tomcat sample in Flex 3 using custom SWFAddress powered components. Many people reported that the href/popup functionality fails silently because of the Safari popup blocker and this new release should fix it. Warren from Richmond discovered a nasty XSS vulnerability for Internet Explorer and thanks to him now the deep linking values are filtered for possible bad symbols. Because of the huge interest in the new Google Analytics code it's now supported automatically. Finally the ActionScript classes are distributed with packages which are much more suitable for larger projects. This enhancement happens during the build process and you still can find the classes without packages in the source folder and in many of the samples where simplicity makes sense.

The really good news is that the SWFAddress team is growing little by little. Max Tafelmayer recently joined the project and committed few high quality fixes. Mattew Tretter, who created StateManager will also help us improve SWFAddress with some of his excellent Safari tricks.

With this release we're also starting to reward all the generous donations with nice SWFAddress t-shirts. Check the donation section for more information.

19 Mar 2008

Deep linking at 360Flex Europe Conference

I will have the pleasure to take part in the upcoming 360Flex Europe Conference which will be held 7-9 April 2008 at StarHotel Business Palace in Milan, Italy. It's the first European Conference dedicated to Flex/AIR and I'm sure that the atmosphere will be flooded with enthusiasm and interesting ideas. What I really like about 360Flex is that it's more about professionals rather than marketing oriented and I hope to meet lots of nice people there.

As you probably expect my session will be about deep linking with SWFAddress and how it applies to Flex. I hope that by the time of the conference I'll be able to release SWFAddress 2.1 and talk a little bit about the latest improvements and additions. Overall I will focus mostly on practical examples on the following topics:

  • Using SWFObject and SWFAddress with Flex Builder 3
  • SWFAddress vs Flex 3 BrowserManager
  • Deep linking with Flex and Ajax as an alternative to FABridge
  • Extending Flex components with SWFAddress functionality
  • Building indexable Flex content on top of WordPress

If you plan to attend the conference and have any interests in that field don't hesitate to use the comments form and ask for a slide on specific topic. See ya there.

13 Mar 2008

SWFAddress and the YouTube Player API

For few months I've been thinking about the potential that deep linking of video content has to offer. The growing demand for HD video and the increasing capabilities of computer hardware and Internet connectivity will soon bring a variety DVD Chapters-like functionalities online. I've been planning to explore things like cue points, meta data, video searching and indexing but I was always lacking the time until today. With the release of the YouTube Player APIs I decided that it's time to start from somewhere.

As you probably know, YouTube have just released a new set of enhancements that lets you utilize, customize and enhance their video platform. I was mostly intrigued by the Player JavaScript API which allows you to control and monitor the playback of embedded YouTube videos. Make sure you watch the video presentation of the release featuring Geoff Stearns who is actually responsible for the new JavaScript API and chromeless player.

So, today I spent some time trying to integrate SWFAddress with the sample YouTube video and the result is now available online. There were some tricky parts and probably the code can be encapsulated better, but overall I'm satisfied with the result. Every pause action or significant jump in the playback produces a deep link which will definitely make sense for long videos or specific scenarios. If you want to automatically start the video from the second verve just try this deep link. For this case I decided that it will be better to disable the generation of browser history and the SWFAddress strict mode.

The sample is available in the SWFAddress repository and will become a part of the upcoming 2.1 release.

« Previous Entries | Next Entries »



Blog Search

Blog Categories

Blog posts

Recommended sites