<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:planet="http://planet.intertwingly.net/" xmlns:indexing="urn:atom-extension:indexing" indexing:index="no"><access:restriction xmlns:access="http://www.bloglines.com/about/specs/fac-1.0" relationship="deny"/>
  <title>The SVG Feed</title>
  <updated>2010-03-20T00:00:58Z</updated>
  <generator uri="http://intertwingly.net/code/venus/">Venus</generator>
  <author>
    <name>Shelley Powers</name>
    <email>shelleyp@burningbird.net</email>
  </author>
  <id>http://svgfeed.burningbird.net/atom.xml</id>
  <link href="http://svgfeed.burningbird.net/atom.xml" rel="self" type="application/atom+xml"/>
  <link href="http://svgfeed.burningbird.net/" rel="alternate"/>

  <entry>
    <id>http://blogs.msdn.com/ie/archive/2010/03/18/svg-in-ie9-roadmap.aspx</id>
    <link href="http://blogs.msdn.com/ie/archive/2010/03/18/svg-in-ie9-roadmap.aspx" rel="alternate" type="text/html"/>
    <title>shelleyp's Scuttle SVG links: IEBlog : SVG in IE9 Roadmap</title>
    <updated>2010-03-19T23:06:45Z</updated>
    <category term="ie9"/>
    <category term="svg"/>
    <author>
      <name>shelleyp</name>
    </author>
    <source>
      <id>http://scuttle.burningbird.net/</id>
      <link href="http://scuttle.burningbird.net/" rel="alternate" type="text/html"/>
      <link href="http://scuttle.burningbird.net/rss.php/all/svg" rel="self" type="application/rss+xml"/>
      <subtitle>Recent bookmarks posted to Scuttle</subtitle>
      <title>Scuttle: svg</title>
      <updated>2010-03-20T00:00:57Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.codedread.com/blog/?p=741</id>
    <link href="http://www.codedread.com/blog/archives/2010/03/16/a-long-road-behind-a-long-road-ahead/" rel="alternate" type="text/html"/>
    <link href="http://www.codedread.com/blog/archives/2010/03/16/a-long-road-behind-a-long-road-ahead/#comments" rel="replies" type="text/html"/>
    <link href="http://www.codedread.com/blog/archives/2010/03/16/a-long-road-behind-a-long-road-ahead/feed/atom/" rel="replies" type="application/atom+xml"/>
    <title xml:lang="en">Something Witty Goes Here: A Long Road Behind, A Long Road Ahead</title>
    <summary xml:lang="en">[clipart]As expected, it was announced today that IE9 will support SVG, DOM Events, XHTML, CSS3 Selectors and more.  There were even a couple surprises in there (HTML5 Video!).  This finally puts IE9 in the realm of a “modern browser”! Hey!  Someone on the IE team needs to send me a SVG image [...]</summary>
    <content type="xhtml" xml:lang="en"><div xmlns="http://www.w3.org/1999/xhtml"><p>[clipart]As expected, it was announced today that IE9 will support <a href="http://msdn.microsoft.com/en-us/ie/ff468705.aspx#_Scaling_Vector_Graphics">SVG</a>, <a href="http://msdn.microsoft.com/en-us/ie/ff468705.aspx#_Document_Object_Model">DOM Events</a>, <a href="http://ie.microsoft.com/testdrive/info/ReleaseNotes/Default.html#WebPlatform">XHTML, CSS3 Selectors</a> and more.  There were even a couple surprises in there (HTML5 Video!).  This finally puts IE9 in the realm of a “modern browser”! Hey!  Someone on the IE team needs to send me a SVG image of the IE logo.  The one I have is pretty sucky (no offense, <a href="http://intertwingly.net/">Sam</a>).  Hopefully that image has an, ahem, gradient in it…</p>
