<?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>Web Things, by Mark Baker &#187; dom</title>
	<atom:link href="http://www.markbaker.ca/blog/tag/dom/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.markbaker.ca/blog</link>
	<description>Celebrating the power of the Web</description>
	<lastBuildDate>Sun, 21 Aug 2011 12:23:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Google Gears: the SOAP approach to Web app development</title>
		<link>http://www.markbaker.ca/blog/2008/07/google-gears-the-soap-approach-to-web-app-development/</link>
		<comments>http://www.markbaker.ca/blog/2008/07/google-gears-the-soap-approach-to-web-app-development/#comments</comments>
		<pubDate>Thu, 24 Jul 2008 05:21:38 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[dom]]></category>
		<category><![CDATA[gears]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[web20]]></category>

		<guid isPermaLink="false">http://www.markbaker.ca/blog/?p=1570</guid>
		<description><![CDATA[I respect what Google&#8217;s trying to accomplish with Gears very much, and appreciate that they&#8217;re helping draw attention to the need to build out the client-side of the Web a bit more, and that they&#8217;re doing it with open source. They&#8217;ve nailed the what perfectly. Then again, Web services nailed their requirements perfectly too. I [...]]]></description>
			<content:encoded><![CDATA[<p>I respect what Google&#8217;s trying to accomplish with <a href="http://gears.google.com/">Gears</a> very much, and appreciate that they&#8217;re helping draw attention to the need to build out the client-side of the Web a bit more, and that they&#8217;re doing it with open source.  They&#8217;ve nailed the <em>what</em> perfectly.</p>

<p>Then again, Web services nailed their requirements perfectly too.</p>

<p>I think the <em>how</em> of what Gears is doing is, frankly, misguided.  There&#8217;s minimal reuse of existing Web technologies, and it&#8217;s overly imperative when it could be easily be far more declarative.  Each of these issues raise the bar for the kinds of skills a Web developer needs.  Not a good thing.</p>

<p>Interestingly, the Web services analogy doesn&#8217;t stop at the requirements.  When I talk about &#8220;minimal reuse&#8221;, what I&#8217;m referring to is that the Web already has a mature and general API for accessing and manipulating local data-oriented services &#8211; the DOM &#8211; and no &#8220;gear&#8221; I&#8217;ve seen has yet to use it for data access.  So instead of a Javascript GeoLocation object that might expose method calls such as getCurrentLocation() or getLockedSatellites(), why not make the object a <a href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-1950641247">DOM Node</a> and treat the data contained within as a document?  Something like;</p>
<pre>&lt;Location&gt;
  &lt;Current&gt;45.234,-120.999&lt;/Current&gt;
  &lt;LockedSattelites&gt;4&lt;/LockedSatellites&gt;
&lt;/Location&gt;</pre>
<p>(or better yet perhaps, microformatted HTML &#8211; though there&#8217;s <a href="http://lists.w3.org/Archives/Public/public-geolocation/2008Jun/0167.html">issues</a> there)</p>

<p>Then you could use the DOM itself to get at those values, or perhaps even a CSS selector.  Simple!.  You even get <a href="http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html">events</a> for free.</p>

<p>Why is it that the industry continues to overlook the value of reusing pervasively deployed generic abstractions, be they <a href="http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm#sec_5_1_5">network oriented</a> or local?  It couldn&#8217;t be a case of <a href="http://en.wikipedia.org/wiki/Not_Invented_Here">NIH</a>, because the DOM is unavoidable if you&#8217;re a Web dev.  I guess it just didn&#8217;t occur to the them, though that doesn&#8217;t explain the <a href="http://lists.w3.org/Archives/Public/public-geolocation/2008Jun/0005.html">push back</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.markbaker.ca/blog/2008/07/google-gears-the-soap-approach-to-web-app-development/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

