<?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>MSDN Utopia : WPF</title><link>http://blogs.msdn.com/salvapatuel/archive/tags/WPF/default.aspx</link><description>Tags: WPF</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Envision: Silverlight 2 Beta 2 and the competition</title><link>http://blogs.msdn.com/salvapatuel/archive/2008/06/04/envision-silverlight-2-beta-2-and-the-competition.aspx</link><pubDate>Wed, 04 Jun 2008 10:22:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8572918</guid><dc:creator>Salva Patuel</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/salvapatuel/comments/8572918.aspx</comments><wfw:commentRss>http://blogs.msdn.com/salvapatuel/commentrss.aspx?PostID=8572918</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial; mso-fareast-language: EN-GB"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Silverlight 2 Beta 2 is nearly here (out at the end of this week), I want to highlight key announcements in TechEd and give you an overview on the competitiveness area.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial; mso-fareast-language: EN-GB; mso-ansi-language: EN-US"&gt;User Interface Changes:&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial; mso-fareast-language: EN-GB; mso-ansi-language: EN-US"&gt; Beta 2 includes improvements in animation support, error handling and reporting, automation and accessibility support, keyboard input support, and general performance.&amp;nbsp; This release also provides more compatibility between Silverlight and WPF.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal"&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-ansi-language: EN-US"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial; mso-fareast-language: EN-GB; mso-ansi-language: EN-US"&gt;Silverlight 2 Controls&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial; mso-fareast-language: EN-GB; mso-ansi-language: EN-US"&gt;: Beta 2 includes a new templating model called Visual State Manager that allows for easier templating for controls.&amp;nbsp;Other features include the introduction of TabControl, text wrapping and scrollbars for TextBox, and for DataGrid additions include Autosize, Reorder, Sort, performance increases and more.&amp;nbsp; Most controls are now in the runtime instead of packaged with the application.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal"&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-ansi-language: EN-US"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN lang=EN-US style="mso-fareast-font-family: Symbol; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-ansi-language: EN-US"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial; mso-fareast-language: EN-GB; mso-ansi-language: EN-US"&gt;Networking&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial; mso-fareast-language: EN-GB; mso-ansi-language: EN-US"&gt;: Beta 2 includes improved Cross Domain support and security enhancements upload support for WebClient, and duplex communications (“push” from server to Silverlight client).&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal"&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-ansi-language: EN-US"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial; mso-fareast-language: EN-GB; mso-ansi-language: EN-US"&gt;BCL&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial; mso-fareast-language: EN-GB; mso-ansi-language: EN-US"&gt;: Beta 2 includes improved threading abilities, LINQ-to-JSON, ADO.NET Data Services support, better support for SOAP, and various other improvements to make networking and data handling easier.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-ansi-language: EN-US"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial; mso-fareast-language: EN-GB; mso-ansi-language: EN-US"&gt;Deep Zoom&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial; mso-fareast-language: EN-GB; mso-ansi-language: EN-US"&gt;: Beta 2 introduces a new XML-based file format for Deep Zoom image tiles, as well as a new MultiScaleTileSource that enables existing tile databases to utilize Deep Zoom. Better, event driven notification for zoom/pan state is another improvement in Silverlight 2 Beta 2.&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial; mso-fareast-language: EN-GB; mso-ansi-language: EN-US"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial; mso-fareast-language: EN-GB; mso-ansi-language: EN-US"&gt;Moonlight:&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial; mso-fareast-language: EN-GB; mso-ansi-language: EN-US"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Another interesting areas that I want to highlight is the imminent release of Moonlight for Linux support, check this blog: &lt;/SPAN&gt;&lt;SPAN lang=EN-US style="mso-ansi-language: EN-US"&gt;&lt;A href="http://tirania.org/blog/archive/2008/May-13-1.html" mce_href="http://tirania.org/blog/archive/2008/May-13-1.html"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: windowtext"&gt;http://tirania.org/blog/archive/2008/May-13-1.html&lt;/SPAN&gt;&lt;/A&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial; mso-fareast-language: EN-GB; mso-ansi-language: EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-ansi-language: EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial; mso-fareast-language: EN-GB; mso-ansi-language: EN-US"&gt;Silverlight Mobile:&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial; mso-fareast-language: EN-GB; mso-ansi-language: EN-US"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;This is quite hermetic but Windows Mobile and Nokia based &lt;SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-ansi-language: EN-US; mso-bidi-language: AR-SA"&gt;(S60, S40, N8xx Internet Tablet) devices as a first priority,&amp;nbsp;they &lt;/SPAN&gt;will support in the a version of the Silverlight 2 plug-in. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial; mso-fareast-language: EN-GB; mso-ansi-language: EN-US"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;&lt;FONT face=Calibri&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%; mso-ansi-language: EN-US"&gt;How is Silverlight different than Flash?&amp;nbsp; Flex? Adobe AIR?&amp;nbsp; &lt;BR&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%; mso-ansi-language: EN-US"&gt;Some of the scenarios for Flash and Silverlight usage are similar, such as rich media/video within websites, or interactive rich content for e-commerce, e-learning, or advertising.&amp;nbsp; However, Silverlight uses a dramatically different approach for creating and delivering experiences in a way that aligns more with our customers’ development and deployment needs. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%; mso-ansi-language: EN-US"&gt;&lt;FONT face=Calibri&gt;Microsoft’s client/web platform offerings span Windows to the Web, and include emerging surfaces such as the media/living room (Xbox360, Media Center PC), as well as mobile devices.&amp;nbsp; Each of these platforms has shared capabilities and development tooling, but greatly different performance and integration characteristics.&amp;nbsp; By comparison, Flash, Flex, and AIR are all variants of the Flash animation plug-in that Adobe acquired from Macromedia.&amp;nbsp; They share a presentation and programming framework that was first developed for “skip-intro” and other pre-broadband experiences in the browser, and have incrementally evolved to add better programming, but lack the integration, performance, and tooling necessary to build many of the apps and content experiences that will be increasingly of interest to many businesses.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%; mso-ansi-language: EN-US"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%; mso-ansi-language: EN-US"&gt;&lt;FONT face=Calibri&gt;Silverlight, WPF, and ASP.NET AJAX share development and design tooling support with Microsoft Expression and Visual Studio product lines.&amp;nbsp; With these tools, designers and developers can collaborate more effectively than ever before to design and implement superior UX.&amp;nbsp; Adobe’s tooling and application frameworks are very focused on animation and cosmetic design, traditionally for the creative professional and not the application development audience.&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;&lt;FONT face=Calibri&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%; mso-ansi-language: EN-US; mso-bidi-font-style: italic"&gt;Flex:&lt;/SPAN&gt;&lt;/B&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%; mso-ansi-language: EN-US"&gt;For enterprise line of business (LOB) applications, Microsoft offers a breadth of solutions for building business applications that directly integrate with Microsoft Office, as integral parts of the Excel, Word, PowerPoint, and SharePoint Server experience.&amp;nbsp; Flex is a new technology built on the Flash animation plug-in which allows developers to build richer Web-based UI and connections to server data.&amp;nbsp; However, Flex lacks deeper integration into the environment where most of these LOB applications are used.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;&lt;FONT face=Calibri&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%; mso-ansi-language: EN-US; mso-bidi-font-style: italic"&gt;Adobe AIR:&lt;/SPAN&gt;&lt;/B&gt;&lt;I&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%; mso-ansi-language: EN-US"&gt;Web standards based development using AJAX is a proven technology for developing compelling and easy to deploy applications to the desktop with zero-touch requirements for additional client side infrastructure.&amp;nbsp; Microsoft has shown continued innovation and commitment to this space with our Internet Explorer browser, our Live services, and our ASP.NET AJAX scripting capabilities for server code that delivers compliant Web standards to Mac and Windows clients.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8572918" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/salvapatuel/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.msdn.com/salvapatuel/archive/tags/Mobile/default.aspx">Mobile</category><category domain="http://blogs.msdn.com/salvapatuel/archive/tags/Silverlight/default.aspx">Silverlight</category></item><item><title>Architecture: Multi-channel with WPF</title><link>http://blogs.msdn.com/salvapatuel/archive/2008/01/08/architecture-multi-channel-with-wpf.aspx</link><pubDate>Tue, 08 Jan 2008 03:35:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7021976</guid><dc:creator>Salva Patuel</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/salvapatuel/comments/7021976.aspx</comments><wfw:commentRss>http://blogs.msdn.com/salvapatuel/commentrss.aspx?PostID=7021976</wfw:commentRss><description>&lt;P style="TEXT-ALIGN: justify; MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;As architects, we should see the world with tendencies oriented eyes, being aware of the different signals that the market shows behaving like explorers. Sometimes is a difficult task that demands us going the extra mile – I like to see a good architect as that one that can properly filter what is important and what is not. The latest trends on the consumer space are showing us that we should care about the multichannel experience. On this blog entry I am going to focus on the user experience and how affects the architectural decisions.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify; MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;We should have a common programming model to develop user interfaces, but at the moment is a bit challenging with many technologies around, making very difficult to bring platforms and formats together maintaining the same consistent user experience. Some attempts using the web had brought some success but at a high maintenance cost with some unpleasant stories. This is one of the main reasons why I am a big supporter of WPF. Having a common language that can be rendered on different platforms and modalities is helping us to decide which next user experience technology we should include in our roadmaps. With a single Ux investment stream we can keep the developers team focused reducing the learning curve and optimizing the production, with the benefits of reducing cost when we need to bring a new channel into the equation. Remember that a good architect should look into this other factors that constrain the business, rather than the usual appetite for new technologies.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify; MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;But nothing comes cheap; as Microsoft is pushing for these technologies we are facing challenges on the implementation side. The multiple channels today require a different sub-set of the render engine (embedded in a framework subset), making our jobs a little harder. The challenge is to find the thin line that divides the flexibility with the complexity, dividing what we share and what is custom code.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify; MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;IMG style="WIDTH: 336px; HEIGHT: 124px" src="http://5uaopw.blu.livefilestore.com/y1pvtkJMzymZovB4TvR4ntNj6NUDoIfYXBk9dBMPKLKAkIDQ3wsukUmv7qE3K8HejFbLr2b3WWkzq8lCMiUKgRwMQ/Multichannel%20Frameworks.jpg" width=336 height=124 mce_src="http://5uaopw.blu.livefilestore.com/y1pvtkJMzymZovB4TvR4ntNj6NUDoIfYXBk9dBMPKLKAkIDQ3wsukUmv7qE3K8HejFbLr2b3WWkzq8lCMiUKgRwMQ/Multichannel%20Frameworks.jpg"&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify; MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;This is a good place to put emphasis in design patterns, those patterns mostly avoided not for the complexity but fear. If we put it in context is easy to separate the service layer from the user layer but things get a little more complicated when architects and developer needs to code the user layer. The most common approach is to build it as a monolithic application (from the VB times), as the separation has been done using the typical three tier model. Well, let me tell you that we are facing new challenges where this model is not applicable anymore. Consumers are demanding new ways to interact with the application; what is more, enterprises will come to you arguing why they should use certain platform to run your application. Your nightmare will not end there, operations - finally taking into consideration – will come to you demanding features to support and maintain the system that you are architecting. As I have introduced WPF as a convenient technology you still can shoot on your foot. This is where the patterns like MVP can really help you to separate the business logic of your user layer application.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify; MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;A contemporary approach that I usually coach is the mindset of layer bubbling. This concept starts from the forest correctly dividing the layers, using maybe SOA approaches to promote reusability and stability (as many other qualities of service). Once you have finished the forest approach you should take each layer and treat them using the same pattern, this means that your user layer will have a view (Ux), a controller or presentation (App) and your model (Data), this approach will help you to reduce the amount of custom code that you will need for the multi channel approach.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify; MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;IMG style="WIDTH: 282px; HEIGHT: 171px" src="http://5uaopw.blu.livefilestore.com/y1pvtkJMzymZoulenWwrZrWBxxV5TjsKhHbpKVyKFPlde5oP2UuJDglZ-gWlzNW5tJ0SgdX1ASQu5WaXgwhBkuHFw/Multichannel%20Layers.jpg" width=282 height=171 mce_src="http://5uaopw.blu.livefilestore.com/y1pvtkJMzymZoulenWwrZrWBxxV5TjsKhHbpKVyKFPlde5oP2UuJDglZ-gWlzNW5tJ0SgdX1ASQu5WaXgwhBkuHFw/Multichannel%20Layers.jpg"&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify; MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;With this type of approach you will be able to asses which parts of your applications and data will be stored where, furthermore, how the information is shared. In our specific case, the model will be the proxy interface that retrieves information from our services, then the user interface workflow will be coded separately, as it should not be compromised by the model neither the view (how is presented). In the past this model was hard to implement due the fact of the view code, coding in win forms, html, mobile was very expensive and hard to support. XAML comes to the rescue.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify; MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;IMG style="WIDTH: 372px; HEIGHT: 264px" src="http://5uaopw.blu.livefilestore.com/y1pvtkJMzymZotDvafme_QPyrk3vgxTyQ0sAaOZ1aPRZ-rCy3hxqn_h2K4BGJLdurIYUlY8qf19G9NEsIKtxojzHQ/Multichannel%20architecture.jpg" width=372 height=264 mce_src="http://5uaopw.blu.livefilestore.com/y1pvtkJMzymZotDvafme_QPyrk3vgxTyQ0sAaOZ1aPRZ-rCy3hxqn_h2K4BGJLdurIYUlY8qf19G9NEsIKtxojzHQ/Multichannel%20architecture.jpg"&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify; MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Another important task as an architect is to envision the future, how this architecture model will stand in time. Well, I can foresee the platforms coming together at some point, reducing the amount of gaps on the rendering engine. It will take longer to have a common framework for all these channels but at least a uniform WPF render engine will do the work. Today we have some items that are supported on SilverLight, others in WPF desktop and XBAP (and mobile quite soon), but I can see standardization in the near future.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify; MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;This little architectural roadmap has shown as how important is the use of the two main architectural pillars: An explorer and an envisioner. Put them in practice!&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7021976" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/salvapatuel/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.msdn.com/salvapatuel/archive/tags/Design/default.aspx">Design</category><category domain="http://blogs.msdn.com/salvapatuel/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.msdn.com/salvapatuel/archive/tags/MSArchitectPortal/default.aspx">MSArchitectPortal</category></item></channel></rss>