<?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; cloud</title>
	<atom:link href="http://dannythorpe.com/tag/cloud/feed/" rel="self" type="application/rss+xml" />
	<link>http://dannythorpe.com</link>
	<description>Dream &#38; Deliver</description>
	<lastBuildDate>Tue, 07 Feb 2012 17:50:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Windows Azure Tools for Visual Studio &#8211; June 2010 Release</title>
		<link>http://dannythorpe.com/2010/06/07/windows-azure-tools-for-visual-studio-june-2010-release/</link>
		<comments>http://dannythorpe.com/2010/06/07/windows-azure-tools-for-visual-studio-june-2010-release/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 17:57:26 +0000</pubDate>
		<dc:creator>Danny Thorpe</dc:creator>
				<category><![CDATA[Work]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://dannythorpe.com/?p=158</guid>
		<description><![CDATA[I&#8217;m pleased to announce that the June 2010 release of Windows Azure Tools for Visual Studio is now available for free download! New features in this release: Full support for Visual Studio 2010 RTM .NET 4 support &#8211; You can now build your Windows Azure web apps and services using either .NET 3.5 or the <a href='http://dannythorpe.com/2010/06/07/windows-azure-tools-for-visual-studio-june-2010-release/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m pleased to announce that the June 2010 release of <a href="http://go.microsoft.com/fwlink/?LinkID=128752" target="_blank">Windows Azure Tools for Visual Studio</a> is now available for <a href="http://go.microsoft.com/fwlink/?LinkID=128752" target="_blank">free download</a>!</p>
<p>New features in this release:</p>
<ul>
<li>Full support for Visual Studio 2010 RTM</li>
<li>.NET 4 support &#8211; You can now build your Windows Azure web apps and services using either .NET 3.5 or the new .NET 4.0 platform.</li>
<li>Cloud Storage Explorer: browse the tables and blobs in your Windows Azure account from within VS</li>
<li>Built-in Deployment: deploy your project to the Windows Azure cloud from within VS, with detailed status info every step of the way</li>
<li>Service monitoring: monitor the status of your services in the cloud using the new &#8216;compute&#8217; node in VS Server Explorer</li>
<li>IntelliTrace support for debugging cloud service activity, with automatic log retrieval.  Requires VS 2010 Ultimate and .NET 4.0</li>
</ul>
<p>More info on <a href="http://blogs.msdn.com/b/jnak/archive/2010/06/07/june-2010-release-of-the-windows-azure-tools-sdk.aspx" target="_blank">Jim&#8217;s blog post</a></p>
<p>Enjoy!</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><a class="a2a_button_twitter_tweet addtoany_special_service" data-count="none" data-url="http://dannythorpe.com/2010/06/07/windows-azure-tools-for-visual-studio-june-2010-release/" data-text="Windows Azure Tools for Visual Studio &#8211; June 2010 Release"></a><a class="a2a_button_google_plusone addtoany_special_service" data-annotation="none" data-href="http://dannythorpe.com/2010/06/07/windows-azure-tools-for-visual-studio-june-2010-release/"></a><a class="a2a_button_facebook_like addtoany_special_service" data-href="http://dannythorpe.com/2010/06/07/windows-azure-tools-for-visual-studio-june-2010-release/"></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fdannythorpe.com%2F2010%2F06%2F07%2Fwindows-azure-tools-for-visual-studio-june-2010-release%2F&amp;title=Windows%20Azure%20Tools%20for%20Visual%20Studio%20%E2%80%93%20June%202010%20Release" id="wpa2a_4">Share/Bookmark</a></p>]]></content:encoded>
			<wfw:commentRss>http://dannythorpe.com/2010/06/07/windows-azure-tools-for-visual-studio-june-2010-release/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Vote For What You Want Added to Windows Azure</title>
		<link>http://dannythorpe.com/2009/11/24/vote-for-what-you-want-added-to-windows-azure/</link>
		<comments>http://dannythorpe.com/2009/11/24/vote-for-what-you-want-added-to-windows-azure/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 21:47:46 +0000</pubDate>
		<dc:creator>Danny Thorpe</dc:creator>
				<category><![CDATA[Work]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[feedback]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://dannythorpe.com/2009/11/24/vote-for-what-you-want-added-to-windows-azure/</guid>
		<description><![CDATA[Mike Wickstrand of the Windows Azure team has created a Windows Azure Feedback Forum to solicit feedback from you about what sorts of things/features/services you would like to see Windows Azure provide.  You can enter your own suggestions and vote for the features that you want the most.  This feedback will go directly to the <a href='http://dannythorpe.com/2009/11/24/vote-for-what-you-want-added-to-windows-azure/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://blogs.msdn.com/wickstrand/archive/2009/11/23/pdc-09-your-great-windows-azure-ideas.aspx">Mike Wickstrand</a> of the <a href="http://www.microsoft.com/windowsazure/">Windows Azure</a> team has created a <a href="http://www.mygreatwindowsazureidea.com">Windows Azure Feedback Forum</a> to solicit feedback from you about what sorts of things/features/services you would like to see Windows Azure provide.  You can enter your own suggestions and vote for the features that you want the most.  This feedback will go directly to the Windows Azure product planning team to help them determine where we should be focusing our energies next.</p>
<p><a href="http://www.mygreatwindowsazureidea.com">Check it out!</a></p>
<p><a class="a2a_button_twitter_tweet addtoany_special_service" data-count="none" data-url="http://dannythorpe.com/2009/11/24/vote-for-what-you-want-added-to-windows-azure/" data-text="Vote For What You Want Added to Windows Azure"></a><a class="a2a_button_google_plusone addtoany_special_service" data-annotation="none" data-href="http://dannythorpe.com/2009/11/24/vote-for-what-you-want-added-to-windows-azure/"></a><a class="a2a_button_facebook_like addtoany_special_service" data-href="http://dannythorpe.com/2009/11/24/vote-for-what-you-want-added-to-windows-azure/"></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fdannythorpe.com%2F2009%2F11%2F24%2Fvote-for-what-you-want-added-to-windows-azure%2F&amp;title=Vote%20For%20What%20You%20Want%20Added%20to%20Windows%20Azure" id="wpa2a_8">Share/Bookmark</a></p>]]></content:encoded>
			<wfw:commentRss>http://dannythorpe.com/2009/11/24/vote-for-what-you-want-added-to-windows-azure/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Windows Azure at PDC09</title>
		<link>http://dannythorpe.com/2009/11/17/windows-azure-at-pdc09/</link>
		<comments>http://dannythorpe.com/2009/11/17/windows-azure-at-pdc09/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 21:26:18 +0000</pubDate>
		<dc:creator>Danny Thorpe</dc:creator>
				<category><![CDATA[Work]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[cloud tools]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[PDC]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://dannythorpe.com/2009/11/17/windows-azure-at-pdc09/</guid>
		<description><![CDATA[Windows Azure, Microsoft&#8217;s platform for cloud-based applications, just rolled out a major update to sync with PDC09. We of course also rolled out a major update of the Windows Azure Tools for Visual Studio in the same push. Jim Nakashima and others will be showing our latest tools at PDC09 this week. Windows Azure Tools <a href='http://dannythorpe.com/2009/11/17/windows-azure-at-pdc09/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.microsoft.com/windowsazure/">Windows Azure</a>, Microsoft&#8217;s platform for cloud-based applications, just rolled out a major update to sync with <a href="http://microsoftpdc.com">PDC09</a>. We of course also rolled out a major update of the <a href="http://blogs.msdn.com/jnak/archive/2009/11/13/november-2009-release-of-the-windows-azure-tools-and-sdk.aspx">Windows Azure Tools for Visual Studio</a> in the same push. <a href="http://blogs.msdn.com/jnak/archive/2009/11/13/november-2009-release-of-the-windows-azure-tools-and-sdk.aspx">Jim Nakashima</a> and others will be showing our latest tools at PDC09 this week.</p>
<p>Windows Azure Tools also received coverage on <a href="http://blogs.msdn.com/somasegar/archive/2009/11/17/building-applications-for-windows-azure.aspx">Soma&#8217;s blog</a> &#8211; woot!  Soma is Senior Vice President, Developer Division, and my nth degree boss&#8217;s boss.</p>
<p>While Jim is out working hard at PDC, back at the ranch we&#8217;re taking advantage of the calm following the PDC prep and product release storm to get a head start on the next round of features for Windows Azure Tools.</p>
<p><a class="a2a_button_twitter_tweet addtoany_special_service" data-count="none" data-url="http://dannythorpe.com/2009/11/17/windows-azure-at-pdc09/" data-text="Windows Azure at PDC09"></a><a class="a2a_button_google_plusone addtoany_special_service" data-annotation="none" data-href="http://dannythorpe.com/2009/11/17/windows-azure-at-pdc09/"></a><a class="a2a_button_facebook_like addtoany_special_service" data-href="http://dannythorpe.com/2009/11/17/windows-azure-at-pdc09/"></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fdannythorpe.com%2F2009%2F11%2F17%2Fwindows-azure-at-pdc09%2F&amp;title=Windows%20Azure%20at%20PDC09" id="wpa2a_12">Share/Bookmark</a></p>]]></content:encoded>
			<wfw:commentRss>http://dannythorpe.com/2009/11/17/windows-azure-at-pdc09/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Batch Processing Live Mesh Data with Windows Azure or Live Framework</title>
		<link>http://dannythorpe.com/2008/11/24/batch-processing-live-mesh-data-with-windows-azure-or-live-framework/</link>
		<comments>http://dannythorpe.com/2008/11/24/batch-processing-live-mesh-data-with-windows-azure-or-live-framework/#comments</comments>
		<pubDate>Mon, 24 Nov 2008 23:25:05 +0000</pubDate>
		<dc:creator>Danny Thorpe</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[delegated authorization]]></category>
		<category><![CDATA[Live Framework]]></category>
		<category><![CDATA[Live Mesh]]></category>
		<category><![CDATA[LiveID]]></category>
		<category><![CDATA[Mesh]]></category>
		<category><![CDATA[Windows Azure]]></category>

		<guid isPermaLink="false">http://dannythorpe.com/2008/11/24/batch-processing-live-mesh-data-with-windows-azure-or-live-framework/</guid>
		<description><![CDATA[SondreB asks I’m working on a scenario where I need to process mesh data at intervals. My concern is how I can do delegated authorization in a secure way. How and where do I store the user credentials (or their auth token) in my Windows Azure service? Is there a way of doing interval based <a href='http://dannythorpe.com/2008/11/24/batch-processing-live-mesh-data-with-windows-azure-or-live-framework/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>SondreB asks</p>
<blockquote><p>I’m working on a scenario where I need to process mesh data at intervals. My concern is how I can do delegated authorization in a secure way. How and where do I store the user credentials (or their auth token) in my Windows Azure service? Is there a way of doing interval based processing in the cloud other than Windows Azure (excluding offerings from other third parties)?</p></blockquote>
<p>You have three approaches to process data in a user&#8217;s Live Mesh at regular intervals: </p>
<ul>
<li>An application that runs on the client machine</li>
<li>A service that runs on a traditional server</li>
<li>A service that runs in the cloud.</li>
</ul>
<h4>Client Application </h4>
<p>A client application running on the local machine can access the currently logged-in user&#8217;s mesh data.  Your app could be written as a desktop .NET Windows application, using the Live Framework SDK to connect to the user&#8217;s mesh.  Your desktop app will need to present valid authentication credentials to the Live Framework APIs; to avoid having to store and protect the user&#8217;s credentials, use the LiveID SDK.  If the user checks &#8220;remember me&#8221; and &#8220;remember my password&#8221;, your app can login on the user&#8217;s behalf using the LiveID API&#8217;s cached credentials.</p>
<p>You could implement your client app as a mesh-enabled web application, written in HTML+JavaScript or Silverlight.  User authentication is automatic in this situation, since the user must be logged in before they can run your app.  If the user has installed the Live Framework Client on their local machine, they can run your app on their local desktop just as they would a normal desktop app.  When your app is running on the local desktop, it will default to talking to the local cache of mesh data which is synch&#8217;d frequently with the cloud when the machine is connected to the network.</p>
<p>These client-side approaches may be sufficient for simple scenarios.  Client side code is convenient to write and doesn&#8217;t require allocation or management of server resources, but client side code is at the mercy of the local machine and network connection.  If your users tend to leave their machines on most of the time, this might be good enough, but if you need true round-the-clock processing you need a server side solution.</p>
<h4>Traditional Server Application</h4>
<p>You could implement mesh data processing in a traditional web server architecture, such as IIS with ASP.NET or Apache with PHP, Perl, or Python scripting.  This will require delegated authorization, and delegated auth requires that your server have a stable domain name.</p>
<p>Delegated authorization requires that the end user approve or opt-into allowing your application to access (parts of) their mesh data.  This approval must take place using a special Microsoft branded web page, so that the user will know that they are telling <em>Microsoft</em> that it&#8217;s ok for <em>you</em> to access their data. </p>
<p>The flow typically looks something like this:</p>
<ol>
<li>Your web page explains what data you want access to, and what you will do with it, and then forwards the user to a Windows Live authorization page</li>
<li>LiveID login will interject if the user is not already logged in, then forward to the intended page</li>
<li>The user reads the information on the Windows Live web page and chooses to allow or deny access to your site (your domain).</li>
<li>The user&#8217;s response forwards the user back to a landing page on your web site.  If the user allowed access, this response will contain an authorization token.</li>
<li>You store the authorization token in your system, usually paired with the user&#8217;s name within your system so you will know which auth token to use to access this user&#8217;s data in the future. </li>
</ol>
<p>How you store this auth token is up to you, but it should be under physical and network access protection.  At a minimum, you should encrypt whatever table or file you store the auth token in and restrict access to the file to only the administrators and web services that need to access it. You should also avoid transmitting the auth token across the network except when needed, and only via a secure SSL connection.</p>
<p>The auth token cryptographically combines your domain name with the user&#8217;s LiveID username.  The auth token can only be used on requests made from your domain name, can only access that particular user&#8217;s data, and can only access the kinds of data the user gave you access to.  The user can revoke your access (invalidate the auth token) at any time using the Windows Live web site.</p>
<p>Once you have the user&#8217;s authorization to access their data with the auth token, accessing their mesh data is fairly straightforward.  You can use the Live Framework SDK to make data requests of the user&#8217;s mesh data from within an ASP.NET server app, or you can make plain old REST style HTPPS requests to the Live Services cloud using your favorite server scripting tools.  You add the delegated authorization token for the particular user in a header to outgoing requests.</p>
<p>And finally, you can schedule your service to check the user&#8217;s mesh data on regular intervals, using cron or AT or whatever scheduling tool is appropriate.</p>
<h4>Cloud Service</h4>
<p>You can implement your mesh-checking logic in a hosted cloud environment, such as <a href="http://www.microsoft.com/azure/default.mspx">Windows Azure</a>, Amazon EC2, GoogleApp, or a variety of other hosting providers.  You will still need to use delegated authorization as with the traditional server scenario and walk through the same steps to obtain the user&#8217;s permission and be issued an auth token. The code you write to access the user&#8217;s mesh data using the auth token is pretty much the same as what you would write in the traditional server scenario.</p>
<p>Data security is a core requirement of every app, but especially of cloud hosted applications.  I think you&#8217;ll find data security is a core component of Windows Azure cloud data services. You can store the username + auth token in a table in Azure&#8217;s cloud data service.</p>
<p>Scalability and cost management are where running as a cloud service has a distinct advantage over the traditional server scenario.  Scalability is easy: having the option to fire up additional instances of your cloud service by the tens or thousands as needed to meet demand is a key aspect of large scale cloud hosting that traditional servers in the closet or co-lo&#8217;s can&#8217;t begin to touch.</p>
<p>If your application needs to be checking the user&#8217;s mesh data every 5 minutes all day every day, the operational differences between cloud and traditional server will be relatively small, and perhaps offer no cost savings at all. </p>
<p>If your application needs to run only during business hours or only on certain days of the week, you can do something with a cloud service that you can&#8217;t do with a traditional server, hosted VM or co-lo:  You can turn the cloud service off when you don&#8217;t need it, and stop paying for it until you turn it on again.</p>
<p>Anticipating a holiday rush?  You can scale up your customer capacity to massive volume during the holiday shopping crunch, then get rid of it in January and coast by on a shoestring ops budget until the next holiday surge.</p>
<p>If your mesh-checking app needs to check for changes in the user&#8217;s mesh data every 5 minutes, your service will be running pretty much non-stop.  If you only need to check 4 times a day, though, you might just turn your cloud service off until the next update interval.</p>
<p>When designing your mesh-checking architecture, be sure to take a close look at the notification features offered by Live Frameworks.  Notifications and data sync metadata could significantly reduce the frequency and amount of work your app needs to do to detect changes.</p>
<p><a class="a2a_button_twitter_tweet addtoany_special_service" data-count="none" data-url="http://dannythorpe.com/2008/11/24/batch-processing-live-mesh-data-with-windows-azure-or-live-framework/" data-text="Batch Processing Live Mesh Data with Windows Azure or Live Framework"></a><a class="a2a_button_google_plusone addtoany_special_service" data-annotation="none" data-href="http://dannythorpe.com/2008/11/24/batch-processing-live-mesh-data-with-windows-azure-or-live-framework/"></a><a class="a2a_button_facebook_like addtoany_special_service" data-href="http://dannythorpe.com/2008/11/24/batch-processing-live-mesh-data-with-windows-azure-or-live-framework/"></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fdannythorpe.com%2F2008%2F11%2F24%2Fbatch-processing-live-mesh-data-with-windows-azure-or-live-framework%2F&amp;title=Batch%20Processing%20Live%20Mesh%20Data%20with%20Windows%20Azure%20or%20Live%20Framework" id="wpa2a_16">Share/Bookmark</a></p>]]></content:encoded>
			<wfw:commentRss>http://dannythorpe.com/2008/11/24/batch-processing-live-mesh-data-with-windows-azure-or-live-framework/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<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/' class='excerpt-more'>[...]</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>
<p><a class="a2a_button_twitter_tweet addtoany_special_service" data-count="none" data-url="http://dannythorpe.com/2008/11/18/client-side-live-operating-environment-whats-it-for/" data-text="Client-Side Live Operating Environment: What&#8217;s It For?"></a><a class="a2a_button_google_plusone addtoany_special_service" data-annotation="none" data-href="http://dannythorpe.com/2008/11/18/client-side-live-operating-environment-whats-it-for/"></a><a class="a2a_button_facebook_like addtoany_special_service" data-href="http://dannythorpe.com/2008/11/18/client-side-live-operating-environment-whats-it-for/"></a><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%E2%80%99s%20It%20For%3F" id="wpa2a_20">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>
	</channel>
</rss>
<!-- This Quick Cache file was built for (  dannythorpe.com/tag/cloud/feed/ ) in 0.49193 seconds, on May 18th, 2012 at 3:25 am UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on May 18th, 2012 at 4:25 am UTC -->
