<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" 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:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>MIX</title>
        <link>http://blog.galasoft.ch/category/6583.aspx</link>
        <description>MIX conference in Las Vegas</description>
        <language>en-US</language>
        <copyright>Laurent Bugnion</copyright>
        <managingEditor>laurent@galasoft.ch</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
        <item>
            <title>MVVM Light V4 preview 3 (BL16, MIX11 edition!!) #mvvmlight</title>
            <link>http://blog.galasoft.ch/archive/2011/04/14/mvvm-light-v4-preview-3-bl16-mix11-edition-mvvmlight.aspx</link>
            <description>&lt;p&gt;At MIX11, I am releasing a new preview of MVVM Light version 4. This new preview contains one small change and one large change.&lt;/p&gt;  &lt;h2&gt;ObservableObject replaces NotifyPropertyChanged&lt;/h2&gt;  &lt;p&gt;In the previous preview, I introduced a new class named NotifyPropertyChanged. However, I got a few suggestions to rename this class to &lt;strong&gt;ObservableObject&lt;/strong&gt;, which is indeed a better name. In BL16, NotifyPropertyChanged was deleted and replaced by ObservableObject. Nothing else changes, just the name.&lt;/p&gt;  &lt;p&gt;ObservableObject is a very simple implementation of INotifyPropertyChanged suitable for data objects (in the Model, typically) that need to raise the PropertyChanged event, but that are not quite ViewModels. In my MIX11 session, I demo a usage of ObservableObject to build an application using JSON. In WCF, we don’t really need ObservableObject, since all the generated proxies will automatically implement INotifyPropertyChanged.&lt;/p&gt;  &lt;p&gt;We have:&lt;/p&gt; &lt;a title="Inheritance diagram" href="http://www.flickr.com/photos/36917929@N06/5602714681"&gt;&lt;img src="http://farm5.static.flickr.com/4110/5602714681_5263044218.jpg" width="274" height="281" /&gt;&lt;/a&gt;   &lt;h2&gt;Introducing SimpleIoc, a simple IOC container&lt;/h2&gt;  &lt;p&gt;Last year at MIX10, I did a demo using the Unity IOC container. This helper simplifies the creation and the resolution of services and of the ViewModels, and allows for a cleaner syntax in the ViewModelLocator. Since then, I have tried a multitude of variants for the ViewModelLocator class, and I still came back, over and over again, to the same idea: using an IOC container to do the bulk of the work.&lt;/p&gt;  &lt;p&gt;However, I did not want to settle on a given IOC container. There are so many of them, each with specific features, and each with an army of followers &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://geekswithblogs.net/images/geekswithblogs_net/lbugnion/Windows-Live-Writer/72a9eb60a78a_E155/wlEmoticon-smile_2.png" /&gt; so instead… I created my own. Well, to be honest I inspired myself strongly from &lt;a href="http://msmvps.com/blogs/vcsjones/archive/2010/11/25/a-really-super-light-and-simple-ioc-container-for-windows-phone-7.aspx"&gt;an existing simple IOC implementation&lt;/a&gt;, and I extended it with features that are super useful when working with ViewModels. Also a source of inspiration, the &lt;a href="http://simpleservicelocator.codeplex.com/"&gt;SimpleServiceLocator available on Codeplex&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;A more complete article dedicated to the SimpleIoc class in MVVM Light V4 will follow. Also, my MIX11 session “&lt;a href="http://blog.galasoft.ch/archive/2011/04/13/deep-dive-mvvm-samples-mix11-deepdivemvvm.aspx"&gt;Deep Dive MVVM&lt;/a&gt;” features the SimpleIoc in the samples. The session’s recording is available at &lt;a title="http://channel9.msdn.com/Events/MIX/MIX11/OPN03" href="http://channel9.msdn.com/Events/MIX/MIX11/OPN03"&gt;http://channel9.msdn.com/Events/MIX/MIX11/OPN03&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Cheers,&lt;/p&gt;  &lt;p&gt;Laurent&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;div style="margin-bottom: -1em"&gt;   &lt;div style="vertical-align: middle"&gt;&lt;a href="http://www.galasoft.ch/"&gt;&lt;img title="GalaSoft Laurent Bugnion" alt="GalaSoft Laurent Bugnion" src="http://www.galasoft.ch/logo/Current/logo_120x30.png" /&gt;&lt;/a&gt; &lt;/div&gt;    &lt;div style="position: relative; top: -36px; left: 130px"&gt;&lt;strong&gt;&lt;a href="http://www.galasoft.ch/contact_en.html"&gt;Laurent Bugnion (GalaSoft)&lt;/a&gt;&lt;/strong&gt;       &lt;br /&gt;&lt;a href="http://feeds.feedburner.com/galasoft"&gt;Subscribe&lt;/a&gt; | &lt;a href="http://twitter.com/lbugnion"&gt;Twitter&lt;/a&gt; | &lt;a href="http://www.facebook.com/lbugnion"&gt;Facebook&lt;/a&gt; | &lt;a href="http://www.flickr.com/photos/lbugnion"&gt;Flickr&lt;/a&gt; | &lt;a href="http://www.linkedin.com/in/lbugnion"&gt;LinkedIn&lt;/a&gt;       &lt;br /&gt;&lt;iframe style="border-bottom-style: none; margin-top: 7px; border-left-style: none; width: 450px; border-top-style: none; margin-bottom: -20px; height: 23px; border-right-style: none; overflow: hidden" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.galasoft.ch/archive/2011/04/14/mvvm-light-v4-preview-3-bl16-mix11-edition-mvvmlight.aspx&amp;amp;layout=standard&amp;amp;show_faces=true&amp;amp;width=450&amp;amp;action=like&amp;amp;colorscheme=light" frameborder="0" allowtransparency="allowtransparency" scrolling="no"&gt;&lt;/iframe&gt;&lt;/div&gt; &lt;/div&gt; &lt;img src="http://blog.galasoft.ch/aggbug/144875.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Laurent Bugnion</dc:creator>
            <guid>http://blog.galasoft.ch/archive/2011/04/14/mvvm-light-v4-preview-3-bl16-mix11-edition-mvvmlight.aspx</guid>
            <pubDate>Thu, 14 Apr 2011 14:16:49 GMT</pubDate>
            <wfw:comment>http://blog.galasoft.ch/comments/144875.aspx</wfw:comment>
            <comments>http://blog.galasoft.ch/archive/2011/04/14/mvvm-light-v4-preview-3-bl16-mix11-edition-mvvmlight.aspx#feedback</comments>
            <slash:comments>6</slash:comments>
            <wfw:commentRss>http://blog.galasoft.ch/comments/commentRss/144875.aspx</wfw:commentRss>
            <trackback:ping>http://blog.galasoft.ch/services/trackbacks/144875.aspx</trackback:ping>
        </item>
        <item>
            <title>Deep Dive MVVM samples #mix11 #deepdivemvvm</title>
            <link>http://blog.galasoft.ch/archive/2011/04/13/deep-dive-mvvm-samples-mix11-deepdivemvvm.aspx</link>
            <description>&lt;p&gt;Here is the sample code I demoed in my MIX11 session “Deep Dive MVVM”. Please &lt;a href="http://www.galasoft.ch/mvvm/resources/Samples/MIX11-DeepDiveMvvm-Samples.zip"&gt;download the Zip file&lt;/a&gt;, and then unblock it in Windows Explorer by right-clicking it, and then selecting Properties. If you see an “Unblock” button, please click it. You can then extract the content of the Zip file on your hard drive.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.galasoft.ch/mvvm/resources/Samples/MIX11Final_BUGNION_OPN04.pptx"&gt;The slides are also available for download&lt;/a&gt;.&lt;/p&gt;  &lt;h2&gt;Last year’s session&lt;/h2&gt;  &lt;p&gt;To fully understand this session, an understanding of what MVVM is should be available. I recommend the following links:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;“&lt;a href="http://channel9.msdn.com/Events/MIX/MIX10/EX14"&gt;Understanding the MVVM pattern&lt;/a&gt;” is the session I presented at MIX10. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blog.galasoft.ch/archive/2010/03/16/sample-code-for-my-mix10-talk-online.aspx"&gt;Sample code&lt;/a&gt; for “Understanding the MVVM pattern”. &lt;/li&gt;    &lt;li&gt;MVVM Light Toolkit “&lt;a href="http://www.galasoft.ch/mvvm/"&gt;Get Started&lt;/a&gt;” page. &lt;/li&gt;    &lt;li&gt;MVVM Light Toolkit &lt;a href="http://mvvmlight.codeplex.com/"&gt;on Codeplex&lt;/a&gt;. &lt;/li&gt; &lt;/ul&gt;  &lt;h2&gt;This year’s session&lt;/h2&gt;  &lt;p&gt;The video of Deep Dive MVVM is already available for download (awesome job, MIX team). &lt;a href="http://channel9.msdn.com/Events/MIX/MIX11/OPN03"&gt;Go to the MIX website&lt;/a&gt; to download it in various formats, or stream it.&lt;/p&gt;  &lt;h2&gt;Prerequisites&lt;/h2&gt;  &lt;p&gt;To execute the samples, you should have &lt;a href="http://www.microsoft.com/visualstudio/en-us/"&gt;Visual Studio 2010&lt;/a&gt; as well as the &lt;a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=04704acf-a63a-4f97-952c-8b51b34b00ce"&gt;Windows Phone 7 tools&lt;/a&gt; installed.&lt;/p&gt;  &lt;div class="frame"&gt;   &lt;h2&gt;Update: Getting the samples to run&lt;/h2&gt;    &lt;p&gt;In order to run the JsonDemo sample, you need to run the web application first because the Facebook service simulation is local. The easiest way is to right click on JsonDemo.SL4TestPage.html and select “View in Browser” from the context menu. This will start the development web server in Visual Studio. Then, you can run the WP7 application in the emulator.&lt;/p&gt; &lt;/div&gt;  &lt;h2&gt;Snippets&lt;/h2&gt;  &lt;p&gt;For your convenience, I added the snippets of code that I was dragging/dropping from the Toolbox during the session. The file “snippets.txt” is included inside the ZIP file.&lt;/p&gt;  &lt;h2&gt;00 JsonDemo – Start&lt;/h2&gt;  &lt;p&gt;This is the start state, which will compile and run fine, but without the added functionality we built in during the session.&lt;/p&gt;  &lt;h2&gt;01 JsonDemo - After wiring up&lt;/h2&gt;  &lt;p&gt;This is the state of the application after the first demo, where all the objects are wired up and connected, and the message is sent from the MasterViewModel to the DetailsViewModel. We also added the IsOlderThanMeIndicatorVisibility property and connected it to the corresponding Rectangle in the DataTemplate (in the MasterView).&lt;/p&gt;  &lt;h2&gt;02 JsonDemo – Behaviors&lt;/h2&gt;  &lt;p&gt;This is the state after adding the “please wait” animation, the states and connecting the MasterViewModel’s IsBusy property to the GoToStateAction and ControlStoryboardAction instances through the DataTrigger. In Windows Phone 7, we added some code behind to replicate the functionality.&lt;/p&gt;  &lt;h2&gt;03 JsonDemo - WP7 DialogService&lt;/h2&gt;  &lt;p&gt;In this section we added a view service, the IDialogService, to the WP7 application and implemented it to display a custom message box. In SL4, the functionality is also available although no custom message box was made, so the fallback MessageBox is used instead.&lt;/p&gt;  &lt;h2&gt;04 NavigationDemo&lt;/h2&gt;  &lt;p&gt;This section introduces another view service, the INavigationService with one implementation in Silverlight 4 and one for Windows Phone 7.&lt;/p&gt;  &lt;h2&gt;05 JsonDemo - Unit test&lt;/h2&gt;  &lt;p&gt;In this last section, we add unit tests (with mock, well precisely with stubs!) to the Silverlight 4 and to the Windows Phone 7 applications. This is the final state of the demo.&lt;/p&gt;  &lt;p&gt;I hope that this session was helpful, and that it will help you build awesome MVVM applications!&lt;/p&gt;  &lt;p&gt;Happy coding,&lt;/p&gt;  &lt;p&gt;Laurent&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;div style="margin-bottom: -1em"&gt;   &lt;div style="vertical-align: middle"&gt;&lt;a href="http://www.galasoft.ch/"&gt;&lt;img title="GalaSoft Laurent Bugnion" alt="GalaSoft Laurent Bugnion" src="http://www.galasoft.ch/logo/Current/logo_120x30.png" /&gt;&lt;/a&gt; &lt;/div&gt;    &lt;div style="position: relative; top: -36px; left: 130px"&gt;&lt;strong&gt;&lt;a href="http://www.galasoft.ch/contact_en.html"&gt;Laurent Bugnion (GalaSoft)&lt;/a&gt;&lt;/strong&gt;       &lt;br /&gt;&lt;a href="http://feeds.feedburner.com/galasoft"&gt;Subscribe&lt;/a&gt; | &lt;a href="http://twitter.com/lbugnion"&gt;Twitter&lt;/a&gt; | &lt;a href="http://www.facebook.com/lbugnion"&gt;Facebook&lt;/a&gt; | &lt;a href="http://www.flickr.com/photos/lbugnion"&gt;Flickr&lt;/a&gt; | &lt;a href="http://www.linkedin.com/in/lbugnion"&gt;LinkedIn&lt;/a&gt;       &lt;br /&gt;&lt;iframe style="border-bottom-style: none; margin-top: 7px; border-left-style: none; width: 450px; border-top-style: none; margin-bottom: -20px; height: 23px; border-right-style: none; overflow: hidden" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.galasoft.ch/archive/2011/04/13/deep-dive-mvvm-samples-mix11-deepdivemvvm.aspx&amp;amp;layout=standard&amp;amp;show_faces=true&amp;amp;width=450&amp;amp;action=like&amp;amp;colorscheme=light" frameborder="0" allowtransparency="allowtransparency" scrolling="no"&gt;&lt;/iframe&gt;&lt;/div&gt; &lt;/div&gt; &lt;img src="http://blog.galasoft.ch/aggbug/144843.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Laurent Bugnion</dc:creator>
            <guid>http://blog.galasoft.ch/archive/2011/04/13/deep-dive-mvvm-samples-mix11-deepdivemvvm.aspx</guid>
            <pubDate>Wed, 13 Apr 2011 13:04:27 GMT</pubDate>
            <wfw:comment>http://blog.galasoft.ch/comments/144843.aspx</wfw:comment>
            <comments>http://blog.galasoft.ch/archive/2011/04/13/deep-dive-mvvm-samples-mix11-deepdivemvvm.aspx#feedback</comments>
            <slash:comments>11</slash:comments>
            <wfw:commentRss>http://blog.galasoft.ch/comments/commentRss/144843.aspx</wfw:commentRss>
            <trackback:ping>http://blog.galasoft.ch/services/trackbacks/144843.aspx</trackback:ping>
        </item>
        <item>
            <title>My MVVM talk&amp;rsquo;s material is online (#uktechdays)</title>
            <link>http://blog.galasoft.ch/archive/2011/03/24/my-mvvm-talkrsquos-material-is-online-uktechdays.aspx</link>
            <description>&lt;p&gt;Quick announcement: I just had the extreme pleasure to talk at the UK TechDays online conference (organized over LiveMeeting) and had about 100 persons in the session, thanks to all for allowing me to talk to you about MVVM!&lt;/p&gt;  &lt;p&gt;I just &lt;a href="https://cid-40cffde85f1ab56a.office.live.com/browse.aspx/Presentations"&gt;pushed the whole sample code as well as the slides to a SkyDrive folder&lt;/a&gt;, so feel free to download and experiment.&lt;/p&gt;  &lt;p&gt;And don’t forget:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;A &lt;a href="http://www.galasoft.ch/mvvmvideo1"&gt;recording of session with similar material but with 30 minutes more time&lt;/a&gt; for additional samples is online for your viewing pleasure. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://channel9.msdn.com/events/MIX/MIX11/OPN03"&gt;Deep Dive MVVM at MIX11&lt;/a&gt; will go much deeper and show advanced samples around MVVM, view services, unit testing a VM, and more. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The session was recorded, and I will announce in this space when it is online for your (re-)viewing pleasure.&lt;/p&gt;  &lt;p&gt;Cheers,&lt;/p&gt;  &lt;p&gt;Laurent&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;div style="margin-bottom: -1em"&gt;   &lt;div style="vertical-align: middle"&gt;&lt;a href="http://www.galasoft.ch/"&gt;&lt;img title="GalaSoft Laurent Bugnion" alt="GalaSoft Laurent Bugnion" src="http://www.galasoft.ch/logo/Current/logo_120x30.png" /&gt;&lt;/a&gt; &lt;/div&gt;    &lt;div style="position: relative; top: -36px; left: 130px"&gt;&lt;strong&gt;&lt;a href="http://www.galasoft.ch/contact_en.html"&gt;Laurent Bugnion (GalaSoft)&lt;/a&gt;&lt;/strong&gt;       &lt;br /&gt;&lt;a href="http://feeds.feedburner.com/galasoft"&gt;Subscribe&lt;/a&gt; | &lt;a href="http://twitter.com/lbugnion"&gt;Twitter&lt;/a&gt; | &lt;a href="http://www.facebook.com/lbugnion"&gt;Facebook&lt;/a&gt; | &lt;a href="http://www.flickr.com/photos/lbugnion"&gt;Flickr&lt;/a&gt; | &lt;a href="http://www.linkedin.com/in/lbugnion"&gt;LinkedIn&lt;/a&gt;       &lt;br /&gt;&lt;iframe style="border-bottom-style: none; margin-top: 7px; border-left-style: none; width: 450px; border-top-style: none; margin-bottom: -20px; height: 23px; border-right-style: none; overflow: hidden" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.galasoft.ch/archive/2011/03/24/my-mvvm-talkrsquos-material-is-online-uktechdays.aspx&amp;amp;layout=standard&amp;amp;show_faces=true&amp;amp;width=450&amp;amp;action=like&amp;amp;colorscheme=light" frameborder="0" allowtransparency="allowtransparency" scrolling="no"&gt;&lt;/iframe&gt;&lt;/div&gt; &lt;/div&gt; &lt;img src="http://blog.galasoft.ch/aggbug/144507.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Laurent Bugnion</dc:creator>
            <guid>http://blog.galasoft.ch/archive/2011/03/24/my-mvvm-talkrsquos-material-is-online-uktechdays.aspx</guid>
            <pubDate>Thu, 24 Mar 2011 18:35:34 GMT</pubDate>
            <wfw:comment>http://blog.galasoft.ch/comments/144507.aspx</wfw:comment>
            <comments>http://blog.galasoft.ch/archive/2011/03/24/my-mvvm-talkrsquos-material-is-online-uktechdays.aspx#feedback</comments>
            <wfw:commentRss>http://blog.galasoft.ch/comments/commentRss/144507.aspx</wfw:commentRss>
            <trackback:ping>http://blog.galasoft.ch/services/trackbacks/144507.aspx</trackback:ping>
        </item>
        <item>
            <title>DEEP DIVE MVVM at #MIX11</title>
            <link>http://blog.galasoft.ch/archive/2011/02/11/deep-dive-mvvm-at-mix11.aspx</link>
            <description>&lt;p&gt;&lt;a title="Deep Dive MVVM at MIX11" href="http://blog.galasoft.ch/archive/2011/02/11/deep-dive-mvvm-at-mix11.aspx"&gt;&lt;img style="margin: 6px 15px 0px 0px; display: inline; float: left" align="left" src="http://www.galasoft.ch/images/new/MIX11_BB_I'mSpeakingAt_2.png" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The public (you!) has spoken, and “Deep Dive MVVM” was selected (along with 11 other open call talks) out of 217 proposals. There were 17’000 votes! These are pretty amazing numbers, and believe me when I tell you that I still didn’t completely realize what just happened!&lt;/p&gt;  &lt;p&gt;I want to really underline the outstanding quality of many of the talks that were proposed. I decided not to reveal my votes, because I just know too many of the candidates and I had only 10 votes &lt;img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://geekswithblogs.net/images/geekswithblogs_net/lbugnion/Windows-Live-Writer/DEEP-DIVE-MVVM-at-MIX11_14062/wlEmoticon-smile_2.png" /&gt; but let’s just say that some of my favorites were picked, and some were not, and I really wish that I can see them all either at MIX or in another conference.&lt;/p&gt;  &lt;p&gt;I already started putting down ideas for the talk (not too many, because I didn’t want to jinx it) and it should be a really great session. We will, as the title shows, dive deep into the subtleties of MVVM, and explore some techniques that allow to overcome some of the hurdles presented by this pattern. This session will be shaped by many emails that I received over the past year, since “Understanding the MVVM pattern” was presented, and offered, for many, a first look into Model-View-ViewModel.&lt;/p&gt;  &lt;p&gt;So now’s the chance, comment and let me know what topics you would like to discuss. If you had not done so before, go ahead and watch last year’s session, it will be a great preparation. Let’s talk real life development, let’s explore the problems and find solutions. I already have a nice collection of emails asking questions around MVVM and my goal is to answer as many as I can. Leave a comment and I will do my best to answer these as well. &lt;/p&gt;  &lt;p&gt;The date/time was not announced yet, so watch this space for details. I am really looking forward to seeing many of you in Las Vegas, and for those who cannot make it, don’t worry, all the sessions will be published in video by the amazing MIX team a few hours after the session actually takes place.&lt;/p&gt;  &lt;p&gt;Thanks for your confidence and in the meantime, Happy Coding!&lt;/p&gt;  &lt;p&gt;Laurent&lt;/p&gt;  &lt;div style="margin-bottom: -1em"&gt;   &lt;div style="vertical-align: middle"&gt;&lt;a href="http://www.galasoft.ch/"&gt;&lt;img title="GalaSoft Laurent Bugnion" alt="GalaSoft Laurent Bugnion" src="http://www.galasoft.ch/logo/Current/logo_120x30.png" /&gt;&lt;/a&gt; &lt;/div&gt;    &lt;div style="position: relative; top: -36px; left: 130px"&gt;&lt;strong&gt;&lt;a href="http://www.galasoft.ch/contact_en.html"&gt;Laurent Bugnion (GalaSoft)&lt;/a&gt;&lt;/strong&gt;       &lt;br /&gt;&lt;a href="http://feeds.feedburner.com/galasoft"&gt;Subscribe&lt;/a&gt; | &lt;a href="http://twitter.com/lbugnion"&gt;Twitter&lt;/a&gt; | &lt;a href="http://www.facebook.com/lbugnion"&gt;Facebook&lt;/a&gt; | &lt;a href="http://www.flickr.com/photos/lbugnion"&gt;Flickr&lt;/a&gt; | &lt;a href="http://www.linkedin.com/in/lbugnion"&gt;LinkedIn&lt;/a&gt;       &lt;br /&gt;&lt;iframe style="border-bottom-style: none; border-right-style: none; margin-top: 7px; width: 450px; border-top-style: none; margin-bottom: -20px; height: 23px; border-left-style: none; overflow: hidden" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.galasoft.ch/archive/2011/02/11/deep-dive-mvvm-at-mix11.aspx&amp;amp;layout=standard&amp;amp;show_faces=true&amp;amp;width=450&amp;amp;action=like&amp;amp;colorscheme=light" frameborder="0" allowtransparency="allowtransparency" scrolling="no"&gt;&lt;/iframe&gt;&lt;/div&gt; &lt;/div&gt; &lt;img src="http://blog.galasoft.ch/aggbug/143892.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Laurent Bugnion</dc:creator>
            <guid>http://blog.galasoft.ch/archive/2011/02/11/deep-dive-mvvm-at-mix11.aspx</guid>
            <pubDate>Thu, 10 Feb 2011 23:20:00 GMT</pubDate>
            <wfw:comment>http://blog.galasoft.ch/comments/143892.aspx</wfw:comment>
            <comments>http://blog.galasoft.ch/archive/2011/02/11/deep-dive-mvvm-at-mix11.aspx#feedback</comments>
            <slash:comments>6</slash:comments>
            <wfw:commentRss>http://blog.galasoft.ch/comments/commentRss/143892.aspx</wfw:commentRss>
            <trackback:ping>http://blog.galasoft.ch/services/trackbacks/143892.aspx</trackback:ping>
        </item>
        <item>
            <title>My proposals for the #MIX11 open call</title>
            <link>http://blog.galasoft.ch/archive/2011/01/25/my-proposals-for-the-mix11-open-call.aspx</link>
            <description>&lt;div class="frame"&gt;   &lt;ul&gt;     &lt;li&gt;&lt;font size="2"&gt;Vote for: “&lt;/font&gt;&lt;a href="http://live.visitmix.com/OpenCall/Vote/Session/21"&gt;&lt;strong&gt;&lt;font size="2"&gt;Deep Dive MVVM&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;font size="2"&gt;” &lt;/font&gt;&lt;/li&gt;      &lt;li&gt;&lt;font size="2"&gt;Vote for: “&lt;/font&gt;&lt;a href="http://live.visitmix.com/OpenCall/Vote/Session/22"&gt;&lt;strong&gt;&lt;font size="2"&gt;Exploring a Blendable Windows Phone 7 Application&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;font size="2"&gt;” &lt;/font&gt;&lt;/li&gt;   &lt;/ul&gt; &lt;/div&gt; &lt;img style="margin: 20px 0px 0px; display: inline; float: left" alt="MIXOpenCall" align="left" src="http://farm6.static.flickr.com/5218/5386956762_1603b1fa40_m.jpg" width="207" height="204" /&gt;   &lt;p&gt;Last year, the MIX team started a new concept with an open call for sessions. People from the community were invited to submit talks about pretty much anything, and the public voted to select which sessions they wanted to see. It was a huge success, since 150 sessions were submitted, of which 13 sessions were picked (don’t hold me accountable for the numbers, they are plucked from my memory &lt;img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-winkingsmile" alt="Winking smile" src="http://geekswithblogs.net/images/geekswithblogs_net/lbugnion/Windows-Live-Writer/My-proposals-for-the-MIX11-open-call_8F79/wlEmoticon-winkingsmile_2.png" /&gt;)&lt;/p&gt;  &lt;p&gt;I was very honored to be part of the lucky presenters, with my session about the Model-View-ViewModel pattern titled “Understanding the MVVM pattern”. I was really pleased and humbled to have a packed room listening to my session, with an amazing response. The rest of the week was spent connecting with people in the halls, answering (many) questions, and developing thoughts around the session.&lt;/p&gt;  &lt;p&gt;Later, during the year, I had the occasion to present the same session again to a few events, for instance TechDays in Switzerland and in Belgium. Here too, the response was amazing. Since the sessions were filmed, a lot more people were able to see them online, and I still now receive emails regularly talking about the session or requesting additional information.&lt;/p&gt;  &lt;h2&gt;The voting&lt;/h2&gt;  &lt;p&gt;The principle of the MIX11 open call is that you, the public, can vote for any session you want to see. Based on last year’s experience, we can expect that a large number of sessions will be submitted and only a few will be picked. So don’t wait, if you want to see a session, please vote for it, and ask your colleagues who might be interested to vote too.&lt;/p&gt;  &lt;div class="frame"&gt;   &lt;p&gt;&lt;strong&gt;Because all the sessions are recorded in video, and available on the web just a few hours after the talk, you should vote even if you do not plan to attend MIX11!&lt;/strong&gt;&lt;/p&gt; &lt;/div&gt;  &lt;h2&gt;A deeper dive&lt;/h2&gt;  &lt;p&gt;In view of this amazing response, I decided to submit a session that is building up on top of last year’s session, titled “&lt;strong&gt;&lt;a href="http://live.visitmix.com/OpenCall/Vote/Session/21"&gt;Deep Dive MVVM&lt;/a&gt;&lt;/strong&gt;”. The abstract is shown below. This session will take in account all the questions I received during the past year, and offer answers with a lot of code and demos (as usual in my talks). For instance, we will talk about multiple views and viewmodels, and how they can be structured and communicate. This has been a very frequent question! Also, I will show you how to build “view services” that can be used to interact from the viewmodel to the view for various features, such as showing dialogs, collecting user feedback, navigating between pages, etc. Of course this will all be in the spirit of &lt;strong&gt;designability, testability, maintainability&lt;/strong&gt; and should be, honestly, a really fun session.&lt;/p&gt;  &lt;h2&gt;Talking about Blend&lt;/h2&gt;  &lt;p&gt;I also submitted a talk around Expression Blend and Windows Phone 7. In the past few years, I have talked to many developers and showed them how Blend can be used in the practice to create a great user experience. With the availability of a free version of Expression Blend to develop Windows Phone 7 applications, the interest has definitely risen a lot, and I feel that it is important to show Expression Blend to as many people as possible, if we want to improve the user experience on the applications in the market place. &lt;/p&gt;  &lt;p&gt;The session is &lt;a href="http://live.visitmix.com/OpenCall/Vote/Session/22"&gt;based on real life experiences&lt;/a&gt; made in Windows Phone 7 application development, where we saw that using Blend with design time data was a sure way to accelerate the development tremendously.&lt;/p&gt;  &lt;h2&gt;The titles and abstracts&lt;/h2&gt;  &lt;p&gt;The exact titles and abstracts are:&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://live.visitmix.com/OpenCall/Vote/Session/21"&gt;Deep Dive MVVM&lt;/a&gt;&lt;/h3&gt;  &lt;p&gt;In 2010, the MIX session "Understanding the MVVM pattern" helped you to understand the basics of this very important pattern used in Silverlight, WPF and Windows Phone 7 applications. Building on this foundation, this year’s session will show you with a lot of code samples how to build complex interactive applications using proven best practices and powerful tools.&lt;/p&gt;  &lt;p&gt;Laurent Bugnion, a user and promoter of MVVM since the early days, author of “Silverlight 4 Unleashed” and of the acclaimed MVVM Light Toolkit, will help you to deep dive in MVVM and explore topics such as navigation, showing dialogs, collecting user feedback, handling multiple views and viewmodels, and more.&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://live.visitmix.com/OpenCall/Vote/Session/22"&gt;Exploring a Blendable Windows Phone 7 Application&lt;/a&gt;&lt;/h3&gt;  &lt;p&gt;There are many advantages in developing “blendable” applications. Being able to visualize data in Expression Blend speeds up the design of the application tremendously. In this session based on real life examples, Laurent Bugnion (a user and promoter of Expression Blend since the early days) will demonstrate various techniques allowing leveraging the fantastic power of Expression Blend to create beautiful phone applications. Finally, we will also talk honestly about the disadvantages, especially when it comes to performance, and investigate workarounds.&lt;/p&gt;  &lt;p&gt;I hope that these sessions will interest you, and look forward to check the results of the voting!&lt;/p&gt;  &lt;p&gt;Cheers&lt;/p&gt;  &lt;p&gt;Laurent&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;div style="margin-bottom: -1em"&gt;   &lt;div style="vertical-align: middle"&gt;&lt;a href="http://www.galasoft.ch/"&gt;&lt;img title="GalaSoft Laurent Bugnion" alt="GalaSoft Laurent Bugnion" src="http://www.galasoft.ch/logo/Current/logo_120x30.png" /&gt;&lt;/a&gt; &lt;/div&gt;    &lt;div style="position: relative; top: -36px; left: 130px"&gt;&lt;strong&gt;&lt;a href="http://www.galasoft.ch/contact_en.html"&gt;Laurent Bugnion (GalaSoft)&lt;/a&gt;&lt;/strong&gt;       &lt;br /&gt;&lt;a href="http://feeds.feedburner.com/galasoft"&gt;Subscribe&lt;/a&gt; | &lt;a href="http://twitter.com/lbugnion"&gt;Twitter&lt;/a&gt; | &lt;a href="http://www.facebook.com/lbugnion"&gt;Facebook&lt;/a&gt; | &lt;a href="http://www.flickr.com/photos/lbugnion"&gt;Flickr&lt;/a&gt; | &lt;a href="http://www.linkedin.com/in/lbugnion"&gt;LinkedIn&lt;/a&gt;       &lt;br /&gt;&lt;iframe style="border-bottom-style: none; border-right-style: none; margin-top: 7px; width: 450px; border-top-style: none; margin-bottom: -20px; height: 23px; border-left-style: none; overflow: hidden" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.galasoft.ch/archive/2011/01/25/my-proposals-for-the-mix11-open-call.aspx&amp;amp;layout=standard&amp;amp;show_faces=true&amp;amp;width=450&amp;amp;action=like&amp;amp;colorscheme=light" frameborder="0" allowtransparency="allowtransparency" scrolling="no"&gt;&lt;/iframe&gt;&lt;/div&gt; &lt;/div&gt; &lt;img src="http://blog.galasoft.ch/aggbug/143612.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Laurent Bugnion</dc:creator>
            <guid>http://blog.galasoft.ch/archive/2011/01/25/my-proposals-for-the-mix11-open-call.aspx</guid>
            <pubDate>Tue, 25 Jan 2011 06:16:32 GMT</pubDate>
            <wfw:comment>http://blog.galasoft.ch/comments/143612.aspx</wfw:comment>
            <comments>http://blog.galasoft.ch/archive/2011/01/25/my-proposals-for-the-mix11-open-call.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://blog.galasoft.ch/comments/commentRss/143612.aspx</wfw:commentRss>
            <trackback:ping>http://blog.galasoft.ch/services/trackbacks/143612.aspx</trackback:ping>
        </item>
        <item>
            <title>Sample code for my #mix10 talk online</title>
            <link>http://blog.galasoft.ch/archive/2010/03/16/sample-code-for-my-mix10-talk-online.aspx</link>
            <description>&lt;div class="frame"&gt;&lt;strong&gt;Update:&lt;/strong&gt; Seems that not everyone is running on the latest and greatest, which is understandable. To avoid confusion, I added the version of the framework for which these samples are available. In the next few days, I will try to port them to other versions in order to have working samples in WPF3.5, WPF4, SL3 and SL4. Please be patient, thanks!&lt;/div&gt;    &lt;div class="frame"&gt;&lt;strong&gt;Update 2: &lt;/strong&gt;I reconfigured the samples to include all the external assemblies you need to run them (including Microsoft.Practices.Unity.dll, System.Windows.Interactivity and Microsoft.Expression.Interactions.dll)&lt;/div&gt;    &lt;div class="frame"&gt;&lt;strong&gt;Update 3:&lt;/strong&gt; The MVVM Demo 2 (end) now contains the MVVM Light application for Windows Phone 7 that I demoed at TechDays Belgium 2010 in Antwerpen. It features sharing most of the code between the Silverlight 4 application and the Windows Phone 7 application, and creating a new view for the phone application on top of the MainViewModel.&lt;/div&gt;  &lt;p&gt;I just saw that the video for my MIX10 session is online already! Impressive work, MIX10 team. I also published the sample code on my web server, so here are the links:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://ecn.channel9.msdn.com/o9/mix/10/pptx/EX14.pptx"&gt;Powerpoint slides&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://live.visitmix.com/Archive#VideoList"&gt;Video (scroll down to EX14)&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.galasoft.ch/blogs-all/Resources/MIX10/MIX10-MVVM-Samples.zip"&gt;All the source code (including the referenced assemblies)&lt;/a&gt;       &lt;ul&gt;       &lt;li&gt;MVVM Demo 1 (start) &lt;strong&gt;[SL4]&lt;/strong&gt; &lt;/li&gt;        &lt;li&gt;MVVM Demo 1 (final) &lt;strong&gt;[SL4]&lt;/strong&gt; &lt;/li&gt;        &lt;li&gt;Command sample &lt;strong&gt;[SL4]&lt;/strong&gt; &lt;/li&gt;        &lt;li&gt;RelayCommand sample &lt;strong&gt;[SL4]&lt;/strong&gt; &lt;/li&gt;        &lt;li&gt;Messaging sample &lt;strong&gt;[WPF4]&lt;/strong&gt; &lt;/li&gt;        &lt;li&gt;MVVM Demo 2 (start) &lt;strong&gt;[SL4]&lt;/strong&gt; &lt;/li&gt;        &lt;li&gt;MVVM Demo 2 (final) &lt;strong&gt;[SL4]&lt;/strong&gt; &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.galasoft.ch/mvvm/getstarted"&gt;MVVM Light Toolkit "Get Started" page&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;It was a real pleasure and an amazing experience to have this talk and to get all the great feedback! Thanks all for coming, and as usual don’t hesitate to send your feedback!&lt;/p&gt;  &lt;p&gt;Laurent&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;div style="margin-bottom: -1em"&gt;   &lt;div style="vertical-align: middle"&gt;&lt;a href="http://www.galasoft.ch/"&gt;&lt;img title="GalaSoft Laurent Bugnion" alt="GalaSoft Laurent Bugnion" src="http://www.galasoft.ch/logo/Current/logo_120x30.png" /&gt;&lt;/a&gt; &lt;/div&gt;    &lt;div style="position: relative; top: -36px; left: 130px"&gt;&lt;strong&gt;&lt;a href="http://www.galasoft.ch/contact_en.html"&gt;Laurent Bugnion (GalaSoft)&lt;/a&gt;&lt;/strong&gt;       &lt;br /&gt;&lt;a href="http://feeds.feedburner.com/galasoft"&gt;Subscribe&lt;/a&gt; | &lt;a href="http://twitter.com/lbugnion"&gt;Twitter&lt;/a&gt; | &lt;a href="http://www.facebook.com/lbugnion"&gt;Facebook&lt;/a&gt; | &lt;a href="http://www.flickr.com/photos/lbugnion"&gt;Flickr&lt;/a&gt; | &lt;a href="http://www.linkedin.com/in/lbugnion"&gt;LinkedIn&lt;/a&gt;       &lt;br /&gt;&lt;iframe style="border-bottom-style: none; border-right-style: none; margin-top: 7px; width: 450px; border-top-style: none; margin-bottom: -20px; height: 23px; border-left-style: none; overflow: hidden" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.galasoft.ch/archive/2010/03/16/sample-code-for-my-mix10-talk-online.aspx&amp;amp;layout=standard&amp;amp;show_faces=true&amp;amp;width=450&amp;amp;action=like&amp;amp;colorscheme=light" frameborder="0" allowtransparency="allowtransparency" scrolling="no"&gt;&lt;/iframe&gt;&lt;/div&gt; &lt;/div&gt; &lt;img src="http://blog.galasoft.ch/aggbug/138561.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Laurent Bugnion</dc:creator>
            <guid>http://blog.galasoft.ch/archive/2010/03/16/sample-code-for-my-mix10-talk-online.aspx</guid>
            <pubDate>Tue, 16 Mar 2010 09:19:40 GMT</pubDate>
            <wfw:comment>http://blog.galasoft.ch/comments/138561.aspx</wfw:comment>
            <comments>http://blog.galasoft.ch/archive/2010/03/16/sample-code-for-my-mix10-talk-online.aspx#feedback</comments>
            <slash:comments>57</slash:comments>
            <wfw:commentRss>http://blog.galasoft.ch/comments/commentRss/138561.aspx</wfw:commentRss>
            <trackback:ping>http://blog.galasoft.ch/services/trackbacks/138561.aspx</trackback:ping>
        </item>
        <item>
            <title>What&amp;rsquo;s new in MVVM Light V3</title>
            <link>http://blog.galasoft.ch/archive/2010/03/16/whatrsquos-new-in-mvvm-light-v3.aspx</link>
            <description>&lt;p&gt;V3 of the MVVM Light Toolkit was released during MIX10, after quite a long alpha stage. This post lists the new features in MVVM Light V3.&lt;/p&gt;  &lt;h2&gt;Compatibility&lt;/h2&gt;  &lt;p&gt;MVVM Light Toolkit V3 can be installed for the following tools and framework versions:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Visual Studio 2008 SP1, Expression Blend 3      &lt;ul&gt;       &lt;li&gt;Windows Presentation Foundation 3.5 SP1 &lt;/li&gt;        &lt;li&gt;Silverlight 3 &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Visual Studio 2010 RC, Expression Blend 4 beta      &lt;ul&gt;       &lt;li&gt;Windows Presentation Foundation 3.5 SP1 &lt;/li&gt;        &lt;li&gt;Windows Presentation Foundation 4 RC &lt;/li&gt;        &lt;li&gt;Silverlight 3 &lt;/li&gt;        &lt;li&gt;Silverlight 4 RC &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;For more information about installing the MVVM Light Toolkit V3, &lt;a href="http://www.galasoft.ch/mvvm/installing/manually"&gt;please visit this page&lt;/a&gt;. For cleaning up existing installation, &lt;a href="http://www.galasoft.ch/mvvm/cleaning/"&gt;see this page&lt;/a&gt;.&lt;/p&gt;  &lt;h2&gt;New in V3 RTM&lt;/h2&gt;  &lt;p&gt;The following features have been added &lt;strong&gt;after&lt;/strong&gt; V3 alpha3:&lt;/p&gt;  &lt;h3&gt;Project template for the Windows Phone 7 series (Silverlight)&lt;/h3&gt;  &lt;p&gt;This new template allows you to create a new MVVM Light application in Visual Studio 2010 RC and to run it in the Windows Phone 7 series emulator. This template uses the Silverlight 3 version of the MVVM Light Toolkit V3. At this time, only the essentials features of the GalaSoft.MvvmLight.dll assembly are supported on the phone.&lt;/p&gt;  &lt;h2&gt;New in V3 alpha3&lt;/h2&gt;  &lt;p&gt;The following features have been added &lt;strong&gt;after&lt;/strong&gt; V3 alpha2:&lt;/p&gt;  &lt;h3&gt;New logo&lt;/h3&gt;  &lt;p&gt;An awesome logo has been designed for MVVM Light by Philippe Schutz.&lt;/p&gt;  &lt;h3&gt;DispatcherHelper class (in GalaSoft.MvvmLight.Extras.dll)&lt;/h3&gt;  &lt;p&gt;This class is useful when you work on multi-threaded WPF or Silverlight applications.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Initializing:&lt;/strong&gt; The DispatcherHelper class must be initialized in the UI thread. For example, you can initialize the class in a Silverlight application’s Application_Startup event handler, or in the WPF application’s static App constructor (in App.xaml).&lt;/p&gt;  &lt;pre class="csharp" name="code"&gt;// Initializing in Silverlight (in App.xaml)

private void Application_Startup(
    object sender,
    StartupEventArgs e)
{
    RootVisual = new MainPage();
    DispatcherHelper.Initialize();
}


// Initializing in WPF (in App.xaml)

static App()
{
    DispatcherHelper.Initialize();
}&lt;/pre&gt;

&lt;h3&gt;Verifying if a property exists&lt;/h3&gt;

&lt;p&gt;The ViewModelBase.RaisePropertyChanged method now checks if a given property name exists on the ViewModel class, and throws an exception if that property cannot be found. This is useful to detect typos in a property name, for example during a refactoring. Note that the check is only done in DEBUG mode.&lt;/p&gt;

&lt;h3&gt;Replacing IDisposable with ICleanup&lt;/h3&gt;

&lt;p&gt;The IDisposable implementation in the ViewModelBase class has been marked obsolete. Instead, the ICleanup interface (and its Cleanup method) has been added. Implementing IDisposable in a ViewModel is still possible, but must be done explicitly. IDisposable in ViewModelBase was a bad practice, because it supposes that the ViewModel is garbage collected after Dispose is called. instead, the Cleanup method does not have such expectation.&lt;/p&gt;

&lt;p&gt;The ViewModelLocator class (created when an MVVM Light project template is used in Visual Studio or Expression Blend) exposes a static Cleanup method, which should in turn call each ViewModel’s Cleanup method. The ViewModel is free to override the Cleanup method if local cleanup must be performed.&lt;/p&gt;

&lt;h3&gt;Passing EventArgs to command with EventToCommand&lt;/h3&gt;

&lt;p&gt;The EventToCommand class is used to bind any event to an ICommand (typically on the ViewModel). In this case, it can be useful to pass the event’s EventArgs parameter to the command in the ViewModel. For example, for the MouseEnter event, you can pass the MouseEventArgs to a RelayCommand&amp;lt;MouseEventArgs&amp;gt; as shown in the next listings.&lt;/p&gt;

&lt;p&gt;Note: Bringing UI specific classes (such as EventArgs) into the ViewModel reduces the testability of the ViewModel, and thus should be used with care.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Setting EventToCommand and PassEventArgsToCommand:&lt;/em&gt;&lt;/p&gt;

&lt;pre class="xml" name="code"&gt;&amp;lt;Grid x:Name="LayoutRoot"&amp;gt;
    &amp;lt;i:Interaction.Triggers&amp;gt;
        &amp;lt;i:EventTrigger EventName="MouseEnter"&amp;gt;
            &amp;lt;cmd:EventToCommand Command="{Binding MyCommand}"
                                PassEventArgsToCommand="True" /&amp;gt;
        &amp;lt;/i:EventTrigger&amp;gt;
    &amp;lt;/i:Interaction.Triggers&amp;gt;
&amp;lt;/Grid&amp;gt;&lt;/pre&gt;

&lt;p&gt;&lt;em&gt;Getting the EventArgs in the command&lt;/em&gt;&lt;/p&gt;

&lt;pre class="csharp" name="code"&gt;public RelayCommand&amp;lt;MouseEventArgs&amp;gt; MyCommand
{
    get;
    private set;
}

public MainViewModel()
{
    MyCommand = new RelayCommand&amp;lt;MouseEventArgs&amp;gt;(e =&amp;gt;
    {
        // e is of type MouseEventArgs
    });
}&lt;/pre&gt;

&lt;h3&gt;Changes to templates&lt;/h3&gt;

&lt;p&gt;Various changes have been made to project templates and item templates to make them more compatible with Silverlight 4 and to improve their visibility in Visual Studio and Expression Blend.&lt;/p&gt;

&lt;h3&gt;Bug corrections&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;When a message is sent through the Messenger class using the method Messenger.Default.Send&amp;lt;T&amp;gt;(T message, object token), and the token is a simple value (for example int), the message was not sent correctly. This bug is now corrected. &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;New in V3&lt;/h2&gt;

&lt;p&gt;The following features have been added &lt;strong&gt;after&lt;/strong&gt; V2.&lt;/p&gt;

&lt;h3&gt;Sending messages with callback&lt;/h3&gt;

&lt;p&gt;Certain classes have been added to the GalaSoft.MvvmLight.Messaging namespace, allowing sending a message and getting a callback from the recipient. These classes are:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;NotificationMessageWithCallback: Base class for messages with callback. &lt;/li&gt;

  &lt;li&gt;NotificationMessageAction: A class with string notification, and a parameterless callback. &lt;/li&gt;

  &lt;li&gt;NotificationMessageAction&amp;lt;T&amp;gt;: A class with string notification, and a callback with a parameter of type T. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To send a message with callback, use the following code:&lt;/p&gt;

&lt;pre class="csharp" name="code"&gt;var message = new NotificationMessageAction&amp;lt;bool&amp;gt;(
    "Hello world",
    callbackMessage =&amp;gt;
    {
        // This is the callback code
        if (callbackMessage)
        {
            // ...
        }
    });

Messenger.Default.Send(message);&lt;/pre&gt;

&lt;p&gt;To register and receive a message with callback, use the following code:&lt;/p&gt;

&lt;pre class="xml" name="code"&gt;Messenger.Default.Register&amp;lt;NotificationMessageAction&amp;lt;bool&amp;gt;&amp;gt;(
    this,
    message =&amp;gt;
    {
        // Do something
        
        // Execute the callback
        message.Execute(true);
    });&lt;/pre&gt;

&lt;h3&gt;Messenger.Default can be overriden&lt;/h3&gt;

&lt;p&gt;The Messenger.Default property can also be replaced, for example for unit testing purposes, by using the Messenger.OverrideDefault method. All the public methods of the Messenger class have been made virtual, and can be overridden in the test messenger class.&lt;/p&gt;

&lt;h3&gt;&lt;/h3&gt;

&lt;h3&gt;Sending messages to interfaces&lt;/h3&gt;

&lt;p&gt;In V2, it was possible to deliver messages targeted to instances of a given class. in V3 it is still possible, but in addition you can deliver a message to instances that implement a certain interface. The message will not be delivered to other recipients.&lt;/p&gt;

&lt;p&gt;Use the overload Messenger.Default.Send&amp;lt;TMessage, TTarget&amp;gt;(TMessage message) where TTarget is, in fact, an interface (for example IDisposable). Of course the recipient must register to receive the type of message TMessage.&lt;/p&gt;

&lt;h3&gt;Sending messages with a token&lt;/h3&gt;

&lt;p&gt;Messages can now be sent through the Messenger with a token.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;To send a message with token, use the method overload Send&amp;lt;TMessage&amp;gt;(TMessage message, object token). &lt;/li&gt;

  &lt;li&gt;To receive a message with token, use the methods Register&amp;lt;TMessage&amp;gt;(object recipient, object token, Action&amp;lt;TMessage&amp;gt; action) or Register&amp;lt;TMessage&amp;gt;(object recipient, object token, bool receiveDerivedMessagesToo, Action&amp;lt;TMessage&amp;gt; action) &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The token can be a simple value (int, string, etc…) or an instance of a class. The message is not delivered to recipients who registered with a different token, or with no token at all.&lt;/p&gt;

&lt;h3&gt;Renaming CommandMessage to NotificationMessage&lt;/h3&gt;

&lt;p&gt;To avoid confusion with ICommand and RelayCommand, the CommandMessage class has been renamed to NotificationMessage. This message class can be used to deliver a notification (of type string) to a recipient.&lt;/p&gt;

&lt;h3&gt;ViewModelBase constructor with IMessenger&lt;/h3&gt;

&lt;p&gt;The ViewModelBase class now accepts an IMessenger parameter. If this constructor is used instead of the default empty constructor, the IMessenger passed as parameter will be used to broadcast a PropertyChangedMessage when the method RaisePropertyChanged&amp;lt;T&amp;gt;(string propertyName, T oldValue, T newValue, bool broadcast) is used.&lt;/p&gt;

&lt;p&gt;In the default ViewModelBase constructor is used, the Messenger.Default instance will be used instead.&lt;/p&gt;

&lt;h3&gt;EventToCommand behavior&lt;/h3&gt;

&lt;p&gt;The EventToCommand behavior has been added in V3. It can be used to bind any event of any FrameworkElement to any ICommand (for example a RelayCommand located in the ViewModel). More information about the EventToCommand behavior can be found &lt;a href="http://blog.galasoft.ch/archive/2009/11/05/mvvm-light-toolkit-v3-alpha-2-eventtocommand-behavior.aspx"&gt;here&lt;/a&gt; and &lt;a href="http://blog.galasoft.ch/archive/2009/12/17/silverlight-4-dragampdrop-with-eventtocommand.aspx"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;Updated the project templates to remove the sample application&lt;/h3&gt;

&lt;p&gt;The project template has been updated to remove the sample application that was created every time that a new MVVM Light application was created in Visual Studio or Blend. This makes the creation of a new application easier, because you don’t need to remove code before you can start writing code.&lt;/p&gt;

&lt;h3&gt;Bug corrections&lt;/h3&gt;

&lt;p&gt;Some bugs that were in Version 2 have been corrected:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;In some occasions, an exception could be thrown when a recipient was registered for a message at the same time as a message was received. &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;New names for DLLs&lt;/h2&gt;

&lt;p&gt;If you upgrade an existing installation, you will need to change the reference to the DLLs in C:\Program Files\Laurent Bugnion (GalaSoft)\Mvvm Light Toolkit\Binaries. The assemblies have been moved, and the versions for Silverlight 4 and for WPF4 have been renamed, to avoid some confusion. It is now easier to make sure that you are using the correct DLL.&lt;/p&gt;

&lt;h3&gt;WPF3.5SP1, Silverlight 3&lt;/h3&gt;

&lt;p&gt;When using the DLLs, make sure that you use the correct versions.&lt;/p&gt;

&lt;p&gt;&lt;a title="DLLs for Silverlight 3" href="http://www.flickr.com/photos/36917929@N06/4433510284"&gt;&lt;img src="http://farm3.static.flickr.com/2715/4433510284_c49cf68ff6.jpg" width="500" height="329" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;a title="DLLs for WPF 3.5 SP1" href="http://www.flickr.com/photos/36917929@N06/4433511944"&gt;&lt;img src="http://farm5.static.flickr.com/4003/4433511944_e2b18073e0.jpg" width="500" height="329" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;h3&gt;WPF4, Silverlight 4&lt;/h3&gt;

&lt;p&gt;When using the DLLs, make sure that you use the correct versions.&lt;/p&gt;

&lt;p&gt;&lt;a title="DLLs for Silverlight 4" href="http://www.flickr.com/photos/36917929@N06/4432738407"&gt;&lt;img src="http://farm3.static.flickr.com/2763/4432738407_dc6ca4a537.jpg" width="500" height="329" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;a title="DLL2 for WPF 4" href="http://www.flickr.com/photos/36917929@N06/4433514364"&gt;&lt;img src="http://farm5.static.flickr.com/4032/4433514364_9ab5031c83.jpg" width="500" height="329" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;div style="margin-bottom: -1em"&gt;
  &lt;div style="vertical-align: middle"&gt;&lt;a href="http://www.galasoft.ch/"&gt;&lt;img title="GalaSoft Laurent Bugnion" alt="GalaSoft Laurent Bugnion" src="http://www.galasoft.ch/logo/Current/logo_120x30.png" /&gt;&lt;/a&gt; &lt;/div&gt;

  &lt;div style="position: relative; top: -36px; left: 130px"&gt;&lt;strong&gt;&lt;a href="http://www.galasoft.ch/contact_en.html"&gt;Laurent Bugnion (GalaSoft)&lt;/a&gt;&lt;/strong&gt; 

    &lt;br /&gt;&lt;a href="http://feeds.feedburner.com/galasoft"&gt;Subscribe&lt;/a&gt; | &lt;a href="http://twitter.com/lbugnion"&gt;Twitter&lt;/a&gt; | &lt;a href="http://www.facebook.com/lbugnion"&gt;Facebook&lt;/a&gt; | &lt;a href="http://www.flickr.com/photos/lbugnion"&gt;Flickr&lt;/a&gt; | &lt;a href="http://www.linkedin.com/in/lbugnion"&gt;LinkedIn&lt;/a&gt; 

    &lt;br /&gt;&lt;iframe style="border-bottom-style: none; border-right-style: none; margin-top: 7px; width: 450px; border-top-style: none; margin-bottom: -20px; height: 23px; border-left-style: none; overflow: hidden" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.galasoft.ch/archive/2010/03/16/whatrsquos-new-in-mvvm-light-v3.aspx&amp;amp;layout=standard&amp;amp;show_faces=true&amp;amp;width=450&amp;amp;action=like&amp;amp;colorscheme=light" frameborder="0" allowtransparency="allowtransparency" scrolling="no"&gt;&lt;/iframe&gt;

&lt;/div&gt;
&lt;/div&gt; &lt;img src="http://blog.galasoft.ch/aggbug/138557.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Laurent Bugnion</dc:creator>
            <guid>http://blog.galasoft.ch/archive/2010/03/16/whatrsquos-new-in-mvvm-light-v3.aspx</guid>
            <pubDate>Tue, 16 Mar 2010 03:42:53 GMT</pubDate>
            <wfw:comment>http://blog.galasoft.ch/comments/138557.aspx</wfw:comment>
            <comments>http://blog.galasoft.ch/archive/2010/03/16/whatrsquos-new-in-mvvm-light-v3.aspx#feedback</comments>
            <slash:comments>21</slash:comments>
            <wfw:commentRss>http://blog.galasoft.ch/comments/commentRss/138557.aspx</wfw:commentRss>
            <trackback:ping>http://blog.galasoft.ch/services/trackbacks/138557.aspx</trackback:ping>
        </item>
        <item>
            <title>MVVM Light V3 released at #MIX10</title>
            <link>http://blog.galasoft.ch/archive/2010/03/16/mvvm-light-v3-released-at-mix10.aspx</link>
            <description>&lt;p&gt;&lt;a title="MVVM_White" href="http://www.flickr.com/photos/36917929@N06/4084208308/"&gt;&lt;img border="0" alt="MVVM_White" src="http://farm3.static.flickr.com/2706/4084208308_2fb7a14111_m.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;During my session “&lt;a href="http://live.visitmix.com/MIX10/Sessions/EX14"&gt;Understanding the MVVM pattern&lt;/a&gt;” at MIX10 in Vegas, I showed some components of the MVVM Light toolkit V3, which gave me the occasion to announce the release of version 3. This version has been in alpha stage for a while, and has been tested by many users. it is very stable, and ready for a release. So here we go!&lt;/p&gt;  &lt;h1&gt;&lt;/h1&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;h1&gt;What’s new&lt;/h1&gt;  &lt;p&gt;What’s new in MVVM Light Toolkit V3 is the topic of the next post.&lt;/p&gt;  &lt;h1&gt;Cleaning up&lt;/h1&gt;  &lt;p&gt;I would recommend cleaning up older versions before installing V3. I prepared a page &lt;a href="http://www.galasoft.ch/mvvm/cleaning"&gt;explaining how to do that manually&lt;/a&gt;. Unfortunately I didn’t have time to create an automatic cleaner/installer, this is very high on my list but with the book and the conferences going on, it will take a little more time. Cleaning up is recommended because I changed the name of some DLLs to avoid some confusion (between the WPF3.5 and WPF4 version, as well as between the SL3 and SL4 versions). More details in the section titled “Compatibility”.&lt;/p&gt;  &lt;h1&gt;Installation&lt;/h1&gt;  &lt;p&gt;Installing MVVM Light toolkit is the manual process of unzipping a few files. &lt;a href="http://www.galasoft.ch/mvvm/installing/manually"&gt;The installation page&lt;/a&gt; has been updated to reflect the newest information.&lt;/p&gt;  &lt;h1&gt;Compatibility&lt;/h1&gt;  &lt;p&gt;MVVM Light toolkit V3 has components for the following environments and frameworks:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Visual Studio 2008:      &lt;ul&gt;       &lt;li&gt;Silverlight 3 &lt;/li&gt;        &lt;li&gt;Windows Presentation Foundation 3.5 SP1 &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Expression Blend 3      &lt;ul&gt;       &lt;li&gt;Silverlight 3 &lt;/li&gt;        &lt;li&gt;Windows Presentation Foundation 3.5 SP1 &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Visual Studio 2010 RC      &lt;ul&gt;       &lt;li&gt;Silverlight 3 &lt;/li&gt;        &lt;li&gt;Silverlight 4 &lt;/li&gt;        &lt;li&gt;Windows Presentation Foundation 3.5 SP1 &lt;/li&gt;        &lt;li&gt;Windows Presentation Foundation 4 &lt;/li&gt;        &lt;li&gt;Silverlight for Windows Phone 7 series &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Expression Blend 4 beta      &lt;ul&gt;       &lt;li&gt;Silverlight 3 &lt;/li&gt;        &lt;li&gt;Silverlight 4 &lt;/li&gt;        &lt;li&gt;Windows Presentation Foundation 3.5 SP1 &lt;/li&gt;        &lt;li&gt;Windows Presentation Foundation 4 &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;h2&gt;Feedback&lt;/h2&gt;  &lt;p&gt;As usual I welcome your constructive feedback. If you want the issue to be discussed in public, the best way is through the discussion page &lt;a href="http://mvvmlight.codeplex.com"&gt;on the Codeplex site&lt;/a&gt;. if you wish to keep the conversation private, please &lt;a href="http://www.galasoft.ch/contact"&gt;check my Contact page&lt;/a&gt; for ways to talk to me.&lt;/p&gt;  &lt;h1&gt;Video, tutorials&lt;/h1&gt;  &lt;p&gt;There are a few new videos and tutorials available for the MVVM Light toolkit. The material is listed on the &lt;a href="http://www.galasoft.ch/mvvm/getstarted#tutorials"&gt;Get Started page, under “tutorials”.&lt;/a&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;div style="margin-bottom: -1em"&gt;   &lt;div style="vertical-align: middle"&gt;&lt;a href="http://www.galasoft.ch/"&gt;&lt;img title="GalaSoft Laurent Bugnion" alt="GalaSoft Laurent Bugnion" src="http://www.galasoft.ch/logo/Current/logo_120x30.png" /&gt;&lt;/a&gt; &lt;/div&gt;    &lt;div style="position: relative; top: -36px; left: 130px"&gt;&lt;strong&gt;&lt;a href="http://www.galasoft.ch/contact_en.html"&gt;Laurent Bugnion (GalaSoft)&lt;/a&gt;&lt;/strong&gt;       &lt;br /&gt;&lt;a href="http://feeds.feedburner.com/galasoft"&gt;Subscribe&lt;/a&gt; | &lt;a href="http://twitter.com/lbugnion"&gt;Twitter&lt;/a&gt; | &lt;a href="http://www.facebook.com/lbugnion"&gt;Facebook&lt;/a&gt; | &lt;a href="http://www.flickr.com/photos/lbugnion"&gt;Flickr&lt;/a&gt; | &lt;a href="http://www.linkedin.com/in/lbugnion"&gt;LinkedIn&lt;/a&gt;       &lt;br /&gt;&lt;iframe style="border-bottom-style: none; border-right-style: none; margin-top: 7px; width: 450px; border-top-style: none; margin-bottom: -20px; height: 23px; border-left-style: none; overflow: hidden" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.galasoft.ch/archive/2010/03/16/mvvm-light-v3-released-at-mix10.aspx&amp;amp;layout=standard&amp;amp;show_faces=true&amp;amp;width=450&amp;amp;action=like&amp;amp;colorscheme=light" frameborder="0" allowtransparency="allowtransparency" scrolling="no"&gt;&lt;/iframe&gt;  &lt;/div&gt; &lt;/div&gt; &lt;img src="http://blog.galasoft.ch/aggbug/138556.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Laurent Bugnion</dc:creator>
            <guid>http://blog.galasoft.ch/archive/2010/03/16/mvvm-light-v3-released-at-mix10.aspx</guid>
            <pubDate>Tue, 16 Mar 2010 03:40:46 GMT</pubDate>
            <wfw:comment>http://blog.galasoft.ch/comments/138556.aspx</wfw:comment>
            <comments>http://blog.galasoft.ch/archive/2010/03/16/mvvm-light-v3-released-at-mix10.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://blog.galasoft.ch/comments/commentRss/138556.aspx</wfw:commentRss>
            <trackback:ping>http://blog.galasoft.ch/services/trackbacks/138556.aspx</trackback:ping>
        </item>
        <item>
            <title>My program at #MIX10</title>
            <link>http://blog.galasoft.ch/archive/2010/03/10/my-program-at-mix10.aspx</link>
            <description>&lt;p&gt;&lt;a href="http://live.visitmix.com/MIX10/Sessions/EX14"&gt;&lt;img style="margin: 0px 10px 0px 0px; display: inline" alt="MIX10Speaker" align="left" src="http://farm5.static.flickr.com/4031/4422274969_f62ba098fe_o.jpg" width="154" height="151" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Getting ready to fly to Vegas and MIX10 is really an exciting time! It is also a very busy time, because we are working on a few projects that will be shown on stage, I have my presentation to prepare, and of course as always the book… though these days it has been a bit on the back burner to be honest ;)&lt;/p&gt;  &lt;p&gt;I arrive in Vegas on Sunday evening around 10PM, so I won’t be able to make it to the traditional IdentityMine dinner this year. I am sure it will be fun nonetheless!&lt;/p&gt;  &lt;h1&gt;My session: Understanding the MVVM pattern&lt;/h1&gt;  &lt;p&gt;&lt;a title="http://live.visitmix.com/MIX10/Sessions/EX14" href="http://live.visitmix.com/MIX10/Sessions/EX14"&gt;http://live.visitmix.com/MIX10/Sessions/EX14&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;My session is scheduled on the first day, which is awesome, so I am crossing my fingers and hoping that the MIX team doesn’t change it at the last minute… The session will take place on&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Monday, the 15th of March, 2PM, Room Lagoon F&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Important: &lt;/strong&gt;remember that the USA are moving to Summer time on Sunday, so don’t forget to adjust your watches!!&lt;/p&gt;  &lt;h1&gt;Ask the Experts&lt;/h1&gt;  &lt;p&gt;On Monday evening, I will attend the Ask the Experts event, which is taking place between 5Pm and 6:30PM in the main meal hall. This will be a great occasion to grab a beer and talk about code.&lt;/p&gt;  &lt;h1&gt;The Commons&lt;/h1&gt;  &lt;p&gt;MIX has a great place called the Commons, a great location to chill between sessions, and meet tons of interesting people. I love the Commons and plan to spend a lot of time there to meet as many people as I can.&lt;/p&gt;  &lt;h1&gt;Parties&lt;/h1&gt;  &lt;p&gt;I was invited to a few parties, and will do my best to avoid conflicts :) I plan to be at the following events:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Silverlight Mixers on Monday evening &lt;/li&gt;    &lt;li&gt;Insiders MIX party on Tuesday &lt;/li&gt;    &lt;li&gt;Silverlight partner happy hour on Tuesday too &lt;/li&gt; &lt;/ul&gt; This is a lot of fun, but at the same time we all know that the best value of a conference is to meet people face to face. This is just the right occasion.  &lt;h1&gt;And on Thursday…&lt;/h1&gt;  &lt;p&gt;On Thursday I will be attending a Silverlight event at the Luxor. It will be a very busy day, perfect way to end the conference. I fly back home on Friday morning, but due to a long stop in Washington DC (where I intend to go downtown and take pictures… except if the weather is bad, in which case I will probably go to the museum of flight), I will reach home only on Sunday.&lt;/p&gt;  &lt;h1&gt;Getting hold of me&lt;/h1&gt;  &lt;p&gt;The best way to reach me during MIX is to &lt;a href="http://www.twitter.com/lbugnion"&gt;send me a message on Twitter&lt;/a&gt;. I will regularly tweet my location at the conference, so make sure to come and meet me. I am eager to make new friends, to talk about the fantastic jobs we did in WPF and Silverlight over the past year and hear your war stories!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.twitter.com/lbugnion"&gt;http://www.twitter.com/lbugnion&lt;/a&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;div style="margin-bottom: -1em"&gt;   &lt;div style="vertical-align: middle"&gt;&lt;a href="http://www.galasoft.ch/"&gt;&lt;img title="GalaSoft Laurent Bugnion" alt="GalaSoft Laurent Bugnion" src="http://www.galasoft.ch/logo/Current/logo_120x30.png" /&gt;&lt;/a&gt; &lt;/div&gt;    &lt;div style="position: relative; top: -36px; left: 130px"&gt;&lt;strong&gt;&lt;a href="http://www.galasoft.ch/contact_en.html"&gt;Laurent Bugnion (GalaSoft)&lt;/a&gt;&lt;/strong&gt;       &lt;br /&gt;&lt;a href="http://feeds.feedburner.com/galasoft"&gt;Subscribe&lt;/a&gt; | &lt;a href="http://twitter.com/lbugnion"&gt;Twitter&lt;/a&gt; | &lt;a href="http://www.facebook.com/lbugnion"&gt;Facebook&lt;/a&gt; | &lt;a href="http://www.flickr.com/photos/lbugnion"&gt;Flickr&lt;/a&gt; | &lt;a href="http://www.linkedin.com/in/lbugnion"&gt;LinkedIn&lt;/a&gt; &lt;/div&gt; &lt;/div&gt; &lt;img src="http://blog.galasoft.ch/aggbug/138433.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Laurent Bugnion</dc:creator>
            <guid>http://blog.galasoft.ch/archive/2010/03/10/my-program-at-mix10.aspx</guid>
            <pubDate>Wed, 10 Mar 2010 05:01:28 GMT</pubDate>
            <wfw:comment>http://blog.galasoft.ch/comments/138433.aspx</wfw:comment>
            <comments>http://blog.galasoft.ch/archive/2010/03/10/my-program-at-mix10.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blog.galasoft.ch/comments/commentRss/138433.aspx</wfw:commentRss>
            <trackback:ping>http://blog.galasoft.ch/services/trackbacks/138433.aspx</trackback:ping>
        </item>
        <item>
            <title>Schedule for my session at MIX10</title>
            <link>http://blog.galasoft.ch/archive/2010/03/04/schedule-for-my-session-at-mix10.aspx</link>
            <description>&lt;p&gt;Microsoft has published the schedule for the MIX10 sessions. I have a sweet spot, and I dearly hope that it stays this way (Last year I had a great spot, but it was changed last minute and then I had a much better one, “competing” against Vertigo and their Playboy app… yeah try to explain to a bunch of geeks that MVVM is better than Playboy… good luck with that ;) Anyway, this year my sweet spot is on the very first day of the conference (there are workshops on Sunday, but this qualifies as pre-conference), Monday after the keynote which should get everyone pumped and excited.&lt;/p&gt;  &lt;h1&gt;Schedule and location&lt;/h1&gt;  &lt;p&gt;I would be really happy to meet y’all at&lt;/p&gt;  &lt;div class="frame"&gt;   &lt;p&gt;&lt;a href="http://live.visitmix.com/MIX10/Sessions/EX14"&gt;Understanding the Model-View-ViewModel Pattern&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;in Lagoon F on Monday at 2:00 PM&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://live.visitmix.com/MIX10/Sessions/EX14"&gt;http://live.visitmix.com/MIX10/Sessions/EX14&lt;/a&gt;&lt;/p&gt; &lt;/div&gt;  &lt;h1&gt;&lt;/h1&gt;  &lt;h1&gt;See you in Vegas (or in video…)&lt;/h1&gt;  &lt;p&gt;Everything I saw so far hints that this should be a very, very exciting edition of MIX, maybe the most electrifying ever. The great news is that everything will be available even if you cannot make it: The keynotes are typically streamed live, and if you remember last year’s experience at PDC, it is a really good alternative. Built with Silverlight, the feed uses smooth streaming (adjusting the quality according to your bandwidth automatically), possibility to pause and rewind if you miss something, and a great picture quality. As for the sessions, the message at MIX is that the videos will be available online approximately 24 hours after the session is being held. This is a great feat!&lt;/p&gt;  &lt;p&gt;So, see you in Vegas (or in video)!&lt;/p&gt;  &lt;p&gt;Cheers,&lt;/p&gt;  &lt;p&gt;Laurent&lt;/p&gt; &lt;img src="http://blog.galasoft.ch/aggbug/138350.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Laurent Bugnion</dc:creator>
            <guid>http://blog.galasoft.ch/archive/2010/03/04/schedule-for-my-session-at-mix10.aspx</guid>
            <pubDate>Thu, 04 Mar 2010 18:48:58 GMT</pubDate>
            <wfw:comment>http://blog.galasoft.ch/comments/138350.aspx</wfw:comment>
            <comments>http://blog.galasoft.ch/archive/2010/03/04/schedule-for-my-session-at-mix10.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blog.galasoft.ch/comments/commentRss/138350.aspx</wfw:commentRss>
            <trackback:ping>http://blog.galasoft.ch/services/trackbacks/138350.aspx</trackback:ping>
        </item>
    </channel>
</rss>
