<?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 &#187; Conferences</title>
	<atom:link href="http://schepers.cc/category/conferences/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.2.1</generator>
		<item>
		<title>Stumbling Towards a Graphical Workflow</title>
		<link>http://schepers.cc/stumbling-towards-a-graphical-workflow</link>
		<comments>http://schepers.cc/stumbling-towards-a-graphical-workflow#comments</comments>
		<pubDate>Mon, 08 Mar 2010 10:10:34 +0000</pubDate>
		<dc:creator>Schepers</dc:creator>
				<category><![CDATA[Authoring Tools]]></category>
		<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Standards]]></category>
		<category><![CDATA[SVG]]></category>
		<category><![CDATA[SVG Basics]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[W3C]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://schepers.cc/?p=190</guid>
		<description><![CDATA[<br/>I&#8217;m working with a professional designer, Michael, on some graphics for my upcoming MIX presentation.  I&#8217;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&#8217;s been an interesting experience, which I [...]]]></description>
			<content:encoded><![CDATA[<br/><p>I&#8217;m working with a professional designer, Michael, on some graphics for my upcoming <a title="SVG session at Microsoft MIX conference" href="http://live.visitmix.com/MIX10/Sessions/EX30">MIX presentation</a>.  I&#8217;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&#8217;s been an interesting experience, which I thought I&#8217;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&#8217;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&#8217;s crazy&#8230; but it <a title="A sad example of hand-coded SVG art" href="http://svg-whiz.com/svg/shinydonkey/shinyDonkey.svg">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 &#8220;Inspect Element&#8221; 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&#8217;s &lt;use&gt; element.<span id="more-190"></span></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 &#8220;clone&#8221; 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 &#8220;myImageId&#8221;, 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&#8217;t already have a color, make it blue. Thanks.</p></blockquote>
<p>(That final &#8220;/&#8221; is the part that says &#8220;thanks&#8221;, 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&#8217;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&#8217;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&#8217;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&#8217;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&#8217;t support &lt;use&gt;.</p>
<p>Or rather, it does recognize it, and render it&#8230; 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&#8217;s see how we can work around that.</p>
<h3>Symbolic Gestures</h3>
<p>I spent quite a bit of time &#8211;hours, truth to tell, because I&#8217;m an Illustrator newbie&#8211; isolating individual images (trees, benches, etc.) that were used through the graphic as a whole.</p>
<p>When I make &#8220;symbols&#8221; (for lack of a better word), I like to find their positioning anchor &#8211;that is, the point at which they are most usefully positioned&#8211; 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&#8230; 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&#8230; in SVG, this is a &lt;g&gt; element (SVG also has a &lt;symbol&gt; element, but in practice, I don&#8217;t think it&#8217;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&#8230; 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 &#8220;drill down&#8221; from a layer into an individual group, but when you are first trying to select a set of images that aren&#8217;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 &#8220;Group&#8221; 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 &#8220;&lt;group&gt;&#8221;; double-click this, and give it a meaningful name.  (Note: you might need to right-click again and choose &#8220;Isolate Selected Group&#8221; 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&#8217;t sure at what point they are included in the group.)</p></blockquote>
<h3>&#8220;Let Me Tell You What I Think You Mean&#8221;</h3>
<p>As I isolated each image, I deleted extraneous shapes that weren&#8217;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&#8230; Illustrator changes the ids of the <em>&#8220;paint servers&#8221;</em> &#8211;referenceable graphical effects like  gradients and filters&#8211; 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&#8230; 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&#8217;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&#8217;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&#8217;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&#8217;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&#8230; 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&#8230; Illustrator doesn&#8217;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&#8217;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&#8230;</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&#8217;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>
]]></content:encoded>
			<wfw:commentRss>http://schepers.cc/stumbling-towards-a-graphical-workflow/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Platform Games</title>
		<link>http://schepers.cc/platform-games</link>
		<comments>http://schepers.cc/platform-games#comments</comments>
		<pubDate>Tue, 09 Jun 2009 16:07:12 +0000</pubDate>
		<dc:creator>Schepers</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[CDF]]></category>
		<category><![CDATA[Conferences]]></category>
		<category><![CDATA[SVG]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[W3C]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://schepers.cc/?p=133</guid>
		<description><![CDATA[<br/>I attended Google I/O a couple weeks ago, and had a great time.  They really put the &#8220;hype&#8221; in HyperText Markup Language 5, identifying things like the Geolocation API and some of the WebApps Working Group deliverables as part of &#8220;HTML5&#8243;.  Not quite accurate, but it was a branding exercise, not a technical one.  Notably [...]]]></description>
			<content:encoded><![CDATA[<br/><p>I attended Google I/O a couple weeks ago, and had a great time.  They really put the &#8220;hype&#8221; in HyperText Markup Language 5, identifying things like the Geolocation API and some of the WebApps Working Group deliverables as part of &#8220;HTML5&#8243;.  Not quite accurate, but it was a branding exercise, not a technical one.  Notably absent from the things they rolled into HTML5 during the keynote, though, was SVG&#8230; in fact, they seemed to go out of their way to avoid it.</p>
<p>But it&#8217;s in there.<span id="more-133"></span></p>
<p>Behind the curtains, I talked to several Googlers at the conference committed to SVG.  Brad Neuberg, a whipsmart Google engineer and all-around swell guy, is making a Javascript shim that takes SVG (referenced or inline) and renders it consistently across browsers, including Internet Explorer, using the Flash plugin.  Patrick Chanezon and Ignacio Blanco, also of Google, spoke about <a title="Google Slides on SVG and Canvas at JavaOne" href="http://www.slideshare.net/chanezon/javaone-2009-2d-vector-graphics-in-the-browser-with-canvas-and-svg" target="_blank">SVG and Canvas at JavaOne</a> the week after.</p>
<p>It wasn&#8217;t a certainty that SVG integration would make it into HTML5 (rather than HTML6, etc.).  I&#8217;d been asking for it to be included for a while, but the the editor, Ian Hickson, was resistant to the idea.  At one point, he even <a title="Ian Hickson on Alternate Vector Graphics Formats for HTML" href="http://lists.w3.org/Archives/Public/public-html/2008Mar/0039.html" target="_blank">suggested</a> supporting some other vector graphics language, even a stripped-down custom format (which was likely a testing of the waters&#8230; in a similar vein, rather than simply integrating custom namespaces or RDFa or ITS, he reinvented his own syntax for each instead).  But ultimately, even he knew that wouldn&#8217;t fly for vector graphics.  SVG is already too well supported in browsers, in authoring tools, and as a general format for anything else to make sense.</p>
<p>Because it&#8217;s all about the platform.  And SVG is part of the platform.</p>
<p>Already, inline SVG (that is, SVG mixed into a single document with XHTML) works in all the browsers that support both XHTML and SVG (that is, all but Internet Explorer), and even worked in <a title="Old example of Inline SVG" href="http://www.schepers.cc/inlinesvg.html" target="_blank">plain-text HTML in Internet Explorer</a> with the Adobe plug-in almost a decade ago.  Steven Pemberton <a title="Steven Pemberton on XHTML, via Molly Holzschlag" href="http://www.molly.com/2009/06/02/the-real-why-xhtml-discussion/" target="_blank">points out</a> that that was the true innovation of XHTML, the ability to plug in new syntaxes and new functionality without having to change the core of the language or revisit parsing rules.  It has been argued that XHTML&#8217;s extensibility is superior to HTML5&#8242;s parsing rules that only work with a set vocabulary.</p>
<p>But the browser vendors were determined that text/html, being more common and robust than XHTML, had a market advantage, and so to fit in with that, SVG needed to work not just with XHTML, but also with text/html.  There were compromises along the way with SVG&#8230; probably chief among these are parsing issues.  Unlike XHTML, SVG was designed from the ground up for an XML syntax.  HTML uses a much more complicated parsing that defines error recovery behavior for things like missing quotes around the attribute values, case insensitivity, and non-well-formed markup, and it doesn&#8217;t support namespaces properly.  SVG in text/html has to (some say &#8220;gets to&#8221;) follow some of these rules in order to fit in.  The SVG WG was a bit reluctant to adopt these changes, out of concern that SVG might fly into tag soup, making it harder for existing authoring tools and XML-based SVG viewers, as well as generic XML processing tools.</p>
<p>But ultimately, we had to agree that SVG needs to conform to the platform.</p>
<p>So, we&#8217;ve taken a step backwards in some ways: right now, there&#8217;s pretty much no non-conforming SVG content in the wild, and the Adobe SVG viewer was fast, and had features still not found in some browsers.  But we&#8217;ve now got better error recovery, and SVG in almost all major browsers, which is more robust than a single-vendor plug-in, and is ultimately better for authors and users.  The way to use it with HTML is now better defined:</p>
<ul>
<li>as with HTML, for SVG in text/html, you don&#8217;t have to use quotes on your attribute values (if the value doesn&#8217;t contain spaces, etc.)</li>
<li>authors don&#8217;t need to declare namespaces (in fact, this was the case with the Adobe SVG Viewer already, so not really much of a loss)</li>
<li>mistakes in casing for element and attribute names will be corrected</li>
<li>well-formedness errors will be recovered as best as possible, rather than halting rendering</li>
<li>custom namespaces, such as round-tripping metadata inserted by authoring tools, will not be supported</li>
<li>most importantly, normal valid, well-formed SVG with no custom namespaces will Just Work, whether as a standalone document or referenced as an external file, or inline in text/html or XHTML.</li>
</ul>
<p>In fact, though HTML5 is not yet done, SVG inline in text/html already works in special experimental builds of Firefox and Opera, and should work out of the box soon.  Forward-looking authors can already use SVG in modern browsers, using XHTML, and that content will soon work when served as text/html as well. The final barrier to common use of SVG is being solved by Brad&#8217;s &#8220;SVG Web&#8221; shim, allowing SVG content to work in IE.  This will not be a perfect solution; it would be better if IE supported SVG natively without making developers jump through hoops, but that won&#8217;t happen for at least a couple years (if at all), and SVG Web at the very least will bridge the gap.  I&#8217;ve seen it run, and it&#8217;s pretty impressive already.</p>
<p>That SVG has had to bend in the wind gives the SVG language a unique opportunity to innovate.  If the syntax is already going to need an update in existing browsers and authoring tools, we can reexamine some old assumptions and past missteps, and extend SVG to be better integrated with HTML and CSS and existing scripting practices.  And even more importantly, we can examine use cases and make SVG better suited for what authors need to do.</p>
<p>Why is HTML5 a powerful enough platform that Google throws it&#8217;s weight behind it, despite the inaccurate and ungainly name?  Is it the error-correcting parsing?  No, that&#8217;s a good feature, even if the need for it is unfortunate, but it&#8217;s unclear that this is better than XHTML.  Is it the new features like the &lt;video&gt; and &lt;audio&gt; elements, which allow it to compete with the most common use of Flash?  No, that capability has been possible using XHTML and SMIL for years, and is even part of SVG Tiny 1.2 (N.B.: HTML&#8217;s script interfaces are simpler and better than SMIL&#8217;s, but its lack of synchronization or timing containers is a big step back).  Is it the new WebApp-centric user interface focus?  No, we would probably be better served by a language designed for making UIs (like XUL).</p>
<p>So, what is the true power of HTML5?  Coordination.  Getting all the browser vendors to standardize on a common set of features.  HTML5 is not a technical achievement, it&#8217;s a social movement.  It&#8217;s an instantiation of the Open Web in the form of several specifications across several groups, and implemented fairly uniformly across all major browsers and platforms.  This is largely in response to user demands to the browser vendors.  They are tired of the special-casing and workarounds that make their lives and jobs harder and less satisfying, that make users struggle&#8230; they want a consistent platform, one without script libraries or shims or plug-ins or arcane rules.  And the browsers realize this, and know that a rising tide raises all ships.</p>
<p>My personal advice to vendors who have excellent authoring tools, but who want to also control the runtime environment?  The Web has moved on from vendor lock-in and black-box plug-ins.  In a world where there is coordination between multiple vendors to deliver and support a central set of technologies, where everyone is unifying on a standard Open Web platform, from Apple to Google to Mozilla to Nokia to Palm to Opera to Vodafone.  Nobody wants the hassle of being the only one to maintain the platform, but they all want the ability to change it without going though the gatekeeper of a single vendor.</p>
<p>It&#8217;s all platform games, and if you want to play, you have to jump to the next platform.  Google knows this&#8230; they are hosting the next SVG Open, and are aggressively pushing the whole platform.  Looks like a fun year ahead!</p>
]]></content:encoded>
			<wfw:commentRss>http://schepers.cc/platform-games/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Last Day in Tokyo</title>
		<link>http://schepers.cc/last-day-in-tokyo</link>
		<comments>http://schepers.cc/last-day-in-tokyo#comments</comments>
		<pubDate>Fri, 14 Nov 2008 00:48:03 +0000</pubDate>
		<dc:creator>Schepers</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Real Life]]></category>
		<category><![CDATA[SVG]]></category>
		<category><![CDATA[Travel]]></category>
		<category><![CDATA[W3C]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://schepers.cc/?p=77</guid>
		<description><![CDATA[<br/>I wish I kept a more detailed journal&#8230; I have chat logs and emails as a quotidian reminder of my doings, but it doesn&#8217;t capture all the great conversations and interesting people I meet when traveling.  This short trip to Tokyo, only 10 days or so, was jam-packed with cool folks with cool ideas.  But [...]]]></description>
			<content:encoded><![CDATA[<br/><p>I wish I kept a more detailed journal&#8230; I have chat logs and emails as a quotidian reminder of my doings, but it doesn&#8217;t capture all the great conversations and interesting people I meet when traveling.  This short trip to Tokyo, only 10 days or so, was jam-packed with cool folks with cool ideas.  But now I&#8217;m jaunting back to Tokyo from the W3C-Keio office, and then to the airport, so no time, no time&#8230;</p>
<p>Maybe on the plane I will sketch out my erstwhile meanderings.  The short version: spoke at Web Directions East (and will speak again at Web Directions North) about SVG and Canvas, was blown away by the other presentations there, hung with cool Web community folks (locals and internationals) who I hope to see again, ate good food, wandered the streets of Harajuku and Shibuya and Asakusa and Ebisu, watched mochi being made at a temple festival and ate the results, met with the Japanese chapter of the SVG Interest Group and some Japanese Industrial Standards folks regarding SVG 1.2 Tiny and further on, and collaborated with my awesome and inspiring W3C-Keio teammates.  Had no access to my cash because of a mixup with Visa/RBC.  Stayed in another capsule hotel, in Fujisawa.</p>
<p>And saw Mt. Fuji two clear days in a row, with lovely warm winter weather.  Sayonara, Japan!</p>
]]></content:encoded>
			<wfw:commentRss>http://schepers.cc/last-day-in-tokyo/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Let a Thousand Flowers Bloom</title>
		<link>http://schepers.cc/let-a-thousand-flowers-bloom</link>
		<comments>http://schepers.cc/let-a-thousand-flowers-bloom#comments</comments>
		<pubDate>Fri, 25 Apr 2008 08:08:30 +0000</pubDate>
		<dc:creator>Schepers</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Standards]]></category>
		<category><![CDATA[Travel]]></category>

		<guid isPermaLink="false">http://www.schepers.cc/?p=60</guid>
		<description><![CDATA[<br/>I&#8217;m in Beijing, presenting at the WWW2008 conference.  Last night, we attended a banquet at the Great Hall of the People, which (ironically) is hard for most Chinese people to get into.  On the long bus ride there, I was rather surprised to see a young man driving a trailer-bike with an anarchy flag flying [...]]]></description>
			<content:encoded><![CDATA[<br/><p>I&#8217;m in Beijing, presenting at the WWW2008 conference.  Last night, we attended a banquet at the <a title="Wikipedia article on the Great Hall of the People" target="_blank" href="http://en.wikipedia.org/wiki/Great_Hall_of_the_People">Great Hall of the People</a>, which (ironically) is hard for most Chinese people to get into.  On the long bus ride there, I was rather surprised to see a young man driving a trailer-bike with an anarchy flag flying from a pole.</p>
<p>I&#8217;d have loved to grab a picture of this, but we were warned that the security wouldn&#8217;t let us in with any camera bigger than a mobile phone.  Foolishly, I took them at their word; others brought in SLRs, so it&#8217;s clear it wasn&#8217;t that serious a matter.  One of my colleagues refused to attend, even though he had a ticket, because he didn&#8217;t approve of the security screening; I admire his principles.</p>
<p>The banquet was great, with good food and several performances by singers, dancers, musicians, and even a truncated opera.  Tim Berners-Lee gave the keynote, and he spoke about the size and rate of growth of the Internet, comparing it in size to the number of neurons and connections in the human brain.  He also opined about social networks, urging them to adopt privacy policies that respect the users, with the expectation that that would lead to open systems with open data.  He discussed challenges and opportunities in the standards process, pointing out that the very factors that build cohesion and camaraderie in groups serve as bricks in the wall that divides that group from the larger community.  Finally, when asked to speculate about how the world would change because of the Web, he was quick to point out that the Web was built by people, by the larger community, and that this distributed effort will allow humanity to experiment with new models of economy, of cooperation, of government, and with science itself; that we could &#8220;let a thousand flowers bloom&#8221;, and pick the best path forward in all our endeavors.</p>
]]></content:encoded>
			<wfw:commentRss>http://schepers.cc/let-a-thousand-flowers-bloom/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>W3C 2.0</title>
		<link>http://schepers.cc/w3c-20</link>
		<comments>http://schepers.cc/w3c-20#comments</comments>
		<pubDate>Wed, 09 May 2007 17:38:48 +0000</pubDate>
		<dc:creator>Schepers</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Standards]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[Travel]]></category>
		<category><![CDATA[W3C]]></category>
		<category><![CDATA[WebAPI]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.schepers.cc/?p=32</guid>
		<description><![CDATA[<br/>I&#8217;m here in Banff, Canada for the 2007 W3C AC (Advisory Council) meeting. The AC is essentially the company reps to the W3C. I played a small part in one of the panel discussions yesterday. It was the last presentation of the 2-day conference, and the theme was Web2.0: what it is, and how the [...]]]></description>
			<content:encoded><![CDATA[<br/><p>I&#8217;m here in Banff, Canada for the 2007 W3C AC (Advisory Council) meeting. The AC is essentially the company reps to the W3C.  I played a small part in one of the panel discussions yesterday.</p>
<p>It was the last presentation of the 2-day conference, and the theme was Web2.0: what it is, and how the W3C is adapting to and enabling it.  I gave an overview of what Web2.0ey things WAF and WebAPI WGs are doing.  It went well&#8230; I made a short <a title="W3C 2.0 slideshow (in SVG with declarative animation)" target="_blank" href="http://www.schepers.cc/slides/web2_0-progress.svg">SVG slideshow</a> with some geeky in-jokes, and it got some laughs.  It may have been slightly overshadowed, however, by the conversation between 2 of the other panelists: Sir Tim Berners-Lee (the creator of the Web) and Tim O&#8217;Reilly (a prominent tech publisher who coined the term Web2.0).   Tough act to follow.</p>
<p>The conference was a lot of fun, as usual, and I got to meet and talk with a lot of technical luminaries, including <a title="Dave Raggett's profile at W3C homepage" target="_blank" href="http://www.w3.org/People/Raggett/">Dave Raggett</a>, who&#8217;s generously letting Chaals and I crash in his hotel room.<a title="Dave Raggett's profile at W3C homepage" target="_blank" href="http://www.w3.org/People/Raggett/"><br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://schepers.cc/w3c-20/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>SD West</title>
		<link>http://schepers.cc/sd-west</link>
		<comments>http://schepers.cc/sd-west#comments</comments>
		<pubDate>Fri, 23 Mar 2007 03:06:11 +0000</pubDate>
		<dc:creator>Schepers</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Travel]]></category>
		<category><![CDATA[W3C]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.schepers.cc/?p=29</guid>
		<description><![CDATA[<br/>I&#8217;ve been out here in Santa Clara, CA, the last couple of days at SD West, a developer conference. There have been a few good classes (I finally met the hyperproductive Elliotte Rusty Harold for the first time), and a couple of great events. David Platt gave a hilarious and insightful talk based on his [...]]]></description>
			<content:encoded><![CDATA[<br/><p>I&#8217;ve been out here in Santa Clara, CA, the last couple of days at SD West, a developer conference.  There have been a few good classes (I finally met the hyperproductive <a target="_blank" title="Harold's Personal Site" href="http://www.elharo.com/">Elliotte Rusty Harold</a> for the first time), and a couple of great events.  David Platt gave a hilarious and insightful talk based on his book, <a target="_blank" title="Platt's book site" href="http://www.whysoftwaresucks.com/">Why Software Sucks</a>, and Google dominated at the geek-themed quiz show, Developer Bowl.  6th Sense was a finalist for the <a target="_blank" title="Jolt 2007 finalists" href="http://www.joltawards.com/2007/">Jolt Awards</a>, which were announced here last night, and I stood in for our marketing guy, since I was <a title="Speaking at SD West" href="http://www.schepers.cc/?p=10">going to be here anyway</a>.  We didn&#8217;t take away the grand prize for our category, but we were one of the runners-up; we got a nice little plexiglass plaque.</p>
<p>I&#8217;ll be holding my own class on SVG tomorrow afternoon.  I don&#8217;t know how well attended it will be&#8230; the last day of conferences tends to have a lot of attrition.  But it will be fun anyway, and I always enjoy evangelizing SVG.  I whipped up a little presentation app in SVG&#8230; it uses the powerpoint idiom, but slides around a large canvas between text and interactive examples.  I&#8217;ve been using SVG slides for a while, but this is a little more interesting&#8230; well, interesting to make, I hope it&#8217;s interesting to watch.  The class will center on workflow using SVG, and I&#8217;ll dig into code here and there (this is for developers, after all).</p>
<p><strong>Update:</strong>  I&#8217;ve put my <a target="_blank" title="SVG Workflow sideshow in scripted SVG" href="http://www.schepers.cc/slides/svg-workflow.svg">SVG slideshow</a> up here.</p>
]]></content:encoded>
			<wfw:commentRss>http://schepers.cc/sd-west/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Jiggy With SVG, Eh?</title>
		<link>http://schepers.cc/jiggy-with-svg-eh</link>
		<comments>http://schepers.cc/jiggy-with-svg-eh#comments</comments>
		<pubDate>Tue, 19 Dec 2006 05:59:29 +0000</pubDate>
		<dc:creator>Schepers</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[SVG]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[W3C]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.schepers.cc/?p=14</guid>
		<description><![CDATA[<br/>We really had a productive face-to-face meeting of the SVG WG last week. Converging on Raleigh were Chris Lilley of W3C (Scottish, but living in France), Andreas Neumann of ETH (Switzerland), Andrew Shellshear of Canon (Australia), Andrew Emmons of BitFlash (Canada), and Erik Dahlstrom or Opera (Sweden), and Antoine Quint of The (mysterious) Venice Project [...]]]></description>
			<content:encoded><![CDATA[<br/><p>We really had a productive face-to-face meeting of the SVG WG last week.  Converging on Raleigh were Chris Lilley of W3C (Scottish, but living in France), Andreas Neumann of ETH (Switzerland), Andrew Shellshear of Canon (Australia), Andrew Emmons of BitFlash (Canada), and Erik Dahlstrom or Opera (Sweden), and  Antoine Quint of The (mysterious) Venice Project (France).  We locked ourselves in a room and finished up the <a title="Expanded SVG 1.1 Test Suite" target="_blank" href="http://www.w3.org/Graphics/SVG/Test/20061213/">revised test suite</a>, broke the ground on the errata document.</p>
<p>At one point, our Canadian colleague stated, quite straight-faced, that he was (and I quote) &#8220;jiggy with&#8221; a resolution on a particular technical point.  My jaw dropped.  I didn&#8217;t know anyone was jiggy with anything anymore&#8230; but he went on to claim that it&#8217;s a common thing for Canadians to say.  Just when you think you know a country, they drop a bombshell like that&#8230;</p>
<p>Read on for a brief summary of the proceedings&#8230;</p>
<p><span id="more-14"></span>The test suite took far longer than expected, as expected.  We spent nearly 3 days locking down what we&#8217;d hoped would take a few hours, but these things rarely go smoothly.  But we were determined that it would be published before we closed shop, and published it was.  One reason it&#8217;s so vital is that it will serve as the backbone of the SVG Tiny 1.2 Test Suite, which we need for that spec to move forward.</p>
<p>We made up for the lost time by working an extra day, meeting for 5 days instead of the usual 4.<br />
We also began the SVG 1.1 Errata, a document that will correct some mistakes (ranging from mere typos to troublesome ambiguity to maldesigned features) from that earlier spec.  Our publication goal for that document is early January.  An errata is critical for new implementations, so they don&#8217;t have to implement bugs while trying to conform to the spec, and so they know how a feature is supposed to be implemented in the first place.</p>
<p>We also took care of a few liaisons with other standards groups, both within W3C and outside.  We reviewed the upcoming <a title="XML Binding Language 2.0" target="_blank" href="http://www.w3.org/TR/xbl/">XBL2 spec</a> (a pretty exciting technology that I will talk about at some later point), and tried to coordinate features with another specification from the MPEG group which is mandated to use SVG.  We intended to communicate with the CSS Working Group about their CSS 2.1 spec, which is moving toward Candidate Recommendation status, just to make sure that our 2 technologies don&#8217;t needlessly clash, but the chair of our group fell deathly ill the day we meant to do that (unrelated, I&#8217;m sure&#8230; well, probably).  We&#8217;d set a pretty aggressive agenda, so I&#8217;m not surprised a couple of things got lost in the shuffle.</p>
<p>In addition to all that bureaucracy,  we did some exciting first steps toward our next specification.  Going forward, rather than publish a monolithic spec that takes forever to publish, we will be making smaller, more focused specs that will combine, Voltron-like, into a larger, more powerful spec.  The first 2 modules (as we&#8217;re calling them) have their early drafts done: SVG Print, and SVG Filters.  We reviewed them and resolved some issues there.</p>
<p>Finally, we ended the face-to-face on a fun note by judging the SVG logo contest.  I&#8217;ll write a separate post about that, but suffice it to say that I was pleased with the winning entry.</p>
]]></content:encoded>
			<wfw:commentRss>http://schepers.cc/jiggy-with-svg-eh/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Get An Ointment For That</title>
		<link>http://schepers.cc/get-an-ointment-for-that</link>
		<comments>http://schepers.cc/get-an-ointment-for-that#comments</comments>
		<pubDate>Wed, 13 Dec 2006 16:44:03 +0000</pubDate>
		<dc:creator>Schepers</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[SVG]]></category>
		<category><![CDATA[W3C]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.schepers.cc/?p=13</guid>
		<description><![CDATA[<br/>All this week, 6th Sense Analytics (my employer) is hosting the SVG Working Group&#8217;s F2F (face-to-face meeting). Normally, the SVG WG conducts its business via email or twice-weekly &#8220;telcons&#8221; (voice conferences enhanced by concurrent group chat sessions in IRC). But there&#8217;s nothing like sitting around a table, locked in a room together, to get resolutions [...]]]></description>
			<content:encoded><![CDATA[<br/><p>All this week, 6th Sense Analytics (my employer) is hosting the SVG Working Group&#8217;s F2F (face-to-face meeting).  Normally, the SVG WG conducts its business via email or twice-weekly &#8220;telcons&#8221; (voice conferences enhanced by concurrent group chat sessions in IRC).  But there&#8217;s nothing like sitting around a table, locked in a room together, to get resolutions on issues.  Thus, the quarterly F2Fs.</p>
<p>So, a contingent of the SVG WG is gathered here in Raleigh (well, Morrisville), NC.  We&#8217;ve been hard at work knocking out the long-overdue SVG 1.1 Test Suite (more later), liaisons with other standards groups, and other matters.</p>
<p>For dinner the first night, we went to a pub in Raleigh called Hibernian.  Our chair, Chris Lilley, entered us into the pub quiz under the obscure (dare I say geeky?) moniker &#8220;SVG++&#8221;.  When the announcer was introducing the teams by names (most of which involved being drunk), he exclaimed, &#8220;SVG-plus-plus&#8230;? What is that, a disease?  Get an ointment for that!&#8221;</p>
<p>If you&#8217;re really interested in the gruelling details of the F2F, read on&#8230;<br />
<span id="more-13"></span><br />
<strong>SVG 1.1 Test Suite </strong></p>
<p>As any QA person will tell you, test cases are as important as they are mind-numbingly tedious.  Without a test suite, implementors of a technical specification (like browsers or authoring tools) have no good way to make sure that they are indeed conforming to the spec.  As complete as a specification may be, the devil is in the details, and there are innumerable tiny ways that different implementations can diverge.  This is well and truly annoying for content authors, who want their page or image to just work across browsers (and rightfully so).  Implementors know this, and they have 2 choices:</p>
<ol>
<li>Make a guess, and do it the way they think it should be done (hopefully, the way they interpret the spec, but sometimes how they think the spec <em>should </em>have been), and hope that all the other implementors do it the same way; or</li>
<li>Copy the behavior of other implementations, whether or not it agrees with the spec.</li>
</ol>
<p>With both options, but especially the second one, you are likely to differ from what the spec says, and so authors just do what works&#8230; even if it&#8217;s technically wrong.  You can&#8217;t blame them.  This happened with Adobe&#8217;s SVG viewer: it did lots of stuff &#8220;wrong&#8221;, and when Firefox and Opera came along and did those things right, folks found that their content from years back was suddenly broken.  That sucked.  HTML also suffered from this, and got caught in an downward spiral, where implementors had to  support the wrong-but-backwards-compatible behavior that most content authors were forced to code to by implementors that supported the wrong behavior&#8230;</p>
<p>SVG is hoping to avoid that by simply moving forward and being more precise in what implementors should do in any given circumstance.  This is where the test suite comes in.  With a complete test suite that provides reference behavior (especially for tricky bits that are subject to misinterpretation), implementors know where they went wrong, and authors can definitively point out specific bugs that they need fixed.</p>
<p>Of course, this test suite should have been published 3 or 4 years ago, when the last version of the spec was published, and implementors (and vendors) are chomping at the bit for it to be done.  But like I said, this is boring and exacting work, so I&#8217;m not surprised it got put off when there are tons of other things on the agenda.   To be fair, most of the tests were already created long ago, but needed to be reviewed, corrected if necessary (bad tests, as you might suspect, are bad), put into the proper format, and published.  But we&#8217;re on a forced march to get it out this week, and to start on the SVG Tiny 1.2 Test Suite and the errata for SVG 1.1.  More on that tomorrow.</p>
]]></content:encoded>
			<wfw:commentRss>http://schepers.cc/get-an-ointment-for-that/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Speaking at SD West</title>
		<link>http://schepers.cc/speaking-at-sd-west</link>
		<comments>http://schepers.cc/speaking-at-sd-west#comments</comments>
		<pubDate>Wed, 01 Nov 2006 22:55:24 +0000</pubDate>
		<dc:creator>Schepers</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[SVG Basics]]></category>
		<category><![CDATA[Travel]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.schepers.cc/?p=10</guid>
		<description><![CDATA[<br/>I just sent in my confirmation letter for my presentation at SD West 2007, a respected technical conference series in Santa Clara, California. I&#8217;ll be speaking on (can you guess?) SVG (you got it!) in a talk entitled Scalable Vector Graphics: Shaping Up the Web. The conference will be going on March 19-23, 2007. My [...]]]></description>
			<content:encoded><![CDATA[<br/><p>I just sent in my confirmation letter for my presentation at <a title="Software Development Conference &#038; Expo" target="_blank" href="http://www.sdexpo.com/">SD West 2007</a>, a respected technical conference series in Santa Clara, California.  I&#8217;ll be speaking on (can you guess?) SVG (you got it!) in a talk entitled <em>Scalable Vector Graphics: Shaping Up the Web</em>.  The conference will be going on March 19-23, 2007.  My company is really working on getting speaking engagements, so I think this may be only one of several that I&#8217;ll be doing in 2007.  Of course, I will be speaking at &#8211;and helping to plan&#8211; the <a title="Conference dedicated to SVG" href="http://www.svgopen.org/">SVG Open</a> conference next year as well.  I normally give a 101 class introducing SVG there, in addition to a presentation on current projects I&#8217;m developing.</p>
]]></content:encoded>
			<wfw:commentRss>http://schepers.cc/speaking-at-sd-west/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

