<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Christophe Herreman &#187; Microsoft</title>
	<atom:link href="http://www.herrodius.com/blog/category/microsoft/feed" rel="self" type="application/rss+xml" />
	<link>http://www.herrodius.com/blog</link>
	<description>Thoughts from a software developer</description>
	<lastBuildDate>Thu, 15 Sep 2011 21:50:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Thoughts on Cairngorm 3 and Application Architecture</title>
		<link>http://www.herrodius.com/blog/216</link>
		<comments>http://www.herrodius.com/blog/216#comments</comments>
		<pubDate>Tue, 06 Oct 2009 20:40:25 +0000</pubDate>
		<dc:creator>Christophe</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[AS3Commons]]></category>
		<category><![CDATA[Cairngorm]]></category>
		<category><![CDATA[Design Patterns]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Inversion of Control]]></category>
		<category><![CDATA[Lessons learned]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Spring ActionScript]]></category>

		<guid isPermaLink="false">http://www.herrodius.com/blog/?p=216</guid>
		<description><![CDATA[Cairngorm 3 was recently announced by Tom Sugden and Alex Uhlmann and has now been released in beta on the Adobe Opensource site. Don&#8217;t expect an updated version of the Cairngorm framework as you know it though. Cairngorm 3 is not aiming to be an MVC implementation, and thus moves away from what version 1 [...]]]></description>
			<content:encoded><![CDATA[<p>Cairngorm 3 was recently announced by <a href="http://blogs.adobe.com/tomsugden/2009/09/coming_soon_cairngorm_3_1.html">Tom Sugden</a> and <a href="http://blogs.adobe.com/auhlmann/archives/2009/10/cairngorm_3_bet.html">Alex Uhlmann</a> and has now been <a href="http://opensource.adobe.com/wiki/display/cairngorm/Cairngorm+3">released in beta</a> on the Adobe Opensource site.</p>
<p>Don&#8217;t expect an updated version of the Cairngorm framework as you know it though. Cairngorm 3 is not aiming to be an MVC implementation, and thus moves away from what version 1 and 2 were, but now consists of a set of patterns and practices, together with a series of libraries that can help to solve common problems.</p>
<p>The Patterns &#038; Practices Group at Microsoft have been promoting <a href="http://www.codeplex.com/CompositeWPF">a similar mindset</a> for quite some time actually: Prism &#8211; patterns &#038; practices Composite Application Guidance for WPF</p>
<p>I can only encourage this decision as it is exactly how I personally think about application design and architecture, especially in Flex and AIR applications. This is also what we are trying to do with <a href="http://www.springactionscript.org">Spring ActionScript</a>: our main goal is to provide a solid Inversion of Control container that supports multiple configuration options (XML, MXML, metadata driven component scanning, &#8230;) and promote it as a foundation to build applications (and frameworks), with or without your favorite MVC framework. Although we are working on a set of base classes that provide infrastructure for your application (under the name MVCS) with Application Events, Controllers, Abstractions for service layers, &#8230; by no means do we want to market the Spring ActionScript framework as yet another MVC implementation. (You might wonder why we are calling it MVCS then, and I&#8217;m actually wondering the same&#8230; I guess marketing and buzzwords in the opensource world are also important. All kidding aside, the name is certainly subject to change).</p>
<p><strong>What&#8217;s in a name</strong></p>
<p>Since this is a complete change of direction for the Cairngorm framework (which it actually no longer is) I would have expected a new name. Continuing to use Cairngorm as a name is in my opinion a bad move and will cause major confusion amongst developers and other people involved in the development process. I think the best thing for Adobe, or at least their Technical Services department, would be to let go of the name and choose a new, fresh name that moves away from the past. (Besides that, who can pronounce &#8220;Cairngorm&#8221;.)</p>
<p><strong>Dependencies</strong></p>
<p>I noticed that some of the modules that Cairngorm 3 provides depend on other libraries/frameworks, and in general the <a href="http://www.spicefactory.org/parsley/">Parsley</a> application framework. While Parsley is certainly a major player amongst the IoC/application frameworks, and I sincerely respect the author&#8217;s work, I don&#8217;t think this is a good decision. In case you are wondering: Yes, I would say the same thing if they decided to depend on Spring ActionScript.</p>
<p>The usage and choice of a concrete dependency will have consequences for the adoption and integration of the libraries that Cairngorm 3 provides. Think about it: Why would you want to pull in Parsley, perhaps only to use some of its Reflection API, if you are already running on Spring ActionScript or any other IoC container?</p>
<p>We, the Spring ActionScript team, have actually questioned ourselves about this in the past and have therefore decided to move all the common and reusable code from Spring ActionScript into a set of libraries known as the <a href="http://www.as3commons.org">AS3Commons</a> project. In that respect, I&#8217;m a bit disappointed that for instance the <a href="http://www.as3commons.org/as3-commons-reflect">AS3Commons Reflect</a> library is not used for reflection purposes, since I think it is more abstracted and unintrusive than a subset of an all-encompassing application framework. Perhaps this may be our fault of not promoting the libraries and the project enough. However, I certainly think that AS3Commons could be a wonderful project and would help to provide common libraries not only to Flex and AIR developers, but to ActionScript 3 developers in general, if it were embraced by the community.</p>
<p><strong>Flex and MVC</strong></p>
<p>Given that RIA technolgies are still evolving at a very fast pace, it is really remarkable to see the huge amount of MVC implementations appear. Not specifically aimed at Cairngorm (at least the previous versions), but rather at almost all MVC architectures available for Flex development, my personal feeling and experience is that the use of MVC architectures in the Adobe RIA space is almost a dogmatic thing and is not needed in most cases. The problem is that people just take an MVC framework as it is and implement it in their applications. More than often not questioning whether or not its usage is justified. Things that could easily and cleverly be solved are ripped apart across layers of the architecture, introducing levels of indirection that are in most cases not needed. The only thing they add is complexity and counter-intuitive development practices.</p>
<p>One of the main arguments for using an MVC framework is that the code is &#8220;easy to understand&#8221;. Of course the code will be easy to understand if you have been developing with the framework of choice for the N-th time or if you have been digging into the code for a serious amount of time, but ask a newcomer to look at the code and try to explain to you what it is actually doing&#8230; I think you&#8217;ll be surprised by the responses.</p>
<p>I&#8217;m not saying that the use of a particular MVC framework is de facto a bad thing, but the &#8220;religious&#8221; use and the blind adoption and implementation make a framework a killer for your application. I would encourage everyone to start their next project without an MVC framework and just use the Flex framework with a healthy knowledge of design and presentation patterns. And even if you are using an MVC implementation, think about each layer you introduce, why you need it and the pros and cons it brings.</p>
<p><strong>Conclusion</strong></p>
<p>It&#8217;s good to see that Adobe is rethinking their approach to RIA architecture and development practices. I also hope that they will be more open to community input and feedback than they were in the past. Although they did several attempts at engaging the community, I don&#8217;t think they really succeeded in that. If not open enough, people will just continue to fork the &#8220;framework&#8221; and provide extensions that will end up in alternative implementations anyway.</p>
<p>I&#8217;m looking forward to seeing how all of this evolves.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.herrodius.com/blog/216/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Flex, Silverlight and AIR at FeWeb &#8211; presentation files</title>
		<link>http://www.herrodius.com/blog/103</link>
		<comments>http://www.herrodius.com/blog/103#comments</comments>
		<pubDate>Thu, 13 Dec 2007 20:17:58 +0000</pubDate>
		<dc:creator>Christophe</dc:creator>
				<category><![CDATA[Air]]></category>
		<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[feweb]]></category>
		<category><![CDATA[silverlight]]></category>

		<guid isPermaLink="false">http://www.herrodius.com/blog/?p=103</guid>
		<description><![CDATA[Yesterday evening, the 5th annual FeWeb conference took place in Edegem. I did a session on our Edumatic product development with Flex and what tools we use on a daily basis. Below is a download link for those interested in my presentation files. The slides contain some useful links to the tools mentioned. feweb-12-12-2007.ppt (273 [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday evening, the 5th annual <a href="http://www.feweb.be">FeWeb</a> conference took place in Edegem. I did a session on our <a href="http://www.edumatic.be">Edumatic</a> product development with Flex and what tools we use on a daily basis. Below is a download link for those interested in my presentation files. The slides contain some useful links to the tools mentioned.</p>
<p><a href='http://www.herrodius.com/blog/wp-content/uploads/2007/12/feweb-12-12-2007.ppt' title='FeWeb 12-12-2007 PPT'>feweb-12-12-2007.ppt</a> (273 kb)<br />
<a href='http://www.herrodius.com/blog/wp-content/uploads/2007/12/feweb-12-12-2007.pptx' title='FeWeb 12-12-2007 PPTX'>feweb-12-12-2007.pptx</a> (187 kb)</p>
<p>For a review of the conference I can recommend the following post by Peter Elst: <a href="http://www.peterelst.com/blog/2007/12/13/feweb-flex-silverlight-air-and-more/">FeWeb &#8211; Flex, Silverlight, AIR and more</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.herrodius.com/blog/103/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>I think I&#8217;ll have a coffee while Vista is moving my files</title>
		<link>http://www.herrodius.com/blog/76</link>
		<comments>http://www.herrodius.com/blog/76#comments</comments>
		<pubDate>Sat, 09 Jun 2007 08:27:04 +0000</pubDate>
		<dc:creator>Christophe</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Vista]]></category>

		<guid isPermaLink="false">http://www.herrodius.com/blog/?p=76</guid>
		<description><![CDATA[Or maybe one more&#8230;]]></description>
			<content:encoded><![CDATA[<p>Or maybe one more&#8230;</p>
<p><img src="http://www.herrodius.com/upload/vista_moving_files.jpg" alt="Vista Moving Files" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.herrodius.com/blog/76/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Are you sure you want to delete &#8216;Windows&#8217; ?</title>
		<link>http://www.herrodius.com/blog/46</link>
		<comments>http://www.herrodius.com/blog/46#comments</comments>
		<pubDate>Sat, 27 May 2006 09:07:35 +0000</pubDate>
		<dc:creator>Christophe</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://www.herrodius.com/blog/?p=46</guid>
		<description><![CDATA[How about that for a Saturday morning. Although it was a very tough decision, I decided to go with the &#8220;No&#8221; option. The recycle bin icon showed up as if there was some content in the recycle bin, but when I opened it there was nothing inside. Trying to empty the bin resulted in this [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://www.herrodius.com/blog/wp-content/uploads/2007/12/delete_windows.JPG' alt='Are you sure you want to delete Windows' /></p>
<p>How about that for a Saturday morning. Although it was a very tough decision, I decided to go with the &#8220;No&#8221; option.</p>
<p>The recycle bin icon showed up as if there was some content in the recycle bin, but when I opened it there was nothing inside. Trying to empty the bin resulted in this confirm box. Various posts on forums, found via Google, suggested all different things (reboot, safe mode, show hidden files, &#8230;). The error disappeared when I right clicked the recycle bin and called up its properties. For some mysterious reason, the error was gone and the icon returned to its normal &#8220;empty&#8221; state.</p>
<p>Oh man, this is a dear diary moment !</p>
<p><iframe src="http://rcm.amazon.com/e/cm?t=christherrem-20&#038;o=1&#038;p=16&#038;l=st1&#038;mode=books&#038;search=computer%2Cwindows&#038;fc1=000000&#038;lt1=_blank&#038;lc1=3366FF&#038;bg1=FFFFFF&#038;f=ifr" marginwidth="0" marginheight="0" width="468" height="336" border="0" frameborder="0" style="border:none;" scrolling="no"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.herrodius.com/blog/46/feed</wfw:commentRss>
		<slash:comments>61</slash:comments>
		</item>
	</channel>
</rss>

