<?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>Infrequently Noted &#187; openweb</title>
	<atom:link href="http://infrequently.org/tag/openweb/feed/" rel="self" type="application/rss+xml" />
	<link>http://infrequently.org</link>
	<description></description>
	<lastBuildDate>Fri, 18 Nov 2011 16:25:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>View-Source Is Good? Discuss.</title>
		<link>http://infrequently.org/2010/01/view-source-is-good-discuss/</link>
		<comments>http://infrequently.org/2010/01/view-source-is-good-discuss/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 03:36:22 +0000</pubDate>
		<dc:creator>alex</dc:creator>
				<category><![CDATA[webdev]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[openweb]]></category>
		<category><![CDATA[silverlight]]></category>
		<category><![CDATA[viewsource]]></category>

		<guid isPermaLink="false">http://alex.dojotoolkit.org/?p=1241</guid>
		<description><![CDATA[I&#8217;ve been invited by Chris Messina and some kindly folks at MSFT to participate in a panel at this year&#8217;s SxSW regarding the value and/or necessity of view-source, and so with apologies to my fellow panelists, I want to get the conversation started early. First, my position: ceteris paribus, view-source was necessary (but not sufficient) [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been invited by <a href="http://factoryjoe.com/blog/">Chris Messina</a> and some <a href="http://chrisbernard.blogs.com/">kindly folks</a> at MSFT to participate in a panel at this year&#8217;s SxSW regarding the value and/or necessity of view-source, and so with apologies to my fellow panelists, I want to get the conversation started early.</p>
<p>First, my position: <em><a href="http://en.wikipedia.org/wiki/Ceteris_paribus">ceteris paribus</a></em>, view-source was necessary (but not sufficient) to make HTML the dominant application platform of our times. I also hold that it is under attack &mdash; not least of all from within &mdash; and that losing view-source poses a significant danger to the overall health of the web.</p>
<p>That&#8217;s a lot to hang on the shoulders of a relatively innocent design decision, and I don&#8217;t mean to imply that any system that has a view-source like feature will become dominant. But I do argue that it helps, particularly when coupled with complementary features like reliable parsing, semantic-ish markup, and plain-text content. Perhaps it&#8217;s moving the goal line a bit, but when I talk about the importance of view-source, I&#8217;m more often than not discussing these properties together.</p>
<p>To understand the importance of view-source, consider how people learn. <a href="http://vis.berkeley.edu/papers/prefuse/2005-prefuse-CHI.pdf">Some evidence exists</a> that even trained software engineers chose to work with copy-and-pasted example code. Participants in the linked study even expressed guilt over the copy-paste-tweak method of learning, but guilt didn&#8217;t change the dynamic: a blank slate and abstract documentation doesn&#8217;t facilitate learning nearly as well as poking at an example and feeling out the edges by doing. View-source provides a powerful catalyst to creating a culture of shared learning and learning-by-doing, which in turn helps formulate a mental model of the relationship between input and output faster. Web developers get started by taking some code, pasting it into a file, saving, loading it in a browser and hitting <code>ctrl-r</code>. Web developers switch between editor and browser between even the most minor changes. This is a stark contrast with technologies that impose a compilation step where the process of seeing what was done requires an intermediate step. In other words, immediacy of output helps build an understanding of how the system will behave, and <code>ctrl-r</code> becomes a seductive and productive way for developers to accelerate their learning in the copy-paste-tweak loop. The only required equipment is a text editor and a web browser, tools that are free and work together instantly. That is to say, there&#8217;s no waiting between when you save the file to disk and when you can view the results. It&#8217;s just a <code>ctrl-r</code> away.</p>
<p>With that hyper-productive workflow as the background, view-source helps turn the entire web into a giant learning lab, and one that&#8217;s remarkably resilient to error and experimentation. See an interesting technique or layout? No one can tell you &#8220;no&#8221; to figuring out how it was done. Copy some of it, paste it into your document, and you&#8217;ll get <em>something</em> out the other side. Browsers recovering from errors gracefully create a welcome learning environment, free of the inadequacy that a compile failure tends to evoke. You can <em>see</em> what went wrong as often as not. The evolutionary advantages of reliable parsing have helped to ensure that strict XML content comprises roughly none of the web, a decade after it was recognized as &#8220;better&#8221; by world+dog. Even the most sophisticated (or broken) content is inspectable at the layout level and tools like <a href="http://getfirebug.com/">Firebug</a> and the <a href="http://webkit.org/blog/829/web-inspector-updates/">Web Inspector</a> accelerate the copy-paste-tweak cycle by inspecting dynamic content and allowing live changes without reloads, even on pages you don&#8217;t &#8220;own&#8221;. The predicate to these incredibly powerful tools is the textual, interpreted nature of HTML. There&#8217;s much more to say about this, but lets instead turn to the platform&#8217;s relative weaknesses as a way of understanding how view-source is easily omitted from competing technologies.</p>
<p>The first, and most obvious, downside to the open-by-default nature of the web is that it encourages multiple renderers. Combined with the ambiguities of reliable parsing and semantics that leave room for interpretation, it&#8217;s no wonder that web developers struggle through incompatibilities. In a world where individual users each need to be convinced to upgrade to the newest version of even a single renderer, differences only in version can wreak havoc in the development process. Things that work in one place may not look exactly the same in another. This is both a strength and a weakness for the platform, but at the level of sophisticated applications, it&#8217;s squarely a liability. Next, ambiguities in interpretation and semantics mean that the project of creating tooling for the platform is significantly more complex. If only one viewer is prevalent (for whatever reason), then tools only need to consume and generate code that understands the constraints, quirks, and performance of a single runtime. Alternate forms of this simplification include only allowing code (not markup) so as to eliminate parsing ambiguity. The code-not-markup approach yields a potentially more flexible platform and one that can begin to execute content more quickly (as Flash does). These advantages, taken together, can create an incredibly productive environment for experts in the tools that generate content: no output ambiguity, better performance, and tools that can deliver true WYSIWYG authoring. These tools can sidestep the <code>ctrl-r</code> cycle entirely.</p>
<p>But wait, I hear you shout, It&#8217;s possible to do code-only, toolable, full fidelity development in JavaScript! Tools like GWT and Cappuccino generate code that generates UI, ensuring that only those who can write code or have tools that can will participate; removing the potential value of view-source for those apps. But lets be honest: view source is nearly never locally beneficial. I can hardly count the number of times I&#8217;ve seen the &#8220;how do I hide my code?&#8221; question from a web n00b who (rightly or wrongly) imagines there&#8217;s value in it. For GWT the fact that the output is an HTML DOM that&#8217;s styled with CSS is as much annoyance as benefit. The big upside is that browsers are the dominant platform and you don&#8217;t have to convince users to install some new runtime.</p>
<p>Similarly Flex, Laszlo, GWT&#8217;s UI Binder, and Silverlight have discovered the value in markup as a simple declarative way for developers to understand the hierarchical relationships between components, but they correspond to completely unambiguous definitions of components they rely on compiled code &mdash; not reliably parsed markup &mdash; for final delivery of the UI. These tight contracts turn into an evolutionary straightjacket. Great if you&#8217;re shipping compiled code down the wire that can meet the contract, but death if those tags and attributes are designed to live for long periods of time or across multiple implementations. You might be able to bolt view-source into the output, but it&#8217;ll always be optional and ad-hoc, features that work against it being pervasive. Put another way, the markup versions of these systems are leaky abstractions on the precise, code-centric system that under-girds both the authoring and runtime environments. This code-centric bias is incredibly powerful for toolmakers and &#8220;real&#8221; developers, but it cuts out others entirely; namely those who won&#8217;t &#8220;learn to program&#8221; or who want to build tools that inject content into the delivery format.</p>
<p>Whatever the strengths of code-based UI systems, they throw web crawlers for a loop. Today, most search engines deal best with text-based formats, and those search engines help make content more valuable in aggregate than it is on its own. Perhaps it&#8217;s inevitable that crawlers and search engines will need to execute code in order to understand the value of content, but I remain unconvinced. As a thought experiment, consider a web constructed entirely of Flash content. Given that Flash bytecode lacks a standard, semantic way to denote a relationship between bits of Flash content, what parts of the web wouldn&#8217;t have been built? What bits of your work would you do differently? What would the process be? There&#8217;s an alternate path forward that suggests that we can upgrade the coarse semantics of the web to deal with ever-more-sophisticated content requirements. Or put another way, use the features of today&#8217;s toolkits and code generators as a TODO list for markup driven features. But the jury is still out on the viability that approach; the same dynamic that makes multiple renderers possible ensures that getting them to move in a coordinated way is much harder than the unilateral feature roadmap that plugin vendors enjoy. HTML 5 and CSS 3 work is restarting those efforts, but only time will tell if we can put down the code and pick markup back up as a means to express ourselves.</p>
<p>I&#8217;ve glossed over a lot of details here, and I haven&#8217;t discussed implications for the server side of a non-text format as our lingua-franca, nor have I dug into the evolution metaphor. Many of the arguments are likewise conditional on economic assumptions. There&#8217;s lots of discussion yet to have, so if you&#8217;ve got links to concrete research in either direction or have an experience that bears on the debate post in the comments! Hopefully my fellow panelists will respond in blog form and I&#8217;ll update this post when they do.</p>
]]></content:encoded>
			<wfw:commentRss>http://infrequently.org/2010/01/view-source-is-good-discuss/feed/</wfw:commentRss>
		<slash:comments>41</slash:comments>
		</item>
		<item>
		<title>WebKit == Mobile</title>
		<link>http://infrequently.org/2009/01/webkit-mobile/</link>
		<comments>http://infrequently.org/2009/01/webkit-mobile/#comments</comments>
		<pubDate>Thu, 22 Jan 2009 18:05:02 +0000</pubDate>
		<dc:creator>alex</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[openweb]]></category>
		<category><![CDATA[pre]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://alex.dojotoolkit.org/?p=869</guid>
		<description><![CDATA[With the Pre/Mojo announcement, it&#8217;s becoming clear that WebKit has mobile all sewn up. It bears listing who&#8217;s betting on WebKit and where: Apple iPhone, Safari Google Android, Chrome Nokia Series 60 browser Plam WebOS Adobe AIR web runtime From deep integration with the platform to being the platform, WebKit in various forms is how [...]]]></description>
			<content:encoded><![CDATA[<p>With the <a href="http://alex.dojotoolkit.org/2009/01/whoa/">Pre/Mojo announcement</a>, it&#8217;s becoming clear that <a href="http://webkit.org/">WebKit</a> has mobile all sewn up. It bears listing who&#8217;s betting on WebKit and where:</p>
<dl>
<dt>Apple</dt>
<dd>iPhone, Safari</dd>
<dt>Google</dt>
<dd>Android, Chrome</dd>
<dt>Nokia</dt>
<dd>Series 60 browser</dd>
<dt>Plam</dt>
<dd>WebOS</dd>
<dt>Adobe</dt>
<dd>AIR web runtime</dd>
</dl>
<p>From deep integration with the platform to <em>being</em> the platform, WebKit in various forms is how nearly every credible smartphone now &#8220;does&#8221; the web. The major outliers here are the WinCE devices, Blackberry, and whatever Sony&#8217;s doing this week, but the writing is on the wall for them too. Mobile IE is a joke and the Blackberry succeeds in spite of its web experience. iPhone, Android, and Pre have raised the bar. The sucky-web center will not hold.</p>
<p>For a sizable chunk of the mobile browsers that a web developer would like to target today, that means that WebKit == Mobile. <a href="http://alex.dojotoolkit.org/06/EuroOSCON/MobileAjax.pdf">As predicted, the mobile world has beaten the desktop to the web of the future</a>. It doesn&#8217;t hurt that WebKit is making deep inroads into the desktop, either&#8230;.but then you could reasonably assume that <a href="http://code.google.com/chromium/">they pay me to say that</a>.</p>
<p>So what does a WebKit-only world look like? And how portable are our desktop-web skills and tools? I did a quick set of experiments this past weekend to see how much of Dojo you&#8217;d still need and what we could leave behind. The results are encouraging. The headline numbers for <code>dojo.js</code> are roughly:</p>
<table class="simpleStats">
<thead>
<tr>
<th></th>
<th>ShrinkSafe</th>
<th>+gzip</th>
</tr>
</thead>
<tbody>
<tr>
<td>Standard Build</td>
<td>79K</td>
<td>27K</td>
</tr>
<tr>
<td>webkitMobile=true</td>
<td>56K</td>
<td>20K</td>
</tr>
<tr>
<td>Savings</td>
<td>23K (29%)</td>
<td>7K (26%)</td>
</tr>
</tbody>
</table>
<p>You can grab a copy of this pre-1.3.0 version <a href="http://alex.dojotoolkit.org/09/webkitMobile.dojo.js">here (webkitMobile.dojo.js)</a>.</p>
<p>The big size wins (in decreasing order) were:</p>
<ol>
<li>Moving to a QSA-only version of <code>dojo.query()</code></li>
<li>Being able to use intrinsics for <code>dojo.forEach</code>, etc.</li>
<li>Dropping IE and FF-specific rendering, XHR, and style hacks</li>
<li>Using a common closure wrapper for the entire core</li>
</ol>
<p>And there&#8217;s even more fruit on the vine. I think without too much more work I&#8217;ll be able to drop the current animation system in favor of pure CSS animations and can significantly simplify the XHR code which doesn&#8217;t do the straightforward thing to avoid terrible memory leaks on IE and very old versions of FF.</p>
<p>All of this points to where we <em>could</em> be if the browsers just got collectively awesome all of a sudden. That&#8217;s the good news. The downside is that still leaves a lot of janktastic spec mistakes to be worked around at nearly every level of the platform. This experiment suggests that there is still a price to be paid just to get the platform to a usable state. If we look at the APIs of Dojo, Prototype, or jQuery as a set of suggestions for the APIs that the web <em>should</em> expose, then it becomes pretty clear that we&#8217;ve still got a long long way to go. But we can do at least 30% better in the short run, and I&#8217;m very glad of that.</p>
<p>My friends over at <a href="http://www.sitepen.com/blog/2009/01/22/platform-optimization-strategies-for-ajax-toolkits/">SitePen beat me to the punch</a> on <a href="http://bugs.dojotoolkit.org/ticket/8447">my own patches</a>, but that&#8217;s how it goes sometimes. Props to them for that.</p>
]]></content:encoded>
			<wfw:commentRss>http://infrequently.org/2009/01/webkit-mobile/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>The Appalling State of Tech Journalism: Reflected in the Chrome</title>
		<link>http://infrequently.org/2008/09/the-appalling-state-of-tech-journalism-reflected-in-the-chrome/</link>
		<comments>http://infrequently.org/2008/09/the-appalling-state-of-tech-journalism-reflected-in-the-chrome/#comments</comments>
		<pubDate>Wed, 03 Sep 2008 04:09:46 +0000</pubDate>
		<dc:creator>alex</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[journalism]]></category>
		<category><![CDATA[openweb]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://alex.dojotoolkit.org/?p=754</guid>
		<description><![CDATA[Taking a page (or is it a post?) from Brad DeLong&#8217;s long-running laments on the state of journalism in general, I have been reading the coverage of the Chrome announcement and keep asking myself &#8220;why, oh why, can&#8217;t we have better tech journalism?&#8221; Take, for example, ZDNet&#8217;s gutter-to-gutter coverage which, I&#8217;m afraid, simply ends in [...]]]></description>
			<content:encoded><![CDATA[<p>Taking a page (or is it a post?) from Brad DeLong&#8217;s <a href="http://delong.typepad.com/">long-running laments on the state of journalism in general</a>, I have been reading the coverage of the Chrome announcement and keep asking myself &#8220;why, oh why, can&#8217;t we have better tech journalism?&#8221;</p>
<p>Take, for example, ZDNet&#8217;s gutter-to-gutter coverage which, I&#8217;m afraid, simply ends in the intellectual gutter. <a href="http://blogs.zdnet.com/BTL/?p=9855">Larry Dignan&#8217;s piece</a> does the profession no favors by simply recycling the tried-and-true blogger formula for traffic generation:</p>
<pre>
I know about X, Google did Y, which is clearly *all about* X
</pre>
<p>The best of this flavor of &#8220;story&#8221; approaches the quality level of a plausible but objectively outlandish conspiracy theory, often pulling together bits of fact with a healthy dose of wild speculation (journalistically couched as the unfounded and unquestioned opinion of some supposedly credible third party).</p>
<p>ZDNet piles all aboard the loony-bin express with <a href="http://blogs.zdnet.com/open-source/?p=2842">Paula Rooney&#8217;s &#8220;analysis&#8221; piece</a>, helpfully asking the non-question &#8220;is this a prelude to Google acquiring Mozilla?&#8221;. In what twisted alternate universe would this wild, hair-brained straw-man garner a full &#8216;graf in a legit online publication, let alone a respected print daily? A small, tiny dig into the strategy of Google&#8217;s Mozilla search placement deal and the infrastructure of the Chrome browser would lead anyone (and everyone) to conclude that Google&#8217;s interest here is in keeping the browser a viable platform by any means necessary, not that they would ever gain anything by &#8220;acquiring&#8221; MoCo or MoFo (an even more nutty idea, since it would be difficult for a 501(c)3 organization to transfer resources and assets to a for-profit entity anyway).</p>
<p>The strategic and tactical incoherence continues with the daringly dumb quote:</p>
<blockquote><p>
Larry Dignan of ZDnet suggests that perhaps Google and Mozilla are working together as a tag team to defeat Microsoft’s Internet Explorer, and that Google may perhaps purchase the Mozilla Firefox crew and integrate the two code bases to deliver a kock out punch to Microsoft’s IE. Will Mozilla become Google browser labs? Given the close cooperation of the two projects, it’s more than possible.
</p></blockquote>
<p>Ignoring the incestuous and dubious use of a fellow reporter&#8217;s speculation as a source for an article, the idea that the Google would want much (if any) of the Firefox team (or vice versa) beyond those which they already pulled away. It does Google no good to reduce competition in the browser space, and one can imagine that there&#8217;s no love lost at Mozilla over Chrome, particularly after Google shunned the Firefox rendering engine, replaced the JavaScript engine, and re-built the entire visual and end-user experience from-scratch with completely different technology (i.e., not <a href="http://www.mozilla.org/projects/xul/">XUL</a>). Good sourcing might have fleshed out the idea and perhaps even made a case for the theory, but alas, that seems far too much for ZDNet to produce on deadline. I mean, it&#8217;s not like they cover technology <em>for a living</em>&#8230;gosh, that&#8217;d be embarrassing. Quick tip for the next time they want to write this story: <em>Google</em> just became &#8220;Google&#8217;s browser labs&#8221; after giving Mozilla a <a href="http://thetruthaboutmozilla.wordpress.com/2008/02/25/the-google-browser/">good long run at it</a>. They&#8217;re still strategically aligned, but Google seems impatient and is likely most interested in having direct leverage in the browser space (first via Gears and now Chrome) instead of the indirect influence they exerted over Firefox when it was still &#8220;Plan A&#8221;.</p>
<p>The coupe-de-disgrace belongs to PC World, though. After laying out 7 sensible, but &#8220;<a href="http://www.pcworld.com/article/150585/googles_chrome_7_reasons_for_it_and_7_reasons_against_it.html">we&#8217;re just cribbing this from the press release, really</a>&#8221; reasons to like Chrome they proceed to <a href="http://www.pcworld.com/article/150585-2/googles_chrome_7_reasons_for_it_and_7_reasons_against_it.html">indulge in 7 forehead-slappingly idiotic reasons why you might consider something announced as a Beta to be&#8230;well&#8230;a beta</a>. It feels kinda dirty just linking to it. Luckily, the PC World crew was able to get it together enough to publish a scoop-free &#8220;I played with it for 5 minutes&#8221; piece <a href="http://www.washingtonpost.com/wp-dyn/content/article/2008/09/02/AR2008090202840.html">that WaPo wasn&#8217;t embarrassed to run</a>, although the &#8220;like being there!&#8221; aspect really looses it&#8217;s punch when anyone can download the beta and, well, <a href="http://www.google.com/chrome">be there</a>.</p>
<p>At least with <a href="http://www.wired.com/techbiz/it/magazine/16-10/mf_chrome">Wired</a> you know you&#8217;ll be getting fawning access journalism without the pretense of objectivity, but damnit, it&#8217;ll be well written and vaguely cogent.</p>
<p>I won&#8217;t even start on the blags. It&#8217;s to depressing. I&#8217;ll except <a href="http://ajaxian.com/archives/google-chrome-chromium-and-v8">Ajaxian</a> and <a href="http://blogoscoped.com/">Philipp Lenssen</a> here as they added some useful background from the inside perspective and scooped the story (respectively). &#8220;Citizen journalism&#8221; has a loooong way to go before it earns a place in the 4th estate, though.</p>
<p>Why, oh why, can&#8217;t we have better tech journalists?</p>
]]></content:encoded>
			<wfw:commentRss>http://infrequently.org/2008/09/the-appalling-state-of-tech-journalism-reflected-in-the-chrome/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>