<p>Now read on for more details on their SVG implementation (hey, I know why you’re here).<span id="more-741"/></p>
<h3>SVG Support Details</h3>
<p>I updated the score on my <a href="http://codedread.com/svg-support.php">SVG support</a> chart for IE9 Preview 1: 28.36%.  While it felt really good to have anything other than a solid red bar (0%) there, the IE team surely knows that there is a long ways to go before the IE9 final release.  In fact, I know they pay attention to test suites because <a href="http://lists.w3.org/Archives/Public/www-svg/2010Mar/0024.html">they just submitted 31 tests</a> to the SVG WG Test Suite (2nd edition).</p>
<p>Here’s a short list of things I think need to happen:</p>
<ol>
<li>Gradients!  While the graphics performance story in IE9 looks great at the moment, it’s not a fair comparison without turning on the code for linear/radial gradients</li>
<li>Clipping/Masking – another essential for properly benchmarking IE9’s graphical performance against other browsers</li>
<li>Linking!  I couldn’t get any of the link test cases to work properly.  Also, support for the ‘target’ attribute on link elements.</li>
<li>DOM – I won’t have time to go through what support is there for SVG DOM interfaces.  The IE9 page mentions ‘Not all elements of the SVGDOM are available’ and none of the tests in the suite ran for me.</li>
<li>Switch and Feature String Detection:  <a href="http://codedread.com/svgtest.svg">This file</a> should show a few lines green as far as I can tell (among them probably Shape, BasicText, Image, Structure, Style).  This is going to be critical since IE9’s level of support will be significantly different than the state-of-the-art supported by other modern browsers.</li>
<li>Selection of SVG text</li>
<li>Markers</li>
</ol>
<p>Am I being too hard on the IE team?  Heck no!  I did the same thing for <a href="http://www.codedread.com/blog/archives/2005/12/13/top-10-things-to-fix-for-firefoxs-svg-implementation/">Mozilla</a> and <a href="http://www.codedread.com/blog/archives/2005/07/07/top-10-things-to-fix-for-operas-svg-tiny-implementation/">Opera</a> when they first released their support of a working SVG subset (I somehow missed my chance to do this with WebKit when Safari 3 first came out but my memory is that it exceeded my expectations).</p>
<p>The idea here is to give my two (or ten) cents on what the team needs to work on to get a usable subset, given years of experience coding SVG.  I hope other web developers will do the same.</p>
<h3>Conclusion?</h3>
<p>[clipart]First off, a heartfelt congratulations and thanks go to the IE Team.  They are continuing to show dedication to Open Web standards begun with IE8.  While their SVG implementation is less functional than any other browser was upon first venture into SVG territory, the IE team has had a lot more to do to catch up to the state-of-the-art (CSS3, HTML5, DOM).  My personal expectation is that they will achieve <em>at least</em> basic parity with Firefox 1.5 by the time IE9 is ready.  It means that things like <a href="http://svg-edit.googlecode.com/">SVG-edit</a> could work in IE9.  That would leave things open for SVG Filters, SMIL and a hearty dose of innovation (through the SVG WG) in IE10. <b>[Update: I missed <a href="http://arstechnica.com/microsoft/news/2010/03/platform-preview-gives-web-developers-first-taste-of-ie9.ars/1">this table</a>, but apparently Microsoft is committing to at least Firefox 1.5 levels of SVG and that's great news]</b></p>
<p>The IE Team plans to make developer preview releases available more often (every two months).  While I personally wish this was more frequent (once a month), I’ll take what I can get.  I’ll be reporting on Developer Preview 2, 3, etc.</p></div>
    </content>
    <updated>2010-03-17T04:29:56Z</updated>
    <published>2010-03-16T20:46:46Z</published>
    <category scheme="http://www.codedread.com/blog" term="Uncategorized"/>
    <author>
      <name>Jeff</name>
    </author>
    <source>
      <id>http://www.codedread.com/blog/feed/atom/</id>
      <link href="http://www.codedread.com/blog" rel="alternate" type="text/html"/>
      <link href="http://www.codedread.com/blog/feed/atom/" rel="self" type="application/atom+xml"/>
      <title xml:lang="en">CodeDread Blog</title>
      <updated>2010-03-17T04:30:20Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-2097370696092004746.post-4813716829459739152</id>
    <link href="http://codewideopen.blogspot.com/feeds/4813716829459739152/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=2097370696092004746&amp;postID=4813716829459739152" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/2097370696092004746/posts/default/4813716829459739152" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/2097370696092004746/posts/default/4813716829459739152" rel="self" type="application/atom+xml"/>
    <link href="http://codewideopen.blogspot.com/2010/03/backlogs-and-real-life.html" rel="alternate" type="text/html"/>
    <title>Code Wide Open: Backlogs and Real Life</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>The last three months have been a bit crazy, with far too much "real life" hitting us upside the head. Things have finally settled in a bit so that I'll be able to get my head above water and surface again. Aside from diving head first at the new day job and surviving the holidays, much had happened in the tech world.</p>

<p>I still haven't had time to finish my writeup of <a href="http://www.svgopen.org/2009/">SVG Open</a> (partly since I accepted the new day job while I was attending it up in Mountain View). Then there was the <a href="http://gsoc-wiki.osuosl.org/index.php/2009">Google Summer of Code Mentors' summit</a>. Great things happened there. Then I had to prep for our visit to <a href="http://www.newzealand.com/">New Zealand</a> as co-organizer for a <a href="http://libregraphicsday.org/">Libre Graphics Day</a> miniconf and as a <a href="http://www.lca2010.org.nz/programme/schedule/view_talk/50299?day=friday">speaker</a> at the main <a href="http://www.lca2010.org.nz/">linux.conf.au</a>. Then we had <a href="http://www.socallinuxexpo.org/scale8x/">SCALE8x</a> come 'round where I presented <a href="http://www.socallinuxexpo.org/scale8x/presentations/why-color-management-matters-open-source-and-you">yet another talk</a> and then also run the <a href="http://www.socallinuxexpo.org/scale8x/exhibitor/inkscape">Inkscape booth</a> on the show floor. Toss in getting a new tech (adaptive UI) going, starting a <a href="http://create.freedesktop.org/wiki/Viaduct">new project</a> with other CREATE guys, and doing battle across the board to help get proper CMYK support out for end users everywhere.</p>

<p>Whew!</p>

<p>On top of all that was <span class="fullpost">work for Inkscape and trying to get new features solid for the next release, <a href="http://wiki.inkscape.org/wiki/index.php/Release_notes/0.48">0.48</a>. Thankfully I was able to squeeze the time in to finish up the basic support and UI for per-document color/swatch palettes. 
<a href="http://3.bp.blogspot.com/_LEuaPiRDJHg/S5_u_7Pu8xI/AAAAAAAAAOA/H0IRICrHgVU/s1600-h/swatches.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5449336856144442130" src="http://3.bp.blogspot.com/_LEuaPiRDJHg/S5_u_7Pu8xI/AAAAAAAAAOA/H0IRICrHgVU/s200/swatches.png" style="float: right; margin: 0 0 10px 10px; cursor: pointer; cursor: hand; width: 200px; height: 144px;"/></a>
This allows for basic colors to be stored as a set in a given document, but also for gradients to be included in that. One big thing that inclusion accomplishes is breaking down the <a href="http://codewideopen.blogspot.com/2008/03/what-is-swatch.html">artificial barriers</a> software engineers have imposed on artists for far too long. Assets had been artificially separated by their *implementation*, without regard for how artists actually are used to working. This also enabled many workflow enhancements including making art recoloring easier, indicating which swatches are in use on the selected object, etc.</span></p>

<span class="fullpost">

<p>Work on the <a href="http://codewideopen.blogspot.com/2008/03/new-tablet-config.html">new input devices dialog</a> also came through. Aside from more end users getting their hands on tablets and such, we had a push in that the ugly outdated GTK+ dialog is being removed. And just in the nick of time we had Krzysztof step up and investigate some of the win32 tablet bugs and get some insight on the problem with Aiptek and others <a href="https://bugs.launchpad.net/inkscape/+bug/334800">showing up with broken names</a>. I was able to help refine the fixups there wile getting them set to be reimplemented in the new dialog.</p>

<p>And then there is the basic work on adaptive UI. This is a very promising area, and is just beginning to show the tip of the iceberg. I'm implementing internals based in part on <a href="http://hci.uwaterloo.ca/faculty/mterry/">Michael Terry</a>'s work with <a href="http://ingimp.org/">INGIMP</a> he has <a href="http://river-valley.tv/ingimp-a-smorgasbord-of-usability-adaptive-uis-and-visually-arresting-graphic-design-for-2009/">presented at LGM</a>. Though 0.48 will only expose a tiny bit of what can go on, the support in Inkscape will give it some very useful functionality in even the near term. We're looking at only giving 0.48 a few set layout modes, but with some handy logic behind the scenes to assist users getting what they need without having to think as much.</p>

<p>Unfortunately, though, we were unable to find time to work in support for Wii remotes, joysticks, and the <a href="http://www.3dconnexion.com/products/spacenavigator.html">SpaceNavigator</a> someone at <a href="https://linux.conf.au/">LCA</a> lent me. We are on track to get more in, and 0.49 might even see some of that. Some of this (like using guitar game controllers) might sound a bit silly. However there are some very interesting ways these can be worked in and give Inkscape some nice functionality for average users. And, of course, more hardware toys always makes the geeks happier.</p>

</span><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/2097370696092004746-4813716829459739152?l=codewideopen.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-03-17T01:17:21Z</updated>
    <published>2010-03-17T01:17:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="lgd"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="swatches"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="lca"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="inkscape"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="lgm"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="tablet"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="SCALE8x"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="ui"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="extended input devices"/>
    <author>
      <name>Jon A. Cruz</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/11208016900251857839</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-2097370696092004746</id>
      <author>
        <name>Jon A. Cruz</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/11208016900251857839</uri>
      </author>
      <link href="http://codewideopen.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/2097370696092004746/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://codewideopen.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/2097370696092004746/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <title>Code Wide Open</title>
      <updated>2010-03-18T16:23:58Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.codedread.com/blog/?p=728</id>
    <link href="http://www.codedread.com/blog/archives/2010/03/14/out-with-the-old-in-with-the/" rel="alternate" type="text/html"/>
    <link href="http://www.codedread.com/blog/archives/2010/03/14/out-with-the-old-in-with-the/#comments" rel="replies" type="text/html"/>
    <link href="http://www.codedread.com/blog/archives/2010/03/14/out-with-the-old-in-with-the/feed/atom/" rel="replies" type="application/atom+xml"/>
    <title xml:lang="en">Something Witty Goes Here: Out With the Old, In With The…?</title>
    <summary xml:lang="en">[clipart]Although I’ve been a Mac convert for well over a year now, the family still uses a Dell Windows XP laptop from a few ages past.  That laptop is slow, has a tendency to sound like a running dishwasher and its plastic casing creaks as you type.  I’m not a cruel man.  [...]</summary>
    <content type="xhtml" xml:lang="en"><div xmlns="http://www.w3.org/1999/xhtml"><p>[clipart]Although I’ve been a Mac convert for well over a year now, the family still uses a Dell Windows XP laptop from a few ages past.  That laptop is slow, has a tendency to sound like a running dishwasher and its plastic casing creaks as you type.  I’m not a cruel man.  So this weekend we decided to pick up a new laptop and that came with a whole whack of stuff for me to comment on.  Hello bloggy my old friend…<span id="more-728"/></p>
<p>For whatever reason, we got sucked into a Sony Vaio at Costco (hey, it was on sale) so here I am, back on a Windows box, at least for the evening.</p>
<h3><a href="http://www.codedread.com/blog/archives/2010/03/14/out-with-the-old-in-with-the/#the-windows-revelation" id="the-windows-revelation">The Windows Revelation</a></h3>
<p>First up, Windows 7 is a vast improvement over Windows XP.  </p>
<p>…</p>
<p>Hopefully my revelations get a little more interesting, but just in case: don’t let the screen door hit you on the butt as you leave…</p>
<h3><a href="http://www.codedread.com/blog/archives/2010/03/14/out-with-the-old-in-with-the/#the-chrome-mystery" id="the-chrome-mystery">The Chrome Mystery</a></h3>
<p>[clipart]Second, I rediscovered that all Sony Vaio laptops ship with Google Chrome as the default browser.  There is the pretty Chrome icon on the desktop labeled simply “Internet Browser” (no mention of “Chrome” or “Google”).  Suddenly those surging Chrome numbers start to make more sense.  </p>
<p>I guess Mozilla doesn’t need to feel as ashamed of itself.</p>
<h3><a href="http://www.codedread.com/blog/archives/2010/03/14/out-with-the-old-in-with-the/#the-protection-policy" id="the-protection-policy">The Protection Policy</a></h3>
<p>[clipart]Since this is the family’s laptop, I went on to determine if/how I could restrict some of the activity for my kids’ account.  Turns out that Windows 7 has some nice things in place for this, though it’s far from perfect:</p>
<ul>
<li>You can specify “time limits” for your kids.  Though Microsoft’s definition of a “time limit” seems to be “these are the hours your kids are allowed on the computer”.  Sorry, I know I’m being pedantic here.</li>
<li>The list of applications I want to allow them to use is a joke.  What are all those setup.exe applications doing in there?  Surely I don’t want them to accidentally access those?  Yet the alternative is to search through the entire list for things I _might_ want to allow them and then click those.  I admit this is a tricky problem because kids can tend to get crafty as we let them get older.  Anyway, I gave up on this after less than a minute and just clicked the “Check All” button.  If I install games on the laptop that I don’t want them to play, then I’ll have to be diligent.  I left the browsers in there (more on that later).</li>
<li>I got really amused by the content types you can filter on.  Mild Excessive Violence. Multiple flavors of Nudity.  I like how you can mix and match levels of Drug Use, Language, Sexual Content, etc to perfectly match to your specific level of prude.  I wonder if anyone ever uses that for the opposite purpose for what it was intended <img alt=";)" class="wp-smiley" src="http://www.codedread.com/blog/wp-includes/images/smilies/icon_wink.gif"/> </li>
<li>Windows 7 doesn’t ship with a way to protect your kids from the savory bits of the web, but it’s a free Windows Live Download click away.  Of course you have to have a Live ID for that.  Oh and it fired up IE8, even though Chrome is listed as the default browser.  And this means that their web traffic is going through the live.com servers first.  I wonder if mine is too…:/</li>
</ul>
<h3><a href="http://www.codedread.com/blog/archives/2010/03/14/out-with-the-old-in-with-the/#the-back-door-conundrum" title="the-back-door-conundrum">The Back Door Conundrum</a></h3>
<p>[clipart]After doing all that protecting of my kids, I felt pretty good.  Then I shut ‘er down and walked away with a bit of a cowboy swagger.</p>
<p>After dinner I noticed a little sticker on the laptop that said: “Web Button: One touch web access w/out full boot up”.  And sure enough there was a little button labeled “Web” right tucked up next to that sticker.  I pressed it.</p>
<p>Within 10 seconds I was sitting inside of the “Splashtop Browser” with full internet privileges. <img alt=":D" class="wp-smiley" src="http://www.codedread.com/blog/wp-includes/images/smilies/icon_biggrin.gif"/> </p>
<p>This was the first time I’ve experienced <a href="http://www.splashtop.com/">SplashTop</a>, but basically it’s what I envision ChromeOS to be like: a teeny Linux OS with nothing more than a full-screen modern browser, a tray and a couple of auxiliary buttons.  Google, you’re all clear to knock my socks off!</p>
<p>I know there must be a way to disable Splashtop if I want to… I haven’t decided when I’ll act on that yet but I surely will because what <em>did</em> disturb me is reading about how Splashtop browsers/environments stay updated:  It’s not uniformly done!  Generally it requires people downloading the latest image and installing or “flashing” it or something I think.  From a security standpoint, that’s just not acceptable in today’s world.  I fully expect ChromeOS to be a self-updating system that never requires a user to have to install anything.  From that perspective, Splashtop seems like a joke, or at least misguided.</p>
<p>It’s using a browser based on Firefox 3.0 in 2010, man!</p></div>
    </content>
    <updated>2010-03-14T02:10:55Z</updated>
    <published>2010-03-14T02:10:59Z</published>
    <category scheme="http://www.codedread.com/blog" term="Uncategorized"/>
    <author>
      <name>Jeff</name>
    </author>
    <source>
      <id>http://www.codedread.com/blog/feed/atom/</id>
      <link href="http://www.codedread.com/blog" rel="alternate" type="text/html"/>
      <link href="http://www.codedread.com/blog/feed/atom/" rel="self" type="application/atom+xml"/>
      <title xml:lang="en">CodeDread Blog</title>
      <updated>2010-03-17T04:30:20Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://svg-wow.org/</id>
    <link href="http://svg-wow.org/" rel="alternate" type="text/html"/>
    <title>shelleyp's Scuttle SVG links: SVG Wow!</title>
    <updated>2010-03-11T14:11:25Z</updated>
    <category term="graphics"/>
    <category term="svg"/>
    <author>
      <name>shelleyp</name>
    </author>
    <source>
      <id>http://scuttle.burningbird.net/</id>
      <link href="http://scuttle.burningbird.net/" rel="alternate" type="text/html"/>
      <link href="http://scuttle.burningbird.net/rss.php/all/svg" rel="self" type="application/rss+xml"/>
      <subtitle>Recent bookmarks posted to Scuttle</subtitle>
      <title>Scuttle: svg</title>
      <updated>2010-03-20T00:00:57Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://schepers.cc/?p=182</id>
    <link href="http://schepers.cc/?p=182" rel="alternate" type="text/html"/>
    <link href="http://schepers.cc/?p=182#comments" rel="replies" type="text/html"/>
    <link href="http://schepers.cc/?feed=atom&amp;p=182" rel="replies" type="application/atom+xml"/>
    <title xml:lang="en">Doug Schepers: Etymusicology</title>
    <summary xml:lang="en">This week on Pop-Linguistics, we will be looking at words derived from song lyrics.
wang-chung
Pronunciation: \ˈwäŋ-chəŋ \
Etymology: Part of song lyric, from name of performing musical band Wang Chung, from Chinese Huang Chung (simplified Chinese: 黄钟; traditional Chinese: 黃鐘; pinyin: huáng  zhōng) for “yellow bell”, the  standardized bass pitch of ancient China.
Date:  1986
1. intransitive verb To shamelessly [...]</summary>
    <content type="xhtml" xml:lang="en"><div xmlns="http://www.w3.org/1999/xhtml"><p>This week on Pop-Linguistics, we will be looking at words derived from song lyrics.<span id="more-182"/></p>
<h3><strong>wang-chung</strong></h3>
<p>Pronunciation: <span>\<span>ˈ</span>wäŋ-</span>chəŋ \</p>
<p>Etymology: Part of song lyric, from name of performing musical band <em>Wang Chung</em>, from Chinese <em>Huang Chung</em> (simplified Chinese: <span xml:lang="zh-Hans">黄钟</span>; traditional Chinese: <span xml:lang="zh-Hant">黃鐘</span>; pinyin: <em>huáng  zhōng</em>) for “yellow bell”, the  standardized bass pitch of ancient China.</p>
<div>Date:  1986</div>
<p>1. <em><strong>intransitive verb</strong></em> To shamelessly self-promote an artist or performer’s identity by including the name of the performer in the work performed, in an off-putting manner, as in the lyrics of the song,<em> ‘Everybody Have Fun Tonight’:</em></p>
<blockquote>
<pre><em>Everybody have fun tonight,</em></pre>
<pre><em>Everybody Wang Chung tonight</em></pre>
</blockquote>
<blockquote><p>Usage: <em>“Why do rappers and hip-hop singers have to wang-chung so much?”</em></p></blockquote>
<p>1. <em><strong>noun</strong></em> An act of wang-chunging.</p>
<blockquote><p>Usage: <em>“That song was just one long wang-chung!”</em></p></blockquote>
<p>2. <em><strong>adjective</strong></em> Characterized by excessive instances of wang-chungs.</p>
<blockquote><p>Usage:  <em>“Those wang-chunging losers can’t sing.”</em></p></blockquote>
<h3><strong>party in the usa</strong></h3>
<p>Pronunciation: <span>\<span>ˈ</span></span><span>pär-tē </span><span>ən </span><span><span style="text-decoration: underline;">th</span>ə </span><span>yü</span>-<span>es-</span><span>ā</span>\</p>
<p>Etymology: Lyric of a song of the same name.</p>
<p>Date: 2009</p>
<p>1. <em><strong>noun</strong></em> A form of name-dropping of more popular or talented artists within a performance in an attempt to associate the performer with the qualities or characteristics of those artists.</p>
<blockquote><p>Usage: <em>“This song could use a few more parties in the usa, or we’ll never hit the charts.”</em></p></blockquote>
<p>1. <em><strong>noun</strong></em> An act of cynical, insincere tribute, characterized by unwitting irony.</p>
<blockquote><p>Usage: <em>“Referencing Jay Z while using  autotune is a real party in the usa.”</em></p></blockquote></div>
    </content>
    <updated>2010-03-08T10:49:14Z</updated>
    <published>2010-03-02T04:07:09Z</published>
    <category scheme="http://schepers.cc" term="Meta"/>
    <author>
      <name>Schepers</name>
      <uri>http://schepers.cc</uri>
    </author>
    <source>
      <id>http://schepers.cc/?feed=atom</id>
      <link href="http://schepers.cc" rel="alternate" type="text/html"/>
      <link href="http://schepers.cc/?feed=atom" rel="self" type="application/atom+xml"/>
      <subtitle xml:lang="en">Technology upside down and backwards</subtitle>
      <title xml:lang="en">Reinventing Fire</title>
      <updated>2010-03-08T10:49:38Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://schepers.cc/?p=187</id>
    <link href="http://schepers.cc/?p=187" rel="alternate" type="text/html"/>
    <link href="http://schepers.cc/?p=187#comments" rel="replies" type="text/html"/>
    <link href="http://schepers.cc/?feed=atom&amp;p=187" rel="replies" type="application/atom+xml"/>
    <title xml:lang="en">Doug Schepers: Flashback at a Film</title>
    <summary xml:lang="en">Last night I saw a 12-minute short film by an old friend, Michael Babbitt, playing at his local church.  Years back, Michael was foolhardy enough to let me be an extra in some of the plays put on by the Open Door Theatre company, which he co-founded, and in which he acted and directed.  Seeing [...]</summary>
    <content type="xhtml" xml:lang="en"><div xmlns="http://www.w3.org/1999/xhtml"><p>Last night I saw a 12-minute short film by an old friend, Michael Babbitt, playing at his local church.  Years back, Michael was foolhardy enough to let me be an extra in some of the plays put on by the Open Door Theatre company, which he co-founded, and in which he acted and directed.  Seeing him again really threw my mind back to the turn of the century.<span id="more-187"/></p>
<p>My first stage appearance was as the Majordomo (butler) in Les Liaisons Dangereuses, the original play by <span id="ArticleContentLabel">Christopher Hampton on which the movie Dangerous Liaisons was based.  As a side note, when I was in my early 20s, I bore a remarkable resemblance to a young John Malkovitch (who starred in said movie)… I say remarkable, because people remarked on it all the time, once even in a small cafe in southern France when I was hitchhiking around Europe.  The production of </span>Les Liaisons Dangereuses was directed by Rob Kramer.  I supplied my own costume, since for some reason I have a tux with tails.  We ran for 3 weekends in September 2001 at the Carrboro <span id="ArticleContentLabel">ArtsCenter</span>… attendance was down because of the September 11 terrorism, and everyone was numb.</p>
<p>My next and last role was was Curio in Shakespeare’s Twelfth Night (or What You Will), in which I had a staggering <a href="http://www.opensourceshakespeare.org/views/plays/characters/charlines.php?CharID=CURIO&amp;WorkID=12night">4 lines</a> (I spoke a few sentence in the previous play as well).  We opened January 2nd, 2002 and ran for 3 weeks (including on Twelfth Night itself, the fifth or sixth of January (there is apparently some confusion, but we played both nights).  I recall having to practice on New Year’s Eve, then rushing down to the coast to celebrate with my girlfriend and some mutual friends at a beach house.  Michael directed this one, and it was set in a sort of dystopian future.  I supplied my costume for this one as well, a white bunnysuit I’d picked up from when I worked as a greenhouse grower, where we used them when spraying fungicides.</p>
<p>Before and after my brief stint on the boards, I helped the troupe out in various ways, selling tickets and concessions in the lobby for performances, and doing other odd jobs.  My connection was Michael, who I’d met a few years before at a used bookstore, and who I played RPGs with.  Oddly enough, Michael and I had both lived in Columbia, Missouri at the same time years before, and had several mutual friends, but never met until we both moved to Chapel Hill.  Michael gave me my first lesson in coding HTML, back in the last decade of the last century, but he’s since moved on to physical therapy.  Probably a healthier choice…</p>
<p>So, it was interesting seeing Michael transition from acting and directing plays to producing and directing short films.  At the premiere, I saw a few other theater folks I’d met through Open Door, and had not seen for many years, which was a real pleasure.  Dante Walker, a monstrous hulk with a wicked scar on his face, whose appearance is belied by his humble and gentle character (he should be on TV, he’s a good actor).  Caroline, the stage manager.  Krista, Michael’s wife and rock. Melissa Lozoff, an actress with a magician husband, who starred in the short film.  But when I looked around for our friend Anthony, the theater company’s dramaturg and another gaming buddy, I didn’t see him; Michael announced that he was in the hospital, having just been diagnosed with cancer.  That was a bitter moment.  Anthony is a clever guy and a good person, and I’ll have to go see him in the hospital.</p>
<p>So strange how we lose touch with friends, how we all follow our separate paths, and how things all get tangled up in our lives and in our minds.  How do years go by, and things change so much, in what seems so short a time?</p></div>
    </content>
    <updated>2010-03-08T10:46:20Z</updated>
    <published>2010-03-08T06:09:01Z</published>
    <category scheme="http://schepers.cc" term="Real Life"/>
    <author>
      <name>Schepers</name>
      <uri>http://schepers.cc</uri>
    </author>
    <source>
      <id>http://schepers.cc/?feed=atom</id>
      <link href="http://schepers.cc" rel="alternate" type="text/html"/>
      <link href="http://schepers.cc/?feed=atom" rel="self" type="application/atom+xml"/>
      <subtitle xml:lang="en">Technology upside down and backwards</subtitle>
      <title xml:lang="en">Reinventing Fire</title>
      <updated>2010-03-08T10:49:38Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://schepers.cc/?p=190</id>
    <link href="http://schepers.cc/?p=190" rel="alternate" type="text/html"/>
    <link href="http://schepers.cc/?p=190#comments" rel="replies" type="text/html"/>
    <link href="http://schepers.cc/?feed=atom&amp;p=190" rel="replies" type="application/atom+xml"/>
    <title xml:lang="en">Doug Schepers: Stumbling Towards a Graphical Workflow</title>
    <summary xml:lang="en">I’m working with a professional designer, Michael, on some graphics for my upcoming MIX presentation.  I’ve worked with designers before on various projects, some SVG, some traditional Web design, but this is my first time working on an SVG project with someone who never used SVG before, and it’s been an interesting experience, which I [...]</summary>
    <content type="xhtml" xml:lang="en"><div xmlns="http://www.w3.org/1999/xhtml"><p>I’m working with a professional designer, Michael, on some graphics for my upcoming <a href="http://live.visitmix.com/MIX10/Sessions/EX30" title="SVG session at Microsoft MIX conference">MIX presentation</a>.  I’ve worked with designers before on various projects, some SVG, some traditional Web design, but this is my first time working on an SVG project with someone who never used SVG before, and it’s been an interesting experience, which I thought I’d jot down for anyone interested.</p>
<p>Both of us have been busy with other projects, and since we are in different places (me in Chapel Hill NC, him in Atlanta GA), we have only gotten to touch base a few times.  Michael has delivered some first drafts of the graphics, which look lovely, and I decided to dig into the underlying code, confident that I could trim down the file size and thus help browser performance.</p>
<p>My personal graphical editor of choice is Inkscape, which is a fine tool for all its warts (though it’s a little painful on Mac, where it is hosted as an X-11 application); typically, though, I create SVG either programmatically with a script or manually with a text editor (yes, I know that’s crazy… but it <a href="http://svg-whiz.com/svg/shinydonkey/shinyDonkey.svg" title="A sad example of hand-coded SVG art">can be done</a>).  Michael, being a professional designer, uses Adobe Illustrator, and I am keen to have him use the tools he is most comfortable with.  Since I want SVG to be used by mainstream designers, I want to understand how their tools work and what their workflow is like.</p>
<p>So, in order to make sure that we can roundtrip the files as seamlessly as possible, while still leveraging the features of SVG, I set about today to establish a workflow with Illustrator, TextMate (my go-to text editor, with a custom SVG code template bundle), Firefox, and its native debugger extension Firebug (with its handy “Inspect Element” context-menu selection).  My goal: to make reusable icons out of some of the graphical assets in the larger image, to be referenced by SVG’s &lt;use&gt; element.<span id="more-190"/></p>
<h3>The &lt;use&gt; Element</h3>
<p>Some earlier graphical languages, especially special-use ones such as CAD languages for engineering, architecture, or mapping, included a native symbol library.  These would normally include a variety of arrowheads, iconic symbols, line styles (dotted, dashed, etc.), and other graphical primitives.  The problem with this idea is that such symbol libraries were by necessity limited in the number of symbols, and usually only had one or two styles for each basic symbol. Not very extensible.  SVG took a different approach.</p>
<p>SVG has the ability to “clone” an image, to reposition or resize it, and to change some of its styling.  This works on a shape or collection of shapes, whether the image is defined in the same document, or in an external SVG file.  The mechanism to do this is the &lt;use&gt; element, and it looks like this:</p>
<blockquote>
<pre>&lt;use xlink:href="#myImageId"
     x="100" y="300"
     transform="scale(1.5)"
     fill="cornflowerblue"/&gt;</pre>
</blockquote>
<p>Translated into English, this code says,</p>
<blockquote><p>Find the image with the <em>id</em> of “myImageId”, and copy it.  Move it 100 pixels to the right, and 300 pixels down.  Increase its size by half again.  Oh, and if it doesn’t already have a color, make it blue. Thanks.</p></blockquote>
<p>(That final “/” is the part that says “thanks”, a quaint courtesy missing from HTML5.  SVG was specified in a gentler time.)</p>
<p>Thus, designers can provide their own symbols, in the style appropriate to the task at hand.  There are several good SVG clipart libraries that allow SVG authors to share their symbols and simple reusable images.</p>
<p>You can see that if you draw an image of a balloon, with several paths (the bubble, the knot, the string, and maybe a highlighting accent) and some special graphical effects (a gradient, and perhaps a filter effect) all amounting to a dozen lines of code, and you want to reuse this balloon, you don’t want to redraw it each time; it would be a waste of effort, and result in a much larger file.  For print, this may not be as much of an issue, but for a Web-based format, it takes longer to download and uses more memory in the browser, resulting in poorer performance.  So, instead of rebuilding a score of balloons, or copying and changing the original image description, you can simply make one basic model, sans color, and reference that multiple times, with a different color and size.  It’s easier to do, and each extra balloon only increases the size of the file by a small amount, much smaller than adding dozens of duplicates.</p>
<p>To really take advantage of this feature takes a different way of thinking about the design.  A clever designer can even create several image components and recombine  them into composites with even more variation.  Of course, it’s not always appropriate for every project, but my current project has quite a few duplicate images.</p>
<p>This is a feature supported by every browser with native SVG (though not every one yet allows you to reference images in external documents).  So, it’s a safe and natural feature for an SVG authoring tool to utilize in its SVG output.</p>
<blockquote><p><strong>Best Practice:</strong> Make liberal use of &lt;use&gt;.</p></blockquote>
<h3>&lt;use&gt; It and Lose It</h3>
<p>Illustrator doesn’t support &lt;use&gt;.</p>
<p>Or rather, it does recognize it, and render it… but it promptly converts any instances of the &lt;use&gt; element to simple verbose copies of the referenced image.  I could not find any way to create an instance of &lt;use&gt;.</p>
<p>Also, when creating gradients, Illustrator seems to get overly specific about the position and dimensions (width, height) of the gradient, needlessly yoking them to a specific element at a particular location and of a particular size.  SVG allows you to define a gradient once and reuse it among several shapes, decreasing the number of gradients; Illustrator should make better use of this feature, and so should Inkscape.</p>
<p>This is not a tool created with the Web in mind.</p>
<p>Because of this quirk, my current file size is about 6 or more times what it needs to be.  Let’s see how we can work around that.</p>
<h3>Symbolic Gestures</h3>
<p>I spent quite a bit of time –hours, truth to tell, because I’m an Illustrator newbie– isolating individual images (trees, benches, etc.) that were used through the graphic as a whole.</p>
<p>When I make “symbols” (for lack of a better word), I like to find their positioning anchor –that is, the point at which they are most usefully positioned– and set that to the {0,0} point, so there are no unpleasant surprises when placing the symbol.  For most symbols, this is the centerpoint of the symbol; if I have an icon (a badge, a logo), I will position it smack dab at the point in my graphic that it should be applied, relative to other images.  For other symbols, it is one of the extremities, where it will meet up with another shape… for a tree this would be the bottom of the trunk where it sprouts from the ground, for an arrowhead it would be the base where it it attaches to a line.  I try to pick the most intuitive anchor for each symbol.</p>
<p>When you drag a shape to a new location, as I did for creating anchors, Illustrator converts the path  or attribute values to their new coordinates, rather than simply  applying a transformation.  This is something that Inkscape gets wrong  (at least, last time I checked).  Nested transforms are harder for  developers to work with than simple coordinates.  So, kudos to  Illustrator on this one.</p>
<p>Each symbol is best enclosed within a group… in SVG, this is a &lt;g&gt; element (SVG also has a &lt;symbol&gt; element, but in practice, I don’t think it’s worth much).  Grouping allows the designer to collect all the constituent parts of the image together for greater portability.</p>
<p>When a designer works, if they are anything like me, they tweak a bit here and there, sketching out the rough shape, working on another part of the big picture, then focus on adding details.  A problem arises for a developer who has to subsequently dig into the resulting code… elements are added to the document in the order they are created, so a bunch of shapes that appear to be one symbol might be scattered throughout the document, and might even be in different layers.</p>
<blockquote><p><strong>Best Practice:</strong> Group early, group often.  Create  graphical objects, and think about graphical / document structure.  Your developer co-workers will thank you.</p></blockquote>
<p>Being the non-designer developer I am, my first instinct was to group the elements in a text editor, and as a clumsy first attempt to find the different elements, I used Firebug to inspect each element to find its id or unique data I could use in a text search in the text editor, but the different parts were too scattered for this to be effective; pretty quickly, I turned to Illustrator myself to do the grouping visually.</p>
<p>The process for converting these graphics into symbols was made much clumsier by the selection mechanism of Illustrator.  When things are grouped in Illustrator, it logically selects all the bits of that grouped image.  The problem is that it also does this with layers, as well as groups; you can “drill down” from a layer into an individual group, but when you are first trying to select a set of images that aren’t already grouped, this can be twiddly and frustrating.  Illustrator also defines far too many nested groups, decreasing their usefulness and creating markup cruft that makes later programming harder. Using the selection marquee (the draggy box), you can more easily select the constituent parts of the image, but be careful of any background elements.</p>
<blockquote><p><strong>Best Practice:</strong> When creating symbols, select the elements you want as part of that symbol, either with the selection marquee or with shift+click.  Right-click on the selection, and choose “Group” to group the elements, which should also group any gradients, filters, clipping paths, etc. that the shapes use; in the Layers dialog, you will see the graphics collected under a new group labeled “&lt;group&gt;”; double-click this, and give it a meaningful name.  (Note: you might need to right-click again and choose “Isolate Selected Group” in order to the collect the gradients and other graphical effects into the group; these are not shown in the Layers dialog, so I wasn’t sure at what point they are included in the group.)</p></blockquote>
<h3>“Let Me Tell You What I Think You Mean”</h3>
<p>As I isolated each image, I deleted extraneous shapes that weren’t part of any symbol.  I made each symbol into its own file, just to keep them tidy.  Each symbol looked great by itself, but when I finally recomposed all the symbols together, the colors were all wrong!  A little digging revealed the problem… Illustrator changes the ids of the <em>“paint servers”</em> –referenceable graphical effects like  gradients and filters– as you delete other shapes.  So, when I recombined the symbols into a single file, some of the gradient ids overlapped and defaulted to the first instance… which screwed up the colors.  This is a portability and maintenance nightmare.</p>
<p>Illustrator tried to be a little too clever here.  Like the way it unwinds &lt;use&gt; references and discards the &lt;use&gt; element, it doesn’t play well with a designer-developer roundtripping workflow.  I ran into many such cases where it discarded changes I had edited by hand.  I tried to resize the document dimensions in my text editor, but when I loaded it in Illustrator, made some changes, and saved it again, it scaled down my graphics (which I’d just explicitly scaled up) and changed the viewport to a much smaller set of dimensions.  Hey, Illustrator, if I wanted it that size, that’s the size I would have made it!  Finally, I gave up, and set the dimensions I wanted in a new file I created in Illustrator itself, and copy-pasted from one Illustrator window into the new document, which seems to have taken.  I don’t like programs which introduce inconsistency into a workflow.</p>
<p>What are you smirking about, Inkscape?  You pull the same kind of nonsense!</p>
<h3>Copy-Paste Error</h3>
<p>After all this tweaking, I ended up with more or less what I want to start with: a document with the dimensions I need, with a set of reusable symbols at the right scale.</p>
<p>But when I tested it out by selecting a symbol on the canvas, copying it, and pasting it in its new location, I was disappointed to find that Illustrator copied the parts of the symbol, but not the grouping… it just added the individual parts of the graphic directly in the target layer.</p>
<p><strong>FAIL! </strong></p>
<p>I messed around a bit more with the interface, and through luck, I stumbled on a different way of selecting the symbol.  By toggling a selection button for the group in the Layers dialog, and copying that (Ctrl/Cmd+C only… Illustrator doesn’t provide a right-click menu on items in the Layers dialog list), I could paste the group.</p>
<blockquote><p><strong>Best Practice:</strong> Copy and paste symbols from the Layers dialog to preserve their logical structure.</p></blockquote>
<p>This is a far cry from having a &lt;use&gt; element, but I plan to apply a post-processing step to the final document, replacing duplicates with &lt;use&gt; references.  Luckily, Illustrator didn’t give the pasted copy a completely random id,  but simply appended an incremented number to the original symbol id, so this should be fairly easy.</p>
<p>My next step is to turn the new document over to Michael, my long-suffering designer, and see if any of this makes sense to him, or if he will come to his senses and throttle me for imposing all this developer madness on him.</p>
<h3>To Be Continued…</h3>
<p>I recognize that my own inexperience with Illustrator is probably behind some of my missteps (the full extent of which I have shielded from you, dear reader).  On the other hand, a fresh pair of eyes can often spot flaws that could be eliminated where an experienced hand would simply repeat the same mistakes.</p>
<p>This project is far from over, and as I refine my workflow, I’ll report back what I discover.  Some of what I learn may inform future versions of SVG.  Other parts should be changes to the authoring tools.  Hopefully some of it will help help designers and developers work around issues in creating SVG with the tools they use today.</p></div>
    </content>
    <updated>2010-03-08T10:45:37Z</updated>
    <published>2010-03-08T10:10:34Z</published>
    <category scheme="http://schepers.cc" term="Authoring Tools"/>
    <category scheme="http://schepers.cc" term="Browsers"/>
    <category scheme="http://schepers.cc" term="Conferences"/>
    <category scheme="http://schepers.cc" term="SVG"/>
    <category scheme="http://schepers.cc" term="SVG Basics"/>
    <category scheme="http://schepers.cc" term="Standards"/>
    <category scheme="http://schepers.cc" term="Tech"/>
    <category scheme="http://schepers.cc" term="Technical"/>
    <category scheme="http://schepers.cc" term="W3C"/>
    <category scheme="http://schepers.cc" term="Work"/>
    <author>
      <name>Schepers</name>
      <uri>http://schepers.cc</uri>
    </author>
    <source>
      <id>http://schepers.cc/?feed=atom</id>
      <link href="http://schepers.cc" rel="alternate" type="text/html"/>
      <link href="http://schepers.cc/?feed=atom" rel="self" type="application/atom+xml"/>
      <subtitle xml:lang="en">Technology upside down and backwards</subtitle>
      <title xml:lang="en">Reinventing Fire</title>
      <updated>2010-03-08T10:49:38Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>tag:weblogs.mozillazine.org,2010:/roc//36.20466</id>
    <link href="http://weblogs.mozillazine.org/roc/archives/2010/03/rainbows_end.html" rel="alternate" type="text/html"/>
    <title xml:lang="en">roc: Rainbows End</title>
    <summary xml:lang="en">I just finished reading Vernor Vinge's Rainbows End. Pretty good, but I think A Fire Upon The Deep and A Deepness In The Sky were better. I think in Rainbows End the technology gets a bit in the way of...</summary>
    <content type="xhtml" xml:lang="en"><div xmlns="http://www.w3.org/1999/xhtml"><div class="columns"><p>I just finished reading Vernor Vinge's <em>Rainbows End</em>. Pretty good, but I think <em>A Fire Upon The Deep</em> and <em>A Deepness In The Sky</em> were better. I think in <em>Rainbows End</em> the technology gets a bit in the way of the story ... Vinge carefully prognosticates and extrapolates, and that makes it overwrought.
</p><p>Having said that, the prognostication is quite good and worth reading and thinking about. And having said THAT, there are a few major blind spots. In Vinge's world, software usually works, porn and spam are almost absent, and nations with extraordinary totalitarian power don't abuse it. Hmm ... I doubt it :-).</p></div></div>
    </content>
    <updated>2010-03-08T10:04:06Z</updated>
    <published>2010-03-08T09:51:20Z</published>
    <author>
      <name>roc</name>
      <email>rocallahan@novell.com</email>
    </author>
    <source>
      <id>tag:weblogs.mozillazine.org,2010:/roc//36</id>
      <link href="http://weblogs.mozillazine.org/roc/" rel="alternate" type="text/html"/>
      <link href="http://weblogs.mozillazine.org/roc/atom.xml" rel="self" type="application/atom+xml"/>
      <rights xml:lang="en">Copyright (c) 2010, roc</rights>
      <subtitle xml:lang="en">Robert O'Callahan. Christian. Repatriate Kiwi. Mozilla hacker.</subtitle>
      <title xml:lang="en">Well, I'm Back</title>
      <updated>2010-03-08T10:04:30Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.codedread.com/blog/?p=705</id>
    <link href="http://www.codedread.com/blog/archives/2010/03/05/canvassvg-marketshare-feb-2010/" rel="alternate" type="text/html"/>
    <link href="http://www.codedread.com/blog/archives/2010/03/05/canvassvg-marketshare-feb-2010/#comments" rel="replies" type="text/html"/>
    <link href="http://www.codedread.com/blog/archives/2010/03/05/canvassvg-marketshare-feb-2010/feed/atom/" rel="replies" type="application/atom+xml"/>
    <title xml:lang="en">Something Witty Goes Here: Canvas/SVG Marketshare: Feb 2010</title>
    <summary xml:lang="en">[clipart]I’ve updated my marketshare spreadsheet for February 2010 charting the percentage of web users who can view SVG/Canvas:  37.92%

Link to spreadsheet
P.S. I should mention that this figure does not take into account any user that has a SVG plugin installed or authors who have used the excellent SVG Web or ExplorerCanvas shims, so this [...]</summary>
    <content type="xhtml" xml:lang="en"><div xmlns="http://www.w3.org/1999/xhtml"><p>[clipart]I’ve updated my marketshare spreadsheet for February 2010 charting the percentage of web users who can view SVG/Canvas:  <b>37.92%</b></p>
<p><br/>
<a href="http://spreadsheets.google.com/pub?key=t5TB0_qFXcrkEndedXkKaug&amp;output=htm">Link to spreadsheet</a></p>
<p>P.S. I should mention that this figure does not take into account any user that has a SVG plugin installed or authors who have used the excellent <a href="http://svgweb.googlecode.com/">SVG Web</a> or <a href="http://excanvas.sourceforge.net/">ExplorerCanvas</a> shims, so this is really a worst-case number.</p></div>
    </content>
    <updated>2010-03-07T07:18:32Z</updated>
    <published>2010-03-05T01:44:03Z</published>
    <category scheme="http://www.codedread.com/blog" term="Uncategorized"/>
    <category scheme="http://www.codedread.com/blog" term="browsers"/>
    <category scheme="http://www.codedread.com/blog" term="canvas"/>
    <category scheme="http://www.codedread.com/blog" term="SVG"/>
    <author>
      <name>Jeff</name>
    </author>
    <source>
      <id>http://www.codedread.com/blog/feed/atom/</id>
      <link href="http://www.codedread.com/blog" rel="alternate" type="text/html"/>
      <link href="http://www.codedread.com/blog/feed/atom/" rel="self" type="application/atom+xml"/>
      <title xml:lang="en">CodeDread Blog</title>
      <updated>2010-03-17T04:30:20Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>tag:weblogs.mozillazine.org,2010:/roc//36.20458</id>
    <link href="http://weblogs.mozillazine.org/roc/archives/2010/03/nightmare_on_in.html" rel="alternate" type="text/html"/>
    <title xml:lang="en">roc: Nightmare On Infinite Loop</title>
    <summary xml:lang="en">This Apple patent attack on HTC is very bad news. Like Microsoft's attack on Tomtom, it's a offensive lawsuit based largely on software patents. Unlike Microsoft's attack, it seems to be not about licensing deals but about shutting down the...</summary>
    <content type="xhtml" xml:lang="en"><div xmlns="http://www.w3.org/1999/xhtml"><div class="columns"><p>This Apple patent attack on HTC is very bad news. Like Microsoft's attack on Tomtom, it's a offensive lawsuit based largely on software patents. Unlike Microsoft's attack, it seems to be not about licensing deals but about shutting down the competition, and many of the patents involved are for obvious, fundamental and very general software techniques. LWN has <a href="https://lwn.net/Articles/376793/">a good article</a> with links to the specific patents involved.
</p><p>Consider the first claim of <a href="http://www.google.com/patents/about?id=XTKpAAAAEBAJ&amp;dq=7362331">patent 7,362,331</a>:
</p><blockquote style="white-space: pre-wrap;">1. A method for moving an object in a graphical user interface, comprising the steps of:
    a) determining a path of movement for the object along at least one axis, and a period of time for the movement along said path;
    b) establishing a non-constant velocity function along said axis for said period of time;
    c) calculating an instantaneous position for the object along said path in accordance with said function and the relationship of a current time value to said period of time;
    d) displaying said object at said calculated position; and
    e) iteratively repeating steps (c) and (d) during said period of time.</blockquote>
It was filed in 2001 and issued in 2008. (The other claims are mostly restatements of the same idea.) So when Jobs <a href="http://www.apple.com/pr/library/2010/03/02patents.html">says</a>
<blockquote>"We think competition is healthy, but competitors should create their own original technology, not steal ours."</blockquote>
not only does he believe that in 2000 Apple was the first company to invent the idea of time-based animation of objects with non-constant velocity, but he also believes that they deserve a monopoly on use of that idea until 2021, and that anyone else using the idea until then is stealing from Apple. All three beliefs are ludicrous and shameful.
<p>It's worth noting that any implementation of CSS transitions would infringe patent 7,362,331. I hope Apple isn't planning to sue implementers of CSS transitions for "stealing" their "technology".
</p><p>That patent was just the first one in LWN's list. Some of the others look worse.
</p><p>I'm very glad I don't work for Apple.</p></div></div>
    </content>
    <updated>2010-03-03T09:55:32Z</updated>
    <published>2010-03-03T09:19:40Z</published>
    <category term="Mozilla"/>
    <author>
      <name>roc</name>
      <email>rocallahan@novell.com</email>
    </author>
    <source>
      <id>tag:weblogs.mozillazine.org,2010:/roc//36</id>
      <link href="http://weblogs.mozillazine.org/roc/" rel="alternate" type="text/html"/>
      <link href="http://weblogs.mozillazine.org/roc/atom.xml" rel="self" type="application/atom+xml"/>
      <rights xml:lang="en">Copyright (c) 2010, roc</rights>
      <subtitle xml:lang="en">Robert O'Callahan. Christian. Repatriate Kiwi. Mozilla hacker.</subtitle>
      <title xml:lang="en">Well, I'm Back</title>
      <updated>2010-03-08T10:04:30Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.codedread.com/blog/?p=696</id>
    <link href="http://www.codedread.com/blog/archives/2010/02/27/contenteditable-hopesdashed/" rel="alternate" type="text/html"/>
    <link href="http://www.codedread.com/blog/archives/2010/02/27/contenteditable-hopesdashed/#comments" rel="replies" type="text/html"/>
    <link href="http://www.codedread.com/blog/archives/2010/02/27/contenteditable-hopesdashed/feed/atom/" rel="replies" type="application/atom+xml"/>
    <title xml:lang="en">Something Witty Goes Here: contenteditable hopesdashed</title>
    <summary xml:lang="en">[clipart]See that new SVG-edit icon made by some Opera dude who converted SVG-edit into a standalone widget?  Pretty awesome huh?  We’ll be using that icon in SVG-edit 2.5, Bicorn.  Kudos to those browser folk for helping spread the word.
Speaking of SVG-edit 2.5, I had this great idea awhile back to make text [...]</summary>
    <content type="xhtml" xml:lang="en"><div xmlns="http://www.w3.org/1999/xhtml"><p>[clipart]See that new SVG-edit icon made by some Opera dude who converted <a href="http://svg-edit.googlecode.com/">SVG-edit</a> into a <a href="http://my.opera.com/ODIN/blog/2010/02/18/svg-edit-standalone-widget">standalone widget</a>?  Pretty awesome huh?  We’ll be using that icon in <a href="http://code.google.com/p/svg-edit/wiki/Roadmap">SVG-edit 2.5, Bicorn</a>.  Kudos to those browser folk for helping spread the word.</p>
<p>Speaking of SVG-edit 2.5, I had this great idea awhile back to make text editing more awesomer:  instead of using svg:text elements, I’d use HTML elements living inside foreignObject inside SVG.  That would instantly give you wrapping rich text, bulleted lists, heading styles – because those browsers, they’re getting pretty good at displaying plain ol’ HTML.</p>
<p>I then had a much cooler idea. <span id="more-696"/></p>
<p>With the <a href="http://www.w3.org/TR/html5/editing.html#attr-contenteditable">contenteditable attribute</a> I could let the user edit her HTML directly in the browser inside SVG-edit just by relying on the browsers which supposedly <a href="http://a.deveria.com/caniuse/#feat=contenteditable">already support contenteditable</a>.</p>
<p>Over the last couple months it’s becoming plain to me that we’ve reached the current frontier / bleeding edge of interoperable SVG within SVG-edit.  Adding features might be harder for a little while.  Hey, when things only work in one browser engine, you know that’s where you are.</p>
<p>Here’s <a href="http://codedread.com/browser-tests/foce.svg">the test case</a>.</p>
<p>Chrome/Safari indeed lets me edit the first list item just fine, but Firefox and Opera do not.  <img alt=":(" class="wp-smiley" src="http://www.codedread.com/blog/wp-includes/images/smilies/icon_sad.gif"/> </p>
<p>Firefox “almost” lets me edit it by showing a dashed border around it.  Their bug is <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=549048">549048</a>.</p>
<p>Opera does not even allow me to select the HTML text, for goodness sakes.  Kudos given, kudos taken away <img alt=":P" class="wp-smiley" src="http://www.codedread.com/blog/wp-includes/images/smilies/icon_razz.gif"/> </p>
<p>Too bad – that would have been really cool.</p>
<p>I might still do that, but I’ll have to be clever about it.  Maybe when the user clicks on a text element in the editor we’ll have to pop up a div at the HTML root instead.  Supposedly contenteditable does quite well in HTML-land.  Won’t quite be the beautiful, seamless experience it could be though.</p>
<p>Unless you have any other bright ideas, chief.</p></div>
    </content>
    <updated>2010-02-27T05:04:34Z</updated>
    <published>2010-02-27T05:04:58Z</published>
    <category scheme="http://www.codedread.com/blog" term="Uncategorized"/>
    <author>
      <name>Jeff</name>
    </author>
    <source>
      <id>http://www.codedread.com/blog/feed/atom/</id>
      <link href="http://www.codedread.com/blog" rel="alternate" type="text/html"/>
      <link href="http://www.codedread.com/blog/feed/atom/" rel="self" type="application/atom+xml"/>
      <title xml:lang="en">CodeDread Blog</title>
      <updated>2010-03-17T04:30:20Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.codedread.com/blog/?p=689</id>
    <link href="http://www.codedread.com/blog/archives/2010/02/23/mercurializing/" rel="alternate" type="text/html"/>
    <link href="http://www.codedread.com/blog/archives/2010/02/23/mercurializing/#comments" rel="replies" type="text/html"/>
    <link href="http://www.codedread.com/blog/archives/2010/02/23/mercurializing/feed/atom/" rel="replies" type="application/atom+xml"/>
    <title xml:lang="en">Something Witty Goes Here: Mercurializing</title>
    <summary xml:lang="en">[clipart]I like Mercurial (hg).  The obvious advantage of a distributed version control system (dvcs) is that each repository is equal.  Among many other things, this is useful if you ever need to restore a repository (and all of its history) from a failed hard drive.
Way back in the day (wow nearly five years [...]</summary>
    <content type="xhtml" xml:lang="en"><div xmlns="http://www.w3.org/1999/xhtml"><p>[clipart]I like <a href="http://mercurial.selenic.com/">Mercurial</a> (hg).  The obvious advantage of a distributed version control system (dvcs) is that each repository is equal.  Among many other things, this is useful if you ever need to restore a repository (and all of its history) from a failed hard drive.</p>
<p><a href="http://www.codedread.com/blog/archives/2005/02/14/subverting-your-life/">Way back in the day</a> (wow nearly five years ago!), I made the transition of my personal documents into <a href="http://subversion.tigris.org/">Subversion</a>.  Around about the time <a href="http://www.latenightpc.com/blog/archives/2010/01/20/doing-my-thing-for-google">my central Subversion repository no longer became accessible to me</a> I decided to investigate Mercurial as a new option.  One thing that I like is that the repos are accessible over http, so it’s pretty easy to set up.<span id="more-689"/></p>
<p>Last night I finally moved the bulk (95%) of my personal documents over to hg repos from a collection of duplicated directories of various historical states on two different computers.  Whew, that’s a load off my mind.</p>
<p>The next thing I want to think about is putting my digital media (photos and the like) into repositories.  This may not be as crazy it sounds.  Yes it’s true that there are some systems out there built for this (rsync) and yes it’s true, DVCS make some general assumptions:</p>
<ul>
<li>Most files will be edited over time</li>
<li>Most files are text-based (source files)</li>
<li>Most edits will result in relatively small diffs</li>
<li>Having full history back to the beginning of time is useful</li>
</ul>
<p>In general, for a Distributed Media Control System (DMCS), these four assumptions are totally incorrect:</p>
<ul>
<li>The majority of files will not be edited/changed over time</li>
<li>Most files are binary</li>
<li>Even the smallest edit will result in a relatively huge diff</li>
<li>Having full history back to the beginning of time is not really useful</li>
</ul>
<p>This means, in general, that files will take up a minimum of 2N their required space and that each edit (adding metadata, cropping a photo) will generally require another N of disk space.  I briefly tested hg, git and bzr and they all do the same thing.</p>
<p>So if you consider disk space as being cheap (and it is), we can live with these things until a better system comes along.</p>
<p>For instance, every once in awhile (once a year) you can recreate the hg repo to remove unneeded history.</p>
<p>About the only thing that I’m miffed about is that Mercurial has a rather serious design flaw:  Renaming/moving a file duplicates the file in the internal repo.  This is totally wrong since the repo should just be noting that the path of the file has changed and nothing else.  <a href="http://mercurial.selenic.com/bts/issue883">At least they’re working on it</a>.</p>
<p>NOTE: I’m not advocating using Mercurial to back up your videos  just yet, but depending on the size of your digital photos I think it could start to make some sense.</p></div>
    </content>
    <updated>2010-02-24T01:17:36Z</updated>
    <published>2010-02-23T14:07:49Z</published>
    <category scheme="http://www.codedread.com/blog" term="Uncategorized"/>
    <author>
      <name>Jeff</name>
    </author>
    <source>
      <id>http://www.codedread.com/blog/feed/atom/</id>
      <link href="http://www.codedread.com/blog" rel="alternate" type="text/html"/>
      <link href="http://www.codedread.com/blog/feed/atom/" rel="self" type="application/atom+xml"/>
      <title xml:lang="en">CodeDread Blog</title>
      <updated>2010-03-17T04:30:20Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://dev.opera.com/articles/view/svg-or-canvas-choosing-between-the-two/</id>
    <link href="http://dev.opera.com/articles/view/svg-or-canvas-choosing-between-the-two/" rel="alternate" type="text/html"/>
    <title>shelleyp's Scuttle SVG links: SVG or Canvas? Сhoosing between the two - Opera Developer Community</title>
    <updated>2010-02-23T22:32:36Z</updated>
    <category term="canvas"/>
    <category term="graphics"/>
    <category term="svg"/>
    <author>
      <name>shelleyp</name>
    </author>
    <source>
      <id>http://scuttle.burningbird.net/</id>
      <link href="http://scuttle.burningbird.net/" rel="alternate" type="text/html"/>
      <link href="http://scuttle.burningbird.net/rss.php/all/svg" rel="self" type="application/rss+xml"/>
      <subtitle>Recent bookmarks posted to Scuttle</subtitle>
      <title>Scuttle: svg</title>
      <updated>2010-03-20T00:00:57Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://www.svgopen.org/2009/papers/12-Using_Canvas_in_SVG/</id>
    <link href="http://www.svgopen.org/2009/papers/12-Using_Canvas_in_SVG/" rel="alternate" type="text/html"/>
    <title>shelleyp's Scuttle SVG links: Using Canvas in SVG</title>
    <updated>2010-02-22T01:17:02Z</updated>
    <category term="canvas"/>
    <category term="graphics"/>
    <category term="javascript"/>
    <category term="svg"/>
    <author>
      <name>shelleyp</name>
    </author>
    <source>
      <id>http://scuttle.burningbird.net/</id>
      <link href="http://scuttle.burningbird.net/" rel="alternate" type="text/html"/>
      <link href="http://scuttle.burningbird.net/rss.php/all/svg" rel="self" type="application/rss+xml"/>
      <subtitle>Recent bookmarks posted to Scuttle</subtitle>
      <title>Scuttle: svg</title>
      <updated>2010-03-20T00:00:57Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>tag:weblogs.mozillazine.org,2010:/roc//36.20435</id>
    <link href="http://weblogs.mozillazine.org/roc/archives/2010/02/highperformance.html" rel="alternate" type="text/html"/>
    <title xml:lang="en">roc: High-Performance Browser Developers</title>
    <summary xml:lang="en">Yesterday, as a belated celebration of the Firefox 3.6 release, the Auckland Mozilla office went go-karting at the Formula E track in Manukau. These are electric go-karts; I personally don't have enough experience to compare these ones to petrol karts,...</summary>
    <content type="xhtml" xml:lang="en"><div xmlns="http://www.w3.org/1999/xhtml"><div class="columns"><p>Yesterday, as a belated celebration of the Firefox 3.6 release, the Auckland Mozilla office went go-karting at the <a href="http://www.formulae.co.nz/">Formula E</a> track in Manukau. These are electric go-karts; I personally don't have enough experience to compare these ones to petrol karts, but our more experienced drivers liked them and we all had a great time. They have interesting features like remotely controlled speed-limiting, so when someone spins out, everyone is immediately slowed down to the same speed without everyone bunching up behind the leader. The operators have some interesting software, so they can give you graphs showing your times for each lap; you can see the times improving as you learn. As an almost complete n00b, I started very slowly and improved quite quickly, which made me look good in the handicap races. I was, however, a nervous wreck by the time we were done  --- three ten-minute intervals on the track. If this browser stuff doesn't work out, motor racing is probably not my best bet.
</p><p>I wonder if anyone's combined go-karts with augmented reality. Put a head-up display in the helmet visor, project power-ups onto the track, pick them up to lift the speed limit in the electric motor. Etc.</p></div>
<div class="image"><img alt="Seven Mozilla developers at Formula E racetrack" height="600" src="http://weblogs.mozillazine.org/roc/images/MozillaKarts.jpg" width="800"/></div></div>
    </content>
    <updated>2010-02-16T01:51:31Z</updated>
    <published>2010-02-16T01:27:11Z</published>
    <category term="Mozilla"/>
    <author>
      <name>roc</name>
      <email>rocallahan@novell.com</email>
    </author>
    <source>
      <id>tag:weblogs.mozillazine.org,2010:/roc//36</id>
      <link href="http://weblogs.mozillazine.org/roc/" rel="alternate" type="text/html"/>
      <link href="http://weblogs.mozillazine.org/roc/atom.xml" rel="self" type="application/atom+xml"/>
      <rights xml:lang="en">Copyright (c) 2010, roc</rights>
      <subtitle xml:lang="en">Robert O'Callahan. Christian. Repatriate Kiwi. Mozilla hacker.</subtitle>
      <title xml:lang="en">Well, I'm Back</title>
      <updated>2010-03-08T10:04:30Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>tag:weblogs.mozillazine.org,2010:/roc//36.20433</id>
    <link href="http://weblogs.mozillazine.org/roc/archives/2010/02/post_foo_camp.html" rel="alternate" type="text/html"/>
    <title xml:lang="en">roc: Post Foo Camp</title>
    <summary xml:lang="en">This weekend's Foo Camp (NZ) was, once again, fantastic. One of the most fun parts for me was a long conversation with Nigel Parker (Microsoft) and Glen Murphy (Chrome). During that conversation I realized that this is the first time...</summary>
    <content type="xhtml" xml:lang="en"><div xmlns="http://www.w3.org/1999/xhtml"><div class="columns"><p>This weekend's Foo Camp (NZ) was, once again, fantastic.
</p><p>One of the most fun parts for me was a long conversation with Nigel Parker (Microsoft) and Glen Murphy (Chrome). During that conversation I realized that this is the first time ever that the consumer software industry has had three powerful, yet similarly matched, competitors --- Google, Microsoft, and Apple --- fighting over some important platform turf (mobile, online content, browsers). That's really wonderful. Although it'd probably be more fun to watch if we, Mozilla, weren't in the ring with them.
</p><p>There was a lot of talk about evangelizing the merits of open source, building communities around open source, and stuff like that. It seemed mostly framed around the idea of open source as the upstart, radical, misunderstood challenger, which I guess it still is for many domains or projects, but I don't relate to that as well as I used to because Mozilla has clearly passed that stage --- and even our competitors are often open source with their own communities.
</p><p>I wonder if we're all doing enough to leverage Firefox's success to add credibility to other free software efforts. I hope that at least other projects benefit from being able to point to Firefox and say "look, free software with a real volunteer development community, and you're using it".
</p><p>We're not supposed to talk too much about what was discussed, but I will say that the sessions on food, psychopaths, and climate change blogging were very interesting!</p></div></div>
    </content>
    <updated>2010-02-14T10:40:53Z</updated>
    <published>2010-02-14T10:13:58Z</published>
    <category term="Mozilla"/>
    <author>
      <name>roc</name>
      <email>rocallahan@novell.com</email>
    </author>
    <source>
      <id>tag:weblogs.mozillazine.org,2010:/roc//36</id>
      <link href="http://weblogs.mozillazine.org/roc/" rel="alternate" type="text/html"/>
      <link href="http://weblogs.mozillazine.org/roc/atom.xml" rel="self" type="application/atom+xml"/>
      <rights xml:lang="en">Copyright (c) 2010, roc</rights>
      <subtitle xml:lang="en">Robert O'Callahan. Christian. Repatriate Kiwi. Mozilla hacker.</subtitle>
      <title xml:lang="en">Well, I'm Back</title>
      <updated>2010-03-08T10:04:30Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://svg-wow.org/audio/animated-lyrics.html</id>
    <link href="http://svg-wow.org/audio/animated-lyrics.html" rel="alternate" type="text/html"/>
    <title>shelleyp's Scuttle SVG links: animated-lyrics.html</title>
    <updated>2010-02-10T23:14:16Z</updated>
    <category term="javascript"/>
    <category term="svg"/>
    <author>
      <name>shelleyp</name>
    </author>
    <source>
      <id>http://scuttle.burningbird.net/</id>
      <link href="http://scuttle.burningbird.net/" rel="alternate" type="text/html"/>
      <link href="http://scuttle.burningbird.net/rss.php/all/svg" rel="self" type="application/rss+xml"/>
      <subtitle>Recent bookmarks posted to Scuttle</subtitle>
      <title>Scuttle: svg</title>
      <updated>2010-03-20T00:00:57Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.codedread.com/blog/?p=680</id>
    <link href="http://www.codedread.com/blog/archives/2010/02/09/dont-worry-adobe-will-step-it-up/" rel="alternate" type="text/html"/>
    <link href="http://www.codedread.com/blog/archives/2010/02/09/dont-worry-adobe-will-step-it-up/#comments" rel="replies" type="text/html"/>
    <link href="http://www.codedread.com/blog/archives/2010/02/09/dont-worry-adobe-will-step-it-up/feed/atom/" rel="replies" type="application/atom+xml"/>
    <title xml:lang="en">Something Witty Goes Here: Don’t worry, Adobe will step it up</title>
    <summary xml:lang="en">[clipart]The one persistent mantra I hear from staunch Flash defenders, folks like John Dowdell, is that Flash gives you the benefit of one consistent runtime.  The Flash platform probably renders more consistently across browsers than HTML+SVG+Canvas+CSS – since the plugin directly controls a box of pixels on the web page I should hope so! [...]</summary>
    <content type="xhtml" xml:lang="en"><div xmlns="http://www.w3.org/1999/xhtml"><p>[clipart]The one persistent mantra I hear from staunch Flash defenders, folks like <a href="http://blogs.adobe.com/jd/">John Dowdell</a>, is that Flash gives you the benefit of <b>one consistent runtime</b>.  The Flash platform probably renders more consistently across browsers than HTML+SVG+Canvas+CSS – since the plugin directly controls a box of pixels on the web page I should hope so!  But is it equally consistent across operating systems?  And has it always been that way?  <span id="more-680"/></p>
<p><!--You mean there's never been one single rendering difference on the Flash Player between Windows, OS X and Linux?  That's amazing considering the difference in the underlying platforms of graphics, event handling, media, etc.--></p>
<p>Don’t worry, <a href="http://isflashdeadyet.com/">Flash isn’t dead yet</a>, but it’s clear that the tides are changing these days, with <a href="http://www.apple.com/ipad/">more devices</a> entering the market that do not (and cannot) have Flash installed.  Frankly SWF is no longer the reliable format it once was.  Yes you can reach 90+% of the desktop browsers, but what about the millions of mobile web users?  </p>
<p>So lots of people have had the same idea:  Adobe needs to update its tools to output in Open Web formats.  Simple, no?  Instead of Save As SWF, Save as Web App, right?</p>
<p>“But wait!”, I hear some Adobe lovers cry.  Rendering across browsers isn’t consistent!  The DOM is a mess!  There are tons of CSS layout bugs! SVG/Canvas support across browsers is uneven at best!  There are many features that aren’t even supported in some browsers yet!</p>
<p>Hogwash. <a href="http://www.openlaszlo.org/">OpenLaszlo</a> foresaw this transition years ago.  <a href="http://code.google.com/webtoolkit/">GWT</a> does the same thing.</p>
<p>You Adobe folk are bright engineers.  You just have to make it work.  <b>Exactly like you made it work, and continue to make it work, across Windows, OSX and Linux graphics systems.</b>  The rendering layer is at the browser now, not the operating system.</p>
<p>There are <a href="http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks">lots of JavaScript frameworks</a> that help to smooth out the script and DOM bumps.  There are tricks you can do until SVG/Canvas feature X is consistently supported.  Someone already figured out how to <a href="http://paulirish.com/work/gordon/demos/">render SWF files using SVG+JS</a>, for goodness sake.  </p>
<p>And guess what – two of the major browser engines are open source – which means if a particular feature is missing in those implementations you can put an engineer on it for two months so that in the next version of the browser, it will be there for you.</p>
<p>You just need to think ahead.</p>
<p>As I’m sure you are. <img alt=";)" class="wp-smiley" src="http://www.codedread.com/blog/wp-includes/images/smilies/icon_wink.gif"/> </p></div>
    </content>
    <updated>2010-02-09T23:12:52Z</updated>
    <published>2010-02-09T23:12:45Z</published>
    <category scheme="http://www.codedread.com/blog" term="Adobe"/>
    <category scheme="http://www.codedread.com/blog" term="Laszlo"/>
    <category scheme="http://www.codedread.com/blog" term="Software"/>
    <category scheme="http://www.codedread.com/blog" term="Technology"/>
    <category scheme="http://www.codedread.com/blog" term="Web"/>
    <category scheme="http://www.codedread.com/blog" term="flash"/>
    <category scheme="http://www.codedread.com/blog" term="open web"/>
    <category scheme="http://www.codedread.com/blog" term="SVG"/>
    <author>
      <name>Jeff</name>
    </author>
    <source>
      <id>http://www.codedread.com/blog/feed/atom/</id>
      <link href="http://www.codedread.com/blog" rel="alternate" type="text/html"/>
      <link href="http://www.codedread.com/blog/feed/atom/" rel="self" type="application/atom+xml"/>
      <title xml:lang="en">CodeDread Blog</title>
      <updated>2010-03-17T04:30:20Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>tag:weblogs.mozillazine.org,2010:/roc//36.20422</id>
    <link href="http://weblogs.mozillazine.org/roc/archives/2010/02/reality_wins.html" rel="alternate" type="text/html"/>
    <title xml:lang="en">roc: Reality Wins</title>
    <summary xml:lang="en">On Friday night our family stayed with my parents on a boat up at Mahurangi, in Lagoon Bay. Easterlies had been blowing steadily for a few weeks and probably pushed a lot of plankton inshore, which helps explain what we...</summary>
    <content type="xhtml" xml:lang="en"><div xmlns="http://www.w3.org/1999/xhtml"><div class="columns"><p>On Friday night our family stayed with my parents on a boat up at Mahurangi, in <a href="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=warkworth&amp;sll=37.0625,-95.677068&amp;sspn=48.688845,79.277344&amp;ie=UTF8&amp;hq=&amp;hnear=Warkworth,+Auckland,+New+Zealand&amp;ll=-36.492284,174.733429&amp;spn=0.024323,0.03871&amp;z=15">Lagoon Bay</a>. Easterlies had been blowing steadily for a few weeks and probably pushed a lot of plankton inshore, which helps explain what we saw that night.
</p><p>About 10pm, after most of the crew had gone to bed and it was very dark, I noticed unusual flashes of light in the water. It was obviously bioluminescence caused by plankton, but far more intense than I've ever seen before. Even in still water, there were tiny points of light winking like flickering stars. Anywhere water was disturbed, it glowed brightly. Fish jumped, and the ripples formed bright, expanding halos. You could see moving, oscillating, sinuous lights underwater that I presume were fish swimming. I hopped in the dinghy with my wife and rowed around. The splashes of the oars created amazing flashes and patterns of light, and the dingy left a glowing wake. My wife dipped her hand in the water and it came out luminous.
</p><p>It was an utterly remarkable experience --- like the bioluminescent forests of <em>Avatar</em>, but with the considerable advantage of being real. (Sorry, no photo --- the lights were only bright relative to the darkness of the night, and I lacked the technology and skill to capture them.)</p></div></div>
    </content>
    <updated>2010-02-07T21:30:55Z</updated>
    <published>2010-02-07T20:25:18Z</published>
    <category term="New Zealand"/>
    <author>
      <name>roc</name>
      <email>rocallahan@novell.com</email>
    </author>
    <source>
      <id>tag:weblogs.mozillazine.org,2010:/roc//36</id>
      <link href="http://weblogs.mozillazine.org/roc/" rel="alternate" type="text/html"/>
      <link href="http://weblogs.mozillazine.org/roc/atom.xml" rel="self" type="application/atom+xml"/>
      <rights xml:lang="en">Copyright (c) 2010, roc</rights>
      <subtitle xml:lang="en">Robert O'Callahan. Christian. Repatriate Kiwi. Mozilla hacker.</subtitle>
      <title xml:lang="en">Well, I'm Back</title>
      <updated>2010-03-08T10:04:30Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.codedread.com/blog/?p=663</id>
    <link href="http://www.codedread.com/blog/archives/2010/02/06/svg-edit-one-year-old/" rel="alternate" type="text/html"/>
    <link href="http://www.codedread.com/blog/archives/2010/02/06/svg-edit-one-year-old/#comments" rel="replies" type="text/html"/>
    <link href="http://www.codedread.com/blog/archives/2010/02/06/svg-edit-one-year-old/feed/atom/" rel="replies" type="application/atom+xml"/>
    <title xml:lang="en">Something Witty Goes Here: SVG-edit: One Year Old</title>
    <summary xml:lang="en">[clipart]One year ago today, Narendra Sisodiya started a tiny project called SVG-edit, with the very first check-in.  He was trying to build a white-boarding application that could be used to facilitate online education.
Wow.
My kids couldn’t even talk at the age of one!  Slackers…
It’s pretty amazing to think that this:

Can turn into this:

over the [...]</summary>
    <content type="xhtml" xml:lang="en"><div xmlns="http://www.w3.org/1999/xhtml"><p>[clipart]One year ago today, <a href="http://narendra.techfandu.org/">Narendra Sisodiya</a> started a tiny project called SVG-edit, with <a href="http://code.google.com/p/svg-edit/source/detail?r=2">the very first check-in</a>.  He was trying to build a white-boarding application that could be used to facilitate online education.<span id="more-663"/></p>
<p>Wow.</p>
<p>My kids couldn’t even talk at the age of one!  Slackers…</p>
<p>It’s pretty amazing to think that this:</p>
<p/>
<p>Can turn into this:</p>
<p/>
<p>over the course of just one year, built in a lot of people’s spare time – but here we are! <img alt=":)" class="wp-smiley" src="http://www.codedread.com/blog/wp-includes/images/smilies/icon_smile.gif"/> </p>
<p>I can’t wait to see what <a href="http://svg-edit.googlecode.com/">SVG-edit</a> looks like on its 2nd birthday!</p></div>
    </content>
    <updated>2010-02-06T17:00:58Z</updated>
    <published>2010-02-06T16:49:41Z</published>
    <category scheme="http://www.codedread.com/blog" term="SVG"/>
    <category scheme="http://www.codedread.com/blog" term="Software"/>
    <category scheme="http://www.codedread.com/blog" term="Technology"/>
    <category scheme="http://www.codedread.com/blog" term="Web"/>
    <category scheme="http://www.codedread.com/blog" term="FOSS"/>
    <category scheme="http://www.codedread.com/blog" term="svg-edit"/>
    <author>
      <name>Jeff</name>
    </author>
    <source>
      <id>http://www.codedread.com/blog/feed/atom/</id>
      <link href="http://www.codedread.com/blog" rel="alternate" type="text/html"/>
      <link href="http://www.codedread.com/blog/feed/atom/" rel="self" type="application/atom+xml"/>
      <title xml:lang="en">CodeDread Blog</title>
      <updated>2010-03-17T04:30:20Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.codedread.com/blog/?p=654</id>
    <link href="http://www.codedread.com/blog/archives/2010/02/02/canvassvg-marketshare-jan-2010/" rel="alternate" type="text/html"/>
    <link href="http://www.codedread.com/blog/archives/2010/02/02/canvassvg-marketshare-jan-2010/#comments" rel="replies" type="text/html"/>
    <link href="http://www.codedread.com/blog/archives/2010/02/02/canvassvg-marketshare-jan-2010/feed/atom/" rel="replies" type="application/atom+xml"/>
    <title xml:lang="en">Something Witty Goes Here: Canvas/SVG Marketshare: Jan 2010</title>
    <summary xml:lang="en">[clipart]I’ve updated my marketshare spreadsheet for January 2010 charting the percentage of web users who can view SVG/Canvas:  36.86%
Spreadsheet
P.S. I should mention that this figure does not take into account any user that has a SVG plugin installed or authors who have used the excellent SVG Web or ExplorerCanvas shims, so this is really [...]</summary>
    <content type="xhtml" xml:lang="en"><div xmlns="http://www.w3.org/1999/xhtml"><p>[clipart]I’ve updated my marketshare spreadsheet for January 2010 charting the percentage of web users who can view SVG/Canvas:  <b>36.86%</b></p>
<p><a href="http://spreadsheets.google.com/pub?key=t5TB0_qFXcrkEndedXkKaug&amp;output=html">Spreadsheet</a></p>
<p>P.S. I should mention that this figure does not take into account any user that has a SVG plugin installed or authors who have used the excellent <a href="http://svgweb.googlecode.com/">SVG Web</a> or <a href="http://excanvas.sourceforge.net/">ExplorerCanvas</a> shims, so this is really a worst-case number.</p></div>
    </content>
    <updated>2010-02-02T21:23:36Z</updated>
    <published>2010-02-02T21:24:00Z</published>
    <category scheme="http://www.codedread.com/blog" term="Software"/>
    <category scheme="http://www.codedread.com/blog" term="Technology"/>
    <category scheme="http://www.codedread.com/blog" term="Web"/>
    <category scheme="http://www.codedread.com/blog" term="canvas"/>
    <category scheme="http://www.codedread.com/blog" term="SVG"/>
    <author>
      <name>Jeff</name>
    </author>
    <source>
      <id>http://www.codedread.com/blog/feed/atom/</id>
      <link href="http://www.codedread.com/blog" rel="alternate" type="text/html"/>
      <link href="http://www.codedread.com/blog/feed/atom/" rel="self" type="application/atom+xml"/>
      <title xml:lang="en">CodeDread Blog</title>
      <updated>2010-03-17T04:30:20Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.codedread.com/blog/?p=616</id>
    <link href="http://www.codedread.com/blog/archives/2010/01/26/svg-marketshare-dec-2009/" rel="alternate" type="text/html"/>
    <link href="http://www.codedread.com/blog/archives/2010/01/26/svg-marketshare-dec-2009/#comments" rel="replies" type="text/html"/>
    <link href="http://www.codedread.com/blog/archives/2010/01/26/svg-marketshare-dec-2009/feed/atom/" rel="replies" type="application/atom+xml"/>
    <title xml:lang="en">Something Witty Goes Here: SVG Marketshare: Dec 2009</title>
    <summary xml:lang="en">[clipart]I decided to start publishing the percentage of web users who can view SVG/Canvas, starting with December 2009:  35.62%
Spreadsheet
P.S. I should mention that this figure does not take into account any user that has a SVG plugin installed or authors who have used the excellent SVG Web or ExplorerCanvas shims, so this is really [...]</summary>
    <content type="xhtml" xml:lang="en"><div xmlns="http://www.w3.org/1999/xhtml"><p>[clipart]I decided to start publishing the percentage of web users who can view SVG/Canvas, starting with December 2009:  <b>35.62%</b></p>
<p><a href="http://spreadsheets.google.com/pub?key=t5TB0_qFXcrkEndedXkKaug&amp;output=html">Spreadsheet</a></p>
<p>P.S. I should mention that this figure does not take into account any user that has a SVG plugin installed or authors who have used the excellent <a href="http://svgweb.googlecode.com/">SVG Web</a> or <a href="http://excanvas.sourceforge.net/">ExplorerCanvas</a> shims, so this is really a worst-case number.</p></div>
    </content>
    <updated>2010-02-02T21:21:54Z</updated>
    <published>2010-01-26T13:25:53Z</published>
    <category scheme="http://www.codedread.com/blog" term="SVG"/>
    <category scheme="http://www.codedread.com/blog" term="Software"/>
    <category scheme="http://www.codedread.com/blog" term="Technology"/>
    <category scheme="http://www.codedread.com/blog" term="Web"/>
    <category scheme="http://www.codedread.com/blog" term="canvas"/>
    <author>
      <name>Jeff</name>
    </author>
    <source>
      <id>http://www.codedread.com/blog/feed/atom/</id>
      <link href="http://www.codedread.com/blog" rel="alternate" type="text/html"/>
      <link href="http://www.codedread.com/blog/feed/atom/" rel="self" type="application/atom+xml"/>
      <title xml:lang="en">CodeDread Blog</title>
      <updated>2010-03-14T02:11:19Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://my.opera.com/MacDev_ed/blog/7211881</id>
    <link href="http://my.opera.com/MacDev_ed/blog/show.dml/7211881" rel="alternate" type="text/html"/>
    <title type="xhtml" xml:lang="en">ed.blog: <div xmlns="http://www.w3.org/1999/xhtml">How to get the svg elements intersected by a given rectangle</div></title>
    <content type="xhtml" xml:lang="en"><div xmlns="http://www.w3.org/1999/xhtml"><p>
Your browser doesn't support SVG or this feed was mangled to remove all 'object' elements. You may see the post in its original form at <a href="http://my.opera.com/macdev_ed/blog">my.opera.com/macdev_ed</a>. You can download a browser that supports SVG <a href="http://www.opera.com/download">here</a>.

Yet another sandbox svg! This time we're going to list all the graphic elements that are intersected by a one-pixel rectangle positioned at the current mousepointer location.
</p>
<p>
Below is an example of a function that returns the list of elements under the broomsti^Wmousecursor by using the SVG DOM method <a href="http://dev.w3.org/SVG/profiles/1.1F2/publish/struct.html#__svg__SVGSVGElement__getIntersectionList"><code>getIntersectionList</code></a>. Pass in a <a href="http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-MouseEvent"><code>MouseEvent</code></a> object from a mouse event handler to get a static <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-536297177"><code>NodeList</code></a> object back. 
</p>
<pre>
function getInteresectedElements(evt)
{
  var rpos = svgroot.createSVGRect();
  rpos.x = evt.clientX;
  rpos.y = evt.clientY;
  rpos.width = rpos.height = 1;
  return root.getIntersectionList(rpos, null);
}
</pre>

<p>
Here's an modified variant of the above running in the browser. Hovering the graphic will show the id's of the currently intersected elements. Note that to work this script requires that the SVG 1.1 DOM method <a href="http://dev.w3.org/SVG/profiles/1.1F2/publish/struct.html#__svg__SVGSVGElement__getIntersectionList"><code>getIntersectionList</code></a> is implemented, which at the time of writing is not the case in Firefox or Safari.

<a href="http://files.myopera.com/MacDev_ed/svg/intersection/sandbox_hover.svg">Your browser or RSS reader does not support svg, please visit the blogpost using a modern web browser to see this image.</a>
</p>

<p>The script that shows the intersected elements and the current mouse position can be viewed <a href="http://files.myopera.com/MacDev_ed/svg/intersection/showintersectedelms.js">here</a>. To use it in another svg file just download that script and add a <code>'script'</code> element to the svg file you want to use it in, like this:
<pre>
  ...
  &lt;script xlink:href="showintersectedelms.js"/&gt;
  ...
</pre>
Tested in Opera 10.10.
</p></div>
    </content>
    <updated>2010-02-01T08:48:32Z</updated>
    <author>
      <name>Erik Dahlström</name>
    </author>
    <source>
      <id>http://my.opera.com/MacDev_ed/blog/</id>
      <author>
        <name>Erik Dahlström</name>
      </author>
      <link href="http://my.opera.com/MacDev_ed/" rel="alternate" type="text/html"/>
      <link href="http://my.opera.com/MacDev_ed/xml/atom/blog" rel="self" type="application/atom+xml"/>
      <subtitle type="xhtml" xml:lang="en"><div xmlns="http://www.w3.org/1999/xhtml">You will be vectorized.</div>
      </subtitle>
      <title type="xhtml" xml:lang="en"><div xmlns="http://www.w3.org/1999/xhtml">ed.blog</div>
      </title>
      <updated>2010-02-01T08:48:56Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>tag:weblogs.mozillazine.org,2010:/roc//36.20407</id>
    <link href="http://weblogs.mozillazine.org/roc/archives/2010/01/ruapehu_redux.html" rel="alternate" type="text/html"/>
    <title xml:lang="en">roc: Ruapehu Redux</title>
    <summary xml:lang="en">Five Mozilla people at the top of Mt Ruapehu 12 days ago. The crater lake is in the background....</summary>
    <content type="xhtml" xml:lang="en"><div xmlns="http://www.w3.org/1999/xhtml"><p>Five Mozilla people at the top of Mt Ruapehu 12 days ago. The crater lake is in the background.
</p><div class="image"><img height="533" src="http://weblogs.mozillazine.org/roc/images/group.jpg" width="800"/>
</div></div>
    </content>
    <updated>2010-01-30T11:35:15Z</updated>
    <published>2010-01-30T11:29:28Z</published>
    <category term="Mozilla"/>
    <author>
      <name>roc</name>
      <email>rocallahan@novell.com</email>
    </author>
    <source>
      <id>tag:weblogs.mozillazine.org,2010:/roc//36</id>
      <link href="http://weblogs.mozillazine.org/roc/" rel="alternate" type="text/html"/>
      <link href="http://weblogs.mozillazine.org/roc/atom.xml" rel="self" type="application/atom+xml"/>
      <rights xml:lang="en">Copyright (c) 2010, roc</rights>
      <subtitle xml:lang="en">Robert O'Callahan. Christian. Repatriate Kiwi. Mozilla hacker.</subtitle>
      <title xml:lang="en">Well, I'm Back</title>
      <updated>2010-03-08T10:04:30Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>tag:weblogs.mozillazine.org,2010:/roc//36.20406</id>
    <link href="http://weblogs.mozillazine.org/roc/archives/2010/01/three_lessons_f.html" rel="alternate" type="text/html"/>
    <title xml:lang="en">roc: Three Lessons From A Pernicious Bug</title>
    <summary xml:lang="en">We were having a lot of problems on Tinderbox with xpcshell tests randomly failing on Windows by returning exit code 1. Curiously, it seemed that almost any test could fail this way, with low probability, and the output log for...</summary>
    <content type="xhtml" xml:lang="en"><div xmlns="http://www.w3.org/1999/xhtml"><div class="columns"><p>We were having a lot of problems on Tinderbox with <a href="https://developer.mozilla.org/en/Writing_xpcshell-based_unit_tests">xpcshell tests</a> randomly failing on Windows by returning exit code 1. Curiously, it seemed that almost any test could fail this way, with low probability, and the output log for each test indicated that all the actual subtest assertions passed, the process just mysteriously returned an exit code of 1 for no apparent reason.
</p><p>Naturally I charged into battle with my <a href="http://weblogs.mozillazine.org/roc/archives/2009/11/today_for_the_f.html">sword +5 against orange</a> (i.e., VMWare's record-and-replay debugging). The tests failed randomly about one run in a thousand, so capturing a failure wasn't hard. Then I verified that the problematic xpcshell run was passing 0 as the exit code for the final NtTerminateProcess system call, but the outer python script was indeed getting 1 from GetExitCodeProcess. Very mysterious!
</p><p>I was at a loss for a while until some questions from Benjamin Smedberg led me to observe that in the failing run, the Google Breakpad helper thread was still alive at process termination, but in passing runs, that thread had exited before process termination.
</p><p>Benjamin then looked into the Breakpad shutdown code and noticed it using TerminateThread to shut down its helper thread. The <a href="http://msdn.microsoft.com/en-us/library/ms686717%28VS.85%29.aspx">MSDN documentation for TerminateThread</a> warns that that function is an extremely dangerous API, because it abruptly terminates the thread, leaving any shared resources it was manipulating in a possibly inconsistent state. Nevertheless, <a href="http://mxr.mozilla.org/mozilla-central/source/toolkit/crashreporter/google-breakpad/src/client/windows/handler/exception_handler.cc#287">the Breakpad shutdown code</a> seems to use it in a safe way ... mostly. We observed that that code was passing exit code 1 to TerminateThread. Changing that exit code to 44 made the exit code returned in our randomly failing tests change to 44. Clearly, somehow the exit code set for the Breakpad helper thread by TerminateThread was becoming the exit code for the process!
</p><p>We think that, although it's not mentioned in MSDN, TerminateThread is actually asynchronous. The thread is not terminated immediately. If you're (un)lucky, the main thread can trigger process exit (passing exit code 0) before the helper thread's termination is complete. Then, somewhere in the netherworld of NT kernel process finalization, after the main thread has been terminated, termination of the helper thread finally completes and as the last thread to terminate, its exit code is recorded as the process exit code!
</p><p>Moral of the story: never use TerminateThread. If you must use TerminateThread, you should probably try to wait for termination to finish (e.g. by calling WaitForSingleObject) before exiting the process, if you care about your process exit code. Another moral is that record-and-replay debugging rocks (but we already knew that). Yet another moral is that debugging closed-source operating systems sucks (but we already knew that too).</p></div></div>
    </content>
    <updated>2010-01-30T06:57:13Z</updated>
    <published>2010-01-30T06:21:15Z</published>
    <category term="Mozilla"/>
    <author>
      <name>roc</name>
      <email>rocallahan@novell.com</email>
    </author>
    <source>
      <id>tag:weblogs.mozillazine.org,2010:/roc//36</id>
      <link href="http://weblogs.mozillazine.org/roc/" rel="alternate" type="text/html"/>
      <link href="http://weblogs.mozillazine.org/roc/atom.xml" rel="self" type="application/atom+xml"/>
      <rights xml:lang="en">Copyright (c) 2010, roc</rights>
      <subtitle xml:lang="en">Robert O'Callahan. Christian. Repatriate Kiwi. Mozilla hacker.</subtitle>
      <title xml:lang="en">Well, I'm Back</title>
      <updated>2010-03-08T10:04:30Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.codedread.com/blog/?p=642</id>
    <link href="http://www.codedread.com/blog/archives/2010/01/30/tinkers-cuss/" rel="alternate" type="text/html"/>
    <link href="http://www.codedread.com/blog/archives/2010/01/30/tinkers-cuss/#comments" rel="replies" type="text/html"/>
    <link href="http://www.codedread.com/blog/archives/2010/01/30/tinkers-cuss/feed/atom/" rel="replies" type="application/atom+xml"/>
    <title xml:lang="en">Something Witty Goes Here: Tinker’s Cuss</title>
    <summary xml:lang="en">[clipart]Like everyone else, it’s become my turn to tell you how wrong everybody else is about the iPad and how right I am and why.  Well, not really.  I just thought I’d link to a few snippets and blather for a bit.  You don’t mind, do you? 

Mark Pilgrim laments that the [...]</summary>
    <content type="xhtml" xml:lang="en"><div xmlns="http://www.w3.org/1999/xhtml"><p>[clipart]Like everyone else, it’s become my turn to tell you how wrong everybody else is about the iPad and how right I am and why.  Well, not really.  I just thought I’d link to a few snippets and blather for a bit.  You don’t mind, do you? <span id="more-642"/></p>
<ul>
<li><a href="http://diveintomark.org/">Mark Pilgrim</a> laments that the next generation won’t be able to tinker like we did</li>
<li><a href="http://joehewitt.com/post/ipad/">Joe Hewitt</a> sees opportunity in the big screen + sandbox approach</li>
<li><a href="http://stevenf.tumblr.com/post/359224392/i-need-to-talk-to-you-about-computers-ive-been">Steven Frank</a>: Old World meet New World (a <b>must</b> read)</li>
</ul>
<p>I think Mark laments needlessly and Joe and Steven are right – but none of them touch on the role that the Open Web stack will play in this New World of Computing.  <a href="http://intertwingly.net/blog/2010/01/29/Evolution-of-Tinkering">Sam did</a>.  The more capable the Open Web stack becomes, the less we need platform-specific APIs and SDKs.  Why code for iPad when you can code for iPad, Android, WebOS, Blackberry, Windows, OSX, Linux and Haiku at the same time?</p>
<p>2009 was the year I <span title="Drank the kool-aid">became convinced</span> that one day soon the Open Web (HTML, JS, CSS, SVG) will supplant all those other cross-platform UI toolkits (Java, GNOME, Qt, AIR/Flash, Silverlight) as king of the heap.  I’m willing to wager that in 5 years the majority (say, over 80%) of apps that need a user interface will be done using Open Web technologies.</p>
<p>There are advantages:</p>
<ul>
<li>No need for an SDK</li>
<li>No need for user installs</li>
<li>No need to install a runtime, plugin, libraries</li>
<li>No need for user upgrades</li>
<li>Multiplatform</li>
<li>No vendor lock-in</li>
</ul>
<p>There are (current) hurdles:</p>
<ul>
<li>High performance (improving)</li>
<li>Interoperable vector graphics (coming… let’s see where we are in, say, 7 weeks?)</li>
<li>3D graphics (that will sort itself out soon)</li>
<li>Video, Audio support (HTML5 will take care of that eventually)</li>
<li>Better input handling (multi-touch events, gestures, whatever)</li>
<li>File access (Firefox 3.6 is 50% of the way there)</li>
<li>Easier networking (web sockets anyone?)</li>
</ul>
<p>Make it happ’n Cap’n!</p></div>
    </content>
    <updated>2010-01-30T03:13:58Z</updated>
    <published>2010-01-30T02:08:33Z</published>
    <category scheme="http://www.codedread.com/blog" term="Software"/>
    <category scheme="http://www.codedread.com/blog" term="Technology"/>
    <category scheme="http://www.codedread.com/blog" term="Web"/>
    <category scheme="http://www.codedread.com/blog" term="iPad"/>
    <category scheme="http://www.codedread.com/blog" term="open web"/>
    <author>
      <name>Jeff</name>
    </author>
    <source>
      <id>http://www.codedread.com/blog/feed/atom/</id>
      <link href="http://www.codedread.com/blog" rel="alternate" type="text/html"/>
      <link href="http://www.codedread.com/blog/feed/atom/" rel="self" type="application/atom+xml"/>
      <title xml:lang="en">CodeDread Blog</title>
      <updated>2010-03-17T04:30:20Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.codedread.com/blog/?p=606</id>
    <link href="http://www.codedread.com/blog/archives/2010/01/29/svg-2-0-wishlist/" rel="alternate" type="text/html"/>
    <link href="http://www.codedread.com/blog/archives/2010/01/29/svg-2-0-wishlist/#comments" rel="replies" type="text/html"/>
    <link href="http://www.codedread.com/blog/archives/2010/01/29/svg-2-0-wishlist/feed/atom/" rel="replies" type="application/atom+xml"/>
    <title xml:lang="en">Something Witty Goes Here: SVG 2.0 Wishlist</title>
    <summary xml:lang="en">[clipart]Robin Berjon posted about what his SVG 2.0 Wishlist would be.  I think he used the hatchet a little too much, so I thought I’d give some feedback.  Since he doesn’t support comments (boo!) here we go.
Chopping defs
This was probably my biggest annoyance/concern since, to my knowledge, the &lt;defs&gt; elements causes zero problems. [...]</summary>
    <content type="xhtml" xml:lang="en"><div xmlns="http://www.w3.org/1999/xhtml"><p>[clipart]<a href="http://berjon.com/blog/2010/01/svg2.0-wishlist.html">Robin Berjon posted</a> about what his SVG 2.0 Wishlist would be.  I think he used the hatchet a little too much, so I thought I’d give some feedback.  Since he doesn’t support comments (boo!) here we go.<span id="more-606"/></p>
<h3><a href="http://www.codedread.com/blog/archives/2010/01/29/svg-2-0-wishlist/#chopping-defs" id="chopping-defs">Chopping defs</a></h3>
<p>This was probably my biggest annoyance/concern since, to my knowledge, the &lt;defs&gt; elements causes zero problems.  Why would &lt;head&gt; or &lt;g style=”display:none”&gt; be preferable to <a href="http://www.w3.org/TR/SVG11/struct.html#DefsElement">&lt;defs&gt;</a>?  The defs elements provides semantics to a SVG document.  Specifically, it acts like Flash IDE’s “stage”, where graphical editors can store and find the re-usable elements in a drawing.  I don’t see any benefit to getting rid of &lt;defs&gt; nor do I see a problem that it causes.  Why are you using &lt;section&gt; elements when &lt;div&gt; will do just fine on your blog, Robin? <img alt=";)" class="wp-smiley" src="http://www.codedread.com/blog/wp-includes/images/smilies/icon_wink.gif"/> </p>
<h3><a href="http://www.codedread.com/blog/archives/2010/01/29/svg-2-0-wishlist/#chopping-smil" id="chopping-smil">Chopping SMIL</a></h3>
<p>I think chopping SMIL at this point would be a bad idea, considering that all native SVG browsers are just coming online with this stuff now.  Yes, SMIL is vastly underused, but frankly SMIL has not had a chance to prove itself – both in user agents and in graphical editors.  I’d say now that it’s been (being) finally implemented, give SMIL a chance and drop it in SVG 3.0 (or whatever comes next) if it is still too under-used.</p>
<p>Your alternatives to SMIL are <a href="http://www.w3.org/TR/css3-animations/">CSS3 Animations</a> for simple cases (sounds good) and JS+DOM for complex cases.  I disagree with the latter as the only way to animate complex SVG.  I think that SMIL still has good uses there.  Out of curiosity Robin, what do you think of <a href="http://www.w3.org/TR/timesheets/">SMIL Timesheets</a>? </p>
<p>What we do need to solve is the DOM interface for SMIL.  I agree baseVal and animVal are truly hated.  In general, I think declarative animations make sense for SMIL, but I don’t know about the mixture of SMIL + DOM – that never quite made sense to me.</p>
<p>Maybe move SVG+SMIL out into its own SVG 2.0 Module and see how it fares and provide SVG DOM Core 2.0 that’s leaner, meaner and leaves out the SMIL?</p>
<h3 id="elems-props"><a href="http://www.codedread.com/blog/archives/2010/01/29/svg-2-0-wishlist/#attrs-props">Attributes and CSS Properties</a></h3>
<p>What’s the migration strategy?  If the SVG 2.0-capable browser encounters an attribute that was present in SVG 1.1 and not present in 2.0 – what should it do?  Ignore?  &lt;circle fill=”blue” /&gt; becomes black?  </p>
<p>Not all editors universally love inline style attributes (though the popular ones do).  Inline style attributes are another layer of parsing, another micro-syntax for hand authors, and can actually bloat the markup – unless you have more than 3 presentational attributes <img alt=":P" class="wp-smiley" src="http://www.codedread.com/blog/wp-includes/images/smilies/icon_razz.gif"/> </p>
<p>I think removing the CSS properties as attributes will actually end up confusing authors further (what? i can set the radius of the circle using XML but not the stroke-width?).  I think the decision to make presentational attributes was a conscious one based on the fact that SVG is such a visual language.</p>
<p>I guess I don’t have a better solution for CSS properties as XML attributes, because I admit that it <em>is</em> confusing as it stands, but I’m not convinced that simply removing them is the answer.</p>
<h3><a href="http://www.codedread.com/blog/archives/2010/01/29/svg-2-0-wishlist/#slicing-not-chopping" id="slicing-not-chopping">Slicing – not Chopping</a></h3>
<p>[clipart]I hope that SVG 2.0 <em>does</em> become leaner.  I just think that now that browsers are seemingly rallied around 1.1 Full and people are actually starting to use SVG that we need take a more cautious approach with changes.  To me, carefully and iteratively shaving is a better approach than swinging a hacksaw and see what you end up with.  Sorry to mix up so many blades in my analogies.</p>
<p>Here are some things I wouldn’t be upset about if they went away:</p>
<ul>
<li>&lt;symbol&gt; – hardly needed if &lt;use&gt;-referenced elements could have a viewBox, I don’t think they add considerable semantics like defs does</li>
<li>&lt;tref&gt; – sure, I’ve never used it</li>
<li>&lt;view&gt; – agree with your comments</li>
<li>&lt;audio&gt;, &lt;video&gt; – agreed that HTML5’s versions are the future</li>
<li>&lt;switch&gt; – never lived up to its potential, unfortunately (though I guess this leaves server-side or JS as solutions for localization?</li>
<li>&lt;font&gt; and related – I agree with your idea to move it out of the ‘core’ spec.  Put it into a module and see what happens with WOFF, etc</li>
<li>&lt;foreignObject&gt; – I agree that this shouldn’t be necessary to mix HTML in SVG.  If inline HTML can somehow show up directly inline with SVG then we could also do away with &lt;textArea&gt; and others</li>
<li>version and baseProfile – I think I agree with you on this one, they could be dropped.  But if this is done, we need a good way of marking features non-conforming and obsolete going forward.  HTML5 still has spec text for the &lt;font&gt; element.</li>
</ul>
<h3><a href="http://www.codedread.com/blog/archives/2010/01/29/svg-2-0-wishlist/#my-wishlist" id="my-wishlist">My Wishlist</a></h3>
<p>I liked your “Better HTML Inlining” idea. I think it has merit.</p>
<p>You seem to be extremely focused on paring down the language so that implementers can reduce their “SVG code footprint”.  While <a href="http://tech.groups.yahoo.com/group/svg-developers/message/62393?l=1">this is definitely a concern for me</a> as well, I think your proposals for removal do not pay enough attention to authors, tool-makers and existing content.</p>
<p>Personally, I think <em>the</em> major focus for SVG 2.0 should be on one thing:</p>
<p><b>Making the DOM Suck Less</b></p>
<p>This alone could seriously help reduce the SVG code footprint in the long run (though I still don’t understand how browsers could easily obsolete their SVG 1.1 DOM code yet).  I hope to see the SVG WG hosting a DOM Summit as mentioned by shepazu.  I look forward to reading/seeing concrete examples and spec proposals from attendees there.</p>
<p>Once the SVG DOM is improved and we have interoperable implementations of SVG well-deployed around the web, then I would think about seeing what else needs to be cut in the next-next version of SVG.</p></div>
    </content>
    <updated>2010-01-29T13:23:03Z</updated>
    <published>2010-01-29T13:20:31Z</published>
    <category scheme="http://www.codedread.com/blog" term="SVG"/>
    <category scheme="http://www.codedread.com/blog" term="Software"/>
    <category scheme="http://www.codedread.com/blog" term="Technology"/>
    <category scheme="http://www.codedread.com/blog" term="Web"/>
    <author>
      <name>Jeff</name>
    </author>
    <source>
      <id>http://www.codedread.com/blog/feed/atom/</id>
      <link href="http://www.codedread.com/blog" rel="alternate" type="text/html"/>
      <link href="http://www.codedread.com/blog/feed/atom/" rel="self" type="application/atom+xml"/>
      <title xml:lang="en">CodeDread Blog</title>
      <updated>2010-03-17T04:30:20Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>tag:weblogs.mozillazine.org,2010:/roc//36.20403</id>
    <link href="http://weblogs.mozillazine.org/roc/archives/2010/01/h264_licensing.html" rel="alternate" type="text/html"/>
    <title xml:lang="en">roc: H.264 Licensing And Free Software</title>
    <summary xml:lang="en">I've read comments on the Web suggesting that since the MPEG-LA's patent licensing documentation only mentions playback products that are "sold", the MPEG-LA doesn't expect software that is given away at zero cost to need a license. Intrepid LWN reader...</summary>
    <content type="xhtml" xml:lang="en"><div xmlns="http://www.w3.org/1999/xhtml"><div class="columns"><p>I've read comments on the Web suggesting that since the MPEG-LA's patent licensing documentation only mentions playback products that are "sold", the MPEG-LA doesn't expect software that is given away at zero cost to need a license. Intrepid <a href="http://lwn.net">LWN</a> reader Trelane actually bothered to ask them, and got a response. <a href="http://lwn.net/Articles/371751/">Here it is.</a>
</p><p>The most important part of the response:
</p><blockquote>In response to your specific question, under the Licenses royalties are
paid on all MPEG-4 Visual/AVC products of like functionality, and the
Licenses do not make any distinction for products offered for free
(whether open source or otherwise).</blockquote>
<p>Also
</p><blockquote>
<p>I would also like to mention that while our Licenses are not concluded
by End Users, anyone in the product chain has liability if an end
product is unlicensed. Therefore, a royalty paid for an end product by
the end product supplier would render the product licensed in the hands
of the End User, but where a royalty has not been paid, such a product
remains unlicensed and any downstream users/distributors would have
liability.
Therefore, we suggest that all End Users deal with products only from
licensed suppliers. In that regard, we maintain lists of Licensees in
Good Standing to each of our Licenses at http://www.mpegla.com.
</p></blockquote>
<p>In other words, if you're an end user in a country where software patents (<a href="http://weblogs.mozillazine.org/bz/archives/020400.html">or method patents</a>) are enforceable, and you're using software that encodes or decodes H.264 and the vendor is not on the <a href="http://www.mpegla.com/main/programs/AVC/Pages/Licensees.aspx">list of licensees</a>, the MPEG-LA reserves the right to sue you, the end user, as well as the software vendor or distributor.</p></div></div>
    </content>
    <updated>2010-01-29T08:11:54Z</updated>
    <published>2010-01-29T08:00:53Z</published>
    <category term="Mozilla"/>
    <author>
      <name>roc</name>
      <email>rocallahan@novell.com</email>
    </author>
    <source>
      <id>tag:weblogs.mozillazine.org,2010:/roc//36</id>
      <link href="http://weblogs.mozillazine.org/roc/" rel="alternate" type="text/html"/>
      <link href="http://weblogs.mozillazine.org/roc/atom.xml" rel="self" type="application/atom+xml"/>
      <rights xml:lang="en">Copyright (c) 2010, roc</rights>
      <subtitle xml:lang="en">Robert O'Callahan. Christian. Repatriate Kiwi. Mozilla hacker.</subtitle>
      <title xml:lang="en">Well, I'm Back</title>
      <updated>2010-03-08T10:04:30Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>tag:weblogs.mozillazine.org,2010:/roc//36.20393</id>
    <link href="http://weblogs.mozillazine.org/roc/archives/2010/01/video_freedom_a.html" rel="alternate" type="text/html"/>
    <title xml:lang="en">roc: Video, Freedom And Mozilla</title>
    <summary xml:lang="en">Note: below is nothing but my own opinion as a developer of video-related Mozilla code! My LCA talk on Friday was about why open video is critically important to free software, and what Mozilla is doing about (plus a discussion...</summary>
    <content type="xhtml" xml:lang="en"><div xmlns="http://www.w3.org/1999/xhtml"><div class="columns"><p><small>Note: below is nothing but my own opinion as a developer of video-related Mozilla code!</small>
</p><p>My <a href="http://www.lca2010.org.nz/programme/schedule/view_talk/50168?day=friday">LCA talk</a> on Friday was about why open video is critically important to free software, and what Mozilla is doing about (plus a discussion of the relationship between Web standards and free software in general). Little did I know that Youtube and Vimeo would pick the day before my talk to cast a glaring spotlight on the issue!
</p><p>Youtube and Vimeo have started offering video playback using the HTML5 &lt;video&gt; element. That is good news for free software, since it means you don't need a closed-source Flash player to play the video [1]. However, they only offer video in H.264 format, and that is not good news for free software. A lot of people have noticed that Firefox doesn't support H.264, and apparently many people don't understand why, or know what the problems are with H.264. This is a good time to restate the facts and re-explain why Firefox does not support H.264. I'll be mostly recapitulating the relevant chunks of my talk. (Hopefully a full recording of my talk will become available from the LCA site next week.)
</p><p>The basic problem is simple: <strong>H.264 is encumbered by patents whose licensing is actively pursued by the MPEG-LA</strong>. If you distribute H.264 codecs in a jurisdiction where software patents are enforceable, and you haven't paid the MPEG-LA for a patent license, you are at risk of being sued.
</p><p><strong>So why doesn't Mozilla just license H.264 (like everybody else)?</strong> One big reason is that that would violate principles of free software that we strongly believe in. In particular, we believe that downstream recipients of our code should be able to modify and redistribute it without losing any functionality. This is freedom that copyleft licenses such as the GPL and LGPL (which we use for our code) are intended to ensure. It is possible to obtain patent licenses in a way which works around the letter of the GPLv2 and LGPLv2, but honoring the letter while violating the spirit is not a game we are interested in playing.
</p><p><strong>But aren't there (L)GPL implementations of H.264?</strong> Yes, but they're not as free as they appear. Their freedom has been silently stolen by patents (in jurisdictions where those patents exist and are enforceable). The software license permits you to redistribute and use the code, but the MPEG-LA can still stop you. [2]
</p><p><strong>But the MPEG-LA won't bother suing me or my project, we're not worth bothering with.</strong> Perhaps true, but I hope "remain irrelevant" is not the favoured strategy for most free software projects. It's certainly not an option for Mozilla. If we hadn't distributed Firefox to tens of millions of users --- legally --- it probably wouldn't be possible to browse the Web today using anything but IE on Windows. Plus, relying on <a href="http://en.wikipedia.org/wiki/Selective_enforcement">selective enforcement</a> is rarely a good idea.
</p><p><strong>Mozilla should just ship without licensing as a civil disobedience measure.</strong> That might be fun, but I expect an injunction would quickly force us to disable H.264 and send a hefty damages payout to the MPEG-LA. That's not a win.
</p><p><strong>Mozilla should pick up and use H.264 codecs that are already installed on the user's system.</strong> I've previously <a href="http://weblogs.mozillazine.org/roc/archives/2009/06/directshow_and.html">written</a> about a variety of reasons this would be a bad idea, especially on Windows. Really there are two main issues:
</p><ul>
<li>Most users with Windows Vista and earlier do not have an H.264 codec installed. So for the majority of our users, this doesn't solve any problem.
</li><li>It pushes the software freedom issues from the browser (where we have leverage to possibly change the codec situation) to the platform (where there is no such leverage). You still can't have a completely free software Web client stack.
</li></ul>
<p><strong>But I could just download gst-plugins-ugly and I'd be OK.</strong> That's a selfish attitude. Everyone should be able to browse the Web with a free software stack without having to jump through arcane hoops to download and install software (whose use is legally questionable).
</p><p><strong>The H.264 patents will expire soon, and then we'll be OK.</strong> Many H.264 patents don't expire until 2017 or later. Anyway, H.264 isn't the last word in video compression. There will be an H.265 and the same set of problems will persist.
</p><p><strong>Users just want video to work. You Mozilla people are such idealists!</strong> Yes, that is the reason for Mozilla to exist. Anyway, in the short term, our users probably won't be affected much since Flash fallback will still work. In the long term, I think freedom will ultimately benefit users (not just Firefox users, but all users).
</p><p>Apart from the issues with H.264 support in clients, <strong><em>there are also huge issues around H.264 for Web authors and content providers</em></strong>. Currently providing H.264 content on the Internet is zero-cost, but after 2010 that will almost certainly change. A couple of good articles are <a href="http://www.streaminglearningcenter.com/articles/h264-royalties-what-you-need-to-know.html">here</a> and <a href="http://www.streamingmedia.com/article.asp?id=11011">here</a>. We won't know much about the terms until the end of this month. The key issue is not exactly how much it will cost, but that if you want to publish H.264 you will probably have to hire lawyers and negotiate a license with the MPEG-LA. If you just want to put a few videos on your Web site, or add a help video to your Web application, or put a video cut-scene in your Web game, that is probably not something you want to do. Web video is not just about Youtube; mandatory licensing would cripple the use of video on the Web. (Just imagine if we had such a regime for still images...) Even if there were no patent issues on the client side, this would still be a good reason for Mozilla to push for truly free codecs.
</p><p>The honest truth is that none of us know how this is going play out. The proponents of mandatory licensing are strong, and most people don't care about software freedom. We're doing our best to make Ogg Theora rock, and I don't know what else we can do directly right now except spread the word and help people understand what's at stake here ... hence my LCA talk, and this blog post.
</p><p><small>[1] Yes, I know gnash and/or swfdec might play these videos, but in general they are not able to keep up with the latest Flash APIs offered by Adobe and used by major sites. Anyway, it's good to not have to play that game.</small>
</p><p><small>[2] RANT: in many cases, free implementations of heavily patent-encumbered technology are <em>harmful</em> to the free software ecosystem, for two reasons: people are confused into thinking they have rights that they actually don't, and thus these implementations can discourage the adoption of alternatives that are free for everyone.</small></p></div></div>
    </content>
    <updated>2010-01-26T18:44:17Z</updated>
    <published>2010-01-23T07:51:29Z</published>
    <category term="Mozilla"/>
    <author>
      <name>roc</name>
      <email>rocallahan@novell.com</email>
    </author>
    <source>
      <id>tag:weblogs.mozillazine.org,2010:/roc//36</id>
      <link href="http://weblogs.mozillazine.org/roc/" rel="alternate" type="text/html"/>
      <link href="http://weblogs.mozillazine.org/roc/atom.xml" rel="self" type="application/atom+xml"/>
      <rights xml:lang="en">Copyright (c) 2010, roc</rights>
      <subtitle xml:lang="en">Robert O'Callahan. Christian. Repatriate Kiwi. Mozilla hacker.</subtitle>
      <title xml:lang="en">Well, I'm Back</title>
      <updated>2010-03-08T10:04:30Z</updated>
    </source>
  </entry>
</feed>
