Macromedia released this very interesting SDK yesterday. It provides the C++ source code, static and linked libraries, documentation (covering overview, technical details, sample output, build notes and implementation information), zlib decompression library (for Flash 6 Player files), and a ready to go command-line executable. The crux of this is that it will allow search engine developers to quickly implement the searching and indexing of .swf files. It’s not just for search engines though as Macromedia states in their FAQ for this SDK, “Intermediate and advanced Macromedia Flash developers may find the SDK useful for other server-based text and link extraction/conversion purposes, or for client-side testing of their Macromedia Flash content against the basic Macromedia Flash Search Engine SDK code.” I have some additional thoughts on this subject…The default templates for writing html when you publish your document from Flash MX add two comment tags to your html:
URL’s used in the movie
text used in the movie.
This doesn’t always catch all the items you would like a search engine to catch. Google actually does a fair job on locating .swf files and indexing the contents in those two comments, but not everyone utilizes those comments properly, especially when dealing with complex, multi .swf and multi level projects or when things are built dynamically by Generator or the new Flash Remoting its simply not possible to use them effectively. What to do? Well, now that everyone is adopting RSS autodiscovery for their blogs and RSS feeds, it got me thinking…I propose an additional item for developers to adopt in their implementation. It would be somewhat similar to the RSS autodiscovery method. The SDK should be revised so that it would also give Flash developers (and the search engine developers) a standard for implementing a meta tag in the surrounding html and possibly something similar embedded directly in .swf files that could point to an XML file that would contain a list of .swf files that should also be indexed by search engines. Almost like a robots.txt but for .swf files. This would have the effect of increasing the efficiency of the search engines implementation of this SDK and also provide more control to the developers as to what should and shouldn’t be indexed/searchable within their .swf files.
In your html you have an object and embed tag that will display the .swf file demo.swf. In this demo.swf file you are retrieving dynamic data that can affect URL’s and location of other .swfs that are loaded into targets and levels with demo.swf. This is common practice with preloaders, and complex projects that require more than one individual .swf file. With this current implementation of the SDK, the search engine would not necessarily find additional content in these other levels and movies since there would never actually be a direct link inside the .swf file unless a user actually interacts with demo.swf. My proposal would simply be to adopt a meta tag along these lines:
< link rel="alternate" type="text/xml" title="Indexable SWF Content" href="http://www.yourserver/swfcontent.xml" />
This tag would simply point to an xml file that would encapsulate rules similar to those which embody the robots.txt standard for inclusion/exclusion of spiders/search engines, and would also have optional XML elements/nodes/children that could specify additional searchable/indexable data that is embedded in .swf files, but might not be readily apparent or parsable even for the most elaborately designed and intelligent .swf parser. Just my opinion. I think this SDK is a great start in this direction, it got me thinking, so I am sure others out there are also giving it some thoughts, lets hear what you think.