Shari Thurow, the Founder and SEO Director of Omni Marketing Interactive wrote a very interesting answer in led-digest.com about the solution I blogged a while ago: ‘Holy Grail: SEO Model for Flash and Flex Content‘.

Here are a few quotes of her, with my answer below:

[...]as long as you are giving search engines one version of a Web page and users another version, then there is a problem[...]

I totally agree but are we talking about the presentation layer or the data layer?
Most websites content are saved on databases, then called whenever needed. Now if the server side technology used produce an XHTML or an XML, we agree that there is no differences?
The XSLT just load a SWF (a Flash or Flex application) on top of an XML. The SWF then use the data from the XML. Whether it is possible to add content on the XML that will never be used on the SWF is an ethical problem, not a problem of Flash. You can also use ‘badly’ the HTML attributes in normal way.

[...]There is the assumption that users want content delivered to them in Flash. I’ve seen Flash used well. I’ve seen Flash used poorly. Only once in my entire Web design career was it necessary for us to do an entire section of a site in Flash [...]

So in your opinion, if the Flash player penetration is above 90% it is because of this assumption? As you said, SWF can be used greatly or poorly and everything in the middle. I’m not a partisan of using SWF just for using it. The best technological solution must be used for the need of the users (not for the developers nor the marketers need). I don’t want to go through to much point but just think about data visualization, broadcasting (TV / sound) or experimental marketing.
I must accord you that SWF changed a lot recently (the last two years) and I understand that you didn’t had to use it before, but keep yourself ready :)

[...]Do they really usability test to determine task completion, efficiency, etc. in order to verify whether users really prefer Flash-delivered content or not? I’m sure there is a
rare few out there who do.[...]

Most of the usability testing that I made or that I read showed that people tend to be more comfortable in front of a UI (user interface) they already know. So obviously ‘traditional HTML’ is often plebiscite, but in terms of task completion, efficiency, UI learning curve, the SWF have an immense advantage: they can follow every move of a user, learn from his mistakes, make elements bigger, dynamically improve the UI to his needs. Doing this with ‘traditional’ web technologies is much harder (IMHO).

[...]I have the kahones to tell a Web site owner that their users do not want Flash and they should change the design. And I can prove it with usability testing.[...]

Again, you talk about usability testing as if it comes from the sky. As far as I know, before doing usability test, there is a reflexion about the UI (I cannot teach you what you know better than me). Usability is everywhere: in the bus, in your kitchen and in front of a screen. But I do really not see the point of aiming at the SWF.

Ahmet

 

Recently Digg made an official adoption of RDFa (a set of extensions to XHTML being proposed by the W3C). While watching a tutorial about RDFa (below video) I asked myself how it could be possible to do it for Flash/ Flex document.

In fact bringing RDFa to a SWF itself is not possible, as I far as I know, but if you use XSLT and XML to provide the data to your SWF then you can also add the RDFa extension into your content, very easily!

Some more explanation on how to embeded RDF attribute on a XHTML web page:

Ahmet

 

The discussion about SEO (search engines optimization) and SWF content(from Flash or Flex) has been long and turbulent.
Fortunately this discussion is coming to an end as now a proven solution exists. I made yesterday a presentation about it at the Adobe User Group of Geneva.

Here is the solution I prefer: using XSL (eXtensible Stylesheet Language) and transformation (XSLT) to rewrite an XML files containing data used in the SWF. As a result we got an HTML file for the search engines and a SWF for the human. Not clear?

SEO for SWF via XSLT

This diagram shows how XSLT is central to all the work.

How does it work?
You will need 3 files:
1) a .XML
2) a . XSL
3) a . SWF
Continue reading »

 

AUGG Event
During our next event at the Adobe User Group of Geneva I will make an introduction to SEO strategies and the best practice to extend them to SWF powered content. This presentation could also be named SEO for Rich Internet Application. As it is just an introduction I’ll try to make it in 30 minutes maximum…

