<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" media="screen" href="/styles/xslt/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:c9="http://channel9.msdn.com">
<channel>
	<title>Comment Feed for Channel 9 - Steve Anonsen and John Rivard: Inside LightSwitch</title>
	<atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/Shows/Going+Deep/Steve-Anonsen-and-John-Rivard-Inside-LightSwitch/RSS"></atom:link>
	<image>
		<url>http://ecn.channel9.msdn.com/o9/previewImages/100/568420_100x75.jpg</url>
		<title>Channel 9 - Steve Anonsen and John Rivard: Inside LightSwitch</title>
		<link></link>
	</image>
	<description>
&amp;quot;Visual Studio LightSwitch&amp;nbsp;is a new tool aimed at easily building data-driven applications, such as an inventory system or a&amp;nbsp;basic customer relationship
 management system.&amp;quot;Typically, when making difficult things easy, the price is solving a set of very
difficult technical problems. In this case, the LightSwitch engineering team needed to remove the necessity for non-programmer domain experts to think about application&amp;nbsp;tiers (e.g., client, web server, and database) when constructing data-bound applications
 for use in their daily business lives. LightSwitch is designed for non-programmers, but it also offers the ability to customize and extend it, which will most likely be done by experienced developers (see Beth Massi&#39;s&amp;nbsp;Beyond
 the Basics interview to learn about some&amp;nbsp;of&amp;nbsp;the more advanced capabilities).This conversation isn&#39;t really about how to use LightSwitch (or how to extend it to meet your specific needs)—that&#39;s already been covered. Rather, in this video we meet the architects behind LightSwitch, Steve Anonsen and John Rivard, focusing on how LightSwitch
 is designed and what problems it actually solves as a consequence of the design. Most of the time is spent at the whiteboard, discussing architecture and solutions to some hard technical problems. This is Going Deep, so we will open LightSwitch&#39;s hood and
 dive into the rabbit hole.Enjoy!For more information on LightSwitch, please see: 
Visual Studio LightSwitch Developer Center
Visual Studio LightSwitch Team Blog
Visual Studio LightSwitch Forums
</description>
	<link></link>
	<language>en</language>
	<pubDate>Fri, 24 May 2013 11:46:08 GMT</pubDate>
	<lastBuildDate>Fri, 24 May 2013 11:46:08 GMT</lastBuildDate>
	<generator>Rev9</generator>
	<item>
		<title>Re: Steve Anonsen and John Rivard: Inside LightSwitch</title>
		<description>
			<![CDATA[
<p>Great! Well done guys <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /> I must (again) give a tribute to man who did this game changing approach 20&#43; years ago in &quot;PC FAND&quot; development tool, started at CP/M machines to process large datasets (in fact, government level agriculture datacenters in centrally
 planned economy ...) and then ported to MS-DOS and then, unfortunatelly NOT ported to windows - obviously quite impossible in &quot;one man show&quot; scenario. He didnt use objects, there was no no ORMs, entities, DSLs, model-driven (not to mention -centric) development
 and many other buzzwords. In fact, here was declarative not only models (with at this level computed fields as you have now, validation checks, recordset change triggers...) and screens (not so much formalized UX but its controls layout at least, scripted
 by imperative pascal-like code - used also anywhere else), but here was also declarative reports and streaming-based semiparallel &quot;change&quot; queries (called &quot;transformations&quot; - so NO sql yet, no query optimizations, but low-memory consuption &quot;jobs&quot; with events
 attached even on grouped-by property changes to produce many output resultsets streams in single pass over all input streams), also role based permissions, network concurrency using file-locking added later etc. So it is great to see now similar approach properly
 extensible even on 2 and 3 tier architecture, Azure and so on! I always dreamed about this, knowing that its really difficult to implement this beast, as it must be done as close to SQL server as possible to be effective, togeter with integrated client based
 UI, so your app-server runtime and whole simplifying of even so complex deployment is really amazing, not to mention true object orientation, first-class CLR/JIT powered languages even for model calculated fields, great extensibility points at right places...
 In fact I am shocked to see this done <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' />. But the man who did it first for me was Gert Klötzer <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' />.</p>
<p>&nbsp;</p>
<p>Have a nice code, even in future !</p>
<p>posted by petr.antos</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Steve-Anonsen-and-John-Rivard-Inside-LightSwitch#c634183756870000000</link>
		<pubDate>Wed, 25 Aug 2010 23:28:07 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Steve-Anonsen-and-John-Rivard-Inside-LightSwitch#c634183756870000000</guid>
		<dc:creator>petr.antos</dc:creator>
	</item>
	<item>
		<title>Re: Steve Anonsen and John Rivard: Inside LightSwitch</title>
		<description>
			<![CDATA[
<p>Very cool.&nbsp; Thanks folks.&nbsp; Charles mentioned using Rx in the calculated fields discussion.&nbsp;&nbsp; If the Data types were wrapper types, Rx could seem to handle this nicely.&nbsp; Just need to figure out how to inspect expression to figure out which data types to hook
 into for a general solution.</p>
<p>&nbsp;</p>
<p>public class MyInt<br />{<br />&nbsp;&nbsp;&nbsp; int value;<br />&nbsp;&nbsp;&nbsp; Subject&lt;int&gt; changed = new Subject&lt;int&gt;();<br />&nbsp;&nbsp;&nbsp; public int Value<br />&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; get { return value; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; set<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (value == this.value)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.value = value;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; changed.OnNext(this.value);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; public IObservable&lt;int&gt; Changed<br />&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; get<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return changed.AsObservable();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; public static void Test()<br />&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var a = new MyInt();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var b = new MyInt();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var c = new MyInt();</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Setup Sum function that is called after any change to args.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Observable.Merge(a.Changed, b.Changed, c.Changed)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .Subscribe(i =&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int result = a.Value &#43; b.Value &#43; c.Value;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine(&quot;Update Sum: &quot; &#43; result);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; });</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Program can now set Values anywhere and Sum will be updated.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a.Value = 1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b.Value = 1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c.Value = 1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c.Value = 5;<br />&nbsp;&nbsp;&nbsp; }<br />} </p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>posted by staceyw</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Steve-Anonsen-and-John-Rivard-Inside-LightSwitch#c634184037570000000</link>
		<pubDate>Thu, 26 Aug 2010 07:15:57 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Steve-Anonsen-and-John-Rivard-Inside-LightSwitch#c634184037570000000</guid>
		<dc:creator>staceyw</dc:creator>
	</item>
	<item>
		<title>Re: Steve Anonsen and John Rivard: Inside LightSwitch</title>
		<description>
			<![CDATA[
<p>Thanks Steve &amp; John, you've restored my faith in MS!</p>
<p>Everyone who builds the multi-layered bussines applications which goes a little beyond the simple master-details forms, arrives at a framework which has to take care of these things.</p>
<p>That's not something for everyone. I came under the impression that the people building visual studio &amp; tools had no real world experience with this stuff. I always wondered&nbsp;what the dynamics/navision people thought about that.</p>
<p>And here you are.</p>
<p>&nbsp;</p>
<p>After building my own orm/frameworks/viewmanagers/service layers and what not, I alway wanted to make it complete with some designers/wizards &amp; tools&nbsp;to make building the app itself&nbsp;and bussiness rules a little bit&nbsp;easier.
</p>
<p>That's what lightswitch really is. And off course there will be trade offs, and it's a 1.0 (still beta) version.</p>
<p>But it looks very very promising ! And not only for the ex-foxpro/ms access/clipper developers!</p>
<p>&nbsp;</p>
<p>And with the azure/cloud route, it has to be a sure winner. </p>
<p>Any targets known about rtm/rtw ? </p>
<p>&nbsp;</p>
<p>MarcelDevG</p>
<p>posted by marceldevg</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Steve-Anonsen-and-John-Rivard-Inside-LightSwitch#c634185406500000000</link>
		<pubDate>Fri, 27 Aug 2010 21:17:30 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Steve-Anonsen-and-John-Rivard-Inside-LightSwitch#c634185406500000000</guid>
		<dc:creator>marceldevg</dc:creator>
	</item>
	<item>
		<title>Re: Steve Anonsen and John Rivard: Inside LightSwitch</title>
		<description>
			<![CDATA[
<p>Yeah.&nbsp; How I wanted this back when doing access apps <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' />&nbsp; Is there&nbsp; a reporting story yet?</p>
<p>posted by staceyw</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Steve-Anonsen-and-John-Rivard-Inside-LightSwitch#c634185594620000000</link>
		<pubDate>Sat, 28 Aug 2010 02:31:02 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Steve-Anonsen-and-John-Rivard-Inside-LightSwitch#c634185594620000000</guid>
		<dc:creator>staceyw</dc:creator>
	</item>
	<item>
		<title>Re: Steve Anonsen and John Rivard: Inside LightSwitch</title>
		<description>
			<![CDATA[
<p>Nice, staceyw.</p>
<p>C</p>
<p>posted by Charles</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Steve-Anonsen-and-John-Rivard-Inside-LightSwitch#c634185617730000000</link>
		<pubDate>Sat, 28 Aug 2010 03:09:33 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Steve-Anonsen-and-John-Rivard-Inside-LightSwitch#c634185617730000000</guid>
		<dc:creator>Charles</dc:creator>
	</item>
</channel>
</rss>