Safari Dashboard Mess

There has been a lot of ranting and raving about Safari 2.0 and its extensions to HTML while I’ve been away. Dave Hyatt (one of the lead developers of Safari and also one of the driving forces behind Mozilla) has been blogging about this for the last week or so.

I wanted to add my thoughts about this. Since Dashboard (and its widgets) is supposed to be stand alone and not used in ordinary web pages (but should work in Safari on a normal web page). I think it really should stick to XML with XHTML elements for XHTML elements. Dave says that he thinks XHTML and namespaces are too hard to use but this argument is IMHO pretty stupid. XML and namespaces are way easier to understand than programming in itself, and that is needed to do any meaningful widgets for Dashboard anyway.

<db:dashboard xmlns:db="http://www.apple.com/dashboard"
   xmlns="http://www.w3.org/1999/xhtml">
   ...
   
   <p>An XHTML paragraph with a Dashboard canvas <db:canvas foo="bar"/>.</p>
   ...
</db:dashboard>

<html xmlns:db="http://www.apple.com/dashboard"
   xmlns="http://www.w3.org/1999/xhtml">
   ...
   
   <p>An XHTML paragraph with a Dashboard canvas <db:canvas foo="bar"/>.</p>
   ...
</html>

In most cases where namespaces are needed people just stick to a template and then use <db:canvas/>, <v:line/> or <t:seq/>. This is not rocket science and I don’t think there is a good reason to stay away from this since it is the right way anyway.