Archive for the 'Announcements' Category

Firefox SVG Support

Saturday, July 1st, 2006

I made a quick pass through many of the SVG files on my site this morning. Last week I focused on Opera 9 as the target SVG user agent. Today, I focused on Firefox 1.5. I did get a nice jump start from last weeks fixes, but so far, I’d say Opera is more pleasant to work with than Firefox.

A number of my samples use SMIL and, unfortunately, there appears to be no SMIL support in Firefox. I could resort to script to emulate SMIL; however, the irony is that I created many of those examples to explicitly avoid the use of script.

Another problem was with the use of em values in the dy attribute of <text> and <tspan> elements. Ems are useful in that they allow me to define leading independently of font size. Without them, I have to hard code the font-size. This is a bit annoying in cases where I want on-the-fly font-size changes (maybe for accessibility reasons, for example). I have to resort to DOM magic to update the attributes to match the new size and heaven forbid if I was using values like 1.25em.

I ran into an issue where large rectangles stopped firing mousemove events. ASV had a nice “feature” that let you define ridiculously large rectangles to get mouse events outside the browser’s window. I adopted this practice in a number of places, but Firefox didn’t like the values I was using. Fortunately, I was able to reduce the rectangle size and I started getting events again.

I haven’t done any performance comparisons, but it feels like ASV is fastest of the three in many cases. Firefox comes in second and Opera is the slowest. However, a few fairly CPU-intensive samples were noticably faster in Firefox which was good to see.

It’s really encouraging to see SVG expanding into new spaces. Lets just hope this support will continue to grow and to improve in these browsers and not go the way of ASV.

Opera SVG Support

Sunday, June 25th, 2006

After hearing about the Opera 9 release, I decided it was time I revisited the SVG content on this site to make sure it’s working with the latest browser-based SVG implementations. I started this round of updates with Opera as my target UA and I have been pleasantly surprised. Many of the samples worked and most of the ones that didn’t only needed a bit of tweaking.

Many of the problems were old remnants from the ASV 2.0 days that somehow survived all my past updates: using getFirstChild() instead of firstChild, setting the MIME type to image/xml-svg, etc. However, the biggest blocks of trouble were with my use of parseXML, printNode and getURL. Special thanks to Doug Schepers for sharing a snippet of code to bring parseXML and printNode to Opera and Firefox; that saved me a fair bit of rewriting. I replace getURL with much more in vogue XMLHttpRequest. Special thanks to Jim Ley for his page dicussing various uses of that object.

Not everything is working in Opera and I even managed to crash the browser in one case. Some samples like the games and textbox require keyboard input. Key events are not yet in a W3C specification, so I’m not sure how those samples can be updated. In other cases, I used ASV’s sound extensions so I’ll have to see if there are any good replacements there. However, all in all, Opera is looking very promising. Next week, I’ll take a look at Firefox.

KevLinDev Blog 3.0 - Here we go Again

Saturday, October 15th, 2005

This blog has been dead for most of this year. <lame-excuse>Many of us at work have been incredibly busy all year. And on top of that, Liz and I recently moved to the San Diego, California area.</lame-excuse>

Prompted by desperate pleas from colleagues, I decided it was time to bring my site somewhat up to date (and maybe even to start blogging again). I’ve switched over to WordPress after it was suggested by Ingo Muschenetz.

So far, all appears to be well. I managed to migrate over all the old posts, but I haven’t attacked comments yet. (There were a few particularly interesting ones, so I’ll migrate those as I have time). Anyway, welcome to the new blog.