<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">.NET Architectonics</title><subtitle type="html">Dino Esposito on software design, .NET architecture, Web, cloud and Energynet</subtitle><id>http://weblogs.asp.net/despos/atom.aspx</id><link rel="alternate" type="text/html" href="http://weblogs.asp.net/despos/default.aspx" /><link rel="self" type="application/atom+xml" href="http://weblogs.asp.net/despos/atom.aspx" /><generator uri="http://communityserver.org" version="3.0.20510.895">Community Server</generator><updated>2009-03-23T22:50:00Z</updated><entry><title>The dead-end of Web Forms</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/despos/archive/2009/10/01/the-dead-end-of-web-forms.aspx" /><id>http://weblogs.asp.net/despos/archive/2009/10/01/the-dead-end-of-web-forms.aspx</id><published>2009-10-01T14:01:00Z</published><updated>2009-10-01T14:01:00Z</updated><content type="html">&lt;P mce_keep="true"&gt;I had a talk last week at &lt;STRONG&gt;&lt;A href="http://www.basta.net/" mce_href="http://www.basta.net"&gt;BASTA&lt;/A&gt;&lt;/STRONG&gt; about &lt;STRONG&gt;ASP.NET MVC vs. Web Forms&lt;/STRONG&gt; and I repeat the same talk today here in London at &lt;STRONG&gt;&lt;A href="http://www.software-architect.co.uk/" mce_href="http://www.software-architect.co.uk"&gt;Software Architect&lt;/A&gt;&lt;/STRONG&gt; conference. (Well, repeating a session is a big term for me--I'll never be able to repeat the same session the same way two or more times...).&lt;/P&gt;
&lt;P mce_keep="true"&gt;The key question that people ask, the only answer they want to hear, is about which one is preferable to use for the next project. Clearly, the natural answer would be a classic "It depends". My rule of thumb is fairly simple&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;If ASP.NET works for you, then stay with it.&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;If you start complaining about limitations you experience (not limitations others say you are experiencing), then look ahead.&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Once you decided to take the plunge into&amp;nbsp;ASP.NET MVC go ahead and never hesitate. If you seem not understanding it very well, study it more. &lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P mce_keep="true"&gt;When introduced, Web Forms was a cutting edge solution and it just engineered current best practices. But it was &lt;STRONG&gt;ten years&lt;/STRONG&gt; ago. We could argue whether it was the right choice to engineer ASP practices ten years ago. In fact, more or less at the&amp;nbsp;same time Sun did it differently when they architected JSP. &lt;/P&gt;
&lt;P mce_keep="true"&gt;There's not much more you can expert or achieve with Web Forms than you do today. OK, tomorrow, with version 4. This is the dead-end of Web Forms. &lt;/P&gt;
&lt;P mce_keep="true"&gt;If it doesn't serve you any more the way you like, change it. It will be a change for the better. But the better is also different and requires a different approach and skills. Design is design, and with ASP.NET MVC (which is far from perfection, by the way...), you need to gain design and architecture skills. &lt;/P&gt;
&lt;P mce_keep="true"&gt;My next book is just on ASP.NET MVC (February 2010) and will target version 2. Like many other books of mine it won't be an how-to book. And I'm taking architecture and design very seriously as I explain controllers, views and models. Stay tuned. And plan your design training :) Contact me... ha ha ha Smile.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7220969" width="1" height="1"&gt;</content><author><name>despos</name><uri>http://weblogs.asp.net/members/despos.aspx</uri></author><category term="ASP.NET MVC" scheme="http://weblogs.asp.net/despos/archive/tags/ASP.NET+MVC/default.aspx" /></entry><entry><title>Silverlight Coding Contest</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/despos/archive/2009/07/02/silverlight-coding-contest.aspx" /><id>http://weblogs.asp.net/despos/archive/2009/07/02/silverlight-coding-contest.aspx</id><published>2009-07-02T15:30:00Z</published><updated>2009-07-02T15:30:00Z</updated><content type="html">&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Tahoma','sans-serif'; FONT-SIZE: 10pt"&gt;A few days ago, ComponentArt started a Silverlight coding contest. If&amp;nbsp;you&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Tahoma','sans-serif'; FONT-SIZE: 10pt; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;submit your&amp;nbsp;Silverlight applications for evaluation by the&amp;nbsp;"Esteemed Panel of Judges" you can win&amp;nbsp;a prize of $10,000 or get free&amp;nbsp;licenses to ComponentArt products if you happen to be one of the two runner-up. Much more details available at the following sites:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Tahoma','sans-serif'; FONT-SIZE: 10pt; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;SPAN style="FONT-FAMILY: 'Tahoma','sans-serif'; FONT-SIZE: 10pt; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&lt;SPAN style="FONT-FAMILY: 'Tahoma','sans-serif'; FONT-SIZE: 10pt"&gt;- &lt;A href="http://www.componentart.com/"&gt;&lt;FONT color=#0000ff&gt;http://www.componentart.com/&lt;/FONT&gt;&lt;/A&gt; &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Tahoma','sans-serif'; FONT-SIZE: 10pt"&gt;- &lt;A href="http://www.componentart.com/community/competition2009/"&gt;&lt;FONT color=#0000ff&gt;http://www.componentart.com/community/competition2009/&lt;/FONT&gt;&lt;/A&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Tahoma','sans-serif'; FONT-SIZE: 10pt"&gt;- &lt;A href="http://www.componentart.com/BLOGS/miljan/archive/2009/06/22/10-000-for-the-best-silverlight-app.aspx"&gt;&lt;FONT color=#0000ff&gt;http://www.componentart.com/BLOGS/miljan/archive/2009/06/22/10-000-for-the-best-silverlight-app.aspx&lt;/FONT&gt;&lt;/A&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Tahoma','sans-serif'; FONT-SIZE: 10pt; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;BTW--I'll be one of the &lt;EM&gt;esteemed judges&lt;/EM&gt; :)&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7138717" width="1" height="1"&gt;</content><author><name>despos</name><uri>http://weblogs.asp.net/members/despos.aspx</uri></author><category term="Silverlight" scheme="http://weblogs.asp.net/despos/archive/tags/Silverlight/default.aspx" /></entry><entry><title>DataForm Control in Silverlight 3</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/despos/archive/2009/07/02/dataform-control-in-silverlight-3.aspx" /><id>http://weblogs.asp.net/despos/archive/2009/07/02/dataform-control-in-silverlight-3.aspx</id><published>2009-07-02T15:25:00Z</published><updated>2009-07-02T15:25:00Z</updated><content type="html">&lt;P mce_keep="true"&gt;Silverlight 3 comes with a new control—the &lt;I&gt;DataForm &lt;/I&gt;control—through which you can design a view model around a data type in what actually results to be a specialization of the MVVM pattern. The DataForm control is also smart enough to analyze the public properties of its data source and generate some UI accordingly. The DataForm will use text boxes for string properties, check boxes for Booleans, and a date picker control for dates. If bound to a collection of objects, it will also display a navigation bar. &lt;/P&gt;
&lt;P mce_keep="true"&gt;Read the full (part I of the) story on &lt;STRONG&gt;&lt;A href="http://dotnetslackers.com/articles/silverlight/Silverlight-3-and-the-Data-Form-Control-part-I.aspx" mce_href="http://dotnetslackers.com/articles/silverlight/Silverlight-3-and-the-Data-Form-Control-part-I.aspx"&gt;DotNetSlackers.com&lt;/A&gt;&lt;/STRONG&gt;.&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7138707" width="1" height="1"&gt;</content><author><name>despos</name><uri>http://weblogs.asp.net/members/despos.aspx</uri></author><category term="Silverlight3" scheme="http://weblogs.asp.net/despos/archive/tags/Silverlight3/default.aspx" /></entry><entry><title>ASP.NET 4.0: more control on viewstate management</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/despos/archive/2009/06/13/asp-net-4-0-more-control-on-viewstate-management.aspx" /><id>http://weblogs.asp.net/despos/archive/2009/06/13/asp-net-4-0-more-control-on-viewstate-management.aspx</id><published>2009-06-13T20:04:00Z</published><updated>2009-06-13T20:04:00Z</updated><content type="html">&lt;P mce_keep="true"&gt;ASP.NET is a stable and mature platform for building Web applications. Personally, I can hardly imagine a revolutionary&amp;nbsp;set of new and &amp;nbsp;compelling features to be added to it. So what's new in ASP.NET 4.0? Beyond AJAX stuff, there are some interesting enhancements in the Web Forms area. As I see things, all changes in ASP.NET 4.0 can be catalogued under the label of "more control". You get more control over viewstate, script references, ID generation, output caching and&amp;nbsp;even, but&amp;nbsp;in&amp;nbsp;very limited form, over HTML generated by some controls. &lt;/P&gt;
&lt;P mce_keep="true"&gt;Let's briefly focus on the viewstate extended control. In ASP.NET, the viewstate is &lt;STRONG&gt;optional&lt;/STRONG&gt;&amp;nbsp;but it is enabled by default. In addition, the viewstate is not simply a way of reducing your bandwidth. It is rather functional to the implementation of the Web Forms model. So just dropping the viewstate in a new version of ASP.NET is simply&amp;nbsp;out of question: either you get a new ASP.NET platform such as ASP.NET MVC or you stick to Web Forms with the viewstate on board. &lt;/P&gt;
&lt;P mce_keep="true"&gt;However, there's a subtle aspect of the viewstate management that has been fixed in ASP.NET 4.0. I said &lt;STRONG&gt;fixed&lt;/STRONG&gt; because, well, from my perspective it had to be considered a bug-by-design in previous versions. &lt;/P&gt;
&lt;P mce_keep="true"&gt;All server controls (the &lt;STRONG&gt;Page&lt;/STRONG&gt; class derives from &lt;STRONG&gt;Control&lt;/STRONG&gt;) have the &lt;STRONG&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/system.web.ui.control.enableviewstate(VS.100).aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.web.ui.control.enableviewstate(VS.100).aspx"&gt;EnableViewState&lt;/A&gt;&lt;/STRONG&gt; property through which you can disable the viewstate for that control. What is little known ais that the &lt;STRONG&gt;EnableViewState&lt;/STRONG&gt; property is ignored for child controls. In other words, if you take the default value (true) for the page, then whatever value you assign for it&amp;nbsp;to any controls in the page... it is ignored. You can have have TextBox1.EnableViewState = false but still have the text box to read/write state from the viewstate if the viewstate is enabled at the page (or container) level. &lt;/P&gt;
&lt;P mce_keep="true"&gt;This will change in ASP.NET 4.0 thanks to the new &lt;STRONG&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/system.web.ui.control.viewstatemode(VS.100).aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.web.ui.control.viewstatemode(VS.100).aspx"&gt;ViewStateMode&lt;/A&gt;&lt;/STRONG&gt; property. &lt;/P&gt;
&lt;P mce_keep="true"&gt;This property indicates whether the viewstate for the control is enabled|disabled|inherit. You can use the &lt;STRONG&gt;ViewStateMode&lt;/STRONG&gt; property to enable view state for an individual control even if view state is disabled for the page. This is the great news. Finally, you can now disable the viewstate on the page and decide which controls will have it enabled (opt-in). In earlier versions you could only do the reverse (opt-out): enable the&amp;nbsp;viewstate and then decide which controls will not support it.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7120927" width="1" height="1"&gt;</content><author><name>despos</name><uri>http://weblogs.asp.net/members/despos.aspx</uri></author><category term="ASP.NET 4.0" scheme="http://weblogs.asp.net/despos/archive/tags/ASP.NET+4.0/default.aspx" /></entry><entry><title>Give a chance to prediction </title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/despos/archive/2009/05/21/give-a-chance-to-prediction.aspx" /><id>http://weblogs.asp.net/despos/archive/2009/05/21/give-a-chance-to-prediction.aspx</id><published>2009-05-21T08:04:00Z</published><updated>2009-05-21T08:04:00Z</updated><content type="html">&lt;P mce_keep="true"&gt;It is mostly about AJAX applications, but it applies well to any scenario where a smart/rich client is present. I'm talking about the "Predictive Fetch" pattern. Quite simply, it refers to the idea of preloading data that the current user can request in a few moments. It relates to caching--more, it is often implemented through caching--but it is a different kind of thing. It is actually a strategy for certain pieces of the user interface, where you need/want to exceed expectations and provide an output close to (if not under) the threshold of human consciousness (about 10 ms). Immediate response. &lt;/P&gt;
&lt;P mce_keep="true"&gt;Like many other AJAX-related things, it is mostly a matter of tradeoff. You are guessing, that's what you're doing. And the guess can be right or wrong. If wrong, you have just wasted some resources and&amp;nbsp;CPU cycles on both client and server. If right, you astonish users. BUT... because you can hardly afford pre-fetching from every possible use-case, then the open point is: what the user reaction/feelings when one feature is sooo fast and another similar one is slower?&lt;/P&gt;
&lt;P mce_keep="true"&gt;The full story on &lt;STRONG&gt;&lt;A href="http://dotnetslackers.com/articles/ajax/Exceed-User-Expectations-with-Predictive-Fetch.aspx" mce_href="http://dotnetslackers.com/articles/ajax/Exceed-User-Expectations-with-Predictive-Fetch.aspx"&gt;DotNetSlackers&lt;/A&gt;&lt;/STRONG&gt;. &lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7094004" width="1" height="1"&gt;</content><author><name>despos</name><uri>http://weblogs.asp.net/members/despos.aspx</uri></author><category term="AJAXX Architecture" scheme="http://weblogs.asp.net/despos/archive/tags/AJAXX+Architecture/default.aspx" /></entry><entry><title>Testability vs. Testing</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/despos/archive/2009/05/13/testability-vs-testing.aspx" /><id>http://weblogs.asp.net/despos/archive/2009/05/13/testability-vs-testing.aspx</id><published>2009-05-13T09:26:00Z</published><updated>2009-05-13T09:26:00Z</updated><content type="html">&lt;P mce_keep="true"&gt;The first time I heard the&amp;nbsp;expression "unit testing"&amp;nbsp;at a .NET conference was--if memory serves well--back in 2004. Since then, it took probably a couple of more years for the theme of "unit testing" to gain due visibility in the .NET space. I can't mention a date when I heard the word "testability" instead. And still in articles, blogs, and conference talks the prevailing term is "testing". Not that no conferences in the world had the word testability pronounced lately, but it never happened to me to attend a talk or something where I could hear it--maybe I just go to the wrong sessions and miss a lot of great events :)&lt;/P&gt;
&lt;P mce_keep="true"&gt;Seriously, I feel that the word "testing" is used much more frequently than the word "testability". And I do believe that for developers and,&amp;nbsp;especially,&amp;nbsp;architects testability is a far more important aspect. In first place, testability is one of the required attributes of any software system according to the ISO standard for software architecture. Second, testability has a deeper impact than testing on the quality of the code you write. What's testability? &lt;/P&gt;
&lt;P mce_keep="true"&gt;In our book "&lt;STRONG&gt;&lt;A href="http://www.amazon.com/Microsoft%C2%AE-NET-Architecting-Applications-PRO-Developer/dp/073562609X/ref=pd_sim_b_7" mce_href="http://www.amazon.com/Microsoft%C2%AE-NET-Architecting-Applications-PRO-Developer/dp/073562609X/ref=pd_sim_b_7"&gt;Architecting Applications for the Enterprise&lt;/A&gt;&lt;/STRONG&gt;" &lt;A href="http://blogs.ugidotnet.org/pape" mce_href="http://blogs.ugidotnet.org/pape"&gt;Andrea&lt;/A&gt; and I write it as follows:&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;EM&gt;A broadly accepted definition for testability in the context of software architecture describes it as the ease of performing testing. And testing is the process of checking software to ensure that it behaves as expected, contains no errors, and satisfies its requirements.&lt;/EM&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;In a nutshell,&amp;nbsp;testing returns you a working application; testability returns you a better designed code. Honestly, can you spot any difference between a &lt;EM&gt;unit-tested piece of code that works&lt;/EM&gt; and a &lt;EM&gt;piece code that just works&lt;/EM&gt; (maybe tested by simply poking around)?&lt;/P&gt;
&lt;P mce_keep="true"&gt;With the excuse of letting you do that cool thing called unit-testing more quickly and effectively, testability silently drives you towards a much better design of the code with plenty of SoC, dependency injection, low coupling, high class cohesion, and minimal responsibilities for classes. &lt;/P&gt;
&lt;P mce_keep="true"&gt;Ultimately,design for testability means applying a software contract (code-contract in .NET 4.0) to classes and methods and keep classes cohesive, loosely coupled, and with dependencies clearly listed. Once classes are testable, unit-testing them is really a little detail. &lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7084806" width="1" height="1"&gt;</content><author><name>despos</name><uri>http://weblogs.asp.net/members/despos.aspx</uri></author><category term="Architecture" scheme="http://weblogs.asp.net/despos/archive/tags/Architecture/default.aspx" /></entry><entry><title>Things to say</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/despos/archive/2009/05/03/things-to-say.aspx" /><id>http://weblogs.asp.net/despos/archive/2009/05/03/things-to-say.aspx</id><published>2009-05-03T07:33:00Z</published><updated>2009-05-03T07:33:00Z</updated><content type="html">&lt;P mce_keep="true"&gt;Two interviews out at about the same time. One is on mythical &lt;STRONG&gt;&lt;A class="" href="http://www.dotnetrocks.com/default.aspx?showNum=442" mce_href="http://www.dotnetrocks.com/default.aspx?showNum=442"&gt;DotNetRocks&lt;/A&gt;&lt;/STRONG&gt;; one is on &lt;STRONG&gt;&lt;A class="" href="http://www.sodthis.com/podcast/2009/04/30/sod-this-4-now-with-100-less-swearing" mce_href="http://www.sodthis.com/podcast/2009/04/30/sod-this-4-now-with-100-less-swearing"&gt;SodThis&lt;/A&gt;&lt;/STRONG&gt;--brain burps for the tech savvy. Love the payoff :)&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;Enjoy!&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7071028" width="1" height="1"&gt;</content><author><name>despos</name><uri>http://weblogs.asp.net/members/despos.aspx</uri></author><category term="Interview" scheme="http://weblogs.asp.net/despos/archive/tags/Interview/default.aspx" /></entry><entry><title>AJAX Architectures Condensed</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/despos/archive/2009/04/17/ajax-architectures-condensed.aspx" /><id>http://weblogs.asp.net/despos/archive/2009/04/17/ajax-architectures-condensed.aspx</id><published>2009-04-17T14:40:00Z</published><updated>2009-04-17T14:40:00Z</updated><content type="html">&lt;P&gt;One thing is using AJAX to dynamically refresh a small piece of a single page; all another thing is designing a whole presentation layer to be partially refreshed in every possible operation against the server. An individual feature can be happily and nicely coded using a smart piece of JavaScript; a whole Web presentation layer will cost you a lot more if done entirely in JavaScript. And from scratch.&lt;/P&gt;
&lt;P&gt;Sure, new productivity tools are created every day (from the popular &lt;STRONG&gt;&lt;A class="" href="http://jquery.com/" mce_href="http://jquery.com"&gt;jQuery&lt;/A&gt;&lt;/STRONG&gt; library to the upcoming &lt;STRONG&gt;ASP.NET AJAX 4.0&lt;/STRONG&gt; framework), but the most effective way of adding AJAX to applications continues to be the subject of research and begins to look like the Holy Grail of Web software.&lt;/P&gt;
&lt;P&gt;I just published an article on &lt;STRONG&gt;&lt;A class="" href="http://weblogs.asp.net/controlpanel/blogs/www.dotnetslackers.com" mce_href="http://weblogs.asp.net/controlpanel/blogs/www.dotnetslackers.com"&gt;DotNetSlackers&lt;/A&gt;&lt;/STRONG&gt;, that summarizes the options you have when it comes to AJAX architectures. It is an excerpt from Chapter 3 of my &lt;STRONG&gt;&lt;A class="" href="http://www.amazon.com/Microsoft®-ASP-NET-AJAX-Architecting-PRO-Developer/dp/0735626219/ref=pd_sim_b_2" mce_href="http://www.amazon.com/Microsoft®-ASP-NET-AJAX-Architecting-PRO-Developer/dp/0735626219/ref=pd_sim_b_2"&gt;latest Web architecture book&lt;/A&gt;&lt;/STRONG&gt; mentioned in this &lt;STRONG&gt;&lt;A class="" href="http://weblogs.asp.net/despos/archive/2009/04/16/a-lovely-couple-of-architecture-books.aspx" mce_href="http://weblogs.asp.net/despos/archive/2009/04/16/a-lovely-couple-of-architecture-books.aspx"&gt;recent post&lt;/A&gt;&lt;/STRONG&gt; of mine.&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7048919" width="1" height="1"&gt;</content><author><name>despos</name><uri>http://weblogs.asp.net/members/despos.aspx</uri></author><category term="AJAX Architecture" scheme="http://weblogs.asp.net/despos/archive/tags/AJAX+Architecture/default.aspx" /><category term="AJAX" scheme="http://weblogs.asp.net/despos/archive/tags/AJAX/default.aspx" /></entry><entry><title>A lovely couple (of architecture books)</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/despos/archive/2009/04/16/a-lovely-couple-of-architecture-books.aspx" /><id>http://weblogs.asp.net/despos/archive/2009/04/16/a-lovely-couple-of-architecture-books.aspx</id><published>2009-04-16T18:15:00Z</published><updated>2009-04-16T18:15:00Z</updated><content type="html">&lt;P mce_keep="true"&gt;It was brought to my attention that there's no way to have a (free) look at the TOC of &lt;STRONG&gt;&lt;A class="" href="http://www.amazon.com/Microsoft%C2%AE-NET-Architecting-Applications-PRO-Developer/dp/073562609X" mce_href="http://www.amazon.com/Microsoft%C2%AE-NET-Architecting-Applications-PRO-Developer/dp/073562609X"&gt;Microsoft .NET: Architecting Applications for the Enterprise&lt;/A&gt;&lt;/STRONG&gt; other than holding the book in hands and flip through pages. Sorry about that, this post is to make up for the omission. There's no reason and no intention to keep it secret :) Here it is:&amp;nbsp;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Architect and Architecture Today &lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;UML Essentials &lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Design Principles and Patterns &lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;The Business Layer &lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;The Service Layer &lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;The Data Access Layer&amp;nbsp;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;The Presentation Layer &lt;/DIV&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P mce_keep="true"&gt;The book develops its content more in terms of general patterns than concrete technologies. It is, however, concretely bound to the MS platform and it is not hard to recognize products and technologies behind the scenes. At the same time, it discusses other mostly open-source alternatives that fit nicely in the .NET stack. &lt;/P&gt;
&lt;P mce_keep="true"&gt;Mid &lt;STRONG&gt;April 2009&lt;/STRONG&gt; is also the release date of the Web counterpart of the architecture book. I'm talking about &lt;STRONG&gt;&lt;A class="" href="http://www.amazon.com/Microsoft%C2%AE-ASP-NET-AJAX-Architecting-PRO-Developer/dp/0735626219/ref=pd_sim_b_3" mce_href="http://www.amazon.com/Microsoft%C2%AE-ASP-NET-AJAX-Architecting-PRO-Developer/dp/0735626219/ref=pd_sim_b_3"&gt;Microsoft ASP.NET and AJAX: Architecting Web Applications&lt;/A&gt;&lt;/STRONG&gt;, always from MS Press. Below, you find the TOC. I particularly recommend chapter 3 where I generalize most common approaches to AJAX today coining two (new?) terms: &lt;EM&gt;AJAX Server Pages&lt;/EM&gt; and &lt;EM&gt;AJAX Service Layer&lt;/EM&gt;. &lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Under the Umbrella of AJAX&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;The Easy Way to AJAX&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;AJAX Architectures&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;A Better and Richer JavaScript &lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;JavaScript Libraries&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;AJAX patterns&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Client-side Data Binding&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Rich Internet Applications&amp;nbsp; &lt;/DIV&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P mce_keep="true"&gt;Chapter 6 and chapter 7 contain concrete stuff about AJAX patterns with a lot of references to existing frameworks. Chapter 5 doesn't miss some jQuery coverage.&amp;nbsp;&amp;nbsp;Finally, Chapter 8 is about programming the Silverlight 2 model. Nothing on animation and graphics but everything a .NET developer/architect needs to know.&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7048306" width="1" height="1"&gt;</content><author><name>despos</name><uri>http://weblogs.asp.net/members/despos.aspx</uri></author><category term="Books" scheme="http://weblogs.asp.net/despos/archive/tags/Books/default.aspx" /></entry><entry><title>Web Forms vs. ASP.NET MVC</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/despos/archive/2009/04/11/web-forms-vs-asp-net-mvc.aspx" /><id>http://weblogs.asp.net/despos/archive/2009/04/11/web-forms-vs-asp-net-mvc.aspx</id><published>2009-04-11T11:03:00Z</published><updated>2009-04-11T11:03:00Z</updated><content type="html">&lt;P mce_keep="true"&gt;Probably I'm a bit late to the party, but as I gain confidence with ASP.NET MVC I feel I have my cents to share&amp;nbsp;:-)&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;ASP.NET MVC is not the anti-Web Forms and Web Forms is not the anti-pattern of ASP.NET development. ASP.NET was created 10+ years ago and in the late 1990s the MS platform was VB-oriented. So it was a natural choice to design ASP.NET as a stateful framework over a stateless medium--the Web. Many of the hot features in ASP.NET (postback, viewstate, forms authentication/authorization, server controls and abstraction over HTML) were eagerly welcomed by the community because they were time-saving facilities just implementing common features that everybody would have aboard. &lt;/P&gt;
&lt;P mce_keep="true"&gt;Over years, MS probably failed drawing&amp;nbsp;Web people attention on architecture and software design. There was an interesting attempt made with the Web Client Software Factory to implement MVP and workflow-based page navigation&amp;nbsp;in Web Forms&amp;nbsp;pages, but that turned out to be too far complex. At least, in my opinion. So in some way instead of driving Web Forms towards a better design it seemed preferable to introduce a new framework on the wave of the success gained by RoR and MonoRail. To many people, ASP.NET MVC looks like the new way to go and the only way to achieve SoC, testability, better design. &lt;/P&gt;
&lt;P mce_keep="true"&gt;For sure, ASP.NET MVC is a "new" ASP.NET designed ten years later looking at the current state of the industry and evolution. Comments on Web Forms vs. ASP.NET MVC are often biased and stuffed with pieces of&amp;nbsp;personal experience that is elevated to the rank of absolute, objectives facts. &lt;/P&gt;
&lt;P mce_keep="true"&gt;The table below lists my top-ten undisputable facts about ASP.NET MVC and Web Forms. These are facts--everything else, I believe, are opinions. And like all opinions they are fully respectable. At the end of the day, Web Forms and ASP.NET MVC is like car or motorcycle and ... it's up to you, your skills, your&amp;nbsp;education, your attitude, and your project requirements.&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Web Forms is hard to test&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;ASP.NET MVC requires you to specify every little bit of HTML&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;ASP.NET MVC is not the only way to get SoC in ASP.NET&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Web Forms allows you to learn as you go&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Viewstate is not the evil and can be controlled/disabled&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Web Forms was designed to abstract the Web machinery&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;ASP.NET MVC was designed with testability and DI in mind&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;ASP.NET MVC takes you towards a better design of the code&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;ASP.NET MVC is young and lacks today a component model&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;ASP.NET MVC is not the anti-Web Forms&lt;BR&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P mce_keep="true"&gt;On this topic, an article on &lt;STRONG&gt;&lt;A class="" href="http://msdn.microsoft.com/msdnmag" mce_href="http://msdn.microsoft.com/msdnmag"&gt;MSDN Magazine&lt;/A&gt;&lt;/STRONG&gt; is coming out in the &lt;STRONG&gt;&lt;U&gt;July 2009&lt;/U&gt;&lt;/STRONG&gt; issue. A &lt;STRONG&gt;&lt;A class="" href="http://www.amazon.com/Microsoft®-ASP-NET-AJAX-Architecting-PRO-Developer/dp/0735626219/ref=pd_sim_b_2" mce_href="http://www.amazon.com/Microsoft®-ASP-NET-AJAX-Architecting-PRO-Developer/dp/0735626219/ref=pd_sim_b_2"&gt;Web architecture book&lt;/A&gt;&lt;/STRONG&gt; is being published these days and I'll start soon on the &lt;STRONG&gt;MS Press&lt;/STRONG&gt; big book guide on ASP.NET MVC to be available towards end of the year. &lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7042941" width="1" height="1"&gt;</content><author><name>despos</name><uri>http://weblogs.asp.net/members/despos.aspx</uri></author><category term="ASP.N ET MVC" scheme="http://weblogs.asp.net/despos/archive/tags/ASP.N+ET+MVC/default.aspx" /><category term="ASP.NET" scheme="http://weblogs.asp.net/despos/archive/tags/ASP.NET/default.aspx" /></entry><entry><title>iBrii is gaining ground</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/despos/archive/2009/04/04/ibrii-is-gaining-ground.aspx" /><id>http://weblogs.asp.net/despos/archive/2009/04/04/ibrii-is-gaining-ground.aspx</id><published>2009-04-04T20:19:00Z</published><updated>2009-04-04T20:19:00Z</updated><content type="html">&lt;P mce_keep="true"&gt;&lt;STRONG&gt;&lt;A class="" href="http://www.ibrii.com/" mce_href="http://www.ibrii.com"&gt;IBrii&lt;/A&gt;&lt;/STRONG&gt; is a Web application that&amp;nbsp;I've been working on in the past weeks. It's not my baby, and I'm not one of parents, but I can definitely&amp;nbsp;be called as an&amp;nbsp;hooked-on uncle of the baby :-)&lt;/P&gt;
&lt;P mce_keep="true"&gt;So I'm even more proud of the work we did when I read what's on in the &lt;STRONG&gt;&lt;A class="" href="http://howto.wired.com/wiki/Replace_Google_Notebook" mce_href="http://howto.wired.com/wiki/Replace_Google_Notebook"&gt;Wired How-to Wiki&lt;/A&gt;&lt;/STRONG&gt;.&amp;nbsp;IBrii is recommended as&amp;nbsp;the best tool to replace and extend the just retired Google Notebook. IBrii is even more, tough.&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;It is a virtual notepad through which&amp;nbsp;you to write your personal notes, organize and share them with your friends. Your personal notes&amp;nbsp;can contain&amp;nbsp;just&amp;nbsp;everything&amp;nbsp;you can find in the Web. And you can &lt;STRONG&gt;clip-and-share&lt;/STRONG&gt; as you browse the net. IBrii is still a beta but is going to support documents (PDF, Office documents) and RSS feeds meaning that you can publish your notes of choice to your blog.&lt;/P&gt;
&lt;P mce_keep="true"&gt;First read &lt;STRONG&gt;&lt;A class="" href="http://howto.wired.com/wiki/Replace_Google_Notebook" mce_href="http://howto.wired.com/wiki/Replace_Google_Notebook"&gt;this&lt;/A&gt;&lt;/STRONG&gt;, then rush to get your &lt;STRONG&gt;&lt;A class="" href="http://www.ibrii.com/" mce_href="http://www.ibrii.com"&gt;account&lt;/A&gt;&lt;/STRONG&gt; today! You'll love it.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;PS: Technically speaking, IBrii is a relatively simple&amp;nbsp;ASP.NET application with a lot of jQuery to shape up the UI and calling into an AJAX Service Layer for server-side logic.&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7025653" width="1" height="1"&gt;</content><author><name>despos</name><uri>http://weblogs.asp.net/members/despos.aspx</uri></author><category term="ASP.NET AJAX" scheme="http://weblogs.asp.net/despos/archive/tags/ASP.NET+AJAX/default.aspx" /></entry><entry><title>Native, Immigrant, or Practitioner?</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/despos/archive/2009/03/31/native-immigrant-or-practitioner.aspx" /><id>http://weblogs.asp.net/despos/archive/2009/03/31/native-immigrant-or-practitioner.aspx</id><published>2009-03-31T06:48:00Z</published><updated>2009-03-31T06:48:00Z</updated><content type="html">&lt;P mce_keep="true"&gt;&lt;STRONG&gt;&lt;A class="" href="http://www.ascd.org/authors/ed_lead/el200512_prensky.html" mce_href="http://www.ascd.org/authors/ed_lead/el200512_prensky.html"&gt;Marc Prensky&lt;/A&gt;&lt;/STRONG&gt; coined the term &lt;STRONG&gt;digital native&lt;/STRONG&gt; to refer to persons who have grown up with digital&amp;nbsp;technology&amp;nbsp;including computers, Internet sites, and applications. In particular, Marc said that today's "students are no &lt;EM&gt;longer little versions of us&lt;/EM&gt;, as they may have been in the past. In fact, they are &lt;I&gt;so&lt;/I&gt; different from us that we can no longer use either our 20th century knowledge or our training as a guide to what is best for them educationally."&lt;/P&gt;
&lt;P mce_keep="true"&gt;Admittedly, terms digital natives and digital immigrants shocked me when I first heard of them.Last night I caught my son (11) in his room doing "some urgent work" and precisely:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Chatting over latest Messenger&amp;nbsp;with a friend about the day and the tennis lesson they just had.&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Imparting instructions on how to configure the Windows desktop over &lt;STRONG&gt;&lt;A class="" href="http://www.skype.com/" mce_href="http://www.skype.com"&gt;Skype&lt;/A&gt;&lt;/STRONG&gt;.&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Using &lt;STRONG&gt;&lt;A class="" href="http://www.ibrii.com/" mce_href="http://www.ibrii.com"&gt;iBrii&lt;/A&gt;&lt;/STRONG&gt; to do&amp;nbsp;his homework&amp;nbsp;in collaboration with another couple of friends.&amp;nbsp;&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P mce_keep="true"&gt;And my 11-years old son just self-installed &lt;STRONG&gt;Windows 7&lt;/STRONG&gt; and is actively using it and learning most of available configuration aspects. Which is definitely a good statement about Windows 7. The end of Windows hell? In some way, I glimpse similarities between Windows 7 and the first OS I really enjoyed so many years ago--the mythical Windows 95.&lt;/P&gt;
&lt;P mce_keep="true"&gt;When I mentioned all of this with my wife, she said "How do you call yourself? Are you a native too or are you an immigrant?" Well, I believe that, all in all, I'm just a practitioner :-)&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7014531" width="1" height="1"&gt;</content><author><name>despos</name><uri>http://weblogs.asp.net/members/despos.aspx</uri></author><category term="Perspective" scheme="http://weblogs.asp.net/despos/archive/tags/Perspective/default.aspx" /></entry><entry><title>There’s a lot of Software in Our Future</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/despos/archive/2009/03/27/there-s-a-lot-of-software-in-our-future.aspx" /><id>http://weblogs.asp.net/despos/archive/2009/03/27/there-s-a-lot-of-software-in-our-future.aspx</id><published>2009-03-27T14:24:00Z</published><updated>2009-03-27T14:24:00Z</updated><content type="html">&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;It’s quite a bit of time that &lt;STRONG&gt;&lt;A class="" href="http://www.idesign.net/" mce_href="http://www.idesign.net"&gt;Juval Lowy&lt;/A&gt;&lt;/STRONG&gt;—a Microsoft software legend—talks about energy and its relation to software and calls this the next bubble prefiguring the next boom for developers. To paraphrase John Lennon, &lt;EM&gt;he may be a dreamer, but he’s not the only one&lt;/EM&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Weeks ago, having heard me a bit concerned about our future, my kids (11 and 8) started their own conversation about a world without computers and programs. How could do school homework without Word to help us put down writings? How could we search for details without Google? How could we get in touch without email? And how could we chat without Messenger?&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;And I also wondered what else I could do in a world without computers? If nothing happens, if the drift is unremitting, is the Western society destined to collapse? &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;It’s certainly possible. Never set limits to the human stupidity. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;But, beyond temporary depression &lt;/FONT&gt;&lt;SPAN style="FONT-FAMILY: Wingdings; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;SPAN style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;J&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;, the software is the key to the future. Not a remote future, but the future that begins tomorrow morning. &lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;A lot is being said about alternative energy, but I feel that real point is optimizing the demand/response pattern through which we get energy for our everyday life. I totally buy Juval’s statements in the DevConnections Spring 2009 keynote “&lt;A class="" href="http://video.google.com/videoplay?docid=4831440850220717845" mce_href="http://video.google.com/videoplay?docid=4831440850220717845"&gt;&lt;STRONG&gt;The Energynet: the next boom in software&lt;/STRONG&gt;&lt;/A&gt;”. We need smart power grid as opposed to today’s dumb grids. It is impossible to imagine a physical replacement of the grids all over the world. But we can make the grid smart. In just one way—the software.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;It seems like we are witnessing an era of epochal changes—for our generation, the second big change after Internet. We’re not there yet. But we’ll get there. And the key of everything is – and will remain – the software.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Thanks God, kids, dad is in the &lt;STRONG&gt;right&lt;/STRONG&gt; business &lt;/FONT&gt;&lt;SPAN style="FONT-FAMILY: Wingdings; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;SPAN style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;J&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7007650" width="1" height="1"&gt;</content><author><name>despos</name><uri>http://weblogs.asp.net/members/despos.aspx</uri></author></entry><entry><title>The Future of Software Conferences is … Software</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/despos/archive/2009/03/26/the-future-of-software-conferences-is-software.aspx" /><id>http://weblogs.asp.net/despos/archive/2009/03/26/the-future-of-software-conferences-is-software.aspx</id><published>2009-03-26T13:48:00Z</published><updated>2009-03-26T13:48:00Z</updated><content type="html">&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;I had a geek dinner last night and a slice of a conversation kind of got persisted in my mind. So when I resumed my OS this morning, it was automatically deserialized. It was a chunk of the conversation I had with &lt;STRONG&gt;&lt;A class="" href="http://weblogs.asp.net/controlpanel/blogs/www.dotnetrocks.com" mce_href="http://weblogs.asp.net/controlpanel/blogs/www.dotnetrocks.com"&gt;Carl Franklin&lt;/A&gt;&lt;/STRONG&gt; and it was about the future of conferences. Carl voiced his convincement that the future is online. &lt;/FONT&gt;&lt;FONT face=Calibri size=3&gt;People stay home or in their offices—Carl said—pay a fair amount of money, and get the content they expect. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;How much money? It doesn’t have to be necessarily little money; it doesn’t have, at the same time, a lot of money. Just the right amount money measured mostly against the quality and added value of the content they get. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;I’m not saying that in some sort of near or remote future technical content should be paid as you like. I’m not certainly thinking of a donation model. I’m just wondering how much a typical conference fee is burdened with “extra” costs such as infrastructure, wireless, hotels, food, travel. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;I did quite a few small tiny events myself and we constantly managed to keep costs as low as possible: no food, no CD, no bag, no accommodation, just great content. And small margins, enough to pay the day of the (very) few people involved. Clearly, it is a too extreme scenario to be replicated on a larger scale. A lot cost airline may propose you pay for the toilet, food, newspapers, drinks, water, but they can certainly not ask you pay an extra for the pilot &lt;/FONT&gt;&lt;SPAN style="FONT-FAMILY: Wingdings; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;SPAN style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;J&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Are online conferences a concrete, starting-up business today? &lt;STRONG&gt;No&lt;/STRONG&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;The technology is not ready yet. As Carl pointed out, this is going to happen in a future maybe only a couple of years away. LiveMeeting and similar technologies are today totally insufficient and obsolete. We need stunningly beautiful and realistic graphics, bandwidth, ad-hoc software. But it can happen. And probably it will. Look at Xbox games; look at HD video technology; look at VOIP progress. It seems like we have all the pieces as single entities; someone will certainly merge them together quite soon. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Awaiting for that, don’t forget to stay tuned on next “traditional” conferences. As far as I’m concerned, &lt;STRONG&gt;&lt;A class="" href="http://www.devconnections.com/" mce_href="http://www.devconnections.com"&gt;DevConnections&lt;/A&gt;&lt;/STRONG&gt; in Las Vegas, and &lt;STRONG&gt;&lt;A class="" href="http://www.basta.net/" mce_href="http://www.basta.net"&gt;BASTA&lt;/A&gt;&lt;/STRONG&gt; in Frankfurt, Germany. But the first of all, is &lt;STRONG&gt;&lt;A class="" href="http://weblogs.asp.net/controlpanel/blogs/www.msbgregistration.com" mce_href="http://weblogs.asp.net/controlpanel/blogs/www.msbgregistration.com"&gt;Microsoft DevDays&lt;/A&gt;&lt;/STRONG&gt; in Sofia, Bulgaria, 16-17 April.&lt;/FONT&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7004106" width="1" height="1"&gt;</content><author><name>despos</name><uri>http://weblogs.asp.net/members/despos.aspx</uri></author></entry><entry><title>My 2009: less writing, more code</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/despos/archive/2009/03/23/my-2009-less-writing-more-code.aspx" /><id>http://weblogs.asp.net/despos/archive/2009/03/23/my-2009-less-writing-more-code.aspx</id><published>2009-03-23T20:50:00Z</published><updated>2009-03-23T20:50:00Z</updated><content type="html">&lt;P mce_keep="true"&gt;I'm back to blogging after a year or so. I'm not particularly original by saying that a lot has changed around us in this time. For me, it means less writing and more code. &lt;/P&gt;
&lt;P mce_keep="true"&gt;I will&amp;nbsp;still be writing books and articles as long as there's a publisher with some concrete interest :) But I'm more active in the consulting arena and following two key projects. &lt;/P&gt;
&lt;P mce_keep="true"&gt;One is &lt;STRONG&gt;IntelliMaker &lt;/STRONG&gt;from AppAround.com. It is essentially an application to cover the last mile between sources of data and end users. The concept of a data source is quite wide here as it includes Office documents, SharePoint catalogs, anything under OLE DB and ODBC, Web services. Mapped to an IntelliMaker data set, any data source can be exposed as an object including a subset of the native properties and creating any sort of relationships, joins, and groupings. The final data set is then available to feed forms and workflows to model business processes. It is an ideal tool for the consultant engaged in system integration projects and for companies who can't afford developing ad hoc front-ends for their data and processes. Massively RAD, IntelliMaker is an ASP.NET&amp;nbsp;2.0 application and will go to the cloud quite soon.&amp;nbsp;If this sounds interesting to you, go ahead and&amp;nbsp;pay a visit to &lt;STRONG&gt;&lt;A class="" href="http://www.apparound.com/" mce_href="http://www.apparound.com"&gt;AppAround.com&lt;/A&gt;&lt;/STRONG&gt;. In particular, have a look at &lt;STRONG&gt;Office Extensions&lt;/STRONG&gt;.&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;The other cool project I'm working on is a new social networking application entirely done in ASP.NET and jQuery. It is named &lt;STRONG&gt;iBrii&lt;/STRONG&gt; and is the electronic and cloud version of the old faithful yellow sticky notes. You have unlimited space to create notes that include videos, links,&amp;nbsp;and images and can publish them to a permanent link and share them with other users. You can also simply send them out via classic emails. Your notes remain up in the cloud and if shared with other users they can receive changes instantaneously. The primary reason that convinced me to use iBrii is the possibility of storing in a single place all the content of otherwise long emails threads, especially when the thread goes on for a few minutes, contains valuable information, but you won't be using it soon and want to save it for further reference. Sharing data with groups of people and publishing it is the driving force of iBrii. Not just as Twitter; not just as Facebook, not just as Google Documents. If this sounds somewhat interesting to you, and you want to give it a try, register today &lt;STRONG&gt;&lt;A class="" href="http://beta.ibrii.com/register" mce_href="http://beta.ibrii.com/register"&gt;here&lt;/A&gt;&lt;/STRONG&gt; and let me know. It is still a beta and works great with FF3, IE7 and IE8. My account there is despos. Send me your notes then! &lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6995413" width="1" height="1"&gt;</content><author><name>despos</name><uri>http://weblogs.asp.net/members/despos.aspx</uri></author><category term="ASP.NET AJAX" scheme="http://weblogs.asp.net/despos/archive/tags/ASP.NET+AJAX/default.aspx" /></entry></feed>