<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Reinventing Fire</title>
	<atom:link href="http://schepers.cc/feed" rel="self" type="application/rss+xml" />
	<link>http://schepers.cc</link>
	<description>Technology upside down and backwards</description>
	<lastBuildDate>Sun, 09 Oct 2011 19:47:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Divide and Conquer</title>
		<link>http://schepers.cc/divide-and-conquer</link>
		<comments>http://schepers.cc/divide-and-conquer#comments</comments>
		<pubDate>Sun, 09 Oct 2011 06:58:25 +0000</pubDate>
		<dc:creator>Schepers</dc:creator>
				<category><![CDATA[Politics]]></category>
		<category><![CDATA[Real Life]]></category>

		<guid isPermaLink="false">http://schepers.cc/?p=522</guid>
		<description><![CDATA[<br/>I have Libertarian friends who think Ron Paul has a chance at the GOP nomination&#8230; My intuition is that they are engaging in wishful thinking. My best guess is Romney will take it, but I&#8217;m hoping for Cain, for 2 reasons: It would be kind of awesome to have 2 black candidates for President of [...]]]></description>
			<content:encoded><![CDATA[<br/><p>I have Libertarian friends who think Ron Paul has a chance at the GOP nomination&#8230; My intuition is that they are engaging in wishful thinking.  My best guess is Romney will take it, but I&#8217;m hoping for Cain, for 2 reasons:</p>
<ol>
<li>It would be kind of awesome to have 2 black candidates for President of the United States; and</li>
<li>I like the idea of Obama going up against McCain and then Cain&#8230; it would confuse future schoolchildren.</li>
</ol>
<p>But should my guess prove correct, and Paul lose the Republican nomination, where would that leave him?  He&#8217;s garnered quite a lot of support in some polls, and that might encourage him enough to consider splitting off again to run as an independent. After all, he is 76 years old, and may not have that many more chances to run (though he&#8217;s pretty spry), so he may as well throw it all in the ring for 2012. (Why independent and not Libertarian? He&#8217;s already got the Libertarian vote, and independent status might get him a few people who wouldn&#8217;t vote strict Libertarian&#8230; it&#8217;s a safer label.) </p>
<p>I would love this.</p>
<p><span id="more-522"></span><br />
It would split the conservative vote between the Republican nominee (let&#8217;s say Romney) and Paul, and hand another term to Obama.  It&#8217;s not that I think Obama is perfect, far from it; he&#8217;s too conservative or moderate for my taste, and I don&#8217;t like his persisting in these ridiculous wars, failing to revoke the expansion of Presidential powers, re-signing the <abbr title="Uniting and Strengthening America by Providing Appropriate Tools Required to Intercept and Obstruct Terrorism">PATRIOT</abbr> act, failing to hold banks accountable, and many other weak moves.  But I still support him in general, and I think he&#8217;s doing a pretty good job under very trying circumstances not of his making.  I support Obama&#8217;s jobs bill, and raising taxes on millionaires; I even support him raising taxes on me, and I&#8217;m solidly middle class.  And I think we need another Obama term to see his efforts really bear fruit, and to give the economy a chance to recover.</p>
<p>But that&#8217;s not what excites me about the idea of a Ron Paul schism from the GOP.  With his seeming popularity among an increasing number of people, and the coming ugly break-up of the Tea Party and Republicans, and similar disillusionment on the left, it might increase the dissatisfaction with our two-party duopoly, and pave the way for voting reform where it is easier for multiple parties to credibly run for President.</p>
<p>The current system is a crock, where no matter if a Republican or a Democrat wins, the Republicans and Democrats win, and both parties have too much incentive to keep this convenient arrangement that neither will work to reform it, and neither will stray too far from the policies of the other.  This race to the bottom is driving us away from real issues and further and further to the right (which is not right).</p>
<p>The simple fact of the matter is that a country of over 300,000,000 people must by necessity have more than 2 opinions on any given subject, so 2 parties can&#8217;t really represent their views with any degree of accuracy or subtlety.  So, as a result, the &#8220;national dialog&#8221; consists of hand-picked non-topics that are blown out of proportion by the media, because that&#8217;s the only thing that the established parties will discuss.  We need more diversity of voices in Washington; for that, I appreciate Ron Paul actually having the nerve to say things that push the boundaries of what Republican voters might want to hear (even if I think his particular stances are nonsensical sophistry or cynical manipulations).</p>
<p>And worse yet, this false black-or-white, uncompromising, your-team-vs-my-team bullshit isn&#8217;t just wasting our time and money, it&#8217;s actively driving a wedge between Americans, radically polarizing us into knee-jerk offense and defense, resulting in a fruitless stalemate.  When I talk one-on-one to self-identifying Republicans, and get past the rhetoric to the real issues and real values, I usually find we think fairly similarly&#8230; we mostly disagree on execution of those ideas, and on personalities of the politicians; but I know that once we leave that personal, human conversation, the media machine will hammer at us relentlessly until we forget that point of similarity and solidarity.  We too easily devolve into slogans and talking points, reaction against the banality of the opposing politicians&#8217; public statements and stances.</p>
<p>We need more than two political parties, to baffle that echo chamber.  We need new voices diverging and disagreeing, then coming to compromise, then pushing new ideas into the political arena, and that won&#8217;t happen when it&#8217;s just two talking heads shouting each other down.  But right now, it takes a tremendous effort and a fortune to try to get on the ballot in each state; <a href="http://en.wikipedia.org/wiki/Ballot_access" title="Wikipedia article on Ballot Access" target="_blank">state-controlled ballot access</a> means that even if a third party could get enough momentum and campaign donations to have a real shot, they blow that money and energy just trying to get on the ballot, while the Democrat and Republican candidates use their money to influence voters directly.  This is only one of many reasons why &#8220;States&#8217; Rights&#8221; advocates are dangerously naive; issues like this, which affect national elections, should be decided at the federal level.</p>
<p>Of course, lowering the bar for additional parties to be on the ballot, as difficult as it might be, is only one step.  Even when they are there, the best they can do is deflect votes from one of the other candidates, as Nader did from Gore in 2000, and as I hope Paul does from Romney in 2012 (though honestly, I think could just barely live with Romney as President&#8230; just not Paul, Cain, Sanctimonious, Perry, or that one lady with the creepy crazy eyes&#8230; no, no, the <em>other</em> one).  </p>
<p>What we would also need is the ability for people to make real and direct choices in who they want as President (and for Congress)&#8230; not simply pick the lesser of two evils, but rank them according to how well that candidate matches their own preferences, how well each candidate represents that voter&#8217;s views.  This is nothing new&#8230; we&#8217;re one of the last first-world nations that still uses the <a href="http://en.wikipedia.org/wiki/First-past-the-post_voting" title="Wikipedia article on First-Past-the-Post Voting" target="_blank">first-past-the-post</a>, winner-takes-all ballot system, when what we need is a more sophisticated <a href="http://en.wikipedia.org/wiki/Preferential_voting" title="Wikipedia article on Preferential Voting" target="_blank">ranked voting</a> system, where if your first choice of candidate doesn&#8217;t have enough votes to win, your vote is counted instead for your next choice, then on down the line, until one candidate is the candidate that the most people can live with.  Then, an alternative party candidate might actually stand a chance of winning&#8230; and even if they didn&#8217;t, it would disrupt the carefully-controlled unequilibrium that the duopoly enjoys, so we could at least <strong>hear</strong> those new voices.</p>
<p>But could this happen?  Could a national referendum on voting reform actually bloom?  Well, I can imagine a scenario where it might.  Obama is limited to one more term, and I have a feeling that he&#8217;s going to be more aggressive during his last term&#8230; he has less to lose.  So, he could well support such an effort, on the basis that if a Republican wins in 2016, they will try to dismantle his reforms&#8230; so he&#8217;s better off trying to widen the field, on the chance that a it would yield a less clear &#8220;mandate&#8221; for destroying what he had built just to score one more point in political pong.</p>
<p>Right now, the duopoly strategy against us is winning: they divide and conquer.  It&#8217;s a proven principle that we need to apply the in reverse: we need to divide ourselves into many parties, so we can conquer <em>them</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://schepers.cc/divide-and-conquer/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Speaking in the Third Person</title>
		<link>http://schepers.cc/3rd-person</link>
		<comments>http://schepers.cc/3rd-person#comments</comments>
		<pubDate>Sun, 28 Aug 2011 18:24:37 +0000</pubDate>
		<dc:creator>Schepers</dc:creator>
				<category><![CDATA[Philosophy]]></category>
		<category><![CDATA[Real Life]]></category>

		<guid isPermaLink="false">http://schepers.cc/?p=515</guid>
		<description><![CDATA[<br/>This is just a simple essay on how I see the world, and how I came to that view, the first in a set of posts I&#8217;m labeling philosophy. There&#8217;s no real point to it, no political or technical agenda&#8230; just some reflection and thinking out loud. I&#8217;ve never formally studied philosophy, and I&#8217;m sure [...]]]></description>
			<content:encoded><![CDATA[<br/><p>This is just a simple essay on how I see the world, and how I came to that view, the first in a set of posts I&#8217;m labeling <em>philosophy</em>.  There&#8217;s no real point to it, no political or technical agenda&#8230; just some reflection and thinking out loud.  I&#8217;ve never formally studied philosophy, and I&#8217;m sure these thoughts are probably not particularly original, but I arrived at them organically through my own life, in what passes for wisdom.  Megan, my wife, laughs at me whenever I start a sentence with &#8220;I have a theory&#8230;&#8221;; apparently, I have a lot of theories.  I have an active imagination, and I&#8217;m very opinionated;  I like to try to figure out how the world works.</p>
<p>The way the mind works fascinates me in particular, and my understandings and beliefs about it have changed and evolved significantly through my adult life.  I&#8217;m recording these thoughts now for the entertainment of some future me.<br />
<span id="more-515"></span><br />
Many years back, in my late 20s, I came up with a sort of metaphor for how people talk to one another that I called the Third Person.  I reckoned that we don&#8217;t really talk to each other at all.  I have my model of how you think, and act, and feel, and you have your internal model of me.  When I talk to you, when I gauge your reaction and adjust what I&#8217;m saying or doing, I&#8217;m actually judging my own flawed perception of you, of how I guess that you are reacting; you are doing the same with me.  In a very real sense, we are each engaging in internal dialogs.</p>
<p>But really, my model of you is much more <em>me</em> than it is <em>you</em>.  </p>
<p>Together, your model of me, and my model of you, act as a collective, composite intermediary for our discussion, for all our interactions: the Third Person.  An external entity that is a sort of gestalt synthesis of how each of us tries to understand the other.  We each talk to the Third Person, and the Third Person tells us the other&#8217;s reply.</p>
<p>Usually, we aren&#8217;t even really aware that we aren&#8217;t actually talking directly to each other; we&#8217;re almost completely taken in by the illusion.  The Third Person is a skilled translator.</p>
<p>Functionally, that third person is there to help us communicate, but sometimes it can get in the way.  I act differently around different people, and I tend to be relatively consistent with any given person or group&#8230; much of that is bound up in past interactions, in expectations of behavior (how I expect you to behave, and how I expect you want me to behave).  Those expectations can lead to a much more limited personality than either of us have really developed.  The Third Person&#8217;s personality is often quite different than my personality and your personality. The Third Person can also accentuate and enhance relationships; it can put us into a frame of mind that we don&#8217;t normally use in our day-to-day lives; some of my favorite, most inspiring times are getting together with old friends and having a reunion with our Third Person.</p>
<p>(Just for the record, in case this strikes you as solipsistic or schizophrenic, I do believe in an objective reality; by definition, that which we call reality <em>is reality</em>.  But I also believe that that reality is mediated in ways we don&#8217;t understand.)</p>
<p>I&#8217;ve always been a reader, mostly fiction (sometimes even literature), and in my teens, reading books by Vonnegut and Brautigan and Robert Anton Wilson really shaped how I saw myself and my place in the world.  So, it amused me to call my metaphor the Third Person, after the third-person narrative view; it fit well, since it was an omniscient view of a dialog, outside of any of the speakers.</p>
<p>I didn&#8217;t really put the metaphor of the Third Person into praxis in my everyday life&#8230; it was just an interesting observation, one of hundreds of thoughts that occurred to me, not a way to lead my life.  But it resonated with me, and looking back, it was the first tangible seed of one of my central operational beliefs: mental models.  I&#8217;ll write about that some other time.</p>
]]></content:encoded>
			<wfw:commentRss>http://schepers.cc/3rd-person/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Archived Link Thunderbird Extension</title>
		<link>http://schepers.cc/archived-link</link>
		<comments>http://schepers.cc/archived-link#comments</comments>
		<pubDate>Wed, 24 Aug 2011 04:21:07 +0000</pubDate>
		<dc:creator>Schepers</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Email]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[W3C]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://schepers.cc/?p=501</guid>
		<description><![CDATA[<br/>I've made an extension, <a href="http://schepers.cc/extensions/ArchivedLink.xpi" title="Download Archived Link Thunderbird Extension">Archived Link</a>, which exposes the Archived-At email header as a hyperlink.]]></description>
			<content:encoded><![CDATA[<br/><p>This week is our first Geek Week at W3C.  The idea is to have a week where we improve our skills, collaborate with each other on prototypes and fun projects that help W3C, and to come up for air from our everyday duties.  I&#8217;m working on a few projects, some small and some larger.</p>
<p>One of my projects is to make a plugin for Thunderbird, my email client of choice, which exposes the Archived-At email message header field, normally hidden, as a hyperlink.  This is useful for W3C work because we often discuss specific email messages during teleconferences (&#8220;telcons&#8221;), and we want to share links to (or otherwise find or browse to) the message in W3C&#8217;s email archives.  It&#8217;s also handy when you are composing messages and want to drop in links referring to other emails.  (I do way too much of both of these.)</p>
<p>I&#8217;ve made extensions for Firefox before, but never for Thunderbird, so this was an interesting project for me.</p>
<p><span id="more-501"></span></p>
<p>One of the cool (and I think unusual) things that W3C does is to attach an email header field to each message, providing a link back to the place in our archives where the message is stored.  This is defined in <a href="http://www.ietf.org/rfc/rfc5064.txt" target="_blank">RFC 5064</a>.  These links are very useful, but most email clients don&#8217;t do anything with them&#8230; you can only see them when you view all the headers, and then you have to hunt for them among the gobbledygook.</p>
<p>I&#8217;m in the process of migrating to my new Macbook Air 13&#8243; (hooray!).  This is my second Mac (I was a Windows guy before), and I thought I&#8217;d take the opportunity to rebuild my setup from scratch, rather than importing my old settings, so I could do some optimizing.</p>
<p>This means that I&#8217;m installing and configuring a lot of software (including some updated versions that wouldn&#8217;t run on my old Snow Leopard OS), like Thunderbird.  Over the years, I&#8217;d installed several plugins for Thunderbird, some of which no longer worked.  One of those exposed the message headers, but it was a pain to use.  I was also able to expose the header by changing the &#8220;mailnews.customHeaders&#8221; preference in Thunderbird, but that still didn&#8217;t give me what I wanted&#8230; I had to copy the header manually, <code>&lt;</code> and <code>&gt;</code> bookends and all, and paste it in the browser bar, edit out the delimiters&#8230; clumsy.  I <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=512385" title="Mozilla Bugzilla bug #512385" target="_blank">raised a bug on it</a> a couple years ago, but never got the gumption to do anything about it.</p>
<p>Until now, that is.  Now I&#8217;ve made an extension to do the grunt work for me (laziness being the true mother of invention).  My new extension, <a href="http://schepers.cc/extensions/ArchivedLink.xpi" title="Download Archived Link Thunderbird Extension">Archived Link</a>, exposes the Archived-At email header as a hyperlink, and when you click it, it opens in in your default browser; it also copies it into your clipboard (an option you can change in the preferences).</p>
<p>I cobbled the plugin together from scraps I found around the Web.  I borrowed heavily from the framework of the first plugin I found that added a line to the email header message pane, <a href="http://www.andrewvantassel.com/" title="Andrew Van Tassel's Website" target="_blank">Andrew Van Tassel</a>&#8216;s cool <a href="http://mailhops.com/plugins/" title="MailHops Thunderbird Plugin" target="_blank">MailHops</a> Thunderbird Plugin.</p>
<p>I also got timely and friendly help from Jonathan Protzenko (protz) and Jim Porter (squib) on Mozilla&#8217;s #maildev IRC channel, for which I&#8217;m very grateful.</p>
<p>If this seems like something useful to you, please <a href="http://schepers.cc/extensions/ArchivedLink.xpi" title="Download Archived Link Thunderbird Extension">download the Archived Link extension</a> and install it in Thunderbird.  Let me know what you think.</p>
<hr />
<h4 id="screencap">Update 1: Screencap</h4>
<p>Just to make it more clear what this extension does, I decided to add a screencap:<br />
<img src="http://schepers.cc/extensions/ArchivedLink-screencap.png" alt="Screen capture of Archived-At header displayed in Thunderbird message header pane" /></p>
<hr />
<h4 id="screencap">Update 2: Mozilla Add-Ons App Store</h4>
<p>I&#8217;ve now submitted Archived Link to <a href="https://addons.mozilla.org/" target="_blank">Mozilla&#8217;s Addons site</a>.  It still needs review, but you can find it via the <a href="https://addons.mozilla.org/en-US/thunderbird/addon/archived-link/" target="_blank">direct link to Archived Link</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://schepers.cc/archived-link/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Retain Accessibility Immediately</title>
		<link>http://schepers.cc/retain-a11y-immediately</link>
		<comments>http://schepers.cc/retain-a11y-immediately#comments</comments>
		<pubDate>Thu, 30 Jun 2011 04:43:09 +0000</pubDate>
		<dc:creator>Schepers</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Canvas]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Standards]]></category>
		<category><![CDATA[SVG]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[W3C]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://schepers.cc/?p=488</guid>
		<description><![CDATA[<br/>There has been a heated argument recently on the W3C Canvas API mailing list between accessibility advocates and browser vendors over a pretty tricky topic: should the Canvas API have graphical &#8220;objects&#8221; to make it more accessible, or should authors use SVG for that? I think it&#8217;s a false dichotomy, and I offer a proposal [...]]]></description>
			<content:encoded><![CDATA[<br/><p>There has been a <a href="http://lists.w3.org/Archives/Public/public-canvas-api/2011AprJun/0040.html" title="hit testing and retained graphics from Richard Schwerdtfeger on 2011-06-17 (public-canvas-api@w3.org from April to June 2011)">heated argument recently on the W3C Canvas API mailing list</a> between accessibility advocates and browser vendors over a pretty tricky topic: should the Canvas API have graphical &#8220;objects&#8221; to make it more accessible, or should authors use SVG for that?  I think it&#8217;s a false dichotomy, and I offer a proposal to suggests a way to improve the accessibility potential of the Canvas 2D API by defining how SVG and the Canvas 2D API can be used together.</p>
<p>This brings together some ideas I&#8217;ve had for a while, but with some new aspects.  This is still a rough overview, but the technical details don&#8217;t seem too daunting to me.</p>
<p><span id="more-488"></span></p>
<h4 id="Retained-Mode_vs_Immediate-Mode_Graphics">Retained-Mode vs Immediate-Mode Graphics</h4>
<p>First, some background…</p>
<p><b>SVG</b> is a <b>retained-mode</b> graphics format, meaning that each shape persists as a separate object, with distinct characteristics such as location, size (bounding box), and precise outline (stroke).  These characteristics can be acted upon within the object structure (DOM) as discrete entities (or groups of entities) for manipulation by script or by user-interface actions (e.g. mouse clicks or keyboard tabbing); one of these interactions may be <a href="http://en.wikipedia.org/wiki/Hit-testing" class="external text" title="http://en.wikipedia.org/wiki/Hit-testing">hit-testing</a>.</p>
<p>The <b>Canvas 2D API</b> is an <b>immediate-mode</b> API, meaning that it allows the programmer to create visual shapes as individual pixels that are unstructured; in other words, if a red circle and a red square are drawn which overlap one another, there is no way to distinguish these from one another, or from the background canvas element (though a programmer could maintain a separate structure in script).</p>
<p>With <b>retained-mode</b> graphics, each object which is added to the DOM increases the memory &#8220;weight&#8221; of the page or application, potentially slowing down the browser or otherwise decreasing performance; by contrast, <b>immediate-mode</b> graphics, which are not represented as objects in the DOM, do not decrease performance, which is an advantage over <b>retained-mode</b> graphics.</p>
<p>Some accessibility advocates have noted that hit-testing and zooming are critical accessibility features of graphics; this requires the ability to access the location, size, and other characteristics of individual graphics.  Unfortunately, adding this retained-mode feature to an immediate-mode API effectively removes the primary advantage of using an immediate-mode graphics system.</p>
<p>However, by defining how SVG and the Canvas 2D API can be used together, a model may be created which allows authors to easily use both together, each for their appropriate strengths.  This approach involves two aspects: defining the behavior, and a potential shared API syntax.</p>
<h4 id="Defining_Behavior">Defining Behavior</h4>
<p>Currently, the Canvas 2D API is only defined to work with the &lt;canvas&gt; element defined in HTML5, and it does not allow SVG to be drawn or imported into the Canvas.  However, it could be extended to work inside SVG or to allow SVG to be used inside Canvas.</p>
<h5 id="Canvas_in_SVG">Canvas in SVG</h5>
<p>At its simplest, the Canvas 2D API could simply be defined to allow authors to draw on the SVG raster &lt;image&gt; element, just as it does in the HTML &lt;canvas&gt; element, but there does not seem to be a reason to limit it to this element.  The Canvas API could be defined to draw to any SVG element, rendering or structural, as an overlay.  It would be merely a visual effect, and would participate in the rendering structure, including &#8220;z-index&#8221;, only as its &#8220;target element&#8221; does.</p>
<h5 id="SVG_in_Canvas">SVG in Canvas</h5>
<p>SVG shapes could be allowed to be imported into the &lt;canvas&gt; drawing context, such that they render there but are also inserted into the DOM or shadow DOM.  Currently, as I understand it, this is not allowed for security restrictions involving content from potentially different sources, but for content that does not have external references (for example, a &lt;use&gt; element to another site, this should not be a security risk.</p>
<p></p>
<h6 id="SVG_in_the_Shadow_Tree">SVG in the Shadow Tree</h6>
<p>The accessibility features of the Canvas 2D API include a &#8220;shadow tree&#8221; and focus ring for those elements, such as text, which are not otherwise accessible to users with limited vision.  Each such &#8220;graphic piece&#8221; which is created and painted to the screen is also represented in this underlying shadow DOM (IIRC).</p>
<p>SVG elements used in conjunction with Canvas could also be placed in this shadow tree, so that navigability is preserved.  In order to save memory usage, a concept like the &lt;use&gt; element in SVG could alternative be used to &#8220;point to&#8221; an SVG in the main DOM from its appropriate place in the shadow tree.</p>
<p>SVG elements could either be used as visual shapes themselves, or could be invisible &#8220;hot-spots&#8221; for specific areas of the screen.</p>
<h4 id="Common_API">Common API</h4>
<p>I have <a href="http://www.w3.org/Graphics/SVG/WG/wiki/Simple_SVG_API">suggested before</a> that we create a simple graphics API that will allow either 2D Canvas (immediate-mode) or SVG (retained-mode) images with the same set of methods and parameters, with the only difference being which &#8220;mode&#8221; the author selects to have as the instantiated form.  If the author draws a circle to the canvas context, it would simply be drawn to the screen with no structure; if the author draws that same circle to the SVG context, it creates a &lt;circle&gt; element with the appropriate attribute values and style and inserts it into the DOM.</p>
<p>There would be certain differences in some of the renderings, because of the different rendering and compositing models of SVG and Canvas, and there would be certain specialized functionality and features each would have, but the majority of the visual appearance would be the same. </p>
<p>This would allow authors to learn only one API for 2D graphics for the Open Web Platform.  With this ease of learning and use, the author could decide on a case-by-case basis, even within the same application, which mode works best.  It would provide incentive to authors to use each to its best effect.</p>
<p>I call this approach <a href="http://schepers.cc/w3c/svg/api/cog.svg">COG: Common Open Graphics</a>.</p>
<h4 id="Example">Example</h4>
<p>An example of the effective use of SVG and Canvas together is a hypothetical game in which the user pilots a spaceship amidst an asteroid field.  </p>
<p>The background of the game includes animated nebulae, passing comets, rotating planets and moons, and other visual effects which are not interactive, and which do not affect the play of the game, but which add visual appeal.  The foreground of the  game (the &#8220;playable area&#8221;) includes asteroids, enemy ships, and energy beams that the player must dodge or shoot at, which increase in size the closer they get, and which benefit from hit-testing and keyboard focusability. The middle-ground of the game contains many smaller asteroids and ships that are not yet interactive, and so don&#8217;t need hit-testing or focusability.</p>
<p>Adding all of these graphics shapes as retained-mode objects in the DOM would unnecessarily increase the memory footprint of the game, degrading performance and playability.  However, since only a small number of these elements (those in the playable area)  need the retained-mode interactivity, the majority of them could be drawn with immediate-mode characteristics, then when a certain &#8220;distance threshold&#8221; is reached, changed to interactive SVG elements, perhaps using the same shared API.  This preserves the accessibility of the game, while also causing minimal performance degradation, and possibly even helping performance, since the hit-testing doesn&#8217;t need to be calculated in script.  From an authoring point of view, using the same shared API means that both types of shape, retained-mode and immediate-mode, are equally easy to generate and maintain.</p>
<p>To enhance the visual appearance of the SVG asteroids, the finer control of the Canvas API could even draw an overlay on the SVG stroke and fill areas, much as filters do, to show craters and other surface details in a more fine-grained manner then can be done efficiently in SVG.  Since this would be drawn specifically on the SVG element, the element itself would still provide the geometry and position characteristics.</p>
<h4 id="Caveats">Caveats</h4>
<p>This proposal has two caveats:</p>
<ol>
<li> Canvas can only be extended to be as accessible as SVG is, in this model.  Even with object retention, there are still many enhancements needed to make SVG truly widely accessible.  However, as plans for SVG accessibility improvements are made, these would be largely importable directly into the Canvas API, rather than working in parallel on two unrelated but overlapping graphics models.</li>
<li> Simply because the Canvas 2D API may be made more accessible, does not mean that all Canvas API applications or content will be automatically accessible, any more than all HTML or SVG content is accessible.  Authors will still need to use best practices and take specific steps to make their applications accessible.  This proposal only provides the means and the incentive to do so.</li>
</ol>
<h4 id="Feedback">Feedback</h4>
<p>I&#8217;m interested in feedback on this, either in the comments section of this blog, or on the W3C Canvas mailing list, <a href="mailto:&#x70;&#x75;&#x62;&#x6C;&#x69;&#x63;&#x2D;&#x63;&#x61;&#x6E;&#x76;&#x61;&#x73;&#x2D;&#x61;&#x70;&#x69;&#x40;&#x77;&#x33;&#x2E;&#x6F;&#x72;&#x67;">public-canvas-api@w3.org</a>.</p>
<hr />
<h4 id="Update">Update</h4>
<p>Someone pointed out offlist that this post emphasizes the accessibility aspect of this proposal, because that was the context of the most recent discussion, but this is a win for anyone who wants to do graphics in the browser, for any reason, not just accessibility.  Like any good accessibility feature, my proposal has general benefits, so it is more likely to be used in more content.  In the example scenario above, the developer gets the hit testing for free, regardless of whether or not Accessibility Technology is involved.  Other general advantages include ease of learning and use of graphics by developers (as mentioned above), sharing of features between modes (like using <em>Canvas.toDataURL()</em> to save an SVG as a PNG), pixel operations (like painting or detecting a color at a point) in SVG, metadata (like microdata, RDFa, or microformats) in select parts of a Canvas app, and so on.  I&#8217;m sure that clever people will come up with a whole boatload of cool things to do with a combined retained-mode/immediate mode API that I couldn&#8217;t imagine here.</p>
]]></content:encoded>
			<wfw:commentRss>http://schepers.cc/retain-a11y-immediately/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>The Timble</title>
		<link>http://schepers.cc/timble</link>
		<comments>http://schepers.cc/timble#comments</comments>
		<pubDate>Sun, 12 Jun 2011 02:30:51 +0000</pubDate>
		<dc:creator>Schepers</dc:creator>
				<category><![CDATA[W3C]]></category>

		<guid isPermaLink="false">http://schepers.cc/?p=485</guid>
		<description><![CDATA[<br/>Anyone who has seen Tim Berners-Lee do any public speaking knows that he speaks very quickly. Too quickly, in fact, for non-native speakers, and some native speakers, to follow along. The words seem to tumble out of him, long after his mind has moved onto the next thing he&#8217;s planning to say, and the thing [...]]]></description>
			<content:encoded><![CDATA[<br/><p>Anyone who has seen Tim Berners-Lee do any public speaking knows that he speaks very quickly.  Too quickly, in fact, for non-native speakers, and some native speakers, to follow along.  The words seem to tumble out of him, long after his mind has moved onto the next thing he&#8217;s planning to say, and the thing beyond that.  W3C&#8217;s communications lead will frequently signal him to slow down, and Tim will step down to a slower-than-normal rate of speech and slowly build back up to his own &#8220;normal&#8221; auctioneer rate.</p>
<p>It&#8217;s not a coincidence that he&#8217;s one of the creators of the Web.  From working with him at W3C these past few years, I&#8217;ve observed that his mind does seem to spin at a few cycles faster than the norm. He makes connections quickly, and even when I don&#8217;t agree with his conclusions, I admire his ability to grasp situations rapidly, and to revise his opinions progressively as he is given more information.  He also shows a remarkable humanist take on topics, not just a technologist take.  The Web, for him, was always less about the technologies involved than about the goals that could be accomplished with those tools; technology is necessary but not sufficient, just a means to an end.</p>
<p>And Tim is impatient to get to that end.  It&#8217;s reflected in his rate of speech.  It&#8217;s clear from the way he moved on from the solved problem of HTML (including XHTML and HTML5, mere refinements on the basic approach), to the idea of linked open data.  People laughed at the Semantic Web a decade ago, and now companies like Google, Yahoo, and Microsoft are scrambling to put their own stamp on it, and governments are deploying it.  Once again, Tim was ahead of the game, leading the pack.</p>
<p>On the W3C staff, we laugh about how Tim (or &#8220;timbl&#8221;, his email shortname and IRC nick) types as quickly as he speaks, with a cornucopia of typos.  Sorting out the jumble is left as an exercise to the reader.</p>
<p>Some people can understand the spoken word at an astonishing rate.  I once called a blind colleague, who listens to his screen-reading software at treble-speed, and he impatiently told me to speak more quickly.  If you&#8217;re a seeing (and hearing) person, and you get a chance to listen to a blind person use their screen reader, prepare to be blitzed and dumbfounded.  Paragraphs roll by at a modulated buzz, and you&#8217;ll be lucky to pick up a word or two; menu navigation is a staccato of half-spoken stutters as familiar items are tripped through like a stone skipping across water.  Tim doesn&#8217;t speak that fast, thankfully&#8230; he speaks just fast enough that you have to listen carefully.</p>
<p>That&#8217;s why some of us on the W3C staff have developed a new unit of measurement: the <em>timble</em>.  1 timble is the uppermost rate of speech at which a normal person can understand what&#8217;s being said in their native language.  On average, I&#8217;d guess most people speak in the range of 0.5 to 0.7 timbles; screen-readers are often operated at 2 or even 3 timbles; southerners (I live in North Cackalacky, USA) speak at about 0.4 timbles.</p>
<p>I recently teased TimBL about the timble at dinner in Bilbao, Spain, after he&#8217;d given a wonderful presentation at a local Web conference at a very equitable 0.8 timbles.  He graciously offered an alternate definition:  speech at more than 1 timble is difficult to understand; speech below 1 timble is simply boring.</p>
]]></content:encoded>
			<wfw:commentRss>http://schepers.cc/timble/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Smack versus Facts</title>
		<link>http://schepers.cc/smack-v-facts</link>
		<comments>http://schepers.cc/smack-v-facts#comments</comments>
		<pubDate>Tue, 01 Feb 2011 07:42:32 +0000</pubDate>
		<dc:creator>Schepers</dc:creator>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Logo]]></category>
		<category><![CDATA[Meta]]></category>
		<category><![CDATA[Standards]]></category>
		<category><![CDATA[TouchTablet]]></category>
		<category><![CDATA[W3C]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://schepers.cc/?p=464</guid>
		<description><![CDATA[<br/>Offered without comment. Post about HTML5 logo and overblown &#8220;controversy&#8221; surrounding it: 1,078 hits on the first day. Post about details on W3C touch events spec, including a roadmap and future plans: 273 hits on the first day.]]></description>
			<content:encoded><![CDATA[<br/><p>Offered without comment.</p>
<p><a href="http://schepers.cc/insidevoice">Post about HTML5 logo and overblown &#8220;controversy&#8221; surrounding it</a>: <br />
<strong>1,078</strong>  hits on the first day.</p>
<p><a href="http://schepers.cc/getintouch">Post about details on W3C touch events spec, including a roadmap and future plans</a>: <br />
<strong>273</strong> hits on the first day.</p>
]]></content:encoded>
			<wfw:commentRss>http://schepers.cc/smack-v-facts/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Getting In Touch</title>
		<link>http://schepers.cc/getintouch</link>
		<comments>http://schepers.cc/getintouch#comments</comments>
		<pubDate>Sat, 29 Jan 2011 20:15:48 +0000</pubDate>
		<dc:creator>Schepers</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Standards]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[TouchTablet]]></category>
		<category><![CDATA[W3C]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://schepers.cc/?p=439</guid>
		<description><![CDATA[<br/>Last week, I published the first draft (and subsequent updates) of the Web Interface specification, which defines touch events. This is the first spec from the new W3C Web Events Working Group. Peter-Paul Koch (PPK) gave it a positive initial review. Apparently, others thought it was news-worthy as well, because there were a few nice [...]]]></description>
			<content:encoded><![CDATA[<br/><p>Last week, I published the <a href="http://dvcs.w3.org/hg/webevents/raw-file/tip/touchevents.html">first draft (and subsequent updates) of the Web Interface specification</a>, which defines touch events.  This is the first spec from the new <a href="http://www.w3.org/2010/webevents/">W3C Web Events Working Group</a>.</p>
<p>Peter-Paul Koch (PPK) gave it a <a href="http://www.quirksmode.org/blog/archives/2011/01/w3c_touch_event.html">positive initial review</a>.  Apparently, others thought it was news-worthy as well, because there were a few nice write-ups in various tech sites.  Naturally, <a href="http://news.cnet.com/8301-30685_3-20029864-264.html">cnet&#8217;s Shank scooped it first</a> (he has his ear to the ground), and it was fairly quickly picked up by <a href="http://www.macgasm.net/2011/01/28/w3c-turns-eye-touchbased-web-apps/">macgasm</a>, <a href="http://www.electronista.com/articles/11/01/28/w3c.readies.standard.for.web.ui.on.phones.tablets/">electronista</a>, and <a href="http://www.webmonkey.com/2011/01/w3c-touch-events-specification-targets-tablets-touch-screens/">Wired webmonkey</a>.</p>
<p>I thought I&#8217;d go into a few of the high-level technical details and future plans for those who are interested.<br />
<span id="more-439"></span><br />
Touch interfaces are nothing novel, nor is using them with Web content, but there are enough differences from mouse interaction that specifying them should lead to easier development and better user experiences on the Open Web platform (or in HTML5 webapps, if you prefer that buzzword).</p>
<p>The most important thing to note for multi-touch events (using more than one finger, say) is that you want the different touch-points to be considered together, not as completely unrelated events.  The WebKit implementation, used in the iPhone and Droid smartphones, as well as many, many others, used a good model for this, with each event exposing lists of currently-active individual touch-points; with wide deployment of WebKit already, it was an obvious starting point.  PPK&#8217;s blog post was off on one minor detail here: while I did base the spec on WebKit&#8217;s behavior, I didn&#8217;t base it directly off of Apple&#8217;s documentation; I wrote it from scratch, for better or worse, and extended it for broader applicability.  </p>
<p>One of these extensions was to take PPK&#8217;s suggestion to add &#8216;touchenter&#8217; and &#8216;touchleave&#8217; events, the equivalent of the &#8216;mouseenter&#8217; and &#8216;mouseleave&#8217; events that we finally specified in DOM3 Events, which work much more intuitively than &#8216;mouseover&#8217; and &#8216;mouseout&#8217;.</p>
<p>I also extended the WebKit model to add &#8216;radiusX&#8217; and &#8216;radiusY&#8217; attributes, to indicate the general size and shape of the thing that touched the surface&#8230; say, a fingertip or a stylus (a fancy way of saying &#8220;pen-like stick&#8221;), described as an ellipse.  I&#8217;ve been soliciting use cases and requirements for a couple of years, and this is meant to cover a similar request across different devices.</p>
<p>That leads me to mention the other use case for this specification: pen-tablets.  Almost a decade ago, I was writing a browser-based SVG editor called SVG-Whiz (long since decomposed into digital fertilizer), and I wanted to be able to use my Wacom tablet with it.  It worked okay as a mouse replacement, but I had to choose the stroke-width manually&#8230; I couldn&#8217;t use the tablet&#8217;s built-in pressure sensitivity.</p>
<p>We&#8217;re about to change that.  Another change to the WebKit model is the addition of a &#8216;force&#8217; attribute to indicate the level of pressure used on the touch or tablet interface.  This will be useful for SVG or Canvas API drawing apps, games, and myriad other purposes.  For example, most touch screens don&#8217;t have the capability to detect hovering (some capacitive screens being the exception)&#8230; this is a challenge for accessibility, but perhaps the pressure sensitivity—expressed in the &#8216;force&#8217; attribute—could be applied to that end.  We may specify a new related CSS mode, or simply define when existing ones apply, such as triggering the CSS &#8216;:hover&#8217; pseudoclass past a certain pressure threshold (device-specific and user configurable, of course).</p>
<p>(On the subject of new CSS properties, Nokia has made the suggestion of <a href="http://www.starlight-webkit.org/CSS/css3-haptics.html">haptic feedback properties for touchscreens</a>, based on their implementation.  This could be a very interesting addition to touch interfaces, even if it&#8217;s not available on all devices.  That work would be handled by the CSS Working Group.)</p>
<p>In addition to pressure-sensitivity, pen input has other characteristics that distinguish it from touch, including the angle of the pen, so we may add that as well.  Pen-inputs, either through tablets or stand-alone digital pens, often include particular mode-shifting buttons, so we have added attributes to detect when the alt, shift, and control keys (or buttons) have been pressed.  </p>
<p>So, to cover a wide range of devices, we will be defining some capabilities beyond basic touchscreens: multi-touch, touch area, force, perhaps pen-angle, and even haptic feedback.  Not every feature will be available for every device, but they will be useful for those that do, but we want the spec to be future-proof and device-independent.</p>
<p>This leads me to another touchy area: gestures.  One of the common requests I&#8217;ve gotten is to add events for specific gestures, like pinch, swipe, twist, flick, etc.  There are two problems with trying to standardize this right now:</p>
<ol>
<li>Each device and each platform has its own gestures, sometimes several to do the same thing, and there is still room for innovation there;</li>
<li>It&#8217;s a patent minefield.</li>
</ol>
<p>Instead, we intend to specify higher-level &#8220;intentional&#8221; events, like zooming in or out, panning, navigating, editing, etc., and define a way to map between the physical actions (touching the screen and moving your fingers) and the intention event (zooming in); it also means we can map between input on other devices, like keyboard and mouse, and the intent behind those actions.  An additional aspect of this is another proposal by Nokia, the <a href="http://lists.w3.org/Archives/Public/public-webevents/2011JanMar/att-0002/TransformActionProposal.html">transform action events</a>; these match the transforms in SVG and CSS, such as translateX and translateY, scale, and rotate, and add the ability to detect the rate of the actions.  Having all these high-level events will ultimately make it much easier to author content and applications that work on multiple devices. </p>
<p>And though gestures are different on each device, we do plan to create an informative document detailing some common ones, perhaps something like the excellent <a href="http://www.lukew.com/ff/entry.asp?1071">Touch Gesture Reference Guide</a> by Luke Wroblewski, Craig Villamor, and Dan Willis.  That might eventually lead to some industry consensus about future efforts to define gesture events.</p>
<p>Last but not least, one of the additions I made to the spec after the first draft was to add my co-editors, Sangwhan Moon from Opera and Matt Brubeck from Mozilla, both of whom have already made excellent suggestions we&#8217;ve integrated into the spec, and who have volunteered to help me write the spec.  It&#8217;s a positive sign that we&#8217;ve got active participation from so many different browser-engine developers, since interoperability here is the most important thing.</p>
<p>For me, this specification has been about a decade in the making&#8230; it&#8217;s one of the things I wanted to tackle when I first came to W3C, even before I worked there.  So, I&#8217;m very excited to finally be doing it, and to help make touchscreens and pen-tablets part of the Open Web platform.  With some hard work and a little luck, we could get this spec completed and implemented in browsers by early next year.</p>
<p>So, if you are interested in helping us make sure the Touch Interface spec meets  your needs as a user, developer, or implementer&#8230; <a href="mailto:public-webevents@w3.org">get in touch</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://schepers.cc/getintouch/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>HTML5 Logorrhea, or Use Your Inside Voice</title>
		<link>http://schepers.cc/insidevoice</link>
		<comments>http://schepers.cc/insidevoice#comments</comments>
		<pubDate>Tue, 25 Jan 2011 08:53:10 +0000</pubDate>
		<dc:creator>Schepers</dc:creator>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Logo]]></category>
		<category><![CDATA[Standards]]></category>
		<category><![CDATA[W3C]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://schepers.cc/?p=435</guid>
		<description><![CDATA[<br/>I was involved in rolling out the new HTML5 logo for W3C; I wasn&#8217;t the person in charge, but I helped out with some aspects of it. The interesting thing to me was the reaction to the logo, aesthetics aside. (I like the logo personally, but I also like the retro-futurism of Soviet Realist art, [...]]]></description>
			<content:encoded><![CDATA[<br/><p>I was involved in rolling out the new <a href="http://www.w3.org/html/logo/index.html">HTML5 logo</a> for W3C; I wasn&#8217;t the person in charge, but I helped out with some aspects of it.</p>
<p>The interesting thing to me was the reaction to the logo, aesthetics aside.  (I like the logo personally, but I also like the retro-futurism of Soviet Realist art, like the statuary in <a href="http://en.wikipedia.org/Szoborpark">Memento Park</a> in <a href="http://www.szoborpark.hu/index.php?Lang=en">Budapest</a>, and comic books.)  I loved the parodies and jokes about the logo, but I was both unsurprised and disappointed at the some of the negative dialog (and in some cases, monolog) about what the logo is meant to represent.<br />
<span id="more-435"></span><br />
Just like the Gap and Starbucks logos, there were going to be some people who would be unhappy because that&#8217;s what makes them happy.  There would be no pleasing them, and it&#8217;s senseless to try.</p>
<p>But there was another set of people that we really value, and we wanted to make sure that they were comfortable with the logo: the perfectionists.  As you can imagine, it&#8217;s not the easiest group to please, but they are the ones who make standards work, by reviewing the specs to make sure there are as few errors as possible, by creating exacting tests to ensure interoperability between browsers, and by teaching web developers the precision of terminology and best practices that lead to high-quality web sites and webapps&#8230; usually on a volunteer basis.</p>
<p>These are our people, and we wanted to please them.  But at the same time, a logo has to serve lots of different communities&#8230; including managers and clients who don&#8217;t know or care that there is an “HTML5 specification” (whatever that might be), and people throwing around the word  “HTML5” like it&#8217;s birdseed at a geek wedding.  Even people who know better use “HTML5” as shorthand for “Finally, browsers are doing all this cool stuff I want to play with! WHEEEE!”</p>
<p>So, how do you strike a balance between people who want us to say, “This logo is for the HTML5 specification only, and we will sue anyone who puts it on a site that uses HTML4.01+CSS3” and those who want us to give them the shiny and shut up?  You make an “identity system” which includes sub-icons for specific technologies and general technology classes, and you say that the identity system, in toto, represents HTML5 and the peripherally-related technologies like CSS3, SVG, WOFF, Geolocation, etc.</p>
<p>And how do you screw it up?  You oversimplify in the FAQ and use the word “logo” instead of “identity system”, and let people infer that the main logo, the one for HTML5, is meant to represent not only HTML5, but CSS3 as well.  (Interestingly, some of the more vocal people who complained on Twitter don&#8217;t mind the geolocation API or SVG being conflated with HTML5 nearly so much as CSS3&#8230; that seems too fine a distinction to me.)</p>
<p>But we knew we would make some mistakes.  We <a href="http://www.w3.org/html/logo/faq.html#official">went out of our way to explain to people</a> that we were not trying to shove it down their throats&#8230; that we wanted to have a community conversation about it.</p>
<p>Once we had something we thought was ready to share, we released it to the public, rather in a rush.  We took to email, to Twitter, and to blog posts and comments, to collect feedback and clarify our message.  Turns out 140 characters is not enough to <a href="https://twitter.com/#!/shepazu/status/28204114663964673">convey much nuance</a>.  After a couple of days of seeing if the message was clear enough, giving people a chance to have a second look and see if the idea of a “logo system” stuck, we decided it wasn&#8217;t good enough.  We updated the FAQ to split out the <a href="http://www.w3.org/html/logo/faq.html#logo-represent">HTML5 logo</a> from the <a href="http://www.w3.org/html/logo/faq.html#icons-represent">sub-icons</a>.  That seemed clearer to people, though it&#8217;s really saying the same thing in a different way&#8230; but the way you say something matters.</p>
<p>And that&#8217;s my point, here:  The way you say something matters.</p>
<p>W3C started the conversation about the logo by clearly stating, and reinforcing consistently, that we were interested in feedback and we were listening to what people were saying.  <a href="https://twitter.com/#!/adactio/status/28224023695466496">Sometimes people didn&#8217;t believe us</a>, but we were.  (And I sincerely appreciate Jeremy Keith taking the trouble to explain what was frustrating him about the “logo / identity system”.)</p>
<p>But some people didn&#8217;t hear that we were listening, because they were <a href="http://tantek.com/2011/020/b1/new-w3c-html5-logo">too busy shouting</a>.  Shouting things like “Fire W3C Communications Person Who Led Messaging”&#8230; I&#8217;m not the person that&#8217;s targeted at, but I found it a rude and mean-spirited thing to say nevertheless.  (Pet peeve: I can&#8217;t stand when people make a public rant in a post and don&#8217;t allow others to comment on it&#8230; it demonstrates a certain lack of accountability.)  Tantek Çelik has been in Web standards for a long while, and knows exactly who the (overworked) Comm person is whose job he was calling for, and I think that&#8217;s irresponsible.</p>
<p>Tantek compounded this with a <a href="https://twitter.com/#!/t/status/28366364703981568">tweet</a> that somehow manages to pretend that W3C wasn&#8217;t listening, but all the shouting forced us to change our FAQ, then goes on to say in his next blog post:</p>
<blockquote>
<p>Yet with W3C&#8217;s first draft HTML5 FAQ, we almost gave up. Almost. But apparently sometimes angry rants can effect change. Sometimes passion works.</p>
<p>Within 24 hours of the last of our posts, W3C updated the FAQ, removed the errant entry, added more clarification</p>
</blockquote>
<p>You know what also works?  Having a calm conversation, reading the FAQ carefully and seeing where a mistaken impression (or even an outright mistake) might have been made, and making suggestions to the people who have invited you to share your thoughts.  </p>
<p>Folks, you didn&#8217;t need to get angry.  Yes, there was some ambiguity in the FAQ, and that was a mistake&#8230; one we were sorry to make and happy to correct, only a couple days after the logo was released.  But the result of all the shouting was that, several days later, I&#8217;m still talking to people who think that W3C is sending this mixed message with this logo, because that&#8217;s what everyone was shouting about&#8230; and all the clarifications and updates now aren&#8217;t going to put that spilled milk back in the glass, since you sent out the cry to arms.  A few simple words and a modicum of patience and trust would have served your cause—the precision we all value—much better.</p>
<p>W3C went out of our way to give you a voice.  You&#8217;re long-time contributors to standards.  You&#8217;re all insiders&#8230; use your inside voice.</p>
]]></content:encoded>
			<wfw:commentRss>http://schepers.cc/insidevoice/feed</wfw:commentRss>
		<slash:comments>30</slash:comments>
		</item>
		<item>
		<title>Recharging Roadtrips</title>
		<link>http://schepers.cc/recharging-roadtrips</link>
		<comments>http://schepers.cc/recharging-roadtrips#comments</comments>
		<pubDate>Sat, 27 Nov 2010 10:29:47 +0000</pubDate>
		<dc:creator>Schepers</dc:creator>
				<category><![CDATA[Real Life]]></category>
		<category><![CDATA[Travel]]></category>

		<guid isPermaLink="false">http://schepers.cc/?p=425</guid>
		<description><![CDATA[<br/>Last week, Megan and I went to the opening ceremony of the first electric vehicle charging station in North Carolina, on the corner of W. Hargett and Dawson in Raleigh. Megan wrote up a short blog post about it, and we talked about what this might mean for the future of our national infrastructure. We [...]]]></description>
			<content:encoded><![CDATA[<br/><p>Last week, Megan and I went to the opening ceremony of the first electric vehicle charging station in North Carolina, on the corner of W. Hargett and Dawson in Raleigh.</p>
<p>Megan wrote up a <a href="http://www.meganculler.com/blog/archives/90">short blog post</a> about it, and we talked about what this might mean for the future of our national infrastructure.</p>
<p>We have a Prius, so if we got an electric car (I like the <a href="http://www.nissanusa.com/leaf-electric-car/index#/leaf-electric-car/tags/show/charging">Nissan Leaf</a>, and not just because they use SVG on their site), we would probably use the hybrid for longer trips, so we could refuel easily.  But in 10 years, that might change.  Since it takes around half an hour to fully charge modern electric cars using the class 3 charger (the heavy-duty one), and 4-6 hours using a class 2 charger, electric road-trippers will need something to do while they wait.  Megan <a href="http://www.meganculler.com/blog/archives/90">mentions this in her blog</a>:</p>
<blockquote><p>Would owners of this type of business be motivated to install charging stations as a way to attract customers and hold them captive while their car is charging?</p></blockquote>
<p>I could see a whole new class of businesses that cater to waiting customers, that charge the charging, so to speak: movie theaters, theme parks, mini-zoos, gaming parlors (multiplayer videogames or casinos or both), strolling gardens&#8230; activities that emphasize a more leisurely pace of travel.  The return of the roadside attraction!</p>
<p>Here&#8217;s to the retro-future!</p>
]]></content:encoded>
			<wfw:commentRss>http://schepers.cc/recharging-roadtrips/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Translation Services at a Loss for Words</title>
		<link>http://schepers.cc/translatesvg</link>
		<comments>http://schepers.cc/translatesvg#comments</comments>
		<pubDate>Tue, 16 Nov 2010 03:27:15 +0000</pubDate>
		<dc:creator>Schepers</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[Search Engines]]></category>
		<category><![CDATA[SVG]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[Travel]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://schepers.cc/?p=399</guid>
		<description><![CDATA[<br/>Text in SVG is text. Visually, you can use webfonts like WOFF or SVG Fonts (where they are supported, like in Opera or the iPhone) to make it look cool, and you can style both the stroke and fill to make it all fancy, or apply filters to pop it out or make it glow [...]]]></description>
			<content:encoded><![CDATA[<br/><p>Text in SVG is text.  Visually, you can use webfonts like <a href="http://www.w3.org/TR/WOFF/">WOFF</a> or SVG Fonts (where they are supported, like in Opera or the iPhone) to make it look cool, and you can style both the stroke and fill to make it all fancy, or <a href="http://svg-wow.org/filterEffects/chiseled.svg">apply filters</a> to pop it out or make it glow or give it a dropshadow, but it&#8217;s not just a raster image like many text headers&#8230; it&#8217;s human- and machine-readable text, as nature intended.</p>
<p>So, SVG is translatable, right?<br />
<span id="more-399"></span><br />
I wanted to make that point in my talk yesterday at <a href="http://east.webdirections.org/2010/en/program/">Web Directions East</a>, here in Tokyo, so I thought I&#8217;d translate <a href="http://www.w3.org/2010/Talks/11-schepers-webdirectionseast/text.svg">my slide on text in SVG</a><br />
 in real time (<em>note: click the down arrow to step through the bullet points</em>).  But testing it beforehand (I&#8217;m glad I did some prep), neither <a href="http://translate.google.com/translate?js=n&#038;prev=_t&#038;hl=en&#038;ie=UTF-8&#038;layout=2&#038;eotf=1&#038;sl=auto&#038;tl=ja&#038;u=http%3A%2F%2Fwww.w3.org%2F2010%2FTalks%2F11-schepers-webdirectionseast%2Ftext.svg">Google</a> nor <a href="http://www.microsofttranslator.com/bv.aspx?from=&#038;to=en&#038;a=http%3a%2f%2fwww.w3.org%2f2010%2fTalks%2f11-schepers-webdirectionseast%2ftext.svg">Bing</a> even try to translate it.  <a href="http://babelfish.yahoo.com/translate_url?doit=done&#038;tt=url&#038;intl=1&#038;fr=bf-home&#038;trurl=http%3A%2F%2Fwww.w3.org%2F2010%2FTalks%2F11-schepers-webdirectionseast%2Ftext.svg&#038;lp=en_ja&#038;btnTrUrl=Translate">Yahoo&#8217;s Babel Fish</a> at least returns the original page, though it doesn&#8217;t take the extra little step of doing any actual translation.</p>
<p>Lame.</p>
<p>Why don&#8217;t they translate it?  Bing offers this helpful explanation:</p>
<blockquote><p><a href="http://www.microsofttranslator.com/help/#q2q">What text formats are supported?</a><br />
Html and Text. The viewer will not translate text on images, in PDFs, or in Flash graphics and animation. It may also not translate some dynamically generated text, such as in cascading menus.</p></blockquote>
<p>I expected this to work, since <a href="http://googlewebmastercentral.blogspot.com/2010/08/google-now-indexes-svg.html">Google now indexes SVG</a>; as I mentioned in a <a href="http://schepers.cc/formata-non-grata">previous blog post</a>, I made a <a href="http://schepers.cc/svgaccessibility.html">test page back in 2002</a> that sorta conflated the two services, indexing and translating.  But obviously, these are two different tools, and need to be fixed separately.</p>
<p>It would be easy to fix, I&#8217;d expect&#8230; simply add SVG to the list of allowed file types, and translate the text content of each element, just as they do with HTML.  If they actually special-case different element types, that would add slightly more work, but not a lot&#8230; just as with the task of indexing, you would pay attention to the content of the <code>&lt;text&gt;</code>, <code>&lt;tspan&gt;</code>, <code>&lt;textPath&gt;</code>, <code>&lt;title&gt;</code>, and <code>&lt;desc&gt;</code> elements.</p>
<p>It&#8217;s ironic that this doesn&#8217;t work, because on my way back from Lyon last week, I happened to meet <a href="http://www.linkedin.com/profile/view?id=2611357">Bert Esselink</a>, the author of a <a href="http://books.google.com/books?id=QxFg5AC_JZIC&#038;lpg=PP1&#038;ots=lXLrkbuy8-&#038;dq=bert%20Esselink&#038;pg=PP1#v=onepage&#038;q&#038;f=false">book on localization</a> who works for the translation company Lionbridge, and he and I chatted about how they use SVG extensively for their translation work.</p>
<p>In the end, I just had a native speaker translate a couple of text passages (the automatic translations were apparently not very good) and included them in my slide, just to serve as a placeholder. But I&#8217;m hopeful that soon I can demo the automatic translation live.  It would be especially useful to people looking at SVG infographics, to be able to see charts and graphs in their native tongue.</p>
<p><object type="image/svg+xml" width="485" height="485" data="http://schepers.cc/svg/search-engine-infographic.svg">Please use a modern browser.</object></p>
]]></content:encoded>
			<wfw:commentRss>http://schepers.cc/translatesvg/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

