<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>PDC08</title>
        <link>http://geekswithblogs.net/lbugnion/category/8866.aspx</link>
        <description>Professional Developer Conference 2008, 26 - 30 November 2008, Los Angeles</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>Setting my laptop in dual boot with Windows 7</title>
            <link>http://geekswithblogs.net/lbugnion/archive/2008/11/27/setting-my-laptop-in-dual-boot-with-win7.aspx</link>
            <description>&lt;p&gt;At the last Professional Developer Conference in Los Angeles, the attendees were given a pre-beta version of Windows 7, Vista's successor operating system. I installed it on a virtual machine and was very impressed by the performance of Windows 7. Since I just got my new laptop (Alienware m15x) and have been installing stuff anyway, I thought I would give it a try and install Win7 in dual boot on this machine. This is the report of the experiene. &lt;/p&gt;  &lt;h2&gt;Partitioning the hard disk&lt;/h2&gt;  &lt;p&gt;My laptop has a 320GB hard disk. I decided to create 3 partitions: The first one is for Windows Vista (came preinstalled), the second one for Windows 7 and then a last one for data. I like having my data on a separate partition (or a separate hard disk all together). This way, if something happens and I need to reinstall Vista, I don't need to get all my data back from the backup drive. Of course I still do backup :) in case my hard disk fails completely and I must get a new one. Side note: I use Mozy backup to save all my data to Internet, and it works really great. I like it a lot. &lt;/p&gt;  &lt;p&gt;To partition the disk, I used Paragon Partition Manager. The good people at Paragon gave me a free license because I am a MVP, but even before that I was using their tool to manage my partitions. I like the simplicity of it, the UI and the way it assists you in what are sometimes scary operations. For more info about Partition Manager, check the Paragon website and give it a try, the trial version is pretty functional. Note that you don't really need this, since Vista has the ability to create and manage partitions. The partitioning went well, it was just quite slow but I ended up with two 55 GB partitions (one for Vista, on for Win7) and a 175 GB partition for the data. Eventually I will probably use only one OS (and I hope it's 7!) so I can just erase the other OS partition and use that for data too.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://flickr.com/photos/lbugnion/3064544560/"&gt;&lt;img alt="Partitioning" src="http://farm4.static.flickr.com/3206/3064544560_9bc109e7ac.jpg?v=0" /&gt;&lt;/a&gt;  &lt;/p&gt;  &lt;h2&gt;Setting up Windows 7&lt;/h2&gt;  &lt;p&gt;This process is really very easy. Simply insert the DVD that we got at PDC, and follow the instructions. Since there is an OS installed already, the setup asks you what you want to do: Upgrade Vista or install Win7 on a free partition. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://flickr.com/photos/lbugnion/3064546252/"&gt;&lt;img alt="Starting the setup" src="http://farm4.static.flickr.com/3209/3064546252_2b17d064de.jpg?v=0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://flickr.com/photos/lbugnion/3064547796/"&gt;&lt;img alt="Settings" src="http://farm4.static.flickr.com/3205/3064547796_a496d7f9f7.jpg?v=0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://flickr.com/photos/lbugnion/3064549596/"&gt;&lt;img alt="Which partition?" src="http://farm4.static.flickr.com/3071/3064549596_f32c73948b.jpg?v=0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://flickr.com/photos/lbugnion/3063711099/"&gt;&lt;img alt="Installing" src="http://farm4.static.flickr.com/3060/3063711099_12a2c7cf7f.jpg?v=0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The laptop was rebooted only once during the setup, and then I was ready to go. When you start the laptop, a screen asks you if you want to boot Windows Vista of Windows 7. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://flickr.com/photos/lbugnion/3063712899/"&gt;&lt;img alt="Starting Windows 7" src="http://farm4.static.flickr.com/3143/3063712899_6631ca23c0.jpg?v=0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;h2&gt;Installing drivers &lt;/h2&gt;  &lt;p&gt;The first step is to install drivers. In my case, I found all the drivers on Alienware support page, and you don't even need to log on to download them. Note that Win7 supports big resolutions (1920x1200) natively, but the Aero effect is switched off unless you install the display drivers. &lt;/p&gt;  &lt;p&gt;I only had two issues so far, one of them I could solve. &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The Intel chipset driver refuses to get installed, because "the operating system is not supported". This kind of check is really annoying, since Windows 7 uses the same driver model as Vista, and the drivers should work just fine (all the other Vista drivers work perfectly on Windows 7, thank you very much). I was not able to find a workaround for the moment, not even the compatibility troubleshooter that I describe below worked. &lt;/li&gt;    &lt;li&gt;The audio driver also refused to get installed first (Realtek). In that case, however, I was able to use the compatibility troubleshooter. Simply right click on the setup.exe and choose "Troubleshoot compatibility". This starts a wizard that lets you choose to execute the program "as Vista". In that case, this solved the problem completely and I now have all the high definition goodness provided by this audio driver. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://flickr.com/photos/lbugnion/3063716979/"&gt;&lt;img alt="Compatibility troubleshooter" src="http://farm4.static.flickr.com/3175/3063716979_c3c6aaebf7.jpg?v=0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://flickr.com/photos/lbugnion/3063717033/"&gt;&lt;img alt="Compatibility troubleshooter" src="http://farm4.static.flickr.com/3169/3063717033_1da581cbc2.jpg?v=0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://flickr.com/photos/lbugnion/3064557032/"&gt;&lt;img alt="Compatibility troubleshooter" src="http://farm4.static.flickr.com/3230/3064557032_b3c2a1758d.jpg?v=0" /&gt;&lt;/a&gt;   &lt;/p&gt;  &lt;h2&gt;Applications&lt;/h2&gt;  &lt;p&gt;The only problem I got so far is with ISO mounting solutions. I tried two of them:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Daemon:&lt;/strong&gt; This well known tool to mount ISO images of DVDs simply didn't install on Win7. When you install it, there is a reboot needed, and normally the setup continues after the reboot. In that case however, the setup didn't continue, but restarted from scratch. Here too, the compatibility troubleshooter did not help.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;VirtualCloneDrive:&lt;/strong&gt; It was possible to install and use this tool (after a reboot), but it causes strange behaviors as long as it is installed. The laptop either doesn't go to standby at al, or if it does it is impossible to start any application after it wakes. I tried a few things, but eventually found that uninstalling VirtualCloneDrive after installing the content of the ISO seems to solve the issues I had. So far so good.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;So far I only had success with the applications I installed. No instability, no bad behavior, no crash. Nothing to say here.&lt;/p&gt;  &lt;h2&gt;Conclusion&lt;/h2&gt;  &lt;p&gt;I am still testing and still have a bunch of apps to instal, but so far I am very impressed by the speed, the stability and the overall slickness of Windows 7. It is fast to start up,fast and smooth to use, and I typically use approximately 30% less RAM than with Vista &lt;strong&gt;on the same machine&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;Generally speaking, the CPU load is also less, though there are times where background operations slow down, for example when Windows Media Player is building the media library, etc. Still, the OS is really a joy to use at this time, and so far is definitely ripe for a daily use. I will try to work on it exclusively for a while, and see how that goes! In the worst case I can always fall back on Vista, can't I? :)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://flickr.com/photos/lbugnion/3064557344/"&gt;&lt;img alt="Performance index" src="http://farm4.static.flickr.com/3144/3064557344_5fcd0bcb69.jpg?v=0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127426"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127426" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/lbugnion/aggbug/127426.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Laurent Bugnion</dc:creator>
            <guid>http://geekswithblogs.net/lbugnion/archive/2008/11/27/setting-my-laptop-in-dual-boot-with-win7.aspx</guid>
            <pubDate>Fri, 28 Nov 2008 11:19:38 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/lbugnion/comments/127426.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/lbugnion/archive/2008/11/27/setting-my-laptop-in-dual-boot-with-win7.aspx#feedback</comments>
            <slash:comments>8</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/lbugnion/comments/commentRss/127426.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/lbugnion/services/trackbacks/127426.aspx</trackback:ping>
        </item>
        <item>
            <title>It's podcast season: Herding code</title>
            <link>http://geekswithblogs.net/lbugnion/archive/2008/11/16/its-podcast-season-herding-code.aspx</link>
            <description>&lt;p&gt;&lt;a href="http://herdingcode.com/?p=91"&gt;&lt;img style="border-right: 0px; border-top: 0px; margin: 0px 10px 0px 0px; border-left: 0px; border-bottom: 0px" height="169" alt="image" src="http://galasoft.ch/blogs-all/ItspodcastseasonHerdingcode_B739/image_thumb.png" width="169" align="left" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p class="gslb_rsbPParagraph"&gt;Apparently it's podcast season... When in Los Angeles, Jon Galloway and I managed to sit down an hour and talk about Silverlight, WPF, Blend, my past work at Siemens and my future work at IdentityMine, and of course about my book &lt;a href="http://www.amazon.com/Silverlight-2-Unleashed-Laurent-Bugnion/dp/0672330148/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1222617198&amp;amp;sr=1-1" target="_blank"&gt;Silverlight 2 Unleashed&lt;/a&gt;. I was kind of sad that Kevin Dente and Scott Koon didn't manage to join us, but the conference was so packed with events that we found time only on the very last day (Thursday) and the two had to go back home already. Still, it was nice to meet the whole crew (I had met Jon before but it was the first time for me to meet Scott and Kevin - K Scott, the 4th rider, was not at PDC). The podcast is available at the &lt;a href="http://herdingcode.com/?p=91" target="_blank"&gt;Herding Code&lt;/a&gt; website. &lt;/p&gt;  &lt;p class="gslb_rsbPParagraph"&gt;Here are some points of trivia about the interview: &lt;/p&gt;  &lt;ul class="gslb_rsbList"&gt;   &lt;li&gt;Jon was using his brand new recorder for the very first time, and this involved quite some fiddling with controls. It's a really cool device (maybe Jon can comment about that) and I think the sound quality is superb. &lt;/li&gt;    &lt;li&gt;In the middle of the interview, you hear me say "and by the way we are at Los Angeles", which seems totally out of context. It's because we heard police sirens outside on the street, really loud. Somehow, the mike cut that out, or Jon managed to edit it, not sure. Now I sound like an idiot for saying this for apparently no reason. &lt;/li&gt;    &lt;li&gt;I *know* that the word "data" is singular in English (contrarily to French), and yet you hear me say many times "these data are...". Sorry about that. &lt;/li&gt; &lt;/ul&gt;  &lt;p class="gslb_rsbPParagraph"&gt;It was really a good time recording this with Jon, and I hope you like it too. &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127133"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127133" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/lbugnion/aggbug/127133.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Laurent Bugnion</dc:creator>
            <guid>http://geekswithblogs.net/lbugnion/archive/2008/11/16/its-podcast-season-herding-code.aspx</guid>
            <pubDate>Mon, 17 Nov 2008 01:03:11 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/lbugnion/comments/127133.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/lbugnion/archive/2008/11/16/its-podcast-season-herding-code.aspx#feedback</comments>
            <slash:comments>5</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/lbugnion/comments/commentRss/127133.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/lbugnion/services/trackbacks/127133.aspx</trackback:ping>
        </item>
        <item>
            <title>#PDC08 talk: WPF pixel shaders and WPF graphics future</title>
            <link>http://geekswithblogs.net/lbugnion/archive/2008/10/30/pdc08-talk-wpf-pixel-shaders-and-wpf-graphics-future.aspx</link>
            <description>&lt;p&gt;David Teitlebaum.&lt;/p&gt; &lt;p&gt;Why move to a new effect system? Old effect system: BitmapEffects. Talks about what was done with BitmapEffects to render to the screen. Doesn't play well with remoting, because too slow to render on target machine, go back to display machine, etc... Shows the old syntax for BitmapEffect. Software rendered, very slow, especially blur operations (such a glow, drop shadow, etc...)&lt;/p&gt; &lt;p&gt;Actions: In SP1, they are marked as obsolete. Implemented HW acceleration for BlurBitmapEffect and DropShadowBitmapEffect (only).&lt;/p&gt; &lt;p&gt;In 4.0: BitmapEffects will be removed. They will act as if no bitmap effect was applied (except for the two mentioned above).&lt;/p&gt; &lt;p&gt;Goal: Use GPU for acceleration (eventually for all effects). MSFT wants to create a system that runs on most video cards. WIll base on PixelShader 2.0 which is supported by most video cards, even on rather cheap laptops.&lt;/p&gt; &lt;p&gt;Shows the new hierarchy. Introduces two built in effects (DropShadow and Blur) and a PixelShaderEffect which is customizable.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Strongly discourage the use of BitmapEffects.&lt;/strong&gt; The new implementation starts with a clean slate.&lt;/p&gt; &lt;p&gt;Effects can be composed.&lt;/p&gt; &lt;p&gt;Shows a cool demo of multiple effects applied to the output of a webcam, really fast and impressive.&lt;/p&gt; &lt;h2&gt;What is a PixelShader?&lt;/h2&gt; &lt;p&gt;Small program designed for GPU parallelism, runs once for each destination pixel. Were very hard to write before, close to assembly language, but much better and more standardrized now. &lt;/p&gt; &lt;p&gt;HLSL: High Level Shading Language. There are several versions, WPF supports 2.0 currently.&lt;/p&gt; &lt;p&gt;Shows an example of HLSL code. Very fast because parallelized and optimized for GPU. Vector and Matrix operations.&lt;/p&gt; &lt;p&gt;Explains more details about pixel shaders. Shows multiple code examples, such as removing color channels from a picture.&lt;/p&gt; &lt;p&gt;Now shows how to consume the code in WPF.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Note: &lt;/strong&gt;you can have only one pixelshader effect per UI element. But you can nest UI elements with each one effect if needed.&lt;/p&gt; &lt;p&gt;Codes demos to display various effects.&lt;/p&gt; &lt;h2&gt;Direct3D interop&lt;/h2&gt; &lt;p&gt;D3DImage element in WPF. Replaces Hwnd hosting. Note that D3D content is rendered on a separate DX device.&lt;/p&gt; &lt;p&gt;NB: Direct3D cannot consume WPF content directly.&lt;/p&gt; &lt;p&gt;Derives from ImageSource.&lt;/p&gt; &lt;p&gt;Mentions the "gotchas", for example when screen is locekd, remote desktop, etc, the device can be lost. In that case you got to handle the loss, mentions how. Gives other recommendations.&lt;/p&gt; &lt;p&gt;The last 2 slides are about WPF futures. Mentions that they want to improve the rendering of text (yay).&lt;/p&gt; &lt;p&gt;&lt;img alt="Webcam treated by PixelShader effect" src="http://galasoft.ch/blogs-all/DSC00495.JPG" /&gt; &lt;/p&gt; &lt;p&gt;&lt;img src="http://galasoft.ch/blogs-all/DSC00499.JPG" /&gt;&lt;/p&gt; &lt;p&gt;&lt;img src="http://galasoft.ch/blogs-all/DSC00498.JPG" /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=126415"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=126415" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/lbugnion/aggbug/126415.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Laurent Bugnion</dc:creator>
            <guid>http://geekswithblogs.net/lbugnion/archive/2008/10/30/pdc08-talk-wpf-pixel-shaders-and-wpf-graphics-future.aspx</guid>
            <pubDate>Fri, 31 Oct 2008 10:50:50 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/lbugnion/comments/126415.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/lbugnion/archive/2008/10/30/pdc08-talk-wpf-pixel-shaders-and-wpf-graphics-future.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/lbugnion/comments/commentRss/126415.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/lbugnion/services/trackbacks/126415.aspx</trackback:ping>
        </item>
        <item>
            <title>#PDC08 talk: Microsoft .NET, CLR Futures</title>
            <link>http://geekswithblogs.net/lbugnion/archive/2008/10/30/pdc08-talk-microsoft-.net-clr-futures.aspx</link>
            <description>&lt;p&gt;Joshua Goodman&lt;/p&gt; &lt;p&gt;Joshua recaps the history and structure of .NET. Then talks about the difficulty to keep code compatible. Sometimes, making code faster creates bugs, because the previous slowness was enabling scenarios that speed doesn't. Of course the CLR gets blamed even though it's not their fault!&lt;/p&gt; &lt;p&gt;Talks about the improvements made to exposing a native app to managed code. &lt;/p&gt; &lt;p&gt;New tool will replace the need to write PInvoke to Windows. Calling native Windows code has never been easier.&lt;/p&gt; &lt;p&gt;BigIntegers are being added to take care of VERY big numbers. This was a request from both F# and Python. But all languages will benefit of that.&lt;/p&gt; &lt;p&gt;Talks about the Client Profile and the improvements made. Faster install and startup. &lt;/p&gt; &lt;p&gt;Talks about garbage collection improvements. Shows how you can specify the latency for garbage collection. Cool, this feature was actually implemented because of Siemens request :)  Shows how to delegate garbage collection to a worker thread. Far fewer long pauses, and they will last less long.&lt;/p&gt; &lt;p&gt;Shows improvements made to avoid that really bad exceptions patterns (such as catching really nasty Exception) are used. Note that you might still catch these exceptions by specifying attributes or process wide flags (if really, really needed).&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=126403"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=126403" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/lbugnion/aggbug/126403.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Laurent Bugnion</dc:creator>
            <guid>http://geekswithblogs.net/lbugnion/archive/2008/10/30/pdc08-talk-microsoft-.net-clr-futures.aspx</guid>
            <pubDate>Fri, 31 Oct 2008 07:05:08 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/lbugnion/comments/126403.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/lbugnion/archive/2008/10/30/pdc08-talk-microsoft-.net-clr-futures.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/lbugnion/comments/commentRss/126403.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/lbugnion/services/trackbacks/126403.aspx</trackback:ping>
        </item>
        <item>
            <title>#PDC08 talk: .NET 4.0 Declarative programming using XAML</title>
            <link>http://geekswithblogs.net/lbugnion/archive/2008/10/30/pdc08-talk-.net-4.0-declarative-programming-using-xaml.aspx</link>
            <description>&lt;p&gt;3 XAML vocabularies: UI, Workflow, XPS.&lt;/p&gt; &lt;p&gt;Used in mutliple runtimes: .NET 3,0, 3.5, Silverlight 1 and 2.&lt;/p&gt; &lt;p&gt;Many tools too (Visual Studio, Expression Blend).&lt;/p&gt; &lt;p&gt;XAML Specds were published earlier this week, 600 page volume schema for all variations of the language.&lt;/p&gt; &lt;p&gt;Lots of file converters exist, from SVG, Flash, Illustrator, WMF, etc etc etc. The list is impressive!&lt;/p&gt; &lt;p&gt;Next version will be extended to support more XAML-only code. For example, support for generics.&lt;/p&gt; &lt;p&gt;Investments will be done to catch XAML errors much better than now. Also support obfuscation, localization, FxCop, VS Integration etc.&lt;/p&gt; &lt;p&gt;Some people have been writing their own XAML parser (about 10 people in the room).&lt;/p&gt; &lt;p&gt;In .NET 4.0, XAML 2009 will be released. &lt;/p&gt; &lt;h2&gt;XAML 2009 improvements&lt;/h2&gt; &lt;p&gt;x:Reference to improve referencing other elements.&lt;/p&gt; &lt;p&gt;Built-in types will be more easily authored: x:String, x:Boolean etc...&lt;/p&gt; &lt;p&gt;Support from generics everywhere: x:TypeArguments to represent the generic type.&lt;/p&gt; &lt;p&gt;Support for arbitrary dictionary key types. x:TypeArguments specifies the type of the key. Not always treated as a string anymore.&lt;/p&gt; &lt;p&gt;Better declarative events. Also supports a markup extension that returns a delegate. For example, returning the delegate by generating a workflow (WF).&lt;/p&gt; &lt;p&gt;Will make it easier to declare new properties. Can add new properties declaratively in XAML.&lt;/p&gt; &lt;p&gt;Using non default constructors. x:Arguments property allows to specify which object constructor you want to use. (Is that the death of ObjectDataProvider?)&lt;/p&gt; &lt;p&gt;Using static factory methods in XAML to create objects. x:FactoryMethod.&lt;/p&gt; &lt;h2&gt;Wow impressive&lt;/h2&gt; &lt;p&gt;Rob now demonstrates the new content model. A so-called "DOM box" (not to be confused with Don Box!!) is displayed. It shows a graphic representation of the XAML code. It is made possible because the model of the XAML element is exposed.&lt;/p&gt; &lt;p&gt;&lt;img src="http://galasoft.ch/blogs-all/DSC00491.JPG" /&gt; &lt;/p&gt; &lt;p&gt;This new XAML pad is really helpful. Also, it doesn't blow up anymore if you specify events in your XAML.&lt;/p&gt; &lt;h2&gt;System.Xaml.dll in .NET 4.0&lt;/h2&gt; &lt;p&gt;This new assembly will make it much easier to process XAML in .NET 4.0. A CTP will be released in November 2008. It will run in .NET 3.5. This is what allowed to create the DOM Box.&lt;/p&gt; &lt;p&gt;Rob shows how XAML is processed to objects in .NET 3.0 and then in 4.0.&lt;/p&gt; &lt;p&gt;New XamlXmlReader class helps to parse XAML. Allows to build a graphic representation of the XAML in less than 5 minutes. &lt;/p&gt; &lt;p&gt;Then Rob shows how to write the "object box" and create the objects from XAML. Class "ObjectWriter". &lt;/p&gt; &lt;p&gt;There is also a class BamlReader.&lt;/p&gt; &lt;p&gt;The ObjectWriter and XamlXmlReader make it much easier to parse and also debug XAML in just a few lines of code.&lt;/p&gt; &lt;p&gt;The opposite also exists: ObjectReader and XamlXmlWriter. There will be a public API write BAML directly too (BamlWriter, BamlReader).&lt;/p&gt; &lt;h2&gt;Pure XAML in WCF&lt;/h2&gt; &lt;p&gt;Daniel now demoes how to create a pure XAML application able to display stock option advices.&lt;/p&gt; &lt;h2&gt;Wrapping up&lt;/h2&gt; &lt;p&gt;Daniel wraps up by encouraging the audience to use XAML in more frameworks, it's ready.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=126399"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=126399" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/lbugnion/aggbug/126399.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Laurent Bugnion</dc:creator>
            <guid>http://geekswithblogs.net/lbugnion/archive/2008/10/30/pdc08-talk-.net-4.0-declarative-programming-using-xaml.aspx</guid>
            <pubDate>Fri, 31 Oct 2008 05:40:27 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/lbugnion/comments/126399.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/lbugnion/archive/2008/10/30/pdc08-talk-.net-4.0-declarative-programming-using-xaml.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/lbugnion/comments/commentRss/126399.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/lbugnion/services/trackbacks/126399.aspx</trackback:ping>
        </item>
        <item>
            <title>Book signing: Silverlight 2 Unleashed at #PDC08</title>
            <link>http://geekswithblogs.net/lbugnion/archive/2008/10/29/book-signing-silverlight-2-unleashed-at-pdc08.aspx</link>
            <description>&lt;p&gt;I will be doing an additional book signing today. I'll be signing Silverlight 2 Unleashed at the IdentityMine booth (in the expo area) today from 1PM. We are not allowed to sell anything on the floor (even my editor Sams is not allowed either because of MSFT regulations), so if you want me to sign it, stop by at the PDC bookshop today, just next to the registration area. I'll be happy to sign and to chat about the future of Silverlight!&lt;/p&gt; &lt;p&gt;Hope to see you this afternoon!!&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=126341"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=126341" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/lbugnion/aggbug/126341.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Laurent Bugnion</dc:creator>
            <guid>http://geekswithblogs.net/lbugnion/archive/2008/10/29/book-signing-silverlight-2-unleashed-at-pdc08.aspx</guid>
            <pubDate>Thu, 30 Oct 2008 04:48:13 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/lbugnion/comments/126341.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/lbugnion/archive/2008/10/29/book-signing-silverlight-2-unleashed-at-pdc08.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/lbugnion/comments/commentRss/126341.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/lbugnion/services/trackbacks/126341.aspx</trackback:ping>
        </item>
        <item>
            <title>New Silverlight controls suite delivered by Microsoft #PDC08</title>
            <link>http://geekswithblogs.net/lbugnion/archive/2008/10/28/new-silverlight-controls-suite-delivered-by-microsoft-pdc08.aspx</link>
            <description>&lt;p class="gslb_rsbPParagraph"&gt;A few minutes ago, Microsoft released a brand new suite of controls for Silverlight. The list is impressive! From now on, you can download these controls, the documentation and samples, and start coding! This post will give you a first insight into these controls based on a preview version of the set. This should make you want to experiment more and to discover more by yourself! &lt;/p&gt;
&lt;p class="gslb_rsbPParagraph"&gt;One interesting thing that the team mentioned is that the controls which don't exist in WPF yet (for example Chart) will also profit from this effort, and the team made its best to code in a way that can be easily ported to WPF later. This kind of Silverlight-to-WPF conversion is relatively new, so it will be interesting to hear the team's experiences about that when they're done. &lt;/p&gt;
&lt;div class="gslb_rsbDivTitle"&gt;Getting the Silverlight controls &lt;/div&gt;
&lt;p class="gslb_rsbPParagraph"&gt;The controls are distributed on Codeplex by the team, at &lt;a href="http://codeplex.com/Silverlight" target="_blank"&gt;http://codeplex.com/Silverlight&lt;/a&gt;. This means that (like other projects before such as the ASP.NET MVC) they will be distributed with an open source license (MS-PL) and members of the community will be welcomed to contribute. As such, they complement other open source projects such as the Silverlight Contrib project at &lt;a title="http://www.codeplex.com/silverlightcontrib" href="http://www.codeplex.com/silverlightcontrib"&gt;http://www.codeplex.com/silverlightcontrib&lt;/a&gt;. &lt;/p&gt;
&lt;p class="gslb_rsbPParagraph"&gt;To install the Silverlight controls, download the assemblies from the Codeplex site and save them into a folder on your hard disk. &lt;/p&gt;
&lt;div class="gslb_rsbDivTitle"&gt;Integrating the controls in a Silverlight application &lt;/div&gt;
&lt;p class="gslb_rsbPParagraph"&gt;Because the controls are not part of the standard Silverlight distribution (yet?), you need to reference the assemblies containing them from the Silverlight application. This is very simple: In the Silverlight application, in the Solution Explorer in Studio 2008, right click on the Silverlight project. Select Add Reference from the context menu and use the Browse tab to select the assembly/assemblies you want to reference. There are 3 assemblies: &lt;/p&gt;
&lt;ul class="gslb_rsbList"&gt;
    &lt;li&gt;&lt;span style="font-weight: bold;"&gt;Microsoft.Windows.Controls.DataVisualization.dll&lt;/span&gt;: Contains the Chart control and associated classes.  &lt;/li&gt;
    &lt;li&gt;&lt;span style="font-weight: bold;"&gt;Microsoft.Windows.Controls.Theming.dll&lt;/span&gt;: Contains the ImplicitStyleManager and associated classes.  &lt;/li&gt;
    &lt;li&gt;&lt;span style="font-weight: bold;"&gt;Microsoft.Windows.Controls.dll&lt;/span&gt;: Contains all other controls. &lt;/li&gt;
&lt;/ul&gt;
&lt;p class="gslb_rsbPParagraph"&gt;As usual when you want to use external assemblies in Silverlight, you need to add a namespace to your XAML file. Visual Studio 2008 assists you in this task. For example: &lt;/p&gt;
&lt;div class="gslb_rsbDivCodeSection"&gt;
&lt;div class="gslb_rsbDivCode" style="font-family: Consolas,monospace; font-size: 12px; white-space: pre;"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;UserControl&lt;/span&gt;
  &lt;span class="attr"&gt;x:Class&lt;/span&gt;&lt;span class="kwrd"&gt;="MyApplication.MyControl"&lt;/span&gt;
  &lt;span class="attr"&gt;xmlns&lt;/span&gt;&lt;span class="kwrd"&gt;="http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;/span&gt;
  &lt;span class="attr"&gt;xmlns:x&lt;/span&gt;&lt;span class="kwrd"&gt;="http://schemas.microsoft.com/winfx/2006/xaml"&lt;/span&gt;
  &lt;span class="attr"&gt;xmlns:controls&lt;/span&gt;&lt;span class="kwrd"&gt;="clr-namespace:Microsoft.Windows.Controls;assembly=Microsoft.Windows.Controls"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;div class="gslb_rsbDivTitle"&gt;Chart &lt;/div&gt;
&lt;p class="gslb_rsbPParagraph"&gt;I want to start with one of the most impressive control of the suite: the Chart control. That's right, Silverlight comes now with a Chart delivered by Microsoft. After the acquisition of some technology (and resources aka people) from Dundas, Microsoft started developing charting components for WinForms and ASP.NET. based on that experience, we now get a chart control in Silverlight too. &lt;/p&gt;
&lt;p class="gslb_rsbPParagraph"&gt;The Chart control comes with a dedicated Sample application in which many variations are shown. The control supports Column charts, Pie charts, Line charts and Scatter charts (this last one displays all the points without a line connecting them). To enhance the data visualization, the control allows defining axis labels, axis range, legends, titles. It is also interactive and parts of the chart (for example a slice of a Pie chart) react to mouse events such as mouseover or selection. Finally, it reacts dynamically (and with animations) to changes in the underlying collection, providing a real time view of data. There are a few cool demos of this in the Samples collection, be sure to check it out! All in all, it is a very impressive control, especially for a V1. &lt;/p&gt;
&lt;div class="gslb_rsbDivImage"&gt;&lt;img title="Columns chart" alt="Columns chart" src="http://galasoft.ch/blogs-all/2008102501.png" /&gt; &lt;/div&gt;
&lt;div class="gslb_rsbDivImage"&gt;&lt;img title="Pie chart" alt="Pie chart" src="http://galasoft.ch/blogs-all/2008102502.png" /&gt; &lt;/div&gt;
&lt;div class="gslb_rsbDivImage"&gt;&lt;img title="Another Pie chart" alt="Another Pie chart" src="http://galasoft.ch/blogs-all/2008102503.png" /&gt; &lt;/div&gt;
&lt;div class="gslb_rsbDivImage"&gt;&lt;img title="Line chart" alt="Line chart" src="http://galasoft.ch/blogs-all/2008102504.png" /&gt; &lt;/div&gt;
&lt;div class="gslb_rsbDivImage"&gt;&lt;img title="Scatter chart" alt="Scatter chart" src="http://galasoft.ch/blogs-all/2008102505.png" /&gt; &lt;/div&gt;
&lt;div class="gslb_rsbDivTitle"&gt;TreeView &lt;/div&gt;
&lt;p class="gslb_rsbPParagraph"&gt;The Treeview is quite a well known control, and was sorely missing in Silverlight. I think I even saw some 3rd party implementations for this component. Well, now it is available as part of the controls suite. &lt;/p&gt;
&lt;p class="gslb_rsbPParagraph"&gt;The control can be "filled" with data either explicitly by adding TreeViewItems to it, or data bound to a hierarchical collection of elements. If an element in the collection is also a collection, then a new level will be added to the Treeview. This last scenario is of course more interesting, since it allows dynamically filling your TreeView with data, from example from an collection obtained from an external file, or from a web service call. &lt;/p&gt;
&lt;p class="gslb_rsbPParagraph"&gt;I didn't have much time to play with this complex control, but what I saw in the Sample code so far seems to follow the same principles as in WPF, for example using the TreeView's ItemContainerGenerator property to get a given TreeViewItem. For more info about this, you should really check &lt;a href="http://www.drwpf.com/blog/" target="_blank"&gt;Dr WPF&lt;/a&gt;'s fabulous series about ItemsControls in WPF. &lt;/p&gt;
&lt;p class="gslb_rsbPParagraph"&gt;In the picture below, note how the Treeview's ItemTemplate is used to modify the way the item is displayed. As usual with Silverlight controls, the TreeView and its items can be templated to look pretty much like anything you want. &lt;/p&gt;
&lt;div class="gslb_rsbDivImage"&gt;&lt;img title="Data displayed in TreeView (extract)" alt="Data displayed in TreeView (extract)" src="http://galasoft.ch/blogs-all/2008102506.png" /&gt;
&lt;div class="gslb_rsbDivLegend"&gt;Data displayed in TreeView (extract) &lt;/div&gt;
&lt;/div&gt;
&lt;div class="gslb_rsbDivImage"&gt;&lt;img title="TreeView" alt="TreeView" src="http://galasoft.ch/blogs-all/2008102507.png" /&gt; &lt;/div&gt;
&lt;div class="gslb_rsbDivTitle"&gt;DockPanel &lt;/div&gt;
&lt;p class="gslb_rsbPParagraph"&gt;For people coming from the WPF world, DockPanel is pretty clear. In fact, it will remind people coming from the Java world of the model we were using to build user interfaces before the Swing UI framework appeared. Any child of the DockPanel can be arranged on the Top, Left, Right or Bottom of the DockPanel, using corresponding attached properties. The figure below shows a "spiral DockPanel" where every child is placed successively at the Left, Top, Right and Bottom, and also shows how the elements are arranged. &lt;/p&gt;
&lt;div class="gslb_rsbDivTitle"&gt;WrapPanel &lt;/div&gt;
&lt;p class="gslb_rsbPParagraph"&gt;Another well-known panel in WPF made it to Silverlight. WrapPanel is really nice to display data on a surface of which the size might change dynamically. The panel will "wrap" the elements dynamically. For example, the last element of the first line will automatically become the first element of the second line when the width of the panel is reduced. &lt;/p&gt;
&lt;p class="gslb_rsbPParagraph"&gt;In WPF, we now have 3rd party panels adding some dynamism to the wrapping action (for example from the famous &lt;a href="http://work.j832.com/2007/05/kevins-bag-o-tricks-mix07-edition.html" target="_blank"&gt;Kevin Moore&lt;/a&gt;'s bag'o'tricks so it will be interesting to see the same effects applied to Silverlight. &lt;/p&gt;
&lt;div class="gslb_rsbDivImage"&gt;&lt;img title="WrapPanel (narrow)" alt="WrapPanel (narrow)" src="http://galasoft.ch/blogs-all/2008102509.png" /&gt; &lt;/div&gt;
&lt;div class="gslb_rsbDivImage"&gt;&lt;img title="WrapPanel (wider)" alt="WrapPanel (wider)" src="http://galasoft.ch/blogs-all/2008102510.png" /&gt; &lt;/div&gt;
&lt;div class="gslb_rsbDivTitle"&gt;ViewBox &lt;/div&gt;
&lt;p class="gslb_rsbPParagraph"&gt;ViewBox also comes from WPF. It is a very handy container which will automatically scale its content to fit its width and height. Since Silverlight UI elements are vector based, this provides a very seamless zoom functionality. It also allows an application to be automatically scaled to the size of the window in which it is displayed. Some time ago, I had written a &lt;a href="http://blog.galasoft.ch/archive/2007/12/26/silverlight-2.0-project-template-for-self-resizing-applications-update.aspx" target="_blank"&gt;blog article&lt;/a&gt; showing how to do this in Silverlight 1.1 with a ScaleTransform, but using a ViewBox is much more elegant and easy! Simply wrap your main panel (the LayoutRoot) into a ViewBox et voilà. &lt;/p&gt;
&lt;div class="gslb_rsbDivImage"&gt;&lt;img title="Small window" alt="Small window" src="http://galasoft.ch/blogs-all/2008102511.png" /&gt;
&lt;div class="gslb_rsbDivLegend"&gt;Small window &lt;/div&gt;
&lt;/div&gt;
&lt;div class="gslb_rsbDivImage"&gt;&lt;img title="Bigger window without Viewbox" alt="Bigger window without Viewbox" src="http://galasoft.ch/blogs-all/2008102512.png" /&gt;
&lt;div class="gslb_rsbDivLegend"&gt;Bigger window without Viewbox &lt;/div&gt;
&lt;/div&gt;
&lt;div class="gslb_rsbDivImage"&gt;&lt;img title="Bigger window with Viewbox" alt="Bigger window with Viewbox" src="http://galasoft.ch/blogs-all/2008102513.png" /&gt;
&lt;div class="gslb_rsbDivLegend"&gt;Bigger window with Viewbox &lt;/div&gt;
&lt;/div&gt;
&lt;div class="gslb_rsbDivTitle"&gt;Expander &lt;/div&gt;
&lt;p class="gslb_rsbPParagraph"&gt;An Expander is handy when you want to hide/display element to save space. This control is quite straightforward. &lt;/p&gt;
&lt;p class="gslb_rsbPParagraph"&gt;On a side note, the Expander's content can be designed in Blend by setting the "IsExpanded" property to True temporarily. &lt;/p&gt;
&lt;div class="gslb_rsbDivImage"&gt;&lt;img title="Expander (collapsed)" alt="Expander (collapsed)" src="http://galasoft.ch/blogs-all/2008102514.png" /&gt; &lt;/div&gt;
&lt;div class="gslb_rsbDivImage"&gt;&lt;img title="Expander (expanded)" alt="Expander (expanded)" src="http://galasoft.ch/blogs-all/2008102515.png" /&gt; &lt;/div&gt;
&lt;div class="gslb_rsbDivTitle"&gt;NumericUpDown and UpDownBase &lt;/div&gt;
&lt;p class="gslb_rsbPParagraph"&gt;This is another very simple control that was missing before. It provides a way to guide the user in entering numeric values. The control is easy to customize with properties. For example, you can specify if the user can edit the value manually or not, how many decimals should be displayed, maximum, minimum value and step. &lt;/p&gt;
&lt;p class="gslb_rsbPParagraph"&gt;Interestingly, the NumericUpDown derives from the UpDownBase&lt;t&gt; class. Yes it's a generic class! This class can be used to specify other type of UpDown controls, for example acting on a DateTime, etc... By overriding the methods OnIncrement, OnDecrement, ParseValue and FormatValue, you easily implement how any type of value must be handled by the UpDown control. &lt;/t&gt;&lt;/p&gt;
&lt;div class="gslb_rsbDivTitle"&gt;AutoCompleteBox &lt;/div&gt;
&lt;p class="gslb_rsbPParagraph"&gt;This control is a TextBox which proposes a choice to the user entering text. The choices are coming from an ItemsSource or even from a connected data provider. Alternatively, the developer can also provide unbound data "on the fly" by subscribing to an event which will be called when text is entered in the box. You can then dynamically assign a new collection of items to the AutoCompleteBox' ItemsSource. The way that the items are searched can be configured with properties: &lt;/p&gt;
&lt;ul class="gslb_rsbList"&gt;
    &lt;li&gt;&lt;span style="font-weight: bold;"&gt;IsTextSearchEnabled&lt;/span&gt;&amp;gt;: If set to True, the first item in the suggestion list will be entered in the TextBox immediately as the user is typing. Of course, as the user refines the search, another item might be selected (see figures below).  &lt;/li&gt;
    &lt;li&gt;&lt;span style="font-weight: bold;"&gt;SearchMode&lt;/span&gt;: This property can be set to multiple values: &lt;span style="font-weight: bold;"&gt;StartsWith&lt;/span&gt; (and &lt;span style="font-weight: bold;"&gt;StartsWithCaseSensitive&lt;/span&gt;) mean that the items will only be displayed if they start with the entered string. &lt;span style="font-weight: bold;"&gt;Contains&lt;/span&gt; (and &lt;span style="font-weight: bold;"&gt;ContainsCaseSensitive&lt;/span&gt;) displays the items if they contain the entered string. &lt;span style="font-weight: bold;"&gt;Equals&lt;/span&gt; (and &lt;span style="font-weight: bold;"&gt;EqualsCaseSensitive&lt;/span&gt;) displays the items only if there is an exact match. &lt;/li&gt;
&lt;/ul&gt;
&lt;div class="gslb_rsbDivImage"&gt;&lt;img title="Basic AutoCompleteBox" alt="Basic AutoCompleteBox" src="http://galasoft.ch/blogs-all/2008102516.png" /&gt;
&lt;div class="gslb_rsbDivLegend"&gt;Basic AutoCompleteBox &lt;/div&gt;
&lt;/div&gt;
&lt;div class="gslb_rsbDivImage"&gt;&lt;img title="AutoCompleteBox with IsTextSearchEnabled = True" alt="AutoCompleteBox with IsTextSearchEnabled = True" src="http://galasoft.ch/blogs-all/2008102517.png" /&gt;
&lt;div class="gslb_rsbDivLegend"&gt;AutoCompleteBox with IsTextSearchEnabled = True &lt;/div&gt;
&lt;/div&gt;
&lt;div class="gslb_rsbDivImage"&gt;&lt;img title="AutoCompleteBox with SearchMode = Contains" alt="AutoCompleteBox with SearchMode = Contains" src="http://galasoft.ch/blogs-all/2008102518.png" /&gt;
&lt;div class="gslb_rsbDivLegend"&gt;AutoCompleteBox with IsTextSearchEnabled = True &lt;/div&gt;
&lt;/div&gt;
&lt;p class="gslb_rsbPParagraph"&gt;Finally, &lt;span style="font-weight: bold;"&gt;Custom&lt;/span&gt; displays the items according to a custom filter (for example by setting the "ItemFilter" property to a Lambda expression). For example, in the sample displayed below, the airport Los Angeles is displayed becasue the FAA code (LAX) contains the string "la". The airport "Fort Lauderdale" is displayed because its name contains this same string. &lt;/p&gt;
&lt;div class="gslb_rsbDivCodeSection"&gt;
&lt;div class="gslb_rsbDivCode" style="font-family: Consolas,monospace; font-size: 12px; white-space: pre;"&gt;DepartureAirport.ItemFilter = (search, item) =&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
Airport airport = item &lt;span class="kwrd"&gt;as&lt;/span&gt; Airport;&lt;br /&gt;
&lt;span class="kwrd"&gt;if&lt;/span&gt; (airport != &lt;span class="kwrd"&gt;null&lt;/span&gt;)&lt;br /&gt;
{&lt;br /&gt;
&lt;span class="rem"&gt;// Interested in: Name, City, FAA code&lt;/span&gt;      &lt;span class="kwrd"&gt;string&lt;/span&gt; filter = search.ToUpper(CultureInfo.InvariantCulture);&lt;br /&gt;
&lt;span class="kwrd"&gt;return&lt;/span&gt; (airport.CodeFaa.ToUpper(CultureInfo.InvariantCulture).Contains(filter)&lt;br /&gt;
|| airport.City.ToUpper(CultureInfo.InvariantCulture).Contains(filter)&lt;br /&gt;
|| airport.Name.ToUpper(CultureInfo.InvariantCulture).Contains(filter));&lt;br /&gt;
}&lt;br /&gt;
&lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;false&lt;/span&gt;;&lt;br /&gt;
};&lt;br /&gt;
&lt;/div&gt;
&lt;div class="gslb_rsbDivLegend"&gt;Setting the ItemFilter to a lambda expression &lt;/div&gt;
&lt;/div&gt;
&lt;div class="gslb_rsbDivImage"&gt;&lt;img title="AutoCompleteBox with lambda expression filter" alt="AutoCompleteBox with lambda expression filter" src="http://galasoft.ch/blogs-all/2008102519.png" /&gt;
&lt;div class="gslb_rsbDivLegend"&gt;AutoCompleteBox with lambda expression filter &lt;/div&gt;
&lt;/div&gt;
&lt;div class="gslb_rsbDivTitle"&gt;Label &lt;/div&gt;
&lt;p class="gslb_rsbPParagraph"&gt;This Label control is pretty much the same one than the one in WPF. It can be used to display any type of content (text, image, any XAML elements). It can also be formatted like a TextBlock &lt;/p&gt;
&lt;div class="gslb_rsbDivImage"&gt;&lt;img title="Using and formatting a label" alt="Using and formatting a label" src="http://galasoft.ch/blogs-all/2008102520.png" /&gt; &lt;/div&gt;
&lt;div class="gslb_rsbDivTitle"&gt;Theming &lt;/div&gt;
&lt;p class="gslb_rsbPParagraph"&gt;In addition to all the goodies proposed here, the team came with a solution to facilitate managing styles and creating themes in Silverlight. You can now use attached properties defined in a class called ImplicitStyleManager. What it does is pretty clever: If you have an element containing other elements (for example a Panel or a Border), the styles you define in the container's resources will automatically be applied to all the children (and to the children's children). Alternatively, you can even specify an external resource dictionary from which the styles will be applied. &lt;/p&gt;
&lt;p class="gslb_rsbPParagraph"&gt;What this element reaches is that the implicit style behavior available in WPF (where you can specify that all the buttons of an application must use a certain style by default) is not also available in Silverlight. And since these styles can even be defined in an external resource dictionary (something that was also not available until now in Silverlight), you have the same kind of flexibility than in the big sister WPF. &lt;/p&gt;
&lt;p class="gslb_rsbPParagraph"&gt;The control also allows you to start with unstyled controls and apply the styles at a later point, programatically. You can also specify set the attached property "ImplicitStyleManager.ApplyMode" to "Auto" to specify that the implicit styles should be applied to any new elements added to the tree during runtime (for example ListBoxItems, etc...). If you set this property to "OneTime", the styles will not be automatically applied to new elements (on the other hand, I suppose that setting this property to Auto will have an impact on performances). &lt;/p&gt;
&lt;p class="gslb_rsbPParagraph"&gt;Note however that this control still doesn't allow switching styles during runtime, due to limitations of the core Silverlight. If you want to apply a different style to a running Silverlight application, you still need to reload the web page containing the application, effectively reloading the whole application (and losing the state, unless you take measures to prevent this explicitly). ImplicitStyleManager is a step in the right direction, but there is still some work that needs to be done on themes and styles to get the same level of dynamism that WPF developers know and love. &lt;/p&gt;
&lt;div class="gslb_rsbDivCodeSection"&gt;
&lt;div class="gslb_rsbDivCode" style="font-family: Consolas,monospace; font-size: 12px; white-space: pre;"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;StackPanel&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;StackPanel.Resources&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Style&lt;/span&gt; &lt;span class="attr"&gt;TargetType&lt;/span&gt;&lt;span class="kwrd"&gt;="Button"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Setter&lt;/span&gt; &lt;span class="attr"&gt;Property&lt;/span&gt;&lt;span class="kwrd"&gt;="Foreground"&lt;/span&gt; &lt;span class="attr"&gt;Value&lt;/span&gt;&lt;span class="kwrd"&gt;="Green"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Style&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Style&lt;/span&gt; &lt;span class="attr"&gt;TargetType&lt;/span&gt;&lt;span class="kwrd"&gt;="TextBlock"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Setter&lt;/span&gt; &lt;span class="attr"&gt;Property&lt;/span&gt;&lt;span class="kwrd"&gt;="Foreground"&lt;/span&gt; &lt;span class="attr"&gt;Value&lt;/span&gt;&lt;span class="kwrd"&gt;="Green"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Style&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;StackPanel.Resources&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;StackPanel&lt;/span&gt; &lt;span class="attr"&gt;x:Name&lt;/span&gt;&lt;span class="kwrd"&gt;="dynamicContainer"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Button&lt;/span&gt; &lt;span class="attr"&gt;Content&lt;/span&gt;&lt;span class="kwrd"&gt;="Button inside border"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBlock&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;TextBlock inside border&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;TextBlock&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;StackPanel&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;StackPanel&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;
&lt;div class="gslb_rsbDivLegend"&gt;Implicit styles in WPF &lt;/div&gt;
&lt;/div&gt;
&lt;div class="gslb_rsbDivCodeSection"&gt;
&lt;div class="gslb_rsbDivCode" style="font-family: Consolas,monospace; font-size: 12px; white-space: pre;"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;StackPanel&lt;/span&gt; &lt;span class="attr"&gt;theming:ImplicitStyleManager&lt;/span&gt;.&lt;span class="attr"&gt;ApplyMode&lt;/span&gt;&lt;span class="kwrd"&gt;="Auto"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;StackPanel.Resources&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Style&lt;/span&gt; &lt;span class="attr"&gt;TargetType&lt;/span&gt;&lt;span class="kwrd"&gt;="Button"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Setter&lt;/span&gt; &lt;span class="attr"&gt;Property&lt;/span&gt;&lt;span class="kwrd"&gt;="Foreground"&lt;/span&gt; &lt;span class="attr"&gt;Value&lt;/span&gt;&lt;span class="kwrd"&gt;="Green"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Style&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Style&lt;/span&gt; &lt;span class="attr"&gt;TargetType&lt;/span&gt;&lt;span class="kwrd"&gt;="TextBlock"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Setter&lt;/span&gt; &lt;span class="attr"&gt;Property&lt;/span&gt;&lt;span class="kwrd"&gt;="Foreground"&lt;/span&gt; &lt;span class="attr"&gt;Value&lt;/span&gt;&lt;span class="kwrd"&gt;="Green"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Style&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;StackPanel.Resources&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;StackPanel&lt;/span&gt; &lt;span class="attr"&gt;x:Name&lt;/span&gt;&lt;span class="kwrd"&gt;="dynamicContainer"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Button&lt;/span&gt; &lt;span class="attr"&gt;Content&lt;/span&gt;&lt;span class="kwrd"&gt;="Button inside border"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBlock&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;TextBlock inside border&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;TextBlock&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;StackPanel&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;StackPanel&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; &lt;/div&gt;
&lt;div class="gslb_rsbDivLegend"&gt;Implicit styles in Silverlight &lt;/div&gt;
&lt;/div&gt;
&lt;div class="gslb_rsbDivTitle"&gt;Samples &lt;/div&gt;
&lt;p class="gslb_rsbPParagraph"&gt;Note that the controls are distributed with samples (and their associated source code) which should allow you to get started very easily. &lt;/p&gt;
&lt;p class="gslb_rsbPParagraph"&gt;I hope that this post gave you an interest to look deeper into this interesting new set of controls. And don't forget, this is open source, so if you want to contribute, you can do so on Codeplex! &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=126301"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=126301" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/lbugnion/aggbug/126301.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Laurent Bugnion</dc:creator>
            <guid>http://geekswithblogs.net/lbugnion/archive/2008/10/28/new-silverlight-controls-suite-delivered-by-microsoft-pdc08.aspx</guid>
            <pubDate>Wed, 29 Oct 2008 07:07:38 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/lbugnion/comments/126301.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/lbugnion/archive/2008/10/28/new-silverlight-controls-suite-delivered-by-microsoft-pdc08.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/lbugnion/comments/commentRss/126301.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/lbugnion/services/trackbacks/126301.aspx</trackback:ping>
        </item>
        <item>
            <title>#PDC08 keynote (day 2, part 4)</title>
            <link>http://geekswithblogs.net/lbugnion/archive/2008/10/28/pdc08-keynote-day-2-part-4.aspx</link>
            <description>&lt;p&gt;&lt;em&gt;Note: The Wireless network at the keynote failed miserably, so this will be posted with a delay.&lt;/em&gt;&lt;/p&gt; &lt;p&gt;Presentation of Windows Live Services. &lt;strong&gt;Windows Live ID is now an Open ID&lt;/strong&gt;.&lt;/p&gt; &lt;p&gt;Announcing the Live framework, provided as a way to access the Live Services. Works on PC, phone and web. &lt;/p&gt;&lt;p&gt;Demo: how to enhance a Windows Application with the Live framework.  &lt;/p&gt;&lt;p&gt;Shows how to use LiveMesh framework API to synchronize pictures between two machines. "Mesh objects" allow to change metadata on some objects (for example applying an effect on a picture) and then synching to another machine.&lt;/p&gt; &lt;p&gt;Adding a mobile device to the Mesh, take a picture and it is automatically synched to all other machines.&lt;/p&gt; &lt;p&gt;Fantastic customer demo: BBC iPlayer website, including synching content with mobile device over the mesh.&lt;/p&gt; &lt;p&gt;Announces Mesh support for Mobile and Macintosh.&lt;/p&gt; &lt;p&gt;The keynote ends with a demo of new Office.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=126299"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=126299" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/lbugnion/aggbug/126299.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Laurent Bugnion</dc:creator>
            <guid>http://geekswithblogs.net/lbugnion/archive/2008/10/28/pdc08-keynote-day-2-part-4.aspx</guid>
            <pubDate>Wed, 29 Oct 2008 06:48:18 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/lbugnion/comments/126299.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/lbugnion/archive/2008/10/28/pdc08-keynote-day-2-part-4.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/lbugnion/comments/commentRss/126299.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/lbugnion/services/trackbacks/126299.aspx</trackback:ping>
        </item>
        <item>
            <title>#PDC08 keynote (day 2, part 3)</title>
            <link>http://geekswithblogs.net/lbugnion/archive/2008/10/28/pdc08-keynote-day-2-part-3.aspx</link>
            <description>&lt;p&gt;&lt;em&gt;Note: The Wireless network at the keynote failed miserably, so this will be posted with a delay.&lt;/em&gt;&lt;/p&gt; &lt;h2&gt;Scott Guthrie about tools and app development&lt;/h2&gt; &lt;p&gt; New APIs for multitouch and other Windows 7 API. &lt;/p&gt; &lt;p&gt;Note: Lots of attention put in Win32 development with C++.&lt;/p&gt; &lt;p&gt;Mentions improvements made to .NET 3.5 SP1, such as shaders, performance etc...&lt;/p&gt; &lt;p&gt;.NET 3.5 SP1 built in Windows 7.&lt;/p&gt; &lt;p&gt;This week, a new WPF Ribbon control will be shipped. Scott demos how to integrate it and skin it. Nice demo of photo album application.  &lt;/p&gt;&lt;p&gt;Demos how to add items to the Jump List in WPF. Simply add tasks in App.xaml.  &lt;/p&gt;&lt;p&gt;Multitouch HP desktop PC costs around 1500 $. Demos pixel shader on top of any element, controlled by finger touch. Note: Of course you can still use the mouse.  &lt;/p&gt;&lt;p&gt;Shows tag explorer view in photo app. All APIs showed here can be integrated in any WPF application, multitouch is for free and added to any application automatically.  &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Announcing new WPF toolkit &lt;/strong&gt;with final release of DataGrid, DatePicker, Calendar, Ribbon and Visual State Manager. Supported in Expression Blend.  &lt;/p&gt;&lt;h3&gt;.NET 4 improvements and Visual Studio 10&lt;/h3&gt; &lt;p&gt;DeepZoom support, multi touch, VSM, Text. Also allows to load different versions of CLR in same process. Managed and native code interop is improved, calling COM and PInvoke. Extensible component model (MEF Managed Extensibility Framework). Improved tooling with VS10.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Visual Studio 2010 is built with WPF.&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Multi monito support. Richer code editing support, richer refactoring support, better code visualization. Write test first, then create class from them. Plug in additional functionalities. VS10 CTP is given to PDC attendees.&lt;/p&gt; &lt;p&gt;Demos code editor built in WPF. Shows how to easily build a XML documentation viewer in VS10. Build, copy to a folder, no need to register, it's loaded directly within the code editor. Includes a bug number, click on it to automatically retrieve the bug from TFS in just a couple of lines of code. The WPF view is integrated within the editor directly.&lt;/p&gt; &lt;p&gt;Customer demo: Tesco grocery shopping shows new app built with the new features. Nice demo of online shopping.&lt;/p&gt; &lt;p&gt;Scott is back and talks about web dev improvements. Built in JavaScript profiler and debugger built in. WIll ship ASP.NET MVC in 2008. REST support, AJAX/jQuery including intellisense. &lt;strong&gt;Intellisense file can be downloaded today frm jQuery.com website.&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;ASP.NET 4 improvements: Web forms, MVC, AJAX, distributed caching improvements (Velocity service). New CTP of that service available this week.&lt;/p&gt; &lt;p&gt;Web dev with VS10: also improvement in the CSS2 designer. Multiple web.config files for debug, release, staging, etc...&lt;/p&gt; &lt;h3&gt;Silverlight 2&lt;/h3&gt; &lt;p&gt;Already installed in approx. 1/4 machines. Silverlight 2 will be pushed to these machines. Shows applications built on SL2. Average user spent 27 minutes watching videos on NBC Olympics site, which blew away the previous average by 26.5 minutes.&lt;/p&gt; &lt;p&gt;New addon in IIS adding streaming for free.&lt;/p&gt; &lt;p&gt;Shows AOL new email client. K2 web designer. Netflix instant watch. &lt;/p&gt; &lt;p&gt;&lt;strong&gt;Annoucing Silverlight toolkit. &lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Chart  &lt;/li&gt;&lt;li&gt;TreeView  &lt;/li&gt;&lt;li&gt;DockPanel  &lt;/li&gt;&lt;li&gt;WrapPanel  &lt;/li&gt;&lt;li&gt;ViewBox  &lt;/li&gt;&lt;li&gt;Expander  &lt;/li&gt;&lt;li&gt;AutoComplete  &lt;/li&gt;&lt;li&gt;NumericUpDown  &lt;/li&gt;&lt;li&gt;etc...&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Note: Stay tuned to my blog, I will post a big blog post about these controls later today.&lt;/p&gt; &lt;p&gt;Silverlight designer in VS10. Fully interactive, comparable to WPF designer.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Announces Silverlight inside the browser and outside the browser.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=126297"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=126297" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/lbugnion/aggbug/126297.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Laurent Bugnion</dc:creator>
            <guid>http://geekswithblogs.net/lbugnion/archive/2008/10/28/pdc08-keynote-day-2-part-3.aspx</guid>
            <pubDate>Wed, 29 Oct 2008 06:27:22 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/lbugnion/comments/126297.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/lbugnion/archive/2008/10/28/pdc08-keynote-day-2-part-3.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/lbugnion/comments/commentRss/126297.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/lbugnion/services/trackbacks/126297.aspx</trackback:ping>
        </item>
        <item>
            <title>#PDC08 keynote (day 2, part 2)</title>
            <link>http://geekswithblogs.net/lbugnion/archive/2008/10/28/pdc08-keynote-day-2-part-2.aspx</link>
            <description>&lt;p&gt;&lt;em&gt;Note: The Wireless network at the keynote failed miserably, so this will be posted with a delay.&lt;/em&gt;&lt;/p&gt; &lt;h2&gt;Bringing together software + services&lt;/h2&gt; &lt;p&gt;Presents Windows Live Essentials and Windows Live Services. Using Windows Live Services is optional, so you can use your own services (pop for example) instead. &lt;/p&gt; &lt;p&gt;Talks about the feedback they got after Vista went RTM. Funny moment as he reminds bad reviews from "a few bloggers here and there, oh and some ads too".&lt;/p&gt; &lt;p&gt;Transition from Vista: Talks about the attention they now put into making sure that the ecosystem is ready to receive Windows 7. For example, devices must be ready. For Vista, most PCs were not ready. Drivers, etc... were not available. This will be improved for Windows 7: most drivers will work with Windows 7, so no new drivers needed.&lt;/p&gt; &lt;p&gt;Standards, compatibility and security have been reviewed too. Most applications should be fine in standard user mode now.&lt;/p&gt; &lt;p&gt;Development with Windows 7: Ribbon UI, Jump lists, Libraries, Multi touch, Ink, Speech, DirectX family.&lt;/p&gt; &lt;p&gt;DirectX extended to all kind of media views. "Modern view of GDI". &lt;/p&gt; &lt;p&gt;Partner video: Autodesk. Shows how they use Multitouch for 3D design.&lt;/p&gt; &lt;h3&gt;&lt;em&gt;Fundamentals&lt;/em&gt;&lt;/h3&gt; &lt;p&gt;Worked hard to reduce reference set, graphics usage of memory, disk I/O, power usage of DVD playback, panel and timers. Increase faster boot, device ready, Responsiveness of start menu and taskbar, scaleability to up to 256 processors.&lt;/p&gt; &lt;p&gt;Shows a netbook with 1GB RAM and 1GHz processor, and running Windows 7 without issues.&lt;/p&gt; &lt;p&gt;Added Bitlocker encryption for all memory sticks natively. &lt;/p&gt; &lt;p&gt;Virtual Hard disks VHDs can be created directly from disk manager, including other OS and ability to boot from that (for example Windows XP). Can be made dynamic size or fixed size.&lt;/p&gt; &lt;p&gt;Managing displays is made much easier. Also incudes much improved magnifier. The guy obviously has a lit of fun making this demo.&lt;/p&gt; &lt;p&gt;Connecting to external projectors is made possible by pressing "Windos key - P". Also allows extending to 2 monitors. Jump list allows to connect to remote desktop, &lt;strong&gt;and it also runs on mutliple monitors&lt;/strong&gt;! Wow.&lt;/p&gt; &lt;p&gt;Taskbar can use small icons-Shut down button can be customized. Can also customize UAC and what level of messages are displayed.&lt;/p&gt; &lt;p&gt;Everyone at PDC gets a pre-beta version of Windows 7. Not feature complete. The a "E7" version will be made available to public. Beta will come early next week through MSDN etc... Stay tuned on Microsoft.com/windows to download the beta. A feedback tool is made available. Beta also includes optional telemetry tool that scans usage etc... Then Release candidates will be made available to partners.&lt;/p&gt; &lt;h3&gt;Call to action&lt;/h3&gt; &lt;p&gt;Develop for 64 bits, as they think that most user will run that. Focus on fundamentals, integrate with the desktop, On the web, code to standards with IE8. Try windows live beta from &lt;a href="http://download.live.com" target="_blank"&gt;download.live.com&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=126295"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=126295" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/lbugnion/aggbug/126295.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Laurent Bugnion</dc:creator>
            <guid>http://geekswithblogs.net/lbugnion/archive/2008/10/28/pdc08-keynote-day-2-part-2.aspx</guid>
            <pubDate>Wed, 29 Oct 2008 05:47:28 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/lbugnion/comments/126295.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/lbugnion/archive/2008/10/28/pdc08-keynote-day-2-part-2.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/lbugnion/comments/commentRss/126295.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/lbugnion/services/trackbacks/126295.aspx</trackback:ping>
        </item>
    </channel>
</rss>