<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Dragos Manolescu's (work) blog : web</title><link>http://blogs.msdn.com/dragoman/archive/tags/web/default.aspx</link><description>Tags: web</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Web Sandbox available under the Apache License</title><link>http://blogs.msdn.com/dragoman/archive/2009/01/27/web-sandbox-available-under-the-apache-license.aspx</link><pubDate>Wed, 28 Jan 2009 09:36:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9380008</guid><dc:creator>Dragos Manolescu</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/dragoman/comments/9380008.aspx</comments><wfw:commentRss>http://blogs.msdn.com/dragoman/commentrss.aspx?PostID=9380008</wfw:commentRss><description>Earlier today&amp;nbsp;we announced releasing the runtime code of the &lt;A class="" href="http://websandbox.livelabs.com/" mce_href="http://websandbox.livelabs.com/"&gt;Web Sandbox&lt;/A&gt; available under the Open Source &lt;A href="http://www.apache.org/licenses/LICENSE-2.0"&gt;&lt;FONT color=#0099ff&gt;Apache License 2.0&lt;/FONT&gt;&lt;/A&gt;. The announcement has already been &lt;A class="" href="http://port25.technet.com/archive/2009/01/26/web-sandbox-source-now-available-under-apache-license-2-0.aspx" mce_href="http://port25.technet.com/archive/2009/01/26/web-sandbox-source-now-available-under-apache-license-2-0.aspx"&gt;picked up&amp;nbsp;by the blogosphere&lt;/A&gt;. Should you head over to the site check out the Web Slices samples we added with this release: &lt;A class="" href="http://websandbox-code.org/Samples/WebSlicesSample.aspx?cpolicy=webslice&amp;amp;ua=IE8" mce_href="http://websandbox-code.org/Samples/WebSlicesSample.aspx?cpolicy=webslice&amp;amp;ua=IE8"&gt;weather&lt;/A&gt; and &lt;A class="" href="http://websandbox-code.org/Samples/WebSlicesSample2.aspx?cpolicy=webslice&amp;amp;ua=IE8" mce_href="http://websandbox-code.org/Samples/WebSlicesSample2.aspx?cpolicy=webslice&amp;amp;ua=IE8"&gt;traffic&lt;/A&gt;.&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9380008" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/dragoman/archive/tags/web/default.aspx">web</category><category domain="http://blogs.msdn.com/dragoman/archive/tags/live+labs/default.aspx">live labs</category><category domain="http://blogs.msdn.com/dragoman/archive/tags/websandbox/default.aspx">websandbox</category></item><item><title>Web Sandbox in Azure Color</title><link>http://blogs.msdn.com/dragoman/archive/2008/12/09/web-sandbox-in-azure-color.aspx</link><pubDate>Wed, 10 Dec 2008 08:37:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9189401</guid><dc:creator>Dragos Manolescu</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/dragoman/comments/9189401.aspx</comments><wfw:commentRss>http://blogs.msdn.com/dragoman/commentrss.aspx?PostID=9189401</wfw:commentRss><description>&lt;p&gt;Earlier today we rolled out an updated version of Live Labs Web Sandbox CTP, a technology for securing Web 2.0 through virtualization. This update incorporates new features on several fronts (more on that elsewhere). In this post I'd like to call out a new option for hosting the transformation component: the cloud, or more precisely the Azure Services Platform CTP. From the &lt;a href="http://websandbox.livelabs.com/documentation/overview_how.aspx#transform"&gt;online documentation&lt;/a&gt;:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;We insert the intercepting layer through a code transformation. By default this transformation executes server side, on our servers. Two additional options are available. If &lt;a href="http://silverlight.net/Default.aspx"&gt;Silverlight&lt;/a&gt; is installed the transformation could execute client-side, thus saving the round-trip to the server. The transformation could also execute in the cloud, on the &lt;a href="http://www.microsoft.com/azure/default.mspx"&gt;Azure Services Platform Community Technology Preview&lt;/a&gt;. (Note that the Azure transformation is enabled only when the gadget code is specified via a URL.) &lt;p&gt;The three options use the same codebase. The platform helped us extend the implementation, initially targeted at our server, to first cover the browser, and then to cover the cloud. Consequently, regardless of where it is hosted, the transformation should have the same result. You can choose which approach to use via the appropriate checkbox on the Sandbox experimentation pages.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Incidentally earlier today I also noticed that Web Sandbox (along with two other Live Labs projects I worked on) is now on the &lt;a href="http://en.wikipedia.org/wiki/Windows_live"&gt;Windows Live Wikipedia page&lt;/a&gt;, in the &lt;a href="http://en.wikipedia.org/wiki/Live_Labs#Microsoft_Live_Labs"&gt;Microsoft Live Labs&lt;/a&gt; section.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9189401" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/dragoman/archive/tags/web/default.aspx">web</category><category domain="http://blogs.msdn.com/dragoman/archive/tags/live+labs/default.aspx">live labs</category><category domain="http://blogs.msdn.com/dragoman/archive/tags/websandbox/default.aspx">websandbox</category></item><item><title>Live Labs Web Sandbox</title><link>http://blogs.msdn.com/dragoman/archive/2008/10/23/live-labs-web-sandbox.aspx</link><pubDate>Fri, 24 Oct 2008 08:37:04 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9014186</guid><dc:creator>Dragos Manolescu</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/dragoman/comments/9014186.aspx</comments><wfw:commentRss>http://blogs.msdn.com/dragoman/commentrss.aspx?PostID=9014186</wfw:commentRss><description>&lt;p&gt;Earlier today we launched a technology preview for &lt;a href="http://websandbox.livelabs.com/"&gt;Web Sandbox&lt;/a&gt;, a project aimed at securing Web 2.0. The Sandbox applies techniques from programming languages to inject an interception layer that in effect virtualizes the execution of untrusted code in the browser. Among other interesting things the interception layer also gives us an opportunity to normalize the DOM API exposed to developers. Take it for a spin in your favorite browser--4 popular browsers shown below--and come the session &lt;em&gt;Live Labs Web Sandbox: Securing Mash-ups, Site Extensibility, and Gadgets&lt;/em&gt; that &lt;a href="http://en.wikipedia.org/wiki/Scott_Isaacs"&gt;Scott Isaacs&lt;/a&gt; and myself will run next week at PDC2008.&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/dragoman/WindowsLiveWriter/LiveLabsWebSandbox_13DF0/image_2.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="578" alt="image" src="http://blogs.msdn.com/blogfiles/dragoman/WindowsLiveWriter/LiveLabsWebSandbox_13DF0/image_thumb.png" width="917" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9014186" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/dragoman/archive/tags/web/default.aspx">web</category><category domain="http://blogs.msdn.com/dragoman/archive/tags/live+labs/default.aspx">live labs</category><category domain="http://blogs.msdn.com/dragoman/archive/tags/pdc2008/default.aspx">pdc2008</category></item><item><title>Web 2.0 Patterns Wiki</title><link>http://blogs.msdn.com/dragoman/archive/2008/07/09/web-2-0-patterns-wiki.aspx</link><pubDate>Wed, 09 Jul 2008 16:23:13 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8712527</guid><dc:creator>Dragos Manolescu</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/dragoman/comments/8712527.aspx</comments><wfw:commentRss>http://blogs.msdn.com/dragoman/commentrss.aspx?PostID=8712527</wfw:commentRss><description>&lt;p&gt;Last week a group comprising Felix Nyffenegger, Judith Bishop, Duane Nickull, Marco Brambilla, Marco Egli, Michael Mahemoff, Patrice Pelland, Petri Selonen, Steve Burns, Wolf Logan, and Wei Wei joined me and Joe Yoder at the &lt;a href="http://micro-workflow.com/2008/04/07/web-20-the-next-generation/"&gt;Web 2.0 pattern mining workshop&lt;/a&gt; at ETH Zuerich.&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/dragoman/WindowsLiveWriter/Web2.0PatternsWiki_55CE/ETH_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="163" alt="ETH" src="http://blogs.msdn.com/blogfiles/dragoman/WindowsLiveWriter/Web2.0PatternsWiki_55CE/ETH_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Several clusters emerged around the workshop's presentations. For example, Patrice and Wolf's coverage of gadgets and gadget platforms pushed our exploration to the UI/glass. Some of the common traits include:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Provide an open platform&lt;/li&gt; &lt;li&gt;Support several technologies (JavaScript, Silverlight, Flash)&lt;/li&gt; &lt;li&gt;Package applications as gadgets&lt;/li&gt; &lt;li&gt;Extend instrumentation to include the client&lt;/li&gt; &lt;li&gt;Provider feeds raw content, users create personalized mashups&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/dragoman/WindowsLiveWriter/Web2.0PatternsWiki_55CE/workshop-1_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="163" alt="workshop-1" src="http://blogs.msdn.com/blogfiles/dragoman/WindowsLiveWriter/Web2.0PatternsWiki_55CE/workshop-1_thumb.jpg" width="244" align="right" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Also on the first day Duane and Steve's coverage of cloud-hosted services brought forth the following:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Execution context awareness&lt;/li&gt; &lt;li&gt;Scale services up and down&lt;/li&gt; &lt;ul&gt; &lt;li&gt;Add more capacity quickly, only when you need it&lt;/li&gt; &lt;li&gt;Remove capacity when you no longer need it&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;Leverage analytics-increase awareness of server utilization&lt;/li&gt; &lt;li&gt;Abstract out the hardware&lt;/li&gt; &lt;ul&gt; &lt;li&gt;Push into the cloud&lt;/li&gt; &lt;li&gt;Leverage virtualization&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt; &lt;p&gt;On the second day Michael's focus on gadgets and OpenSocial directed us to &lt;a href="http://softwareas.com/paleosocial-patterns"&gt;paleosocial patterns&lt;/a&gt;, while Felix and Marco's coverage of Web 2.0 site navigation put on the table vizualizations (e.g., &lt;a href="http://debategraph.com"&gt;debategraph.com&lt;/a&gt;, &lt;a href="http://tafiti.com"&gt;tafiti.com&lt;/a&gt;), presentation shifting (e.g., &lt;a href="http://piclens.com"&gt;piclens.com&lt;/a&gt;, &lt;a href="http://labs.live.com/photosynth/"&gt;Photosynth&lt;/a&gt;), and others. &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;a href="http://blogs.msdn.com/blogfiles/dragoman/WindowsLiveWriter/Web2.0PatternsWiki_55CE/workshop-2_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="163" alt="workshop-2" src="http://blogs.msdn.com/blogfiles/dragoman/WindowsLiveWriter/Web2.0PatternsWiki_55CE/workshop-2_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;During the workshop we also designed a web-based video player that surfaced many of the solutions we looked into. Besides reminding us what it's like to use a real blackboard this exercise helped cluster some of the emerging themes:&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/dragoman/WindowsLiveWriter/Web2.0PatternsWiki_55CE/workshop-design-1_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="163" alt="workshop-design-1" src="http://blogs.msdn.com/blogfiles/dragoman/WindowsLiveWriter/Web2.0PatternsWiki_55CE/workshop-design-1_thumb.jpg" width="244" align="right" border="0"&gt;&lt;/a&gt;&amp;nbsp; &lt;/p&gt; &lt;ul&gt; &lt;li&gt;Key-value store: Amazon Dynamo/S3, BigTable (Google)&lt;/li&gt; &lt;li&gt;Streaming: Hulu, YouTube streaming (not Flash)&lt;/li&gt; &lt;li&gt;Client time synchro service: NTP, MMORPG&lt;/li&gt; &lt;li&gt;Social network integration services: Oauth, OpenID/Passport&lt;/li&gt; &lt;li&gt;Mash-up engine: PopFly, Yahoo! pipes&lt;/li&gt; &lt;li&gt;Monetization (social cash -&amp;gt; $, analytics, instrumentation): AdSense, witkey.com, SiteMeter, Elance&lt;/li&gt; &lt;li&gt;Video: Vime, Nicovideo.jp, Jaman.com&lt;/li&gt; &lt;li&gt;Mood: Musicovery, Yahoo! IM, Nabaztag.com&lt;/li&gt; &lt;li&gt;Friend states: Twitter&lt;/li&gt; &lt;li&gt;IM: Facebook/MySpace, Twitter, Shoutbox&lt;/li&gt; &lt;li&gt;Recommendations: Tuneglue, Netflix, Facebook&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/dragoman/WindowsLiveWriter/Web2.0PatternsWiki_55CE/workshop-design-2_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="163" alt="workshop-design-2" src="http://blogs.msdn.com/blogfiles/dragoman/WindowsLiveWriter/Web2.0PatternsWiki_55CE/workshop-design-2_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;We are planning on fleshing out some of the emerging patterns as a a distributed, collaborative endeavor. We have a &lt;a href="http://patternrefinery.com/"&gt;wiki site&lt;/a&gt; to provide the locus of collaboration for this work. For the moment only the folks who attended the workshop could add and change the content. I expect that to change as the content shapes up so stay tuned.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8712527" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/dragoman/archive/tags/web/default.aspx">web</category><category domain="http://blogs.msdn.com/dragoman/archive/tags/patterns/default.aspx">patterns</category></item><item><title>Web 2.0 Pattern Mining Workshop</title><link>http://blogs.msdn.com/dragoman/archive/2008/06/24/web-2-0-pattern-mining-workshop.aspx</link><pubDate>Tue, 24 Jun 2008 20:20:21 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8648023</guid><dc:creator>Dragos Manolescu</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/dragoman/comments/8648023.aspx</comments><wfw:commentRss>http://blogs.msdn.com/dragoman/commentrss.aspx?PostID=8648023</wfw:commentRss><description>&lt;p&gt;Monday June 30 we're kicking off the &lt;a href="http://labs.live.com/Web+20+Pattern+Mining+Workshop.aspx"&gt;Web 2.0 Pattern Mining Workshop&lt;/a&gt; at the &lt;a href="http://tools.ethz.ch/index.html"&gt;TOOLS Europe&lt;/a&gt; conference, in Zurich, Switzerland. The submitted proposals focus on gadgets/widgets, gadget platforms, site navigation, and services. So far the confirmed participants include (some of the) people behind:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://www.wikimindmap.org/"&gt;WikiMindMap&lt;/a&gt;  &lt;li&gt;&lt;a href="http://ajaxpatterns.org/Book"&gt;AJAX Design Patterns&lt;/a&gt;  &lt;li&gt;&lt;a href="http://www.amazon.com/Web-2-0-Patterns-entrepreneurs-information/dp/0596514433"&gt;Web 2.0 Patterns&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;The workshop spans over 2 days and includes presentations, brainstorming, and pattern mining sessions, as well as 2 related keynotes:&lt;/p&gt; &lt;div class="content"&gt; &lt;div class="bodyContainer"&gt; &lt;div class="column"&gt; &lt;div class="dayItems"&gt; &lt;div class="items"&gt; &lt;div class="item"&gt; &lt;div class="itemContents"&gt; &lt;div class="itemBody"&gt;&lt;font face="Cambria;" style;normal&gt; &lt;table cellspacing="0" cellpadding="2" width="602" border="1" border-collapse:collapse; unselectable="on"&gt; &lt;tbody valign="top"&gt; &lt;tr&gt; &lt;td width="123"&gt;&lt;b&gt;Day&lt;/b&gt;&lt;/td&gt; &lt;td width="25"&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt; &lt;td width="452"&gt;&lt;b&gt;Event&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td width="123" rowspan="6"&gt;Monday, June 30&lt;/td&gt; &lt;td width="25"&gt;11:00-11:30&lt;/td&gt; &lt;td width="452"&gt;1. Introductions&lt;br&gt;2. &lt;i&gt;Gadget Platforms&lt;/i&gt;: Patrice Pelland and Wolf Logan&lt;br&gt;3. &lt;i&gt;Services in Web 2.0&lt;/i&gt;: Steven Burns and Duane Nickull&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td width="120"&gt;13:00-14:30&lt;/td&gt; &lt;td width="25"&gt;Lunch break&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td width="120"&gt;14:30-15:30&lt;/td&gt; &lt;td width="25"&gt;Keynote: Michael Mahemoff&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td width="120"&gt;15:30-16:00&lt;/td&gt; &lt;td width="25"&gt;Brainstorming&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td width="120"&gt;16:00-16:30&lt;/td&gt; &lt;td width="25"&gt;Coffee break&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td width="120"&gt;16:30-18:00&lt;/td&gt; &lt;td width="25"&gt;Patterning mining 1&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td width="123" rowspan="6"&gt;Tuesday, July 1&lt;/td&gt; &lt;td width="25"&gt;11:00-13:00&lt;/td&gt; &lt;td width="452"&gt;1. Summary of results from Day 1&lt;br&gt;2. &lt;i&gt;Gadgets&lt;/i&gt;: Michael Mahemoff&lt;br&gt;3. &lt;i&gt;Web 2.0 Navigation&lt;/i&gt;: Fleix Nyffenegger and Marco Egli&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td width="125"&gt;13:00-14:30&lt;/td&gt; &lt;td width="25"&gt;Lunch break&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td width="126"&gt;14:30-15:30&lt;/td&gt; &lt;td width="25"&gt;Keynote: Erik Meijer&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td width="127"&gt;15:30-16:00&lt;/td&gt; &lt;td width="25"&gt;Brainstorming&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td width="128"&gt;16:00-16:30&lt;/td&gt; &lt;td width="25"&gt;Coffee break&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td width="129"&gt;16:30-18:00&lt;/td&gt; &lt;td width="25"&gt;Patterning mining 2 and closing&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;p&gt;Anybody is welcome to participate, even if they haven't submitted proposals. We expect those folks to:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Read the submissions (links in the &lt;a href="http://labs.live.com/Web+20+Pattern+Mining+Workshop.aspx"&gt;workshop's page&lt;/a&gt;)  &lt;li&gt;Select 3-5 Web 2.0 sites relevant to the workshop's topics  &lt;li&gt;Post to the &lt;a href="http://toolseu2008.crowdvine.com/"&gt;TOOLS social networking&lt;/a&gt; site a brief explanation about why they selected these sites&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;See you there!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8648023" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/dragoman/archive/tags/web/default.aspx">web</category><category domain="http://blogs.msdn.com/dragoman/archive/tags/patterns/default.aspx">patterns</category></item><item><title>Web 2.0 Patterns</title><link>http://blogs.msdn.com/dragoman/archive/2008/03/21/web-2-0-patterns.aspx</link><pubDate>Fri, 21 Mar 2008 16:46:08 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8329229</guid><dc:creator>Dragos Manolescu</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/dragoman/comments/8329229.aspx</comments><wfw:commentRss>http://blogs.msdn.com/dragoman/commentrss.aspx?PostID=8329229</wfw:commentRss><description>&lt;p&gt;During the last decade software patterns emerged as one of the most successful forms of reuse. The &lt;a href="http://www.amazon.com/Design-Patterns-Object-Oriented-Addison-Wesley-Professional/dp/0201633612"&gt;Gang of Four 23 Design Patterns&lt;/a&gt;, the &lt;a href="http://www.amazon.com/Pattern-Oriented-Software-Architecture-System-Patterns/dp/0471958697"&gt;POSA Architecture Patterns&lt;/a&gt;, &lt;a href="http://www.amazon.com/Enterprise-Application-Architecture-Addison-Wesley-Signature/dp/0321127420"&gt;Fowler's Enterprise Application Patterns&lt;/a&gt;, or the &lt;a href="http://www.amazon.com/xUnit-Test-Patterns-Refactoring-Addison-Wesley/dp/0131495054"&gt;xUnit Test Patterns&lt;/a&gt; (to name just a few) changed in a fundamental way the way we craft software.&lt;/p&gt; &lt;p&gt;If you are involved with applications that employ:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Folksonomies&lt;/li&gt; &lt;li&gt;Microformats&lt;/li&gt; &lt;li&gt;REST, XML, or JSON-based APIs&lt;/li&gt; &lt;li&gt;AJAX and RIAs&lt;/li&gt; &lt;li&gt;Syndication and aggregation (RSS, Atom)&lt;/li&gt; &lt;li&gt;Mashups&lt;/li&gt; &lt;li&gt;Blogs, wikis, social media, or other types of user-generated content&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;and are interested in patterns covering these topics then join us at the &lt;a href="http://labs.live.com/Web+20+Pattern+Mining+Workshop.aspx"&gt;Web 2.0 Pattern Mining Workshop&lt;/a&gt; at the &lt;a href="http://tools.ethz.ch/index.html"&gt;TOOLS-Europe 2008&lt;/a&gt; conference, the 46th International Conference on Objects, Models, Components and Patterns. Participation in the workshop is open to anybody who could contribute to Web 2.0 patterns. See the &lt;a href="http://labs.live.com/Web+20+Pattern+Mining+Workshop.aspx"&gt;call for participation online&lt;/a&gt; and drop me a line if you have questions.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8329229" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/dragoman/archive/tags/web/default.aspx">web</category><category domain="http://blogs.msdn.com/dragoman/archive/tags/patterns/default.aspx">patterns</category></item><item><title>Volta: The Power of Lingua Franca</title><link>http://blogs.msdn.com/dragoman/archive/2007/12/05/volta-the-power-of-lingua-franca.aspx</link><pubDate>Thu, 06 Dec 2007 10:25:50 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6676128</guid><dc:creator>Dragos Manolescu</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/dragoman/comments/6676128.aspx</comments><wfw:commentRss>http://blogs.msdn.com/dragoman/commentrss.aspx?PostID=6676128</wfw:commentRss><description>&lt;p&gt;Earlier today we released the &lt;a href="http://labs.live.com/volta"&gt;Live Labs Volta Technology Preview&lt;/a&gt;. There are already a few blog posts covering Volta from several team members, including &lt;a href="http://blogs.msdn.com/dannyvv/"&gt;Danny van Velzen&lt;/a&gt;, &lt;a href="http://blogs.msdn.com/harishk/"&gt;Harish Kantamneni&lt;/a&gt;, &lt;a href="http://blogs.msdn.com/jeffva/"&gt;Jeffrey van Gogh&lt;/a&gt;, and &lt;a href="http://blogs.msdn.com/wesdyer/"&gt;Wes Dyer&lt;/a&gt;; &lt;a href="http://research.microsoft.com/~emeijer/"&gt;Erik Meijer&lt;/a&gt; also posted an &lt;a href="http://lambda-the-ultimate.org/node/2563"&gt;entry on Lambda-the-ultimate&lt;/a&gt;. Here I'd like to clarify an aspect that is starting to come up in other conversations: the power of &lt;a href="http://en.wikipedia.org/wiki/Lingua_franca"&gt;lingua franca&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Here's the flow of transformations from source code (C# in this example) to native code, without Volta:&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/dragoman/WindowsLiveWriter/VoltaThePowerofLinguaFranca_143ED/Slide1_2.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="362" alt="Slide1" src="http://blogs.msdn.com/blogfiles/dragoman/WindowsLiveWriter/VoltaThePowerofLinguaFranca_143ED/Slide1_thumb_2.png" width="481" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;The Volta recompiler works on &lt;a href="http://en.wikipedia.org/wiki/MSIL"&gt;MSIL&lt;/a&gt;, the intermediate language that .NET languages such as C#, VB or Iron Python are compiled to. Consequently, Volta alters the above flow by introducing another transformation of the MSIL. This transformation rewrites MSIL into MSIL, while adding the plumbing code for distribution and asynchronous method invocation. This is precisely where Volta pushes the corresponding &lt;a href="http://en.wikipedia.org/wiki/Accidental_complexity"&gt;accidental complexity&lt;/a&gt;, thus getting it out of the way. The following diagram shows this modified flow, when both the client and the tier-split service are running on the CLR.&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/dragoman/WindowsLiveWriter/VoltaThePowerofLinguaFranca_143ED/Slide2_2.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="372" alt="Slide2" src="http://blogs.msdn.com/blogfiles/dragoman/WindowsLiveWriter/VoltaThePowerofLinguaFranca_143ED/Slide2_thumb_2.png" width="495" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;A similar MSIL transformation provides the ability to stretch the reach of the .NET platform to cover the cloud through &lt;a href="http://labs.live.com/volta/docs/"&gt;retargeting&lt;/a&gt;. Rather than rewriting MSIL into MSIL Volta rewrites it into JavaScript. The following diagram shows the retargeting flow, when the client runs in a DHTML browser and the service on the CLR.&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/dragoman/WindowsLiveWriter/VoltaThePowerofLinguaFranca_143ED/Slide3_2.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="379" alt="Slide3" src="http://blogs.msdn.com/blogfiles/dragoman/WindowsLiveWriter/VoltaThePowerofLinguaFranca_143ED/Slide3_thumb_2.png" width="504" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;The above sketches illustrate the power of lingua franca. By working on MSIL rather than source code Volta gives developers the freedom to use any .NET language, the ability to mix multiple languages, as well as leverages the hard work of the compiler writers (think optimizations, for example). In addition, avoiding source code is less brittle and accommodates high-level language evolution as long as the MSIL doesn't change.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6676128" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/dragoman/archive/tags/web/default.aspx">web</category><category domain="http://blogs.msdn.com/dragoman/archive/tags/volta/default.aspx">volta</category><category domain="http://blogs.msdn.com/dragoman/archive/tags/live+labs/default.aspx">live labs</category></item><item><title>Guidance on Model-View-... Variants</title><link>http://blogs.msdn.com/dragoman/archive/2007/08/27/guidance-on-model-view-variants.aspx</link><pubDate>Tue, 28 Aug 2007 07:27:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4603517</guid><dc:creator>Dragos Manolescu</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/dragoman/comments/4603517.aspx</comments><wfw:commentRss>http://blogs.msdn.com/dragoman/commentrss.aspx?PostID=4603517</wfw:commentRss><description>Rcently I've been part of several conversations on the differences between Model-View-Controller and Model-View-Presenter. While&amp;nbsp;reviewing the original articles&amp;nbsp;(i.e., Krasner + Pope and Potel)&amp;nbsp;which I read years ago&amp;nbsp;I ran into many different, and sometimes incomplete or even incorrect&amp;nbsp;interpretations and renditions.&amp;nbsp;Following this experience&amp;nbsp;I bet that MVC and&amp;nbsp;MVP are the most misunderstood popular patterns. Answers to questions such as &lt;EM&gt;Why have you used MVP?&lt;/EM&gt; or &lt;EM&gt;What's&amp;nbsp;are the salient&amp;nbsp;traits that determine whether a triad is still an MVP?&lt;/EM&gt; are leading me to believe that many folks would&amp;nbsp;welcome guidance about these patterns&amp;nbsp;(including&amp;nbsp;their&amp;nbsp;relationsip).&amp;nbsp;What's the best side by side MVC/MVP explanation you've seen? Would something like that make your life easier?&amp;nbsp;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4603517" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/dragoman/archive/tags/web/default.aspx">web</category><category domain="http://blogs.msdn.com/dragoman/archive/tags/patterns/default.aspx">patterns</category></item><item><title>What is a LOB application?</title><link>http://blogs.msdn.com/dragoman/archive/2007/07/19/what-is-a-lob-application.aspx</link><pubDate>Thu, 19 Jul 2007 19:34:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3958383</guid><dc:creator>Dragos Manolescu</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/dragoman/comments/3958383.aspx</comments><wfw:commentRss>http://blogs.msdn.com/dragoman/commentrss.aspx?PostID=3958383</wfw:commentRss><description>&lt;P&gt;I wanted to blog about this topic for a while so I might as well make it the first post. Line of Business (LOB) applications come up quite frequently in conversations around me. However I'm not sure whether everybody has a common understanding of what that means. They're business rather than consumer applications, but what else? There's one definition &lt;A class="" href="http://searchcio.techtarget.com/sDefinition/0,290660,sid19_gci214562,00.html" mce_href="http://searchcio.techtarget.com/sDefinition/0,290660,sid19_gci214562,00.html"&gt;here&lt;/A&gt; but is it sufficient? I've brainstormed LOB applications with&amp;nbsp;&lt;A class="" href="http://www.codeplex.com/websf" mce_href="http://www.codeplex.com/websf"&gt;p&amp;amp;p's Web Client team&lt;/A&gt;, weaved&amp;nbsp;the results&amp;nbsp;with my consulting experience with Global 1000 companies, and came up with a few traits (I'm sure there are more).&lt;/P&gt;
&lt;P&gt;LOB applications are (in no particular order):&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Interactive--self explanatory&lt;/LI&gt;
&lt;LI&gt;Have multiple screens--the interaction happens on screens, and typically several of them are involved&lt;/LI&gt;
&lt;LI&gt;Domain specific--examples include&amp;nbsp;finance, insurance, health care, telecom, and e-commerce applications&lt;/LI&gt;
&lt;LI&gt;OLTP--transaction processing rather than analytical processing&lt;/LI&gt;
&lt;LI&gt;Have relatively simple user interface/presentation--text fields, checkboxes, buttons&lt;/LI&gt;
&lt;LI&gt;Integrate with&amp;nbsp;other systems that&amp;nbsp;manage the data and execute the transactions--databases, systems of record, etc.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Do the above chracteristics represent a tall order? It depends. Here's just one data point to consider. A while back I followed the flow of a claim to understand the claim processing workflow. That particular claim processor (like&amp;nbsp;pretty much all&amp;nbsp;the other&amp;nbsp;insurance companies I worked with)&amp;nbsp;ran claims through&amp;nbsp;a legacy application running on a mainframe. The folks working with the application used green screens to enter the claim information and process the claim. If you've never seen a mainframe before, this translates into &lt;EM&gt;very fast&lt;/EM&gt; response times (when navigating, validating, pulling reference data, and moving from one screen to another) and &lt;EM&gt;keyboard-intensive navigation and&amp;nbsp;input&lt;/EM&gt; (typically&amp;nbsp;with all those function keys performing some action). This may be a tall order if&amp;nbsp;you're building a&amp;nbsp;browser-based application.&lt;/P&gt;
&lt;P&gt;[Update] The point about relatively simple UI warrants an explanation. Don't read it as "LOB applications ought to have boring UIs." Far from it. But if you find yourself implementing the functionality of&amp;nbsp;a windowing system or that of a portal site, it's likely that you're over engineering.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3958383" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/dragoman/archive/tags/web/default.aspx">web</category></item></channel></rss>