<?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>Danny Thorpe &#187; Google Gears</title>
	<atom:link href="http://dannythorpe.com/tag/google-gears/feed/" rel="self" type="application/rss+xml" />
	<link>http://dannythorpe.com</link>
	<description>Dream &#38; Deliver</description>
	<lastBuildDate>Wed, 04 Jan 2012 21:20:49 +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>Client-Side Live Operating Environment: What&#8217;s It For?</title>
		<link>http://dannythorpe.com/2008/11/18/client-side-live-operating-environment-whats-it-for/</link>
		<comments>http://dannythorpe.com/2008/11/18/client-side-live-operating-environment-whats-it-for/#comments</comments>
		<pubDate>Tue, 18 Nov 2008 08:42:37 +0000</pubDate>
		<dc:creator>Danny Thorpe</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[Google Gears]]></category>
		<category><![CDATA[Live Framework]]></category>
		<category><![CDATA[Mesh]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://dannythorpe.com/2008/11/18/client-side-live-operating-environment-whats-it-for/</guid>
		<description><![CDATA[Dare Obasanjo has written up his characteristically frank first impressions of Live Framework and how it compares to Google&#8217;s GData API.  It&#8217;s a good read:  Live Framework (LiveFx): Is It Microsoft&#8217;s GData or Something More?   Dare closes the article with this: On the flip side, the client-side Live Operating Environment is a technology whose benefits <a href='http://dannythorpe.com/2008/11/18/client-side-live-operating-environment-whats-it-for/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>Dare Obasanjo has written up his characteristically frank first impressions of Live Framework and how it compares to Google&#8217;s GData API.  It&#8217;s a good read:  <a href="http://www.25hoursaday.com/weblog/2008/11/17/LiveFrameworkLiveFXIsItMicrosoftsGDataOrSomethingMore.aspx">Live Framework (LiveFx): Is It Microsoft&#8217;s GData or Something More?</a> </p>
<p> Dare closes the article with this:</p>
<blockquote><p>On the flip side, the client-side Live Operating Environment is a technology whose benefits elude me. I admit it is kind of cool but I can&#8217;t see its utility.</p></blockquote>
<p>The answer, in a word, is &#8220;offline.&#8221; </p>
<p>The local Live Operating Environment (local LOE) is what makes running mesh-enabled web applications on the desktop, outside the browser, possible.  The local LOE creates and manages a sandboxed execution environment for the mesh app, just like a browser would for an HTML+JavaScript or Silverlight application but without the browser UI frame looming overhead. </p>
<p>It seems like a trivial thing, whether or not the browser frame surrounds your app UI. Does it matter? The answer is yes &#8211; having your app surrounded by browser UI constantly and forcibly reminds the user that this isn&#8217;t a real app, it&#8217;s just a web page with lipstick.</p>
<p>This is doubly true if you throw offline execution into the mix.  We&#8217;ve done a great job drilling into non-technical heads that viewing the web is an online activity (Yes, browsers have offline cached content modes now, but have you ever seen any non-geek use them?).  Now say we&#8217;re offline.  &#8220;I can&#8217;t get to the web, but I can get to that app in the browser?  (wimper) I don&#8217;t understand!&#8221; or &#8220;I click on this shortcut and it brings up my app in the browser. Hey! Is the network connected?  How did that happen?&#8221;</p>
<p>There is no such confusion when the user perceives a desktop application that uses the network. The best way to dissociate the app from the browser is to not show the app inside the browser. Thus we arrive at one of the holy grails of web apps: to run on the desktop and look just like any other client app on that local machine.</p>
<p>But I digress.  Back to the LOE.</p>
<p>The local LOE coordinates the data sync between the cloud and the local machine to keep the local cache of Mesh Objects and their data feeds up to date with changes made in the cloud, and to push changes made locally up to the cloud.  This includes pulling down updates to the mesh apps themselves, since they are stored in Mesh Objects also. (Well, isn&#8217;t that con<em>veeen</em>ient&#8230;)</p>
<p>The local LOE manages the user login and identity for mesh-enabled web apps running on the local desktop, just as the browser does for web apps running in the browser.</p>
<p>The local LOE implements the Live Framework APIs for data feed reading, editing, and synchronizing, so that a mesh-enabled web app can use the same APIs with the same semantics whether it&#8217;s running in the browser talking to data stored in the cloud or running on the local desktop talking to data stored (cached) on the local machine.  The only real difference between cloud and local is the domain name, and the mesh app doesn&#8217;t even have to care about that (the Live Framework client library will take care of it).</p>
<p>Having the local LOE doing all of these things on the local machine gives you the ultimate goal: running mesh-enabled web applications offline, while the network connection is disconnected completely or connected only intermittantly. The local LOE provides the execution environment, the data storage and data sync, the user identity credentials, and the RESTful APIs that the mesh app expects from a cloud - when there isn&#8217;t a cloud.</p>
<p>This is a very different approach from the path we chose when building Google Gears (I was a <a href="http://blogs.msdn.com/dthorpe/archive/2007/05/31/quot-undisclosed-browser-technology-quot.aspx">founding member of the Gears team</a> at Google in 2005).  Google Gears is first and foremost a browser extension. We joked at the time that you can talk about getting the browser out of the app (creating &#8220;chromeless&#8221; web apps with no apparent browser UI), but not getting the app out of the browser. For Google, the browser <em>is</em> the platform, end of discussion. </p>
<p>The Live Framework local LOE is exactly the opposite &#8211; it&#8217;s a client application that works like a browser.  It may even create an instance of the browser internally (I don&#8217;t know the internal details of the LOE) but it is fundamentally treated as &#8220;not the browser.&#8221;</p>
<p>Take the challenge of executing JavaScript while offline.  In Gears, we figured out some neat tricks to have our browser extension tap into the browser&#8217;s URL decoding stream, so that we could intercept requests for JavaScript URLs that we had cached or preloaded in local storage.  This even worked for desktop shortcuts that contained URLs to our web app.</p>
<p>In Live Framework, such interception tricks are unnecessary because you&#8217;re either running the app on the local desktop (in the local LOE sandbox) or you&#8217;re running the app in the browser (in the cloud LOE). Either way, the LOE knows what to do.</p>
<p>I&#8217;m making no argument that either solution is better or worse than the other, just that their architectural assumptions are fundamentally different.</p>
<p>Regardless of whether you&#8217;re in the Google camp or in the Microsoft camp, I think it&#8217;s a fair statement to say that these differences of viewpoint accurately reflect each company&#8217;s core strength and focus:  Google wants the browser to grow to subsume the desktop;  Microsoft wants the desktop to grow to subsume the cloud.</p>
<p><a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fdannythorpe.com%2f2008%2f11%2f18%2fclient-side-live-operating-environment-whats-it-for%2f"><img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fdannythorpe.com%2f2008%2f11%2f18%2fclient-side-live-operating-environment-whats-it-for%2f" border="0" alt="kick it on DotNetKicks.com" /></a></p>
<div style="text-align:center;width:100%;"><div style="margin:0px 0px 0px 0px;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-0861479594738165";
/* End of Post */
google_ad_slot = "6510912161";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div></div><p><!--[if IE]><iframe frameborder="0" allowTransparency="true" class="addtoany_special_service twitter_tweet" src="http://platform.twitter.com/widgets/tweet_button.html?url=http%3A%2F%2Fdannythorpe.com%2F2008%2F11%2F18%2Fclient-side-live-operating-environment-whats-it-for%2F&amp;counturl=http%3A%2F%2Fdannythorpe.com%2F2008%2F11%2F18%2Fclient-side-live-operating-environment-whats-it-for%2F&amp;count=none&amp;text=Client-Side%20Live%20Operating%20Environment%3A%20What%26%238217%3Bs%20It%20For%3F" scrolling="no" style="border:none;overflow:hidden;width:55px;height:20px"></iframe><![endif]--><!--[if !IE]><!--><iframe class="addtoany_special_service twitter_tweet" src="http://platform.twitter.com/widgets/tweet_button.html?url=http%3A%2F%2Fdannythorpe.com%2F2008%2F11%2F18%2Fclient-side-live-operating-environment-whats-it-for%2F&amp;counturl=http%3A%2F%2Fdannythorpe.com%2F2008%2F11%2F18%2Fclient-side-live-operating-environment-whats-it-for%2F&amp;count=none&amp;text=Client-Side%20Live%20Operating%20Environment%3A%20What%26%238217%3Bs%20It%20For%3F" scrolling="no" style="border:none;overflow:hidden;width:55px;height:20px"></iframe><!--<![endif]--><!--[if IE]><iframe frameborder="0" allowTransparency="true" class="addtoany_special_service google_plusone" src="https://plusone.google.com/u/0/_/%2B1/fastbutton?url=http%3A%2F%2Fdannythorpe.com%2F2008%2F11%2F18%2Fclient-side-live-operating-environment-whats-it-for%2F&amp;size=medium&amp;count=false" scrolling="no" style="border:none;overflow:hidden;width:32px;height:20px"></iframe><![endif]--><!--[if !IE]><!--><iframe class="addtoany_special_service google_plusone" src="https://plusone.google.com/u/0/_/%2B1/fastbutton?url=http%3A%2F%2Fdannythorpe.com%2F2008%2F11%2F18%2Fclient-side-live-operating-environment-whats-it-for%2F&amp;size=medium&amp;count=false" scrolling="no" style="border:none;overflow:hidden;width:32px;height:20px"></iframe><!--<![endif]--><!--[if IE]><iframe frameborder="0" allowTransparency="true" class="addtoany_special_service facebook_like" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdannythorpe.com%2F2008%2F11%2F18%2Fclient-side-live-operating-environment-whats-it-for%2F&amp;layout=button_count&amp;show_faces=false&amp;width=75&amp;action=like&amp;colorscheme=light&amp;height=20&amp;ref=addtoany" scrolling="no" style="border:none;overflow:hidden;width:90px;height:21px"></iframe><![endif]--><!--[if !IE]><!--><iframe class="addtoany_special_service facebook_like" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdannythorpe.com%2F2008%2F11%2F18%2Fclient-side-live-operating-environment-whats-it-for%2F&amp;layout=button_count&amp;show_faces=false&amp;width=75&amp;action=like&amp;colorscheme=light&amp;height=20&amp;ref=addtoany" scrolling="no" style="border:none;overflow:hidden;width:90px;height:21px"></iframe><!--<![endif]--><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fdannythorpe.com%2F2008%2F11%2F18%2Fclient-side-live-operating-environment-whats-it-for%2F&amp;title=Client-Side%20Live%20Operating%20Environment%3A%20What%26%238217%3Bs%20It%20For%3F" id="wpa2a_4">Share/Bookmark</a></p>]]></content:encoded>
			<wfw:commentRss>http://dannythorpe.com/2008/11/18/client-side-live-operating-environment-whats-it-for/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>How Do I Mesh Thee?  Let Me Count The Ways</title>
		<link>http://dannythorpe.com/2008/11/14/how-do-i-mesh-thee-let-me-count-the-ways/</link>
		<comments>http://dannythorpe.com/2008/11/14/how-do-i-mesh-thee-let-me-count-the-ways/#comments</comments>
		<pubDate>Fri, 14 Nov 2008 09:40:01 +0000</pubDate>
		<dc:creator>Danny Thorpe</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[Google Gears]]></category>
		<category><![CDATA[Live Framework]]></category>
		<category><![CDATA[Live Mesh]]></category>
		<category><![CDATA[Mesh]]></category>
		<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">http://dannythorpe.com/2008/11/14/how-do-i-mesh-thee-let-me-count-the-ways/</guid>
		<description><![CDATA[A few folks I&#8217;ve talked to in the Live Frameworks CTP forum or in email have expressed a little bit of confusion or a lot of surprise at what you can do with the Live Mesh platform and Live Frameworks. Let&#8217;s run through a few of scenarios to give you an idea of the breadth of options you have to leverage Live <a href='http://dannythorpe.com/2008/11/14/how-do-i-mesh-thee-let-me-count-the-ways/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>A few folks I&#8217;ve talked to in the <a href="http://social.msdn.microsoft.com/Forums/en-US/liveframework/threads/">Live Frameworks CTP forum </a>or in email have expressed a little bit of confusion or a lot of surprise at what you can do with the Live Mesh platform and <a href="http://dev.live.com/liveframework/">Live Frameworks</a>. Let&#8217;s run through a few of scenarios to give you an idea of the breadth of options you have to leverage Live Mesh and Live Services in your applications.</p>
<p>First, let&#8217;s look at what kinds of applications can access user data stored in the user&#8217;s mesh (after user consent, of course):</p>
<ol>
<li>Silverlight mesh-enabled web apps</li>
<li>DHTML + JavaScript mesh-enabled web apps</li>
<li>Server-side web applications (<a href="http://www.microsoft.com/azure/windowsazure.mspx">Windows Azure</a>, ASP.NET, Apache, PHP, etc)</li>
<li>Cloud-based web services (Windows Azure, Amazon EC2, Google Apps, etc)</li>
<li>Desktop .NET apps</li>
<li>Win32 apps</li>
<li>Win64 apps</li>
<li>Linux apps</li>
<li>Mac apps</li>
<li>Mobile device apps</li>
<li>Anything that can make HTTP requests, set HTTP request headers, and process XML responses.  With a little bit of code, your Internet-connected lawn sprinker controller can load its watering schedule from a mesh object in your Live Mesh! </li>
</ol>
<p>We provide .NET client libraries to facilitate using the Live Operating Environment (LOE) services in your app, but .NET is not required to talk to the LOE or to specific services in the Live Services cloud &#8211; you can also talk to Live Services (and the LOE) with RESTful HTTP requests built on industry standards such as Atom, RSS, JSON, and XML using whatever programming tools you want, from whatever device or platform you want.</p>
<h4>Mesh Enabled vs Mesh Aware</h4>
<p>A mesh-enabled web app is a DHTML or Silverlight web application that can not only talk to mesh services and access the user&#8217;s mesh data, but the app itself is a mesh object deployed and sync&#8217;d through the cloud to whatever Internet browser enabled device the user has in front of them.</p>
<p>A mesh-aware application is any other kind of app, running on the client device or on the server, which talks to Live Services and can make use of user data stored in their mesh.  These do not get the benefit of automatic deployment or updates orchestrated by the LOE, but they are also not restricted to the security sandbox of a mesh-enabled web app.</p>
<h4>Online and Offline Modes</h4>
<p>The user&#8217;s mesh data can be accessed by applications when the device is online.  If the Live Mesh client is installed on a device, apps can access user mesh data even when the device has no network connection. Data changes written to the local LOE while offline will be sync&#8217;d to the cloud LOE the next time a network connection is available.</p>
<h4>Data Sync</h4>
<p>The Live Framework automatically synchronizes data changes between the local client and the cloud, in both directions.  The user can select which Mesh Objects are sync&#8217;d to which devices in their mesh.  You&#8217;d want to sync photos from your cameraphone / mobile device up to a mesh folder in the cloud, but you would probably not want to sync all of your photos in the cloud down to your phone.</p>
<h4>Mode Transparency</h4>
<p>Mesh-enabled and mesh-aware applications use the same APIs / HTTP request patterns to access user mesh data in the local LOE as to access user data in the cloud LOE.  What changes is the domain name used in the HTTP request (localhost:port versus cloud domain), and that&#8217;s needed only when making the initial connection to the LOE.  After that, all LOE requests are relative to the base URL of the selected LOE.  And if you&#8217;re using the .NET client libraries, nearly all of that local/cloud selection will be taken care of automatically behind the scenes.</p>
<h4>User Authentication, Authorization, and Delegation </h4>
<p>You can use the LiveID SDK to enable users to log into their mesh account from within your mesh-aware desktop or device applications.  You can also use LiveID in your own Windows Azure cloud services: read <a href="http://dev.live.com/blogs/devlive/archive/2008/11/12/432.aspx">Windows Azure Integration with Windows Live ID, Active Directory and OpenID</a>.</p>
<p>You don&#8217;t have to use LiveID.  If your app is a server-side web app or other service that the end user cannot log into directly, you can use Live Service&#8217;s delegated authorization to obtain an authorization token that you can use to access data in the user&#8217;s mesh independent of the user&#8217;s login state.  The user has to opt in to giving you that token, and can revoke your access (invalidate the token) if you don&#8217;t play nice.  The authorization token is cryptographically bound to your domain and the user&#8217;s id. </p>
<p>Mesh-enabled web apps don&#8217;t need to do anything with authentication because the user will have already logged in prior to executing the mesh-enabled web app, and the web app lives &#8220;inside&#8221; that authenticated sandbox context.</p>
<h4>Sharing</h4>
<p>The user can choose to share a Mesh Object with other users.  If your app writes to a particular Mesh Object and the user shares it with others, your app data can be distributed to the social graph without any work on your part.  Your app can also see who has access to or is sharing the Mesh Object. </p>
<h4>A Few Scenarios</h4>
<ul>
<li>A desktop .NET application (written in any .NET language) reading and writing app data to the user&#8217;s mesh. </li>
<li>The same app (same binary executable module) writing data to the user&#8217;s mesh while the machine is offline. (local LOE)</li>
<li>A desktop Win32 application reading and writing from the user&#8217;s contacts. (LiveID SDK + raw HTTP / AtomPub)</li>
<li>A web server app that writes data to a mesh object in the user&#8217;s mesh in response to a button click or form submit. (online)</li>
<li>A headless cloud based web service that updates data in the user&#8217;s mesh every 3 hours. (delegated auth)</li>
<li>A DHTML+JavaScript mesh-enabled web app running in the browser reading and writing data to the user&#8217;s mesh. (online)</li>
<li>A Silverlight mesh-enabled web application running on the local desktop (via Live Mesh client) while offline.  (Offline Silverlight!)</li>
<li>A DHTML+JavaScript mesh-enaabled web application running in any JavaScript-enabled browser on a smartphone. (online)</li>
<li>A Silverlight mesh-enabled web application that displays interactive features on current events, updated continually (daily) with new content and code logic (online/offline, data sync and app sync)</li>
<li>Store your application&#8217;s personalization settings in the user&#8217;s mesh.  The user&#8217;s preferences follow them to any machine they run that app on, regardless of whether your app is a mesh-enabled web app or a traditional installed desktop app.  (Think: student computer lab.  Many machines all configured the same used by many students all demanding to be different)</li>
<li>Same as previous scenario, but now across different kinds of devices.  User&#8217;s preferences and settings sync across PC, Mac, cellphone, etc.</li>
<li>Briefcase application:  Grab a dataset of client leads into your mesh-enabled sales lead app while at the office.  Review client dossiers while offline in transit.  Update sales contacts and enter purchase orders at client site, while offline.  Sync changes and purchase orders to office (to a cloud mesh object shared with and watched by a mesh app at the office) at an Internet cafe in the airport on the way to the next client. Show next client how to enter orders themselves using your purchase order mesh-enabled web app (the same one you have running offline on your PDA-phone) running in their browser. </li>
</ul>
<p>These are just a tiny sampling of the kinds of things you can do with the Live Framework.  There are many more features I haven&#8217;t mentioned that add additional dimentions to the sample matrix:  your mesh-aware and mesh-enabled apps running on the client device can programmatically construct resource scripts (expression trees) which can be executed on a server in the cloud (to move large data around on the server without making a round trip to the client across the network); there&#8217;s a server-side cross-domain proxy service that lets your mesh-enabled web app (executing in the context of a cloud domain name) &#8220;phone home&#8221; to your own web server or domain; and so forth.</p>
<p>If I had to name one thing that sets the Live Framework head and shoulders apart from other products that attempt to bridge the online/offline gap, it has to be Live Framework&#8217;s data synchronization.  Other tools such as Google Gears can help you run your web app offline, but getting your offline data back into the cloud is left as an exercise for the reader.  In Live Framework, synchronization is a fundamental assumption, a cornerstone of the core architecture.</p>
<p>When data automagically appears in all the places it&#8217;s supposed to go, you suddenly find that you have a lot less code to write, debug, and maintain.  You can get back to focusing on business logic and spend a lot less time on infrastructure.</p>
<p>With apologies to &#8216;The Bard&#8217;</p>
<p><a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fdannythorpe.com%2f2008%2f11%2f14%2fhow-do-i-mesh-thee-let-me-count-the-ways%2f"><img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fdannythorpe.com%2f2008%2f11%2f14%2fhow-do-i-mesh-thee-let-me-count-the-ways%2f" border="0" alt="kick it on DotNetKicks.com" /></a></p>
<p><!--[if IE]><iframe frameborder="0" allowTransparency="true" class="addtoany_special_service twitter_tweet" src="http://platform.twitter.com/widgets/tweet_button.html?url=http%3A%2F%2Fdannythorpe.com%2F2008%2F11%2F14%2Fhow-do-i-mesh-thee-let-me-count-the-ways%2F&amp;counturl=http%3A%2F%2Fdannythorpe.com%2F2008%2F11%2F14%2Fhow-do-i-mesh-thee-let-me-count-the-ways%2F&amp;count=none&amp;text=How%20Do%20I%20Mesh%20Thee%3F%20%20Let%20Me%20Count%20The%20Ways" scrolling="no" style="border:none;overflow:hidden;width:55px;height:20px"></iframe><![endif]--><!--[if !IE]><!--><iframe class="addtoany_special_service twitter_tweet" src="http://platform.twitter.com/widgets/tweet_button.html?url=http%3A%2F%2Fdannythorpe.com%2F2008%2F11%2F14%2Fhow-do-i-mesh-thee-let-me-count-the-ways%2F&amp;counturl=http%3A%2F%2Fdannythorpe.com%2F2008%2F11%2F14%2Fhow-do-i-mesh-thee-let-me-count-the-ways%2F&amp;count=none&amp;text=How%20Do%20I%20Mesh%20Thee%3F%20%20Let%20Me%20Count%20The%20Ways" scrolling="no" style="border:none;overflow:hidden;width:55px;height:20px"></iframe><!--<![endif]--><!--[if IE]><iframe frameborder="0" allowTransparency="true" class="addtoany_special_service google_plusone" src="https://plusone.google.com/u/0/_/%2B1/fastbutton?url=http%3A%2F%2Fdannythorpe.com%2F2008%2F11%2F14%2Fhow-do-i-mesh-thee-let-me-count-the-ways%2F&amp;size=medium&amp;count=false" scrolling="no" style="border:none;overflow:hidden;width:32px;height:20px"></iframe><![endif]--><!--[if !IE]><!--><iframe class="addtoany_special_service google_plusone" src="https://plusone.google.com/u/0/_/%2B1/fastbutton?url=http%3A%2F%2Fdannythorpe.com%2F2008%2F11%2F14%2Fhow-do-i-mesh-thee-let-me-count-the-ways%2F&amp;size=medium&amp;count=false" scrolling="no" style="border:none;overflow:hidden;width:32px;height:20px"></iframe><!--<![endif]--><!--[if IE]><iframe frameborder="0" allowTransparency="true" class="addtoany_special_service facebook_like" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdannythorpe.com%2F2008%2F11%2F14%2Fhow-do-i-mesh-thee-let-me-count-the-ways%2F&amp;layout=button_count&amp;show_faces=false&amp;width=75&amp;action=like&amp;colorscheme=light&amp;height=20&amp;ref=addtoany" scrolling="no" style="border:none;overflow:hidden;width:90px;height:21px"></iframe><![endif]--><!--[if !IE]><!--><iframe class="addtoany_special_service facebook_like" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdannythorpe.com%2F2008%2F11%2F14%2Fhow-do-i-mesh-thee-let-me-count-the-ways%2F&amp;layout=button_count&amp;show_faces=false&amp;width=75&amp;action=like&amp;colorscheme=light&amp;height=20&amp;ref=addtoany" scrolling="no" style="border:none;overflow:hidden;width:90px;height:21px"></iframe><!--<![endif]--><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fdannythorpe.com%2F2008%2F11%2F14%2Fhow-do-i-mesh-thee-let-me-count-the-ways%2F&amp;title=How%20Do%20I%20Mesh%20Thee%3F%20%20Let%20Me%20Count%20The%20Ways" id="wpa2a_8">Share/Bookmark</a></p>]]></content:encoded>
			<wfw:commentRss>http://dannythorpe.com/2008/11/14/how-do-i-mesh-thee-let-me-count-the-ways/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>WordPress 2.6 Released</title>
		<link>http://dannythorpe.com/2008/07/17/wordpress-26-released/</link>
		<comments>http://dannythorpe.com/2008/07/17/wordpress-26-released/#comments</comments>
		<pubDate>Thu, 17 Jul 2008 15:35:41 +0000</pubDate>
		<dc:creator>Danny Thorpe</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[Google Gears]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://dannythorpe.com/2008/07/17/wordpress-26-released/</guid>
		<description><![CDATA[WordPress.org has announced a new 2.6 version of the WordPress online blogging and content management system. Major features in this release include revision history, comparison, and rollback of edits made to articles, a &#8220;Press this&#8221; link to automate blogging about other web pages, theme previews to see how a theme would look on your content <a href='http://dannythorpe.com/2008/07/17/wordpress-26-released/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.wordpress.org">WordPress.org</a> has announced <a href="http://wordpress.org/development/2008/07/wordpress-26-tyner/">a new 2.6 version</a> of the WordPress online blogging and content management system.</p>
<p>Major features in this release include revision history, comparison, and rollback of edits made to articles, a &#8220;Press this&#8221; link to automate blogging about other web pages, theme previews to see how a theme would look on your content before committing to it, support for using <a href="http://code.google.com/apis/gears/">Google Gears</a> to cache WP administration scripts locally, and many smaller improvements such as built-in support for placing captions on photos included in blog posts, better WYSIWYG image control in the editor, SSL support for WP administration, and quite a bit more.</p>
<p>As <a href="http://dannythorpe.com/2008/07/04/wordpresscom-adding-gears-support/">mentioned earlier</a>, WP&#8217;s initial use of Google Gears only accelerates loading of WP administration pages (manage the blog, edit posts, etc) by caching the WP scripts on the local machine.  While this may seem like a minor improvement (except to those with slow Internet connections), this is an important first step towards being able to create and edit blog posts in WP while offline.</p>
<p>Of these new features, the image caption and improved image control in the editor are probably the items that I would use and appreciate the most. I don&#8217;t see a burning need to roll back to previous edits on an article or preview new themes (I have my theme, now leave it alone).  I might take the Gears support for a spin, but I doubt it will make any noticable improvement to my WP administration experience on my multimegabit Internet connection.</p>
<p>As much as I&#8217;d love to play with these new features (and WP 2.5 as well), the biggest obstacle for me (and many others) is the update install process.  The WP update instructions do a great job of whittling it down to a &#8220;<a href="http://codex.wordpress.org/Upgrading_WordPress">Three Step Upgrade</a>&#8220;, but one of those three steps (33% of the process) is potentially delicate and/or scary.  If you don&#8217;t dedicate your full attention to what you&#8217;re doing, you risk wiping out your blog content or your blog custom settings completely.  This is a not a one-button install.</p>
<p>WP update step #1 starts with the instruction &#8220;Copy the new WP files to your server, overwriting old files in the root&#8221; but then follows with a list of very important exceptions of things not to overwrite.  That doesn&#8217;t instill confidence.  You have to read all the instructions and apply the subsequent exceptions and filters in reverse order.</p>
<p>I&#8217;ve updated WP on my server before.  It went smoothly, and the actual update step did only take about 5 minutes, but it required more than an hour of my attention in nervous preparation and validation.</p>
<p>I would love to switch over to using <a href="http://subversion.tigris.org/">Subversion</a> to update my WP installation directly from the WP servers.  This would be the closest thing to a one-button install of WP.  I have much greater confidence that Subversion would preserve my local changes when applying updates, or at least notify me when there are conflicts I need to sort out, than I have in doing the same work myself by hand.  However, installing Subversion on the server requires root access, and my web host does not have Subversion in their suite of installed software.</p>
<p>So updating to the latest WordPress release falls back to the &#8220;some rainy day&#8221; list of chores.  (And we&#8217;re unlikely to see a rainy day here in Santa Cruz until at least November!)</p>
<p>via <a href="http://weblogtoolscollection.com/archives/2008/07/15/wordpress-26-released-officially/">Weblog Tools Collection</a></p>
<p><!--[if IE]><iframe frameborder="0" allowTransparency="true" class="addtoany_special_service twitter_tweet" src="http://platform.twitter.com/widgets/tweet_button.html?url=http%3A%2F%2Fdannythorpe.com%2F2008%2F07%2F17%2Fwordpress-26-released%2F&amp;counturl=http%3A%2F%2Fdannythorpe.com%2F2008%2F07%2F17%2Fwordpress-26-released%2F&amp;count=none&amp;text=WordPress%202.6%20Released" scrolling="no" style="border:none;overflow:hidden;width:55px;height:20px"></iframe><![endif]--><!--[if !IE]><!--><iframe class="addtoany_special_service twitter_tweet" src="http://platform.twitter.com/widgets/tweet_button.html?url=http%3A%2F%2Fdannythorpe.com%2F2008%2F07%2F17%2Fwordpress-26-released%2F&amp;counturl=http%3A%2F%2Fdannythorpe.com%2F2008%2F07%2F17%2Fwordpress-26-released%2F&amp;count=none&amp;text=WordPress%202.6%20Released" scrolling="no" style="border:none;overflow:hidden;width:55px;height:20px"></iframe><!--<![endif]--><!--[if IE]><iframe frameborder="0" allowTransparency="true" class="addtoany_special_service google_plusone" src="https://plusone.google.com/u/0/_/%2B1/fastbutton?url=http%3A%2F%2Fdannythorpe.com%2F2008%2F07%2F17%2Fwordpress-26-released%2F&amp;size=medium&amp;count=false" scrolling="no" style="border:none;overflow:hidden;width:32px;height:20px"></iframe><![endif]--><!--[if !IE]><!--><iframe class="addtoany_special_service google_plusone" src="https://plusone.google.com/u/0/_/%2B1/fastbutton?url=http%3A%2F%2Fdannythorpe.com%2F2008%2F07%2F17%2Fwordpress-26-released%2F&amp;size=medium&amp;count=false" scrolling="no" style="border:none;overflow:hidden;width:32px;height:20px"></iframe><!--<![endif]--><!--[if IE]><iframe frameborder="0" allowTransparency="true" class="addtoany_special_service facebook_like" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdannythorpe.com%2F2008%2F07%2F17%2Fwordpress-26-released%2F&amp;layout=button_count&amp;show_faces=false&amp;width=75&amp;action=like&amp;colorscheme=light&amp;height=20&amp;ref=addtoany" scrolling="no" style="border:none;overflow:hidden;width:90px;height:21px"></iframe><![endif]--><!--[if !IE]><!--><iframe class="addtoany_special_service facebook_like" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdannythorpe.com%2F2008%2F07%2F17%2Fwordpress-26-released%2F&amp;layout=button_count&amp;show_faces=false&amp;width=75&amp;action=like&amp;colorscheme=light&amp;height=20&amp;ref=addtoany" scrolling="no" style="border:none;overflow:hidden;width:90px;height:21px"></iframe><!--<![endif]--><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fdannythorpe.com%2F2008%2F07%2F17%2Fwordpress-26-released%2F&amp;title=WordPress%202.6%20Released" id="wpa2a_12">Share/Bookmark</a></p>]]></content:encoded>
			<wfw:commentRss>http://dannythorpe.com/2008/07/17/wordpress-26-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress.com Adding Gears Support</title>
		<link>http://dannythorpe.com/2008/07/04/wordpresscom-adding-gears-support/</link>
		<comments>http://dannythorpe.com/2008/07/04/wordpresscom-adding-gears-support/#comments</comments>
		<pubDate>Fri, 04 Jul 2008 16:31:56 +0000</pubDate>
		<dc:creator>Danny Thorpe</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Gears]]></category>
		<category><![CDATA[offline web apps]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://dannythorpe.com/2008/07/04/wordpresscom-adding-gears-support/</guid>
		<description><![CDATA[WordPress.com, the commercial blog hosting company that uses blog software from WordPress.org, is adding Google Gears support to their hosted blog service. Initially, this will only speed up use of the blog administration pages by caching the scripts and images locally.  This isn&#8217;t really the best use of Gears, since the browser will cache content as it&#8217; is <a href='http://dannythorpe.com/2008/07/04/wordpresscom-adding-gears-support/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.wordpress.com">WordPress.com</a>, the commercial blog hosting company that uses blog software from <a href="http://www.wordpress.org">WordPress.org</a>, is adding <a href="http://code.google.com/apis/gears/">Google Gears</a> support to their hosted blog service. Initially, <a href="http://en.blog.wordpress.com/2008/07/02/gears/">this will only speed up use of the blog administration pages</a> by caching the scripts and images locally. </p>
<p>This isn&#8217;t really the best use of Gears, since the browser will cache content as it&#8217; is accessed, but it&#8217;s a reasonable first step.  Clearly the longer term goal (in the upcoming WordPress 2.6 release?) is to support blog post editing and administration while offline.  I imagine this prequel to full offline mode benefits WordPress.com (by reducing server traffic) more than end users. </p>
<p>Some of the comments on the <a href="http://en.blog.wordpress.com/2008/07/02/gears/">WP.com blog post</a> indicate little or no noticable performance boost for the end user.  If you have a fast Internet connection, that&#8217;s probably going to be the case. It sounds like what WP.com is using Gears for (for now) is to prefetch the admin scripts, pages, and images to the local cache. WP.com bloggers who would see the greatest performance improvement would be those on a slow or crowded Internet connection.</p>
<p>I was surprised to see on <a href="http://weblogtoolscollection.com/archives/2008/07/03/wpcom-shifts-into-turbo/">other blog posts on this news</a> comments expressing fear of &#8220;sending all their data to Google&#8221; and the like.  That&#8217;s not what Gears does. Gears is a browser plugin to enable a web site (wp.com) to store data <strong>on the client</strong>.  None of your WP.com data should ever be sent to Google, period. I don&#8217;t think WP.com even has to have a reference to Google to get the Gears JavaScript &#8211; the Gears JS code can be completely hosted on the WP.com server.</p>
<p>Some will raise the concern &#8220;What if Google embeds a trojan horse in the Gears code?&#8221;  Well, it&#8217;s open sourced so somebody will see it if there is such a thing, so this shouldn&#8217;t be a real concern.</p>
<p>There is no issue of Google getting access to WP.com blog data as a result of using Gears.</p>
<p><!--[if IE]><iframe frameborder="0" allowTransparency="true" class="addtoany_special_service twitter_tweet" src="http://platform.twitter.com/widgets/tweet_button.html?url=http%3A%2F%2Fdannythorpe.com%2F2008%2F07%2F04%2Fwordpresscom-adding-gears-support%2F&amp;counturl=http%3A%2F%2Fdannythorpe.com%2F2008%2F07%2F04%2Fwordpresscom-adding-gears-support%2F&amp;count=none&amp;text=WordPress.com%20Adding%20Gears%20Support" scrolling="no" style="border:none;overflow:hidden;width:55px;height:20px"></iframe><![endif]--><!--[if !IE]><!--><iframe class="addtoany_special_service twitter_tweet" src="http://platform.twitter.com/widgets/tweet_button.html?url=http%3A%2F%2Fdannythorpe.com%2F2008%2F07%2F04%2Fwordpresscom-adding-gears-support%2F&amp;counturl=http%3A%2F%2Fdannythorpe.com%2F2008%2F07%2F04%2Fwordpresscom-adding-gears-support%2F&amp;count=none&amp;text=WordPress.com%20Adding%20Gears%20Support" scrolling="no" style="border:none;overflow:hidden;width:55px;height:20px"></iframe><!--<![endif]--><!--[if IE]><iframe frameborder="0" allowTransparency="true" class="addtoany_special_service google_plusone" src="https://plusone.google.com/u/0/_/%2B1/fastbutton?url=http%3A%2F%2Fdannythorpe.com%2F2008%2F07%2F04%2Fwordpresscom-adding-gears-support%2F&amp;size=medium&amp;count=false" scrolling="no" style="border:none;overflow:hidden;width:32px;height:20px"></iframe><![endif]--><!--[if !IE]><!--><iframe class="addtoany_special_service google_plusone" src="https://plusone.google.com/u/0/_/%2B1/fastbutton?url=http%3A%2F%2Fdannythorpe.com%2F2008%2F07%2F04%2Fwordpresscom-adding-gears-support%2F&amp;size=medium&amp;count=false" scrolling="no" style="border:none;overflow:hidden;width:32px;height:20px"></iframe><!--<![endif]--><!--[if IE]><iframe frameborder="0" allowTransparency="true" class="addtoany_special_service facebook_like" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdannythorpe.com%2F2008%2F07%2F04%2Fwordpresscom-adding-gears-support%2F&amp;layout=button_count&amp;show_faces=false&amp;width=75&amp;action=like&amp;colorscheme=light&amp;height=20&amp;ref=addtoany" scrolling="no" style="border:none;overflow:hidden;width:90px;height:21px"></iframe><![endif]--><!--[if !IE]><!--><iframe class="addtoany_special_service facebook_like" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdannythorpe.com%2F2008%2F07%2F04%2Fwordpresscom-adding-gears-support%2F&amp;layout=button_count&amp;show_faces=false&amp;width=75&amp;action=like&amp;colorscheme=light&amp;height=20&amp;ref=addtoany" scrolling="no" style="border:none;overflow:hidden;width:90px;height:21px"></iframe><!--<![endif]--><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fdannythorpe.com%2F2008%2F07%2F04%2Fwordpresscom-adding-gears-support%2F&amp;title=WordPress.com%20Adding%20Gears%20Support" id="wpa2a_16">Share/Bookmark</a></p>]]></content:encoded>
			<wfw:commentRss>http://dannythorpe.com/2008/07/04/wordpresscom-adding-gears-support/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
<!-- This Quick Cache file was built for (  dannythorpe.com/tag/google-gears/feed/ ) in 0.39529 seconds, on Feb 7th, 2012 at 11:59 am UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on Feb 7th, 2012 at 12:59 pm UTC -->