The second presentation will be made by Cédric Tabin about Remoting with AS3 and AMFPHP.

If you are in Geneva our around, you are more than welcome (just ping me if you stay for the pizza: hello AT augg DOT ch)!
The event takes place at our friends local, the Nomades.

Looking forward to meet you there :)

More information about the event.

Ahmet

 

The Acid test suite checking the browser compliance with certain web standards.
Since April 2007, the version #3 of the Acid Test is open to the world and the results are impressively bad to nearly all web browsers.
According to a Wikipedia article the test is a suite with 100 subtests, in six groups, called “buckets”:

  • Bucket 1: DOM Traversal, DOM Range, HTTP
  • Bucket 2: DOM2 Core and DOM2 Events
  • Bucket 3: DOM2 Views, DOM2 Style, CSS 3 selectors and Media Queries
  • Bucket 4: Behavior of HTML tables and forms when manipulated by script and DOM2 HTML
  • Bucket 5: Tests from the Acid3 Competition (SVG[5], HTML, SMIL, Unicode…)
  • Bucket 6: ECMAScript

Below is the reference result you should have at the end of the test:

Acid 3 Reference Result
Continue reading »

 

Adobe Products
Interesting article from Ecrans.fr where they interviewed Simon Hayhurst, director of video numeric products at Adobe, and Frédéric Massy, marketing director, about the presence of Adobe and his future.

Read the translated version (originally text is in French).

Here are a few interesting quotes:

[...]Flash is not in fact open-source for the moment, but we are not against it
[...]The web is an environment which is changing very rapidly, and we have the R & D teams to advance Flash the best as possible. But one can imagine that, in due course, when the format will be more mature, Flash will also be open source.
[...]Yes, we have a few projects related to Flash. We have a Media player in development, to take advantage of Internet video. It is a sector that has actually just started, and that has a tremendous growth curve. And then there is AIR, which is a technology that allows applications to create classics, but related websites. It is a tool to be always connected, even without launching a Web browser.[...]

Ahmet

 

I often have to deal with client that want to made some ‘small changes’ in the navigation menu. Put element 2 before element 1 and change the name or the link…

So lazy as I’m, I decided to write (my first) a PHP Class, that should handle a two level navigation. Let me share with you how to use it:

< ?php
	include_once("Navigation.php");//the Class
	include_once('navigation_definition.php');// Array of Nav. Element
	$myNav = new Navigation($a); //Construct Nav.
?>

As you see we need to define a navigation file. This file is an associative array giving a list of information:

  • “key”: link name
  • “class”: the css class name
  • “href”: the URL of the link
  • “parent”: the key of the parent element
< ?php
$a = array(
"Top Level 1"=>array("class"=>"level1", "href"=>"test1.php", "parent"=>"no"),
"Top Level 2"=>array("class"=>"level1", "href"=>"test2.php", "parent"=>"no"),
"Level 2 sub 1"=>array("class"=>"level2", "href"=>"../nav/test3.php", "parent"=>"Top Level 2"),
"Level 2 sub 2"=>array("class"=>"level2", "href"=>"../nav/test4.php", "parent"=>"Top Level 2"),
"Level 2 sub 3"=>array("class"=>"level2", "href"=>"../nav/test5.php", "parent"=>"Top Level 2"),
"Top Level 3"=>array("class"=>"level1", "href"=>"test6.php", "parent"=>"no"),
"Level 3 sub 1"=>array("class"=>"level2", "href"=>"../nav/test7.php", "parent"=>"Top Level 3"),
"Level 3 sub 2"=>array("class"=>"level2", "href"=>"../nav/test8.php", "parent"=>"Top Level 3"),
"Level 3 sub 3"=>array("class"=>"level2", "href"=>"../nav/test9.php", "parent"=>"Top Level 3")
);

?>

Now it’s done, you can see a working example here.
If you like it, download the zip containing the Class, a navigation definition and a CSS file.

This will only work on PHP5 by the way…

Ahmet