<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>pdc2008 &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/pdc2008/</link>
	<description>Feed of posts on WordPress.com tagged "pdc2008"</description>
	<pubDate>Sun, 29 Nov 2009 20:56:43 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[Partner Interviews at PDC2008]]></title>
<link>http://cdspartners.wordpress.com/2008/12/18/partner-interviews-at-pdc2008/</link>
<pubDate>Thu, 18 Dec 2008 23:29:26 +0000</pubDate>
<dc:creator>wesy</dc:creator>
<guid>http://cdspartners.wordpress.com/2008/12/18/partner-interviews-at-pdc2008/</guid>
<description><![CDATA[It&#8217;s been over month since the end of PDC, but I wanted to point you to a video we created and]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>It&#8217;s been over month since the end of PDC, but I wanted to point you to a video we created and posted up to YouTube.  If you&#8217;re a partner and have some feedback about what was/is most exciting let me know!</p>
<p><span style='text-align:center; display: block;'><object width='425' height='350'><param name='movie' value='http://www.youtube.com/v/qU2jhkVhgdo&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;hd=0' /><param name='allowfullscreen' value='true' /><param name='wmode' value='transparent' /><embed src='http://www.youtube.com/v/qU2jhkVhgdo&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;hd=0' type='application/x-shockwave-flash' allowfullscreen='true' width='425' height='350' wmode='transparent'></embed></object></span></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Tech this week (Nov 22 to Nov 28,2008)]]></title>
<link>http://sujaiantony.wordpress.com/2008/11/26/tech-this-week-nov-22-to-nov-282008/</link>
<pubDate>Wed, 26 Nov 2008 12:31:27 +0000</pubDate>
<dc:creator>sujai</dc:creator>
<guid>http://sujaiantony.wordpress.com/2008/11/26/tech-this-week-nov-22-to-nov-282008/</guid>
<description><![CDATA[Fennec’s gesture based UI : After a successful launch of Firefox 3, Mozilla has been working on a mo]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><strong>Fennec’s gesture based UI :</strong> After a successful launch of Firefox 3, Mozilla has been working on a mobile version of Firefox. Codenamed Fennec the first alpha release was  <a href="http://www.mozilla.org/projects/fennec/1.0a1/releasenotes/">made last month</a> .  Last week I came across a <a href="http://vimeo.com/1152218?pg=embed&#38;sec=1152218">video explaining</a> the UI of Fennec . The ideas are quite impressive!</p>
<p><strong><a href="http://sujaiantony.files.wordpress.com/2008/11/fennec.jpg"><img style="border-right:0;border-top:0;display:inline;border-left:0;border-bottom:0;" title="fennec" src="http://sujaiantony.files.wordpress.com/2008/11/fennec-thumb.jpg?w=214&#038;h=118" border="0" alt="fennec" width="214" height="118" /></a></strong> As soon as you launch the browse you see a blank area with a huge + icon. Clicking on it opens tabs. Selecting it opens the content in full screen and NO buttons.  How go back,close this page ? All actions are via gestures .. Panning slightly shows the ‘Back’ and associated buttons. Panning even more gives an option to  ‘Zoom out’  and return back to the home area.</p>
<p>The address bar is similar to the ‘awesome bar’ of Firefox 3 and it also has some buttons that help in navigating to popular pages. Here is a demo of Fennec alpha version. A demo version of the browser is available for download (<a href="http://ftp.mozilla.org/pub/mozilla.org/mobile/fennec-1.0a1.en-US.linux-i686.tar.bz2">Linux </a>/<a href="http://ftp.mozilla.org/pub/mozilla.org/mobile/fennec-1.0a1.en-US.win32.zip">Windows</a>) here .</p>
<p><strong>Fedora 10 (Cambridge)</strong> ..<strong>brimming with features </strong>:Fedora 10 was released this week. Just like<a href="http://www.linux.com/articles/114233"> many others</a> ,I gave up on Fedora long back and switched to Ubunutu. But Fedora 10 has got <a href="http://itmanagement.earthweb.com/features/article.php/12297_3786911_2">rave reviews</a> ,I am tempted to give Fedora 10 a try.  Fedora 10 brims with new features, including a new <a href="http://www.phoronix.com/scan.php?page=article&#38;item=fedora_plymouth&#38;num=1">graphical boot</a> manager   that uses some <a href="https://fedoraproject.org/wiki/Features/KernelModesetting">nifty features from the linux kernel</a> to provide a <a href="http://in.youtube.com/watch?v=khRc8nlwYww">‘flicker less’ boot process</a>.  Another significant addition is enhancements to <a href="http://www.redhatmagazine.com/2008/10/29/video-spotlight-on-packagekit/">PackageKit</a> , its  software management tool ,that install libraries and codec&#8217;s on demand ,transparent to the user. The idea looks very promising. Need to see how this progresses.</p>
<p><strong><a href="http://sujaiantony.files.wordpress.com/2008/11/windowsazure.gif"><img style="display:inline;" title="WindowsAzure" src="http://sujaiantony.files.wordpress.com/2008/11/windowsazure-thumb.gif?w=208&#038;h=54" border="0" alt="WindowsAzure" width="208" height="54" /></a> Windows Azure, updates from PDC2008 </strong>: This update is a bit late but nonetheless posting it here. Microsoft’s PDC 2008 concluded recently and there was lot of talk about  many new things coming from them. Important among them was the announcement on Windows Azure, Microsoft&#8217;s entry into cloud computing.</p>
<p>One of their <a href="http://download.microsoft.com/download/9/6/8/968DE15E-7856-44BE-AF6A-074F05C0684D/BluehooScenario.pdf">presentations</a> helped me understand how Azure would work: Lets say you have a nice idea and made it working for a couple of users. But you face lot of issues when you want to open up to the whole world. There is no infrastructure that makes the application scale for 10’s of thousands of users. How to implement and host a trusted authentication service , how to integrate with other services(for e.g. a map service or search service for your application) ?</p>
<p>Using a system like Azure will help you out in all these. You just have to host your application on Windows Azure and the back end is taken care ! Sounds pretty nice.   You can find more about Windows Azure <a href="http://on10.net/blogs/sarahintampa/Microsofts-Cloud-Part-2-Windows-Azure/">here</a> . <a href="http://www.bluehoo.com/">Bluehoo</a> is an application that is hosted on the Azure platform. and about a use case here.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Professional Development Conference 2008]]></title>
<link>http://idpalmer.wordpress.com/2008/11/19/professional-development-conference-2008/</link>
<pubDate>Thu, 20 Nov 2008 05:20:49 +0000</pubDate>
<dc:creator>Kathi</dc:creator>
<guid>http://idpalmer.wordpress.com/2008/11/19/professional-development-conference-2008/</guid>
<description><![CDATA[It was fun talking with many of you at the PDC 2008 today.  Give yourself time to look at my mind ma]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>It was fun talking with many of you at the PDC 2008 today.  Give yourself time to look at my mind map (linked below) and remember, the arrows will take you to the actual websites.  Start slowly, trying just a little at a time.</p>
<p><a href="http://www.mindmeister.com/maps/show_public/9002694" target="_blank">Mind Map:  Your Personal Learning Environment</a></p>
<p>The leadership group looked at a different mindmap on Saturday.  That map had more distance education tools.  The interesting thing about distance education tools is that they are also great for face-to-face instructors.  In fact, I think DE, like gifted education, are umbrellas for regular teaching&#8211; in other words, if you excel as a gifted instructor or excel as a distance instructor, you are probably using teaching tools and strategies that are good for all children.  Anyway, the map for Saturday can be found here:</p>
<p>Mind Map:  <a href="http://www.mindmeister.com/12170946" target="_blank">Develop a Distance Education Class</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[PDC2008: Follow-up]]></title>
<link>http://apragmaticprogrammer.wordpress.com/2008/11/13/pdc2008-follow-up/</link>
<pubDate>Thu, 13 Nov 2008 07:13:06 +0000</pubDate>
<dc:creator>Sven De Baets</dc:creator>
<guid>http://apragmaticprogrammer.wordpress.com/2008/11/13/pdc2008-follow-up/</guid>
<description><![CDATA[First of all, I&#8217;m really sorry I wasn&#8217;t able to blog more during the PDC. With all the d]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>First of all, I&#8217;m really sorry I wasn&#8217;t able to blog more during the PDC. With all the day, lunch and evening sessions (and activities!) my days were pretty full. <a title="PDC Abstracts" href="http://blogs.msdn.com/tims/archive/2008/10/26/pdc-proceedings-the-book-of-the-conference.aspx">This announcement</a> also pretty much took the fun out of it for me.</p>
<p>Now that I&#8217;m back in Belgium, I decided to have a look at all those sessions I missed while in <a title="PDC 2008" href="http://www.microsoftpdc.com/">LA</a>. With 203 sessions (about 1h per session), this is a ton of material <a title="PDC Session Videos" href="https://sessions.microsoftpdc.com/public/timeline.aspx">to watch</a>. I will mainly focus on:</p>
<ul>
<li>Azure</li>
<li>Oslo</li>
<li>Live Services</li>
<li>.NET Framework (ASP.NET, ADO.NET, WCF/WF, EF, LINQ, Silverlight)</li>
<li>VS2010</li>
</ul>
<p>But before diving into all of this, it may be a good idea to pauze for a moment and reflect about the message Microsoft was bringing us this PDC. No better place to find out than during the <a title="PDC Keynotes" href="http://channel9.msdn.com/pdc2008/">keynotes</a>.</p>
<p>As a developer, my interest is mainly with the .NET platform, so I will not consider <a title="Keynote 1" href="http://channel9.msdn.com/pdc2008/KYN01/">Windows7</a> or the <a title="Rick Rashid Keynote" href="http://channel9.msdn.com/pdc2008/KYN04/">new developments in Microsoft Research</a> here. Leaving these out of the discussion for now, Microsoft basically announced three new technologies: Azure, Live Services and Oslo. The main question I have right now is how to strategically position these.</p>
<p><strong>Azure</strong><br />
In my personal opinion, Microsoft is taking a big bet here. Don&#8217;t get me wrong! I love the idea and from what I have seen from this technology sofar, the folks at Microsoft did a great job in architecting and building this platform. My main question is &#8211; and a lot of people I talk to seem to agree on this &#8211; is the Enterprise Market ready to trust Microsoft with their data? Personally, I think it will be very difficult to convince IT departments. And security is not the only issue here. If Microsoft is covering all the operational stuff, why do you still need a (large) IT department? Microsoft will probably counter this, by integrating the Azure technology in their own products. This was already confirmed by Ray Ozzie during the keynote and by John Shewchuk in the <a title="A lap around Azure" href="http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/BB01.wmv">&#8216;A Lap Around Azure Services&#8217;</a> session. The latter I can highly recommend to get an good overview of Azure.</p>
<p>As illustrated in the keynote with the <a title="BlueHoo site" href="http://www.bluehoo.com/">BlueHoo</a> demo, I see this model mainly taking off for startups that need enterprise scalability and do not store super-confidential data.</p>
<p><strong>Live Services<br />
</strong>Again, great technology! I loved the BBC demo during <a title="Tuesday's keynote" href="http://channel9.msdn.com/pdc2008/KYN02/">Tuesday&#8217;s keynote</a>. But again &#8211; I wonder &#8211; is this really enterprise material. Probably - as the world gets more connected &#8211;  big enterprises will see the interest of attracting specific demographic groups through this kind of technologie. Don&#8217;t think it will ever become mainstream in big (financial) enterprises though.</p>
<p><strong>Oslo<br />
</strong>I spent most of my time @ PDC in Oslo sessions. If you are looking for a nice introduction to Oslo, I would recommend to go check out <a title="David Chappell's whitepaper" href="http://msdn.microsoft.com/en-us/library/dd200919.aspx">David Chappell&#8217;s whitepaper</a>. There is of course also a bunch of <a href="https://sessions.microsoftpdc.com/public/">PDC sessions</a> I can highly recommend. Martin Fowler also has a <a title="Martin Fowler on Oslo" href="http://martinfowler.com/bliki/Oslo.html">blog post</a> on Oslo.</p>
<p>So what is the big deal about Oslo, you might think. The concept of <a title="MDA Explained" href="http://www.amazon.com/MDA-Explained-Architecture-Addison-Wesley-Technology/dp/032119442X">Model Driven Architecture </a>(MDA) has been around for many years and Microsoft already took a shot at this during PDC2005 with their DSL initiative. I have to admit, at the time I was already at the front row during these sessions and today I am still a big believer of MDA.</p>
<p>So again, how is Oslo different from DSL? To me, the concepts are the same but the approach is fundamentally different. In stead of considering DSL tooling as an add-on productivity feature to existing products, Microsoft is making Oslo a first class citizen. They are actually reversing the roles by first putting in place the whole Oslo platform (Repository, M, Quadrant) and then adding (existing) product runtimes on top of this. At the moment, Microsoft is already considering runtimes for WCF/WF (Dublin), ASP.NET and Entity Framework (EF).</p>
<p>So what does it mean for us developers? Will we be out of a job soon? Don&#8217;t think so. I see Oslo as a great productivity accelerator that frees me from implementing and maintaining lot&#8217;s of boilerplate code. I am curious to see though how Oslo will provide us with enough flexibility to implement that 20% of the <a title="Pareto principle" href="http://en.wikipedia.org/wiki/Pareto_principle">Pareto principle</a> in software development. </p>
<p>By the way, I love how ZEN Quadrant is!</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[XNA game studio]]></title>
<link>http://rolfgeneratedcontent.com/2008/11/11/xna-game-studio/</link>
<pubDate>Tue, 11 Nov 2008 15:13:56 +0000</pubDate>
<dc:creator>mirolfm</dc:creator>
<guid>http://rolfgeneratedcontent.com/2008/11/11/xna-game-studio/</guid>
<description><![CDATA[sitze gerade in der session von max zu XNA game studio und da wird mir wieder bewusst was für ein co]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a target="_blank" href="http://farm4.static.flickr.com/3295/3022439970_4db711c2c5_b.jpg"><img src="http://farm4.static.flickr.com/3295/3022439970_4db711c2c5_b.jpg" width="450" height="338"></a> </p>
<p>sitze gerade in der session von <a target="_blank" href="http://blogs.msdn.com/knom/">max</a> zu XNA game studio und da wird mir wieder bewusst was für ein cooles framework wir da eigentlich zur verfügung stellen. wir haben ja vor einem jahr den XNA day in wien gehabt, <a target="_blank" href="http://rolfgeneratedcontent.com/?s=XNA">und hier am blog hab ich öfter über das tool geschwärmt</a>. vor gut 3 wochen wurde nun die version 3 des XNA toolkits veröffentlicht und damit haben sich einige änderungen ergeben. ich kann die technische reife des frameworks nicht einschätzen, aber beobachte seit einiger zeit die community offers von microsoft in diesem bereich und bin der meinung dass diese einzigartig sind im hobbyist bereich.</p>
<p>der titel XNA game studio 3.0 ist ein wenig irreführend, weil unter studio normal ganze produkte wie eben visual studio, expression studio.. erwartet werden. XNA game studio erfordert aber Visual Studio 2008 oder Visual Studio C# 2008. aber das entwickeln von games kann immer noch kostenlos bleiben &#8211; XNA game studio funktioniert auch mit der frei erhältlichen express edition von visual studio, nämlich visual studio c# express. <a target="_blank" href="http://creators.xna.com/en-US/create_detail">weiteres um mit XNA zu starten</a>.</p>
<p>sowohl einen technischen überblick als auch über den community support und die möglichkeit ein game zu verbreiten (xbox live) gibt es in einem guten PDC session recording:</p>
<p><a target="_blank" href="http://channel9.msdn.com/pdc2008/TL43/"><img alt="Entry Media" align="right" src="http://mschnlnine.vo.llnwd.net/d1/pdc08/THUMBNAILS/TL43.jpg" width="200" height="150"></a><br />
<blockquote>
<p>Learn about XNA Game Studio and the XNA Framework and how they help to quickly and easily create games using Microsoft Visual C# that run on Windows, the Xbox 360, and Zune. Hear about the goals and features of XNA Game Studio and the XNA Framework and the types of games that can be created; we even create a game during the session. Finally, hear about the vibrant community around XNA Game Studio and Xbox LIVE Community Games, where games can be distributed via Xbox LIVE Marketplace.</p>
</blockquote>
<p>&#62;&#62; <a target="_blank" href="http://channel9.msdn.com/pdc2008/TL43/">zum PDC recording</a>.
<p>zum schluss noch einen verweis auf <a target="_blank" href="http://creators.xna.com/en-US/">XNA creators club</a>. dort kanst du einen überblick über bereits eingereichte spiele und die community offer rundherum bekommen.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[First real look at Windows 7]]></title>
<link>http://ctntoday.wordpress.com/2008/11/09/first-real-look-at-windows-7/</link>
<pubDate>Sun, 09 Nov 2008 22:50:40 +0000</pubDate>
<dc:creator>Jon</dc:creator>
<guid>http://ctntoday.wordpress.com/2008/11/09/first-real-look-at-windows-7/</guid>
<description><![CDATA[I don’t know if you’ve seen this, probably since it’s been over all the net recently, so have a litt]]></description>
<content:encoded><![CDATA[I don’t know if you’ve seen this, probably since it’s been over all the net recently, so have a litt]]></content:encoded>
</item>
<item>
<title><![CDATA[The PDC2008 session list]]></title>
<link>http://janerikohman.wordpress.com/2008/11/09/the-pdc2008-session-list/</link>
<pubDate>Sun, 09 Nov 2008 20:25:02 +0000</pubDate>
<dc:creator>janerikohman</dc:creator>
<guid>http://janerikohman.wordpress.com/2008/11/09/the-pdc2008-session-list/</guid>
<description><![CDATA[Mike Swanson has been kind enough to make a list of all the PDC2008 sessions and keynotes. They]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Mike Swanson has been kind enough to make a list of all the PDC2008 sessions and keynotes. They&#8217;re all listed with code, title and a links to Channel 9 for the video and also links to powerpoints and code. </p>
<p><strong>Update</strong>: forgot the link.. (thanks <a href="http://weblogs.asp.net/jdanforth/" target="_blank">Johan</a>) <a title="http://blogs.msdn.com/mswanson/pages/PDC2008Sessions.aspx" href="http://blogs.msdn.com/mswanson/pages/PDC2008Sessions.aspx">http://blogs.msdn.com/mswanson/pages/PDC2008Sessions.aspx</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Session – WPF: Extensible BitmapEffects, Pixel Shaders, and WPF Graphics Futures]]></title>
<link>http://stuff.seans.com/2008/11/06/session-%e2%80%93-wpf-extensible-bitmapeffects-pixel-shaders-and-wpf-graphics-futures/</link>
<pubDate>Thu, 06 Nov 2008 18:11:32 +0000</pubDate>
<dc:creator>Sean</dc:creator>
<guid>http://stuff.seans.com/2008/11/06/session-%e2%80%93-wpf-extensible-bitmapeffects-pixel-shaders-and-wpf-graphics-futures/</guid>
<description><![CDATA[PDC 2008, Day #4, Session #4, 1 hr 15 mins David Teitlebaum Program Manager WPF Team My final sessio]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><em>PDC 2008, Day #4, Session #4, 1 hr 15 mins</em></p>
<p><em>David Teitlebaum<br />
Program Manager<br />
WPF Team</em></p>
<p>My final session at PDC 2008 was a talk about the improvements in WPF graphics that are available in .NET Framework 3.5 SP1.  David also touched briefly some possible future features (i.e. that would appear in .NET Framework 4.0).</p>
<p>David’s main topic was to walk through the details of the new Shader Effects model, which replaces the old Bitmap Effects feature.</p>
<p><strong>What are Bitmap Effects?</strong></p>
<p>These are effects that are applied to an individual UI element, like a button, to create some desired visual effect.  This includes things like drop shadow, bevels and blur effects.</p>
<p><strong>BitmapEffect</strong></p>
<p>The BitmapEffect object was introduced in Framework 3.0 (the first WPF release).  But there were some problems with it, that led to now replacing it with Shader Effects in 3.5SP1.</p>
<p>Problems with BitmapEffect:</p>
<ul>
<li>They were rendered in software</li>
<li>Blur operations were very slow</li>
<li>There were various limitations, including no ClearType support, no anisotripic filtering, etc.</li>
</ul>
<p><strong>New Shader Effects</strong></p>
<p>Basic characteristics in the new Shader Effects include:</p>
<ul>
<li>GPU accelerated</li>
<li>Have implemented hardware acceleration of the most popular bitmap effects
<ul>
<li>But did <strong>not </strong>implement outer glow</li>
</ul>
</li>
<li>Can author custom hardware-accelerated bitmap effects using HLSL</li>
<li>There is a software-only fallback pipeline that is actually faster than the old Bitmap Effects</li>
<li>New Shader Effects run on most video cards
<ul>
<li>Require PixelShader 2.0, which is about 5 years old</li>
</ul>
</li>
</ul>
<p><strong>How Do You Do Shader Effects?</strong></p>
<p>Here’s an outline of how you use the new Shader Effect model:</p>
<ul>
<li>Derive a custom class from the new <strong>ShaderEffect </strong>class (which derives from <strong>Effect</strong>)</li>
<li>You write your actual pixel shader code in HLSL, which is used for doing custom hardware-accelerated stuff using Direct3D
<ul>
<li>Language is C-like</li>
<li>Compiled to byte-code, consumed by video driver, runs on GPU</li>
</ul>
</li>
<li>Some more details about HLSL, as used in WPF
<ul>
<li>DirectX 10 supports HLSL 4.0</li>
<li>WPF currently only supports Pixelshader 2.0</li>
</ul>
</li>
</ul>
<p>So what do pixel shaders really do?  They basically take in a texture (bitmap) as input, do some processing on each point, and return a revised texture as an output.</p>
<p>Basically, you have a <strong>main </strong>function that accepts the coordinates of the current single pixel to be mapped.  Your code then accesses the original input texture through a register, so it just uses the input parameter (X/Y coordinate) to index into the source texture.  It then does some processing on the pixel in question and returns a color value.  This resultant color value just represents&#8212;the resulting RGB color at the specified coordinate.</p>
<p>The final step is to create, in managed code, a class that derives from <strong>ShaderEffect </strong>and hook it up to the pixel shader code (e.g. xyz.ps file) that you wrote.  You can then apply your shader to any WPF UIElement using XAML.  (By setting the <strong>Effect </strong>property).</p>
<p><strong>Direct3D Interop</strong></p>
<p>David’s next topic was to talk a bit about interop’ing with Direct3D.  This just means that your WPF application can easily host Direct3D content by using a new class called <strong>D3DImage.</strong></p>
<p>This was pretty cool.  David demoed displaying a Direct3D wireframe in the background (WPF 3D subsystem can’t do wireframes), with WPF GUI elements in the foreground, overlaying the background image.</p>
<p>The basic idea is that you create a Direct3D device in unmanaged code and then hook it to a new instance of a WPF D3DImage element, which you include in your visual hierarchy.</p>
<p><strong>WPF Futures</strong></p>
<p>Finally, David touched very briefly on some possible future features.  These are things that may show up in WPF 4.0 (.NET Framework 4.0), or possibly beyond that.</p>
<p>Some of the features likely included in WPF 4.0 include:</p>
<ul>
<li>Increased graphical richness  (e.g. Pixelshader 3.0)</li>
<li>Offloading more work to the GPU</li>
<li>Better rendering quality
<ul>
<li>Integrate DirectWrite for text clarity</li>
<li>Layout rounding</li>
</ul>
</li>
</ul>
<p>And some of the possible post-4.0 features include:</p>
<ul>
<li>Better exploitation of hardware</li>
<li>Vertex shaders</li>
<li>Shader groups</li>
<li>Shaders in WPF 3D</li>
<li>3D improvements</li>
<li>Better media extensibility</li>
</ul>
<p>References</p>
<p>You can get at David’s PDC08 slide deck for this talk here: <a href="http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC07.pptx">http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC07.pptx</a></p>
<p>And you can find full video from the session at:  <a href="http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/PC07.wmv">http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/PC07.wmv</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Review ao Windows 7]]></title>
<link>http://oito.wordpress.com/2008/11/06/review-ao-windows-7/</link>
<pubDate>Thu, 06 Nov 2008 13:53:18 +0000</pubDate>
<dc:creator>Tiago Salgado</dc:creator>
<guid>http://oito.wordpress.com/2008/11/06/review-ao-windows-7/</guid>
<description><![CDATA[Para quem quer ir começando a conhecer a próxima versão do Windows (Windows 7) poderá ler a review d]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Para quem quer ir começando a conhecer a próxima versão do Windows (<a title="Windows 7" href="http://www.microsoft.com/windows/windows-7/" target="_blank">Windows 7</a>) poderá ler a review disponibilizada na <a title="ActiveWin" href="http://www.activewin.com" target="_blank">ActiveWin</a>.</p>
<p>Esta review foi feita com base na versão disponibilizada durante a <a title="PDC 2008" href="http://www.microsoftpdc.com/" target="_blank">PDC 2008</a>.</p>
<p><a title="Review Windows 7" href="http://activewin.com/reviews/previews/windows7/" target="_blank">Review Windows 7</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Microsoft hopes to rebuild trust with Windows 7]]></title>
<link>http://comtech3.wordpress.com/2008/11/06/microsoft-hopes-to-rebuild-trust-with-windows-7/</link>
<pubDate>Thu, 06 Nov 2008 04:08:21 +0000</pubDate>
<dc:creator>comtech3</dc:creator>
<guid>http://comtech3.wordpress.com/2008/11/06/microsoft-hopes-to-rebuild-trust-with-windows-7/</guid>
<description><![CDATA[LOS ANGELES&#8211;One of the biggest problems with Windows Vista had nothing to do with the software]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>LOS ANGELES&#8211;One of the biggest problems with Windows Vista had nothing to do  with the software Microsoft shipped.</p>
<div class="cnet-image-div image-medium float-right" style="width:270px;"><img class="cnet-image" src="http://i.i.com.com/cnwk.1d/i/bto/20081105/winhec_devaan_cropped_270x405.jpg" alt="" width="270" height="405" /></p>
<p class="image-caption">Microsoft&#8217;s Jon DeVaan speaks about Windows 7 as the  company kicks off its WinHEC 2008 conference in Los Angeles</p>
<p><span class="image-credit">(Credit: Ina Fried/CNET News.com)</span></div>
<p>It was all of the things Microsoft didn&#8217;t ship. In the years leading up to  Vista&#8217;s release in November 2006, Microsoft <a title="Microsoft revamps its plans for Longhorn -- Friday, Aug 27, 2004" href="/Microsoft-revamps-its-plans-for-Longhorn/2100-1016_3-5327150.html">changed course several  times</a>, leading to wasted time and energy for hardware and software makers  that had made bets on features or timing that later were changed.</p>
<p>In a speech to hardware makers attending the Windows Hardware Engineering  Conference (WinHEC), Microsoft&#8217;s <a href="http://www.microsoft.com/presspass/exec/devaan/">Jon DeVaan</a> said that  the company is aiming to rebuild trust that Microsoft will deliver products with  the promised features and at the promised time.</p>
<p>And Microsoft is also hoping that most partners won&#8217;t have a lot of work to  get ready for Windows 7. &#8220;We have the tenet that if something works in Vista it  really should work in Windows 7,&#8221; said DeVaan, senior vice president of  Microsoft&#8217;s Windows core operating system division.</p>
<p>The company is hoping to improve some things from Vista, particularly  start-up times as well as performance when managing a lot of open windows.</p>
<p>Battery life is another area where Microsoft hopes software improvements will  make a meaningful difference. The company said that in some cases it is getting  up to an extra hour of DVD playback and at a minimum, the same PC should get 20  more minutes of time in 7 than the same system would get in Vista.</p>
<p>That&#8217;s the difference between a cliffhanger and getting to finish your movie,  one of the Microsoft workers said during a demo onstage.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[PDC2008 Seminar Video, Slides, and Code]]></title>
<link>http://devtocto.wordpress.com/2008/11/05/pdc2008-seminar-video-slides-and-code/</link>
<pubDate>Thu, 06 Nov 2008 01:14:55 +0000</pubDate>
<dc:creator>Timothy Giorgi</dc:creator>
<guid>http://devtocto.wordpress.com/2008/11/05/pdc2008-seminar-video-slides-and-code/</guid>
<description><![CDATA[Just a quick note on a posting I found with a very comprehensive list of all video, slides, and code]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Just a quick note on a posting I found with a very comprehensive list of all video, slides, and code examples from PDC 2008.  Find the information here:</p>
<p style="padding-left:30px;"><a href="http://blogs.msdn.com/mswanson/pages/PDC2008Sessions.aspx" target="_blank">http://blogs.msdn.com/mswanson/pages/PDC2008Sessions.aspx</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[cloud computing day + infos zu windows azure 12.12. in wien]]></title>
<link>http://rolfgeneratedcontent.com/2008/11/04/cloud-computing-day-infos-zu-windows-azure-1212-in-wien/</link>
<pubDate>Tue, 04 Nov 2008 15:53:37 +0000</pubDate>
<dc:creator>mirolfm</dc:creator>
<guid>http://rolfgeneratedcontent.com/2008/11/04/cloud-computing-day-infos-zu-windows-azure-1212-in-wien/</guid>
<description><![CDATA[nach der rückkehr von der PDC sind wir am aufarbeiten all der themen. sehr viel inhalt der jetzt auc]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>nach der rückkehr von der PDC sind wir am aufarbeiten all der themen. sehr viel inhalt der jetzt auch lokal weitergetrieben werden muss. zumindest einen teil haben wir schon fixiert:</p>
<p><a href="http://www.microsoft.com/austria/cloudcomputing">am 12. dezember kommt david chappell nach wien</a> und gibt einen überblick über cloud computing, bevor er im detail auf das angebot von microsoft in diesem bereich, nämlich windows azure services platform, eingeht.</p>
<p>eventuell bieten wir am nachmittag noch eine coding session an, &#8220;<em>developing my first hello world cloud app</em>&#8221; (geil nicht? oder so ähnlich, ist noch ein arbeitstitel.)</p>
<p>die chappell geschichte ist nicht zu technisch (kein coding), richtet sich sowohl an developer und software architekten, als auch einfach informationshungrige zum cloud computing thema.</p>
<blockquote><p>Cloud computing looks like the biggest change to hit our industry in many years. The advent of cheap, scalable computing power available over the Internet will affect almost everybody who works in IT. But taking advantage of this shift requires understanding this new approach and how to exploit it.
<p>In this half-day seminar, David Chappell looks at the big picture of cloud computing, then focuses in on Microsoft’s new cloud platform technologies. The topics he’ll cover include:
<ul>
<li>A realistic look at cloud computing: Benefits and risks</li>
<li>The cloud context: Microsoft, Google, Amazon, Salesforce.com, and more</li>
<li>Microsoft’s cloud platform technologies: Azure, LiveMesh, and others</li>
<li>Using the Microsoft cloud platform: Which technologies make sense for your applications?</li>
</ul>
<p>The goal is to provide a framework for thinking about cloud platforms, make clear what Microsoft’s cloud platform technologies can do, then offer guidance on how to make good decisions for using them.</p>
</blockquote>
<p><a href="http://www.microsoft.com/austria/cloudcomputing">anmeldung</a> + und weitere <a href="http://blogs.msdn.com/msdnat/archive/2008/11/04/windows-azure-cloud-computing-day-am-12-12.aspx">info im MSDN weblog</a>.</p>
<p>über cloud computing lassen sich übrigens allerhand witze machen!</p>
<p>so zB: why is cloud computing so successfull?</p>
<blockquote><p><a href="http://www.theregister.co.uk/2008/08/25/cloud_dziuba/">A Cloud Is Easier To Draw On A Whiteboard Than A Grid</a></p>
</blockquote>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Session – Windows 7: Unlocking the GPU with Direct3D]]></title>
<link>http://stuff.seans.com/2008/11/01/session-%e2%80%93-windows-7-unlocking-the-gpu-with-direct3d/</link>
<pubDate>Sat, 01 Nov 2008 12:48:28 +0000</pubDate>
<dc:creator>Sean</dc:creator>
<guid>http://stuff.seans.com/2008/11/01/session-%e2%80%93-windows-7-unlocking-the-gpu-with-direct3d/</guid>
<description><![CDATA[PDC 2008, Day #4, Session #3, 1 hr 15 mins Allison Klein I jumped off the Azure track (starting to b]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><em>PDC 2008, Day #4, Session #3, 1 hr 15 mins</em></p>
<p><em>Allison Klein</em></p>
<p>I jumped off the Azure track (starting to be a bit repetitive) and next went to a session focused on Direct3D.</p>
<p>Despite the title, this session really had nothing to do with Windows 7, other than the fact that it talked a  lot about Direct3D 11, which will be included in Windows 7 and available for Windows Vista.</p>
<p><strong>Direct3D 10</strong></p>
<p>Direct3D 10 is the currently shipping version, and supported by most (all?) modern video cards, as well as integrated graphics chips.  I’m not entirely sure, but I think that Direct3D 10 shipped out-of-the-box with Windows Vista.  It is also available for Windows XP.</p>
<p>Allison spent about half of the talk going through things that are different in Direct3D 10, as compared with Direct3D 9.</p>
<p>I’m not inclined to rehash all of the details.  (I’ll include a link to Allison’s slide deck when it is available).</p>
<p>The main takeaway was that it’s very much worth programming to the v10 API, as opposed to the v9 API.  Some of the reasons for this include:</p>
<ul>
<li>Much more consistent behavior, across devices</li>
<li>Cleaner API</li>
<li>Elimination of large CAPS (device capability) matrix, for a more consistent experience across devices</li>
<li>Built-in driver that allows D3D10 to talk to D3D9 hardware</li>
<li>Addition of WARP 10 software rasterizer, to support devices that don’t support WDDM directly.  This is actually quite a bit faster than earlier software-only implementations</li>
</ul>
<p><strong>Direct3D 11</strong></p>
<p>In the second half of her talk, Allison talked about the advances coming in Direct3D 11.  She mentioned that D3D11 will ship with Windows 7 and also be available for Windows Vista.</p>
<p>Again, the details are probably more appropriate for a game developer.  (See the slide deck).  But the high level points are:</p>
<ul>
<li>Direct3D 11 is a strict superset of 10&#8212;there are no changes to existing 10 features</li>
<li>Better support for character authoring, for denser meshes and more detailed characters</li>
<li>Addition of tessellation to the rendering pipeline, for better performance and quality</li>
<li>Much more scalable multi-threading support.
<ul>
<li>Much more flexibility in what can be distributed across threads</li>
</ul>
</li>
<li>Dynamically linking in custom shaders</li>
<li>Introduction of object-oriented features (interfaces/classes) to HLSL</li>
<li>New block compression</li>
<li>Direct3D11 will be available in the Nov 2008 SDK</li>
</ul>
<p><strong>Futures</strong></p>
<p>Finally, Allison touched briefly on some future directions that the Direct3D is thinking about.</p>
<p>The main topic that she talked about here was in potentially using the GPU to perform highly parallel general purpose compute intensive tasks.  The developer would use HLSL to write a “compute shader”, which would then get sent to the GPU to do the work.  As an example, she talked about using this mechanism for post-processing of an image.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Session – Services Symposium: Enterprise Grade Cloud Applications]]></title>
<link>http://stuff.seans.com/2008/11/01/session-%e2%80%93-services-symposium-enterprise-grade-cloud-applications/</link>
<pubDate>Sat, 01 Nov 2008 12:41:15 +0000</pubDate>
<dc:creator>Sean</dc:creator>
<guid>http://stuff.seans.com/2008/11/01/session-%e2%80%93-services-symposium-enterprise-grade-cloud-applications/</guid>
<description><![CDATA[PDC 2008, Day #4, Session #2, 1 hr 30 mins Eugenio Pace My second session on Thursday was a continua]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><em>PDC 2008, Day #4, Session #2, 1 hr 30 mins</em></p>
<p><em>Eugenio Pace</em></p>
<p>My second session on Thursday was a continuation of the cloud services symposium from the first session.  There was a third part to the symposium, which I did not attend.</p>
<p>The presenter for this session, Eugenio, was not nearly as good a presenter as Gianpaolo from the previous session.  So it was a bit less dynamic, and harder to stay interested.</p>
<p>The session basically consisted of a single demo, which illustrated some of the possible solutions to the Identity, Monitoring, and Integration challenges mentioned in the previous session.</p>
<p><strong>Identity</strong></p>
<p>Eugenio pointed out the problems involved in authentication/authorization.  You don’t want to require the enterprise users to have a unique username/password combination for each service that they use.  And pushing out the enterprise (e.g. Active Directory) credential information to the third party service is not secure and creates a management nightmare.</p>
<p>The proposed solution is to use a central (federated) identity system to do the authentication and authorization.  This is the purpose of the Azure Access Control service.</p>
<p><strong>Management</strong></p>
<p>The next part of the demo showed how Azure supports remote management, on the part of IT staff at an individual customer site, of their instance of your application.  The basic things that you can do remotely include:</p>
<ul>
<li>Active real-time monitoring of application health</li>
<li>Trigger administrative actions, based on the current state</li>
</ul>
<p>The end result (and goal) is that you have the same scope of control over your application as you’d have if it were on premises.</p>
<p><strong>Application Integration</strong></p>
<p>Finally, Eugenio did some demos related to “process integration”&#8212;allowing your service to be called from a legacy service or system.  This demo actually woke everyone up, because Eugenio brought an archaic green-screen AS400 system up in an emulator and proceeded to have it talk to his Azure service.</p>
<p><strong>Takeaways</strong></p>
<p>The conclusions were recommendations to both IT organizations and ISVs:</p>
<ul>
<li>Enterprise IT organization
<ul>
<li>Don’t settle for sub-optimal solutions</li>
<li>Tap into the benefits of Software+Services</li>
</ul>
</li>
<li>ISV
<ul>
<li>Don’t give them an excuse to reject your solution</li>
<li>Make use of better tools, frameworks, and services</li>
</ul>
</li>
</ul>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Session – Services Symposium: Expanding Applications to the Cloud]]></title>
<link>http://stuff.seans.com/2008/11/01/session-%e2%80%93-services-symposium-expanding-applications-to-the-cloud/</link>
<pubDate>Sat, 01 Nov 2008 12:30:56 +0000</pubDate>
<dc:creator>Sean</dc:creator>
<guid>http://stuff.seans.com/2008/11/01/session-%e2%80%93-services-symposium-expanding-applications-to-the-cloud/</guid>
<description><![CDATA[PDC 2008, Day #4, Session #1, 1 hr 30 mins Gianpaolo Carraro As the last day of PDC starts, I’m down]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><em>PDC 2008, Day #4, Session #1, 1 hr 30 mins</em></p>
<p><em>Gianpaolo Carraro</em></p>
<p>As the last day of PDC starts, I’m down to four sessions to go.  I’ll continue doing a quick blog post on each session, where I share my notes, as well as some miscellaneous thoughts.</p>
<p><strong>The Idea of a Symposium</strong></p>
<p>Gianpaolo started out by explaining that they were finishing PDC by doing a pair of symposiums, each a series of three different sessions.  One symposium focused on parallel computing and the other on cloud-based services.  This particular session was the first in the set of three that addressed cloud services.</p>
<p>The idea of a symposium, explained Gianpaolo, is to take all of the various individual technologies and try to sort of fit the puzzle pieces together, providing a basic context.</p>
<p>The goal was also present some of the experience that Microsoft has gained in early usage of the Azure platform over the past 6-12 months.  He said that he himself has spent the last 6-12 months using the new Services, so he had some thoughts to share.</p>
<p>This first session in the symposium focused on taking existing business applications and expanding them to “the cloud”.  When should an ISV do this?  Why?  How?</p>
<p><strong>Build vs. Buy and On-Premises vs. Cloud</strong></p>
<p>Gianpaolo presented a nice matrix showing the two basic independent decisions that you face when looking for software to fulfill a need.</p>
<ul>
<li><strong>Build vs. Buy </strong>– Can I buy a packaged off-the-shelf product that does what I need?  Or are my needs specialized enough that I need to build my own stuff?</li>
<li><strong>On-Premises vs. Cloud </strong>– Should I run this software on my own servers?  Or host everything up in “the cloud”?</li>
</ul>
<p>There are, of course, tradeoffs on both sides of each decision.  These have been discussed ad infinitum elsewhere, but the basic tradeoffs are:</p>
<ul>
<li><strong>Build vs. Buy </strong>– Features vs. Cost</li>
<li><strong>On-Premises vs. Cloud </strong>– Control vs. Economy of Scale</li>
</ul>
<p>Here’s the graph that Gianpaolo presented, showing six different classes of software, based on how you answer these questions.  Note that on the On-Premises vs. Cloud scale, there is a middle column that represents taking applications that you essentially control and moving them to co-located servers.</p>
<p><a href="http://spsexton.files.wordpress.com/2008/11/1-1-matrix.jpg"><img class="alignnone size-full wp-image-383" title="1-1-matrix" src="http://spsexton.wordpress.com/files/2008/11/1-1-matrix.jpg" alt="" width="778" height="330" /></a></p>
<p>This is a nice way to look at things.  It shows that, for each individual software function, it can live anywhere on this graph.  In fact, Gianpaolo’s main point is that you can deploy different pieces of your solution at different spots on the graph.</p>
<p>So the idea is that while you might start off on-premises, you can push your solution out to either a co-located hosting server or to the cloud in general.  This is true of both packaged apps as well as custom-developed software.</p>
<p><strong>Challenges</strong></p>
<p>The main challenge in moving things out of the enterprise is dealing with the various issues that show up now when your data needs to cross the corporate/internet boundary.</p>
<p>There are several separate types of challenges that show up:</p>
<ul>
<li><strong>Identify challenges </strong>– as you move across various boundaries, how does the software know who you are and what you’re allowed to access?</li>
<li><strong>Monitoring and Management challenges </strong>– how do you know if your application is healthy, if it’s running out in the cloud?</li>
<li><strong>Application Integration challenge </strong>– how do various applications communicate with each other, across the various boundaries?</li>
</ul>
<p><strong>Solutions to the Identity Problem</strong></p>
<p>Gianpaolo proposed the following possible solutions to this problem of identity moving across the different boundaries:</p>
<ul>
<li>Federated ID</li>
<li>Claim-based access control</li>
<li>Geneva identity system, or Cardspace</li>
</ul>
<p>The basic idea was that Microsoft has various assets that can help with this problem.</p>
<p><strong>Solutions to the Monitoring and Management Problem</strong></p>
<p>Next, the possible solutions to the monitoring and management problem included:</p>
<ul>
<li>Programmatic access to a “Health” model</li>
<li>Various management APIs</li>
<li>Firewall-friendly protocols</li>
<li>Powershell support</li>
</ul>
<p>Solutions to the Application Integration Problem</p>
<p>Finally, some of the proposed solutions to the application integration problem included:</p>
<ul>
<li>ServiceBus</li>
<li>Oslo</li>
<li>Azure storage</li>
<li>Sync framework</li>
</ul>
<p><strong>The ISV Perspective</strong></p>
<p>The above issues were all from an IT perspective.  But you can look at the same landscape from the perspective of an independent software vendor, trying to sell solutions to the enterprise.</p>
<p>To start with, there are two fundamentally different ways that the ISV can make use of “the cloud”:</p>
<ul>
<li>As a service mechanism, for delivering your services via the cloud
<ul>
<li>You make your application’s basic services available over the internet, no matter where it is hosted</li>
<li>This is mostly a customer choice, based on where they want to deploy</li>
</ul>
</li>
<li>As a platform
<ul>
<li>Treating the cloud as a platform, where your app runs</li>
<li>Benefits are the economy of scale</li>
<li>Mostly an ISV choice</li>
<li>E.g. you could use Azure without your customer even being aware of it</li>
</ul>
</li>
</ul>
<p>When delivering your software as a service, you need to consider things like:</p>
<ul>
<li>Is the feature set available via cloud sufficient?</li>
<li>Firewall issues</li>
<li>Need a management interface for your customers</li>
</ul>
<p><strong>Some Patterns</strong></p>
<p>Gianpaolo presented some miscellaneous design considerations and patterns that might apply to applications deployed in the cloud.</p>
<p><span style="text-decoration:underline;">Cloudbursting</span></p>
<ul>
<li>Design for average load, handling the ‘peak’ as an exception</li>
<li>I.e. only go to the cloud for scalability when you need to</li>
</ul>
<p><span style="text-decoration:underline;">Worker / Queue / Blob Pattern</span></p>
<p>Let’s say that you have a task like encoding and publishing of video.  You can push the data out to the cloud, where the encoding work happens.  (Raw data places in a “blob” in cloud storage).  You then add an entry to a queue, indicating that there is work to be done, and a separate worker process eventually does the encoding work.</p>
<p>This is a nice pattern for supporting flexible scaling&#8212;both the queues and the worker processes could be scaled out separately.</p>
<p><span style="text-decoration:underline;">CAP: Pick 2 out of 3</span></p>
<ul>
<li>Consistency</li>
<li>Availability</li>
<li>Tolerance to network Partitioning</li>
</ul>
<p><span style="text-decoration:underline;">Eventual Consistency (ACID – BASE)</span></p>
<p>The idea here is that we are all used to the ACID characteristics listed below.  We need to guarantee that the data is consistent and correct&#8212;which means that performance likely will suffer.  As an example, we have a process submit data synchronously because we need to guarantee that the data gets to its destination.</p>
<p>But Gianpaolo talked about the idea of “eventual consistency”.  For most applications, while it’s important for your data to be correct and consistent, it’s not necessarily for it to be consistent <em>right now</em>.  This leads to a model that he referred to as BASE, with the characteristics listed below.</p>
<ul>
<li>ACID
<ul>
<li>Atomicity</li>
<li>Consistency</li>
<li>Isolation</li>
<li>Durability</li>
</ul>
</li>
<li>BASE
<ul>
<li>Basically Available</li>
<li>Soft state</li>
<li>Eventually consistent</li>
</ul>
</li>
</ul>
<p><strong>Fundamental Lesson</strong></p>
<p>Basically the main takeaway is:</p>
<ul>
<li>Put the software components in the place that makes the most sense, given their use</li>
</ul>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Estranged Siblings - Silverlight Mobile and the Compact Framework CLR]]></title>
<link>http://anoriginalidea.wordpress.com/2008/11/01/estranged-siblings-silverlight-mobile-and-the-compact-framework-clr/</link>
<pubDate>Sat, 01 Nov 2008 06:24:46 +0000</pubDate>
<dc:creator>anoriginalidea</dc:creator>
<guid>http://anoriginalidea.wordpress.com/2008/11/01/estranged-siblings-silverlight-mobile-and-the-compact-framework-clr/</guid>
<description><![CDATA[&nbsp; At PDC 2008 in the session Microsoft Silverlight 2 for Mobile- Developing for Mobile Devices,]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="123" alt="An illustration that contemplates the cojoined nature of Silverlight and the Compact Framework " src="http://anoriginalidea.files.wordpress.com/2008/11/image5.png?w=205&#038;h=123" width="205" border="0"> </p>
<p>&#160;</p>
<p>At PDC 2008 in the session <a title="Microsoft Silverlight 2 for Mobile- Developing for Mobile Devices" href="http://channel9.msdn.com/pdc2008/PC10/">Microsoft Silverlight 2 for Mobile- Developing for Mobile Devices</a>, Amit Chopra revealed some interesting details about Silverlight Mobile that I haven&#8217;t seen written elsewhere.</p>
<p>The presentation mainly consists of &#8220;here&#8217;s Silverlight running on Windows Mobile&#8221;.&#160;&#160; The interesting bits are at the end.&#160; I dear reader, present these to you here.</p>
<p>&#160;</p>
<p><strong>Compact Framework, small but mighty</strong></p>
<p><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="240" alt="The compact framework, is small yet mighty.  (Some may say mighty ugly...by default) " src="http://anoriginalidea.files.wordpress.com/2008/11/image1.png?w=155&#038;h=240" width="155" border="0"> </p>
<p>The Compact Framework provides a great deal of rich device integration and sheer programmability. It is a pleasure to create software for.&#160; I even think that Compact Framework based applications have been a reason for customers, particularly in the Mobile Fieldworker areas to adopt Windows Mobile devices.</p>
<p>If you&#8217;re a Compact Framework developer like me, you may have been frustrated by the default &#8220;yesterday&#8221; appearance of the System.Windows.Forms forms engine.&#160; It takes a great deal of work to make forms look good.&#160; </p>
<p><strong>Silverlight, a Framework Apart?</strong></p>
<p><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="191" alt="Two frameworks, Silverlight and Compact Framework, so alike, yet so different." src="http://anoriginalidea.files.wordpress.com/2008/11/image2.png?w=207&#038;h=191" width="207" border="0"> </p>
<p>I for one was very excited last year at the thought of a Silverlight (ie WPF) graphics engine being available for Mobile Device development.&#160; I was then saddened to learn that the Silverlight runtime would not be extending the Compact Framework, but would exist in addition to Compact Framework.</p>
<p>This is disappointing news. (I am now showing my disappointed face&#8230;.beware!) It appears that Microsoft (at the moment) seem determined to give Silverlight minimal access to the device.&#160; This is aligned with the idea that Silverlight is only a competitor to traditional Flash app that runs from a Web page.&#160; </p>
<p>Although this may be acceptable for certain kinds of desktop oriented Silverlight applications, I doubt this is a believable use case for mobile developers.&#160; The power of mobility is not only the ability to access data anywhere, but the ability to talk to the features of the device.</p>
<p>In the presentation mentioned at the outset, there was declaration of the intention to support Webcams, accelerometer and other device features in the future, depending on the support for this on other platforms (eg Windows and Mac).&#160; </p>
<p>So, we are restricted to the lowest common denominator.&#160; You may believe this is for technical reasons.&#160; It isn&#8217;t. Because&#8230;.</p>
<p><strong>Silverlight Uses the Compact Framework!</strong></p>
<p><a href="http://anoriginalidea.files.wordpress.com/2008/11/image3.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="151" alt="Diagram of Silverlight Architecture on Windows Mobile" src="http://anoriginalidea.files.wordpress.com/2008/11/image-thumb.png?w=202&#038;h=151" width="202" border="0"></a> </p>
<p>Amit said that the Silverlight runtime for Windows Mobile may be smaller because it may omit certain codecs and it also shares the Compact Framework Clr.&#160;&#160;&#160; He went on to say that the Compact Framework would be a prerequisite to installing the Silverlight runtime.</p>
<p><strong>A new and nobler purpose for Silverlight Mobile</strong></p>
<p><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="240" alt="I give you....Silver-Knight" src="http://anoriginalidea.files.wordpress.com/2008/11/image4.png?w=232&#038;h=240" width="232" border="0"> </p>
<p>It&#8217;s Microsoft&#8217;s belief that targeting Windows Mobile 6.? (Sorry about that WM2003 and 5) and Nokia phones will mean Web users will eschew DHTML and Flash websites for Silverlight ones.&#160;&#160; </p>
<p>With the proliferation of device operating systems (particularly that pesky iPhone) I don&#8217;t think this is a likely scenario.&#160; Do you?&#160; Well do you?</p>
<p>I&#8217;ve I got an idea!&#160; As it&#8217;s unlikely Microsoft will backtrack on their &#8220;one platform everywhere&#8221; philosophy for Silverlight, why not, in addition enable Silverlight as a cutdown WPF for the Compact Framework on Windows Mobile? Microsoft, I know you can!&#160; Doing this would earn the gratitude of all Compact Developers and provide a side benefit to their current Silverlight efforts on Mobile.</p>
<p><strong>Call to Action</strong></p>
<p>If you agree, please add a comment or bookmark this article using the links below, blog about this yourself or email the people at Microsoft.&#160;&#160; Amit said they wanted feedback, lets give it! </p>
<p>(BTW Any physical resemblance between Amit and myself is entirely coincidental, so don&#8217;t say it)</p>
<p>&#160;</p>
<h4>Links</h4>
<p><a title="Microsoft Silverlight 2 for Mobile- Developing for Mobile Devices" href="http://channel9.msdn.com/pdc2008/PC10/">Microsoft Silverlight 2 for Mobile- Developing for Mobile Devices</a></p>
<p><a href="http://blogs.msdn.com/amit_chopra/default.aspx">Amit Chopra&#8217;s Blog</a> (<a href="http://blogs.msdn.com/amit_chopra/contact.aspx">Email</a>) &#8211; WIndows Mobile Program Mananger</p>
<p><a href="http://blogs.msdn.com/giorgio/">Giorgio Sardo&#8217;s Blog</a> (Email: gisardo @ microsoft&#160; com) &#8211; Evangelist for Windows Mobile</p>
<p>&#160;</p>
<p><span class="sbmLink"><br />
<table cellspacing="1" cellpadding="1">
<tbody>
<tr>
<td class="sbmText">Share this post : </td>
<td class="sbmDim"><a class="sbmDim" title="Post it to del.icio.us" href="http://del.icio.us/post?url=http://anoriginalidea.wordpress.com/2008/11/01/estranged-siblings-silverlight-mobile-and-the-compact-framework-clr/&#38;;title=Silverlight Mobile uses the Compact Framework Clr!" target="_blank"><img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/deliciou4.png" border="0"></a>
<td class="sbmDim"><a class="sbmDim" title="Post it to digg" href="http://digg.com/submit?phase=2&#38;url=http://anoriginalidea.wordpress.com/2008/11/01/estranged-siblings-silverlight-mobile-and-the-compact-framework-clr/&#38;title=Silverlight Mobile uses the Compact Framework Clr!" target="_blank"><img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/digg14.png" border="0"></a>
<td class="sbmDim"><a class="sbmDim" title="Post it to dotnetkicks" href="http://www.dotnetkicks.com/kick/?url=http://anoriginalidea.wordpress.com/2008/11/01/estranged-siblings-silverlight-mobile-and-the-compact-framework-clr/&#38;title=Silverlight Mobile uses the Compact Framework Clr!" target="_blank"><img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/CropperCapture154.jpg" border="0"></a>
<td class="sbmDim"><a class="sbmDim" title="Post it to live" href="https://favorites.live.com/quickadd.aspx?marklet=1&#38;mkt=en-us&#38;url=http://anoriginalidea.wordpress.com/2008/11/01/estranged-siblings-silverlight-mobile-and-the-compact-framework-clr/&#38;title=Silverlight Mobile uses the Compact Framework Clr!" target="_blank"><img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/live4.png" border="0"></a>
<td class="sbmDim"><a class="sbmDim" title="Post it to reddit!" href="http://reddit.com/submit?url=http://anoriginalidea.wordpress.com/2008/11/01/estranged-siblings-silverlight-mobile-and-the-compact-framework-clr/&#38;title=Silverlight Mobile uses the Compact Framework Clr!" target="_blank"><img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/reddit4.png" border="0"></a>
<td class="sbmDim"><a class="sbmDim" title="Post it to technorati!" href="http://technorati.com/faves/?add=http://anoriginalidea.wordpress.com/2008/11/01/estranged-siblings-silverlight-mobile-and-the-compact-framework-clr/&#38;title=Silverlight Mobile uses the Compact Framework Clr!" target="_blank"><img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/technora4.png" border="0"></a></td>
</tr>
</tbody>
</table>
<p></span></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Saiba como foi o PDC 2008!]]></title>
<link>http://winexperience.wordpress.com/2008/10/31/saiba-como-foi-o-pdc-2008/</link>
<pubDate>Fri, 31 Oct 2008 22:44:04 +0000</pubDate>
<dc:creator>Ricardo Luis</dc:creator>
<guid>http://winexperience.wordpress.com/2008/10/31/saiba-como-foi-o-pdc-2008/</guid>
<description><![CDATA[No site do Baboo há um artigo que faz &#8216;uma geral&#8217; sobre o PDC2008 que aconteceu essa sem]]></description>
<content:encoded><![CDATA[No site do Baboo há um artigo que faz &#8216;uma geral&#8217; sobre o PDC2008 que aconteceu essa sem]]></content:encoded>
</item>
<item>
<title><![CDATA[Session – Building Mesh-Enabled Web Applications Using the Live Framework]]></title>
<link>http://stuff.seans.com/2008/10/31/session-%e2%80%93-building-mesh-enabled-web-applications-using-the-live-framework/</link>
<pubDate>Fri, 31 Oct 2008 17:33:01 +0000</pubDate>
<dc:creator>Sean</dc:creator>
<guid>http://stuff.seans.com/2008/10/31/session-%e2%80%93-building-mesh-enabled-web-applications-using-the-live-framework/</guid>
<description><![CDATA[PDC 2008, Day #3, Session #5, 1 hr 15 mins Arash Ghanaie-Sichanie Throughout the conference, I bounc]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><em>PDC 2008, Day #3, Session #5, 1 hr 15 mins</em></p>
<p><em>Arash Ghanaie-Sichanie</em></p>
<p>Throughout the conference, I bounced back and forth between Azure and Live Mesh sessions.  I was trying to make sense of the difference between them and understand when you might use one vs. the other.</p>
<p>I understand that Azure Services is the underlying platform that Live Services, and Live Mesh, are built on.  But at the outset, it still wasn’t quite clear what class of applications Live Services were targeted at.  Which apps would want to use Live Services and which would need to drop down and use Azure?</p>
<p>I think that after Arash’s talk, I have a working stab at answering this question.  This is sort of my current understanding, that I’ll update as things become more clear.</p>
<p>Question: When should I use Live Services / Live Mesh ?</p>
<p>Answer:</p>
<ul>
<li>Create a Live Mesh application (Mesh-enabled) if your customers are currently, or will become, live.com customers.</li>
<li>Otherwise, use Azure cloud-based services outside of Live, or the other services built on top of Azure:
<ul>
<li>Azure storage services</li>
<li>Sync Framework</li>
<li>Service Bus</li>
<li>SQL Data Services</li>
</ul>
</li>
</ul>
<p>Unless I’m missing something, you can’t make use of features of the Live Operating Environment, either as a web application or a local desktop client, unless your application is registered with Live.com, and your user has added your application to his account.</p>
<p>The one possible loophole that I can see is that you might just have your app always authorize, for all users, using a central account.  That account could be pre-created and pre-configured.  Your application would then use the same account for all users, enabling some of the synchronization and other options.  But even this approach might not work&#8212;it’s possible that any device where local Mesh data is to be stored needs to be registered with that Live account and so your users wouldn’t normally have the authorization to join their devices to your central mesh.</p>
<p><strong>Three Takeaways</strong></p>
<p>Arash listed three main takeaways from this talk:</p>
<ul>
<li>Live Services add value to different types of applications</li>
<li>Mesh-enabled web apps extend web sites to the desktop</li>
<li>The Live Framework is a standards-based API, available to all types of apps</li>
</ul>
<p><strong>How It All Works</strong></p>
<p>The basic idea is to start with a “Mesh-enabled” web site.  This is a web site that delivers content from the user’s Mesh, including things like contacts and files.  Additionally, the web application could store all of its data in the Mesh, rather than on the web server where it is hosted.</p>
<p>Once a web application is Mesh-enabled, you have the ability to run it on various devices.  You basically create a local client, targeted at a particular platform, and have it work with data through the Live Framework API.  It typically ends up working with a cached local copy of the data, and the data is automatically synchronized to the cloud and then to other devices that are running the same application.</p>
<p>This basically implements the Mesh vision that Ray Ozzie presented first at Mix 2008 in Las Vegas and then again at PDC 2008 in Los Angeles.  The idea is that we move a user’s data into the cloud and then the data follows them around, no matter what device they’re currently working on.  The Mesh knows about a user’s:</p>
<ul>
<li>Devices</li>
<li>Data, including special data like Contacts</li>
<li>Applications</li>
<li>Social graph  (friends)</li>
</ul>
<p><strong>The User’s Perspective</strong></p>
<p>The user must do a few things to get your application or web site pointing at his data.  As a developer, you send him a link that lets him go sign up for a Live.com account and then register your application in his Mesh.  Registration, from the user’s perspective, is a way for him to authorize your application to access his Mesh-based data.</p>
<p>Again, it’s required that the user has, or get, a Live.com account.  That’s sort of the whole idea&#8212;we’re talking about developing applications that run on the Live platform.</p>
<p><strong>Run Anywhere</strong></p>
<p>There is still work to be done, on the part of the developer, to be able to run the application on various devices, but the basic choices are:</p>
<ul>
<li>Locally, on a client PC or Mac</li>
<li>In a web browser, anywhere</li>
<li>From the Live Desktop itself, which is hosted in a browser</li>
</ul>
<p>(In the future, with Silverlight adding support for running Silverlight-sandboxed apps outside of the browser, we can imagine that as a fourth option for Mesh-enabled applications).</p>
<p><strong>The Developer’s Perspective</strong></p>
<p>In addition to building the mesh application, the developer must also register his application, using the Azure Services Portal.  Under the covers, the application is just an Azure-based service.  And so you can leverage the Azure standard goodies, like running your service in a test mode and then deploying/publishing it.</p>
<p>One other feature that is made available to Mesh application authors is the ability to view basic Analytics data for your application.  Because the underlying Mesh service is aware of your application, wherever it is running, it can collect data about usage.    The data is “anonymized”, so you can’t see data about individual users, but can view general metrics.</p>
<p>Arash talked in some detail about the underlying security model, showing how a token is granted to the user/application.</p>
<p><strong>Conclusions </strong></p>
<p>Mesh obviously seems a good fit for some applications.  You can basically run on a platform that gives you a lot of services, as well as access to useful data that may already exist in a particular user’s Mesh environment.  There is also some potential for cross-application sharing of data, once common data models are agreed upon.</p>
<p>But the choice to develop on the Mesh platform implies a decision to sign your users up as part of the Mesh ecosystem.  While the programming APIs are entirely open, using basic HTTP/REST protocols, the platform itself is owned/hosted/run exclusively by Microsoft.</p>
<p>Not all of your users will want to go through the hassle of setting up a Live account in order to use your application.  What makes it a little worse is that the process for them is far from seamless.  It would be easier if you could hide the Live branding and automate some of the configuration.  But the user must actually log into Live.com and authorize your application.  This is a pretty high barrier, in terms of usability, for some users.</p>
<p>This also means that your app is betting on the success of the Live.com platform itself.  If the platform doesn’t become widely adopted, few users will live (pardon the pun) in that environment.  And the value of hosting your application in that ecosystem becomes less clear.</p>
<p>It remains to be seen where Live as a platform will go.  The tools and the programming models are rich and compelling.  But whether the platform will live up to Ozzie’s vision is still unclear.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Session – Offline-Enabled Data Services]]></title>
<link>http://stuff.seans.com/2008/10/31/session-%e2%80%93-offline-enabled-data-services/</link>
<pubDate>Fri, 31 Oct 2008 16:03:01 +0000</pubDate>
<dc:creator>Sean</dc:creator>
<guid>http://stuff.seans.com/2008/10/31/session-%e2%80%93-offline-enabled-data-services/</guid>
<description><![CDATA[PDC 2008, Day #3, Session #4, 1 hr 15 mins Pablo Castro I attended a second session with Pablo Castr]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><em>PDC 2008, Day #3, Session #4, 1 hr 15 mins</em></p>
<p><em>Pablo Castro</em></p>
<p>I attended a second session with Pablo Castro (the previous one was the session on <a href="http://stuff.seans.com/2008/10/31/session-%E2%80%93-windows-azure-tables-programming-cloud-table-storage/">Azure Tables</a>).  This session focused on a future capability in ADO.NET Data Services that would allow taking data services “offline” and then occasionally synching them with the online data.</p>
<p><strong>Background – Astoria</strong></p>
<p>ADO.NET Data Services was recently released as part of the .NET Framework 3.5 SP1 release.  It was formerly known as project “Astoria”.</p>
<p>The idea of ADO.NET Data Services is to allow creating a data service that lives on the web.  Your data source can be anything&#8212;a SQL Server database, third-party database, or some local data store.  You wrap your data source using the Entity Data Model (EDM) and ADO.NET Data Services Runtime.  Your data is now available over the web using standard HTTP protocols.</p>
<p>Once you have a data service that is exposed on the web, you can access it from any client.  Because the service is exposed using HTTP/REST protocols, you can access your data using simple URIs.  By using URIs, you are able to create/read/update/delete your data (POST/GET/PUT/DELETE in REST terms).</p>
<p>Because we can access the data using HTTP, our client is not limited to a .NET application, but can be any software that knows about the web and HTTP.  So we can consume our data from Javascript, Ruby, or whatever.  And the client could be a web-based application or a thick client somewhere that has access to the web.</p>
<p>If your client is a .NET client, you can use the ADO.NET Data Services classes in the .NET Framework to access your data, rather than having to build up the underlying URIs.  You can also use LINQ.</p>
<p>So that’s the basic idea of using ADO.NET Data Services and EDM to create a data service.  For more info, see:</p>
<ul>
<li><a href="http://msdn.microsoft.com/en-us/data/bb931106.aspx">ADO.NET Data Services home page on MSDN</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/bb399572.aspx">ADO.NET Entity Framework home page on MSDN</a></li>
<li><a href="http://blogs.msdn.com/alexbarn/archive/2006/07/21/674395.aspx">Alex Barnett’s blog</a> post with basic info on REST</li>
</ul>
<p><strong>The Data Synchronization Landscape</strong></p>
<p>Many of the technologies that made an appearance at PDC 2008 make heavy use of data synchronization.  Data synchronization is available to Azure cloud services or to Live Mesh applications.</p>
<p>The underlying engine that handles data synchronization is the <a href="http://msdn.microsoft.com/en-us/sync/default.aspx">Microsoft Sync Framework</a>.  The Sync Framework is a synchronization platform that allows creating sync providers, sitting on top of data that needs to be synchronized, as well as sync consumers&#8212;clients that consume that data.</p>
<p>The basic idea with sync is that you have multiple copies of your data in different physical locations and local clients that make use of that data.  Your client would work with its own local copy of the data and then the Sync Framework would ensure that the data is synched up with all of the other copies of the data.</p>
<p><strong>What’s New</strong></p>
<p>This session talked about an effort to add support in ADO.NET Data Services for offline copies of your Astoria-served data, using the Sync Framework to do data synchronization.</p>
<p>Here are the basic pieces (I’m too lazy to draw a picture).  This is just <strong>one possible scenario</strong>, where you want to have an application that runs locally and makes use of a locally cached copy of your data, which exists in a database somewhere:</p>
<ul>
<li>Data mainly “lives” in a SQL Server database.  Assume that the database itself is <strong>not </strong>exposed to the web</li>
<li>You’ve created a data service using ADO.NET Data Services and EDM that exposes your SQL Server Data to the web using a basic REST-based protocol.  You can now do standard Create/Read/Update/Delete operations through this interface</li>
<li>You might have a web application running somewhere that consumes this data.  E.g. A Web 2.0 site built using Silverlight 2, that allows viewing/modifying the data.  Note that the web server does not have a copy of your data, but goes directly to the data service to read/write its data.</li>
<li>Now you create a thick client that also wants to read/write your data.  E.g. A WPF application.  To start with, you assume that you have a live internet connection and you configure the application to read/write data directly from/to your data service</li>
</ul>
<p>At this point, you have something that you could build today, with the tools in the .NET Framework 3.5 SP1.  You have your data out “in the cloud” and you’ve provided both rich and thin clients that can access the data.</p>
<p>Note: If you were smart, you would have reused lots of code between the thin (Silverlight 2) and thick (WPF) clients.  Doing this gives your users the most consistent GUI between online and offline versions.</p>
<p>Now comes the new stuff.  Let’s say that you have cases when you want your thick WPC client to be able to work even though the Internet connection is not present.  Reasons for doing this include:</p>
<ul>
<li>You&#8217;re working on a laptop, somewhere where you don’t have an Internet connection (e.g. airplane)</li>
<li>You want the application to be more reliable&#8212;i.e. app is still usable even if the connection disappears from time to time</li>
<li>You’d like the application to be slightly better performing.  As it stands, the performance depends on network bandwidth.  (The “lunchtime slowdown” phenomenon).</li>
</ul>
<p>Enter <strong>Astoria Offline</strong>.  This is the set of extensions to Astoria that Pablo described, which is currently not available, but planned to be in Alpha by the end of the year.</p>
<p>With Astoria Offline, the idea is that you get a local cache of your data on the client PC where you’re running your thick client.  Then what happens is the following:</p>
<ul>
<li>Your thick (WPF) application works directly with the offline copy of the data</li>
<li>Performance is improved</li>
<li>Much more reliable&#8212;the data is always there</li>
<li>You initiate synchronization (or set it up from time to time) to synch data back to the online copy</li>
</ul>
<p>This synchronization is accomplished using the new Astoria Offline components.  When you do synchronize, the synchronization is two-ways, which means that you update both copies with any changes that have occurred since you last synched:</p>
<ul>
<li>All data created locally is copied up to the online store</li>
<li>Data created online is copied down</li>
<li>Changes are reconciled&#8212;two-way</li>
<li>Deletions are reconciled&#8212;two-way</li>
</ul>
<p>Pablo did a basic demo of this scenario and it worked just as advertised.  He showed that the client worked with the local copy of the data and that everything synched properly.  He also showed off some early tooling in Visual Studio that will automate much of the configuration that is required for all of this to work.</p>
<p>Interestingly, it looked like in Pablo’s example, the local copy of the data was stored in SQL Server Express.  This was a good match, because the “in the cloud” data was stored in SQL Server.</p>
<p><strong>How Did They Do It?</strong></p>
<p>Jump back to the description of the Microsoft Sync Framework.  Astoria Offline is using the sync framework to do all of the underlying synchronization.  They’ve written a sync provider that knows about the entity data model and interfaces between EDM and the sync framework.</p>
<p><strong>Extensibility Points</strong></p>
<p>I’m a little fuzzier on this area, but I think I have a general sense of what can be done.</p>
<p>Note that the Sync Framework itself is extensible&#8212;you can write your own sync providers, providing synchronized access to any data store that you care to support.  Once you do this, you get 2-way (or more) synchronization between your islands of custom data.</p>
<p>But if I understood Pablo correctly, it sounds like you could do this a bit differently with Astoria Offline in place.  It seems like you could pump your custom data from the Entity Framework, by building a custom data source so that the EDM can see your data.  (EntityFrameworkSyncProvider fits in here somewhere).  I’m guessing that once you serve up your data in a relational manner to the EDM, you can then synch it using the Astoria Offline mechanisms.  Fantastic stuff!</p>
<p><strong>Going Beyond Two Nodes</strong></p>
<p>One could imagine going beyond just an online data source and an offline copy.  You could easily imagine topologies that had many different copies of the data, in various places, all being synched up from time to time.</p>
<p><strong>Other Stuff</strong></p>
<p>Pablo talked about some of the other issues that you need to think about.  Conflict detection and resolution is a big one.  What if two clients both update the same piece of data at the same time?  Classic synchronization issue.</p>
<p>The basic things to know about conflicts, in Astoria Offline, are:</p>
<ul>
<li>Sync Framework provides a rich model for detecting/resolving conflicts, under the covers</li>
<li>Astoria Offline framework will detect conflicts</li>
<li>The application provides “resolution handlers” to dictate how to resolve the conflict
<ul>
<li>Could be locally&#8212;e.g. ask the user what to do</li>
<li>Or online&#8212;automatic policies</li>
</ul>
</li>
</ul>
<p>Pablo also talked briefly about the idea of Incremental Synchronization.  The idea is that you might want to synch things a little bit at a time, in a batch-type environment.</p>
<p>There was a lot more stuff here, and a lot to learn.  Much of the concepts just bubble up from the Sync Framework.</p>
<p><strong>Takeaways</strong></p>
<p>Astoria Offline is potentially game-changing.  In my opinion, of the new technologies presented at PDC 2008, <strong>Astoria Offline is the one most likely to change the landscape</strong>.  In the past, vendors have generally had to pick between working with live data or local data.  Now they can do both.</p>
<p>In the past, the online vs. offline data choice was driven by whether you needed to share the data across multiple users.  So the only apps that went with offline data were the ones that didn’t need to share their data.  What’s interesting about Astoria Offline is that these apps/scenarios  can now use this solution to leave their data essentially local, but <strong>make the data more mobile, across devices</strong>.  Imagine an application that just stores local data that only it consumes.  But now if you want to run that app on multiple machines, you have to manually copy the data&#8212;or move it to a share seen by both devices.  With Astoria Offline, you can set up a sync to an online location that each device synchs to, as needed.  So you can just move from device to device and <strong>your data will just follow you</strong>.  So you can imagine that this makes it much easier to move apps out to mobile devices.</p>
<p>This vision is very similar to what Live Mesh and Live Services promise.  But the difference is that here you don’t need to subscribe to your app and its data living in the MS Live space.  Your data can be in whatever format you like, and nobody needs to sign up with MS Live.</p>
<p><strong>When Can I Get It?</strong></p>
<p>Pablo mentioned a basic timeline:</p>
<ul>
<li>Early Alpha by the end of the year</li>
<li>CTPs later, i.e. next year</li>
</ul>
<p><strong>Resources</strong></p>
<p>In addition to the links I listed above, you might also check out:</p>
<ul>
<li><a href="http://blogs.msdn.com/astoriateam/">Project Astoria Team Blog</a></li>
<li><a href="http://channel9.msdn.com/posts/Andrew+Conrad/Astoria-Design-Walkthrough-Alpha-preview-of-Project-Codename-Astoria-Offline-coming-very-soon/">Design Walkthrough of Astoria Offline</a> Alpha Preview</li>
</ul>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Session – Windows Azure Tables: Programming Cloud Table Storage]]></title>
<link>http://stuff.seans.com/2008/10/31/session-%e2%80%93-windows-azure-tables-programming-cloud-table-storage/</link>
<pubDate>Fri, 31 Oct 2008 01:46:29 +0000</pubDate>
<dc:creator>Sean</dc:creator>
<guid>http://stuff.seans.com/2008/10/31/session-%e2%80%93-windows-azure-tables-programming-cloud-table-storage/</guid>
<description><![CDATA[PDC 2008, Day #3, Session #3, 1 hr 15 mins Pablo Castro, Niranjan Nilakantan Pablo and Niranjan did ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><em>PDC 2008, Day #3, Session #3, 1 hr 15 mins</em></p>
<p><em>Pablo Castro, Niranjan Nilakantan</em></p>
<p>Pablo and Niranjan did a session that went into some more detail on how the Azure Table objects can be used store data in the cloud.</p>
<p><strong>Context</strong></p>
<p>This talk dealt with the “Scalable Storage” part of the new Azure Services platform.  Scalable Storage is a mechanism by which applications can store data “in the cloud” in a highly scalable manner.</p>
<p><strong>Data Types</strong></p>
<p>There are three fundamental data types available to applications using Azure Storage Services:</p>
<ul>
<li>Blobs</li>
<li>Tables</li>
<li>Queues</li>
</ul>
<p>This session focused mainly on Tables.  Specifically, Niranjan and Pablo addressed the different ways that an application might access the storage service programmatically.</p>
<p><strong>Tables</strong></p>
<p>Tables are a “massively scalable” data type for cloud-based storage.  They are able to store billions of rows, are highly available, and “durable”.  The Azure platform takes care of scaling out the data automatically to multiple servers, if necessary.  (With some hints on the part of the developer).</p>
<p><strong>Programming Model</strong></p>
<p>Azure Storage Services are accessed through the ADO.NET Data Services (Astoria).  Using ADO.NET Data Sercices, there are basically two ways for an application to access the service.</p>
<ul>
<li>.NET API   (System.Data.Services.Client)</li>
<li>REST interface   (using HTTP URIs directly)</li>
</ul>
<p><strong>Data Model</strong></p>
<p>It’s important to note that Azure knows nothing about your data model.  It does not store data in a relational database or access it via a relational model.  Rather, you specify a Table that you’d like to store data in, along with a simple query expression for the data that you’d like to retrieve.</p>
<p>A Table represents a single Entity and is composed of a collection of rows.  Each row is uniquely defined by a Row Key, which the developer specifies.  Additionally, the developer specifies a Partition Key, which is used by Azure in knowing how to split the data across multiple servers.</p>
<p>Beyond the Record Key and Partition Key, the developer can add any other properties that she likes, up to a total of 255 properties.  While the Record and Partition Keys must be string data types, the other properties support other data types.</p>
<p><strong>Partitioning</strong></p>
<p>Azure storage services are meant to be automatically scalable, meaning that the data will be automatically spread across multiple servers, as needed.</p>
<p>In order to know how to split up the data, Azure uses a developer-specified Partition Key, which is one of the properties of each record.  (Think “field” or “column”).</p>
<p>The developer should pick a partition key that makes sense for his application.  It’s important to remember two things:</p>
<ul>
<li>Querying for all data having a single value for a partition key is cheap</li>
<li>Querying for data having multiple partition key values is more expensive</li>
</ul>
<p>For example, if your application often retrieves data by date and shows data typically for a single day, then it would make sense to have a CurrentData property in your data entity and to make that property the Partition Key.</p>
<p>The way to think of this is that each possible unique value for a Partition Key represent a “bucket” that will contain one or more records.  If you pick a key that results in only one record per bucket, that would be inefficient.  But if you pick a key that results in a set of records in the bucket that you are likely to ask for together, this will be efficient.</p>
<p><strong>Accessing the Data Programmatically</strong></p>
<p>Pablo demonstrated creating the classes required to access data stored in an Azure storage service.</p>
<p>He started by creating a class representing the data entity to be stored in a single table.  He selected and defined properties for the Partition and Record key, as well as other properties to store any other desired data in.</p>
<p>Pablo also recommended that you create a single class to act as an entry point into the system.  This class then acts as a service entry point for all of the data operations that your client application would like to perform.</p>
<p>He also demonstrated using LINQ to run queries against the Azure storage service.  LINQ automatically created to corresponding URI to retrieve, create, update, or delete the data.</p>
<p><strong>Miscellaneous</strong></p>
<p>Pablo and Niranjan also touched on a few other issues that most applications will deal with:</p>
<ul>
<li>Dealing with concurrent updates  (uses Etag and if-match)</li>
<li>Pagination  (using continuation tokens)</li>
<li>Using Azure Queues for pseudo-transactional deletion of data</li>
</ul>
<p><strong>Takeaways</strong></p>
<p>Pablo and Niranjan demonstrated that it was quite straightforward to access Azure storage services from a .NET application.  It’s also the case that non-.NET stacks could make use of the same services using a simple REST protocol.</p>
<p>It was also helpful to see how Pablo used ADO.NET Data Services to construct a service layer on top of the Azure storage services.  This seems to make consuming the data pretty straightforward.</p>
<p>(I still might have this a little confused&#8212;it’s possible that Astoria was just being used to wrap Azure services, rather than exposing the data in an Astoria-based service to the client.  I need to look at the examples in a little more detail to figure this out).</p>
<p><strong>Original Materials</strong></p>
<p>You can find the video of the session at:  <a href="http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/ES07.wmv">http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/ES07.wmv</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Session – Silverlight Controls Roadmap]]></title>
<link>http://stuff.seans.com/2008/10/31/session-%e2%80%93-silverlight-controls-roadmap/</link>
<pubDate>Fri, 31 Oct 2008 00:47:50 +0000</pubDate>
<dc:creator>Sean</dc:creator>
<guid>http://stuff.seans.com/2008/10/31/session-%e2%80%93-silverlight-controls-roadmap/</guid>
<description><![CDATA[PDC 2008, Day #3, Session #2, 45 mins Shawn Burke Product Unit Manager WPF/Silverlight Controls Team]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><em>PDC 2008, Day #3, Session #2, 45 mins</em></p>
<p><em>Shawn Burke<br />
Product Unit Manager<br />
WPF/Silverlight Controls Team, Microsoft</em></p>
<p>Shawn Burke gave a short talk on the new controls being released this week in the Silverlight Toolkit, on <a href="http://www.codeplex.com/Silverlight">Codeplex</a>.</p>
<p>He started by outlining the general strategy for releasing controls toolkits like this one:</p>
<ul>
<li>Focus on controls for both WPF &#38; Silverlight</li>
<li>Ship out of band from major releases</li>
<li>Ship w/source code</li>
<li>Fold best (and most popular) controls back into the mainline product</li>
</ul>
<p>I also appreciated that Shawn outlined the idea of “quality bands”.  Every control goes through a lifecycle, where it passes through various quality bands before eventually making it into the mainline product:</p>
<ul>
<li>Experimental</li>
<li>Preview   (team is committed to it)</li>
<li>Stable  (equivalent to Beta&#8212;feature-complete)</li>
<li>Mature   (bugs are fixed)</li>
</ul>
<p>This is great&#8212;because the team doesn’t have to wait for the entire toolkit to reach a particular quality level before releasing it to the public.  Instead, they can assess the quality of each control and then make that known.</p>
<p><strong>WPF Parity Controls</strong></p>
<p>Some of the controls included in the toolkit are “parity” controls&#8212;i.e. controls that are already in WPF and now being added to Silverlight.  They include:</p>
<ul>
<li>DockPanel</li>
<li>Expander</li>
<li>TreeView</li>
</ul>
<p><strong>DockPanel </strong>(Stable)</p>
<p>A DockPanel control allows docking child elements to one side of the container.  The last child can be made to fill the remaining space in the container.</p>
<p><a href="http://spsexton.files.wordpress.com/2008/10/3-1-dockpanel.jpg"><img class="alignnone size-full wp-image-352" title="3-1-dockpanel" src="http://spsexton.wordpress.com/files/2008/10/3-1-dockpanel.jpg" alt="" width="832" height="260" /></a></p>
<p><strong>Expander </strong>(Preview)</p>
<p>The Expander allows display overview and details information, with the details view showing when the user clicks on an expander widget.  You can also change the direction that the content expands to (the default is Down).  The first image below shows the default state&#8212;content not yet expanded.  When the user clicks on the expander icon, the Content appears and the icon changes to show an up arrow.</p>
<p><a href="http://spsexton.files.wordpress.com/2008/10/3-2-expander.jpg"><a href="http://spsexton.files.wordpress.com/2008/10/3-3-expander2.jpg"><img class="alignnone size-full wp-image-354" title="3-3-expander2" src="http://spsexton.wordpress.com/files/2008/10/3-3-expander2.jpg" alt="" width="232" height="118" /></a><img class="alignnone size-full wp-image-353" title="3-2-expander" src="http://spsexton.wordpress.com/files/2008/10/3-2-expander.jpg" alt="" width="232" height="134" /></a></p>
<p><strong>TreeView </strong>(Stable)</p>
<p>Shawn indicated that the TreeView was by far the control mostly frequently asked for by users.  It’s behavior is quite familiar&#8212;presenting hierarchical data in a dynamic way and allowing the user to expand/collapse the various nodes.</p>
<p>What’s very cool is that the individual nodes in the tree can be basically anything, and fully styled.</p>
<p><a href="http://spsexton.files.wordpress.com/2008/10/3-4-treeview.jpg"><img class="alignnone size-full wp-image-355" title="3-4-treeview" src="http://spsexton.wordpress.com/files/2008/10/3-4-treeview.jpg" alt="" width="158" height="268" /></a></p>
<p><strong>New Non-WPF Controls</strong></p>
<p>Shawn mentioned a series of controls that are brand new&#8212;i.e. not yet in WPF either.</p>
<ul>
<li>AutoComplete</li>
<li>Charting</li>
<li>NumericUpDown</li>
</ul>
<p><strong>AutoComplete </strong>(Preview)</p>
<p>Auto completion is a pretty standard feature on the web.  The idea is to do some data lookup while a user types and then display relevant/possible matches to what they are typing.  The cool thing is that the content displayed can be nearly anything.  Shawn demonstrated having a DataGrid show up to display selected data.</p>
<p><a href="http://spsexton.files.wordpress.com/2008/10/3-5-autocomplete.jpg"><img class="alignnone size-full wp-image-356" title="3-5-autocomplete" src="http://spsexton.wordpress.com/files/2008/10/3-5-autocomplete.jpg" alt="" width="559" height="193" /></a></p>
<p>Here’s another example, showing some nice styling:</p>
<p><a href="http://spsexton.files.wordpress.com/2008/10/3-6-autocomplete.jpg"><img class="alignnone size-full wp-image-357" title="3-6-autocomplete" src="http://spsexton.wordpress.com/files/2008/10/3-6-autocomplete.jpg" alt="" width="424" height="254" /></a></p>
<p><strong>Charting </strong>(Preview)</p>
<p>Shawn ran some pretty amazing charting demos, showing charts on a web page updating in real-time.  He said that Microsoft partnered with Dundas, long-time vendor of charting controls, to gain some expertise in the area.</p>
<p>Here are some samples:</p>
<p><a href="http://spsexton.files.wordpress.com/2008/10/3-7-chart1.jpg"><img class="alignnone size-full wp-image-358" title="3-7-chart1" src="http://spsexton.wordpress.com/files/2008/10/3-7-chart1.jpg" alt="" width="382" height="214" /></a></p>
<p><a href="http://spsexton.files.wordpress.com/2008/10/3-8-chart2.jpg"><img class="alignnone size-full wp-image-359" title="3-8-chart2" src="http://spsexton.wordpress.com/files/2008/10/3-8-chart2.jpg" alt="" width="448" height="250" /></a></p>
<p><a href="http://spsexton.files.wordpress.com/2008/10/3-9-chart3.jpg"><img class="alignnone size-full wp-image-360" title="3-9-chart3" src="http://spsexton.wordpress.com/files/2008/10/3-9-chart3.jpg" alt="" width="394" height="280" /></a></p>
<p><strong>Summary</strong></p>
<p>There are some wonderful goodies in this new set of Silverlight tools.  It’s clear that as time goes by, Silverlight will just continue to become more mature and the set of controls will continue to grow&#8212;in both WPF and Silverlight.</p>
<p><strong>Original Materials</strong></p>
<p>You can find video of Shawn’s presentation at:  <a href="http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/PC35.wmv">http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/PC35.wmv</a></p>
<p>You can play with “live” samples of the various controls at: <a href="http://silverlight.net/samples/sl2/toolkitcontrolsamples/run/default.html">http://silverlight.net/samples/sl2/toolkitcontrolsamples/run/default.html</a></p>
<p>Charting samples can be found at:  <a href="http://silverlight.net/samples/sl2/toolkitchartsamples/run/default.html">http://silverlight.net/samples/sl2/toolkitchartsamples/run/default.html</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Mais imagens, mais vídeos e mais novidades do Windows 7!]]></title>
<link>http://winexperience.wordpress.com/2008/10/30/mais-imagens-mais-videos-e-mais-novidades-do-windows-7/</link>
<pubDate>Thu, 30 Oct 2008 22:34:20 +0000</pubDate>
<dc:creator>Ricardo Luis</dc:creator>
<guid>http://winexperience.wordpress.com/2008/10/30/mais-imagens-mais-videos-e-mais-novidades-do-windows-7/</guid>
<description><![CDATA[O Baboo divulgou mais novidades sobre o Windows 7 na PDC2008, e agora há mais vídeos mostrando as fu]]></description>
<content:encoded><![CDATA[O Baboo divulgou mais novidades sobre o Windows 7 na PDC2008, e agora há mais vídeos mostrando as fu]]></content:encoded>
</item>
<item>
<title><![CDATA[Microsoft Professional Developers Conference ]]></title>
<link>http://darkchicles.wordpress.com/2008/10/30/microsoft-professional-developers-conference/</link>
<pubDate>Thu, 30 Oct 2008 21:11:40 +0000</pubDate>
<dc:creator>darkchicles</dc:creator>
<guid>http://darkchicles.wordpress.com/2008/10/30/microsoft-professional-developers-conference/</guid>
<description><![CDATA[Woa!! en la Microsoft Professional Developers Conference  Muestran mas a fondo WIndows 7 y con video]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p class="MsoNormal" style="margin:0 0 10pt;"><span lang="ES"><span style="font-family:Calibri;font-size:small;">Woa!! en la Microsoft Professional Developers Conference  Muestran mas a fondo WIndows 7 y con <strong><span style="font-family:&#34;">videos</span></strong> podemos ver lo que sucede tal cual <strong><span style="font-family:&#34;">como si estuviéramos allí</span></strong> (huy esto de la tecnología).</span></span></p>
<p><a href="http://darkchicles.files.wordpress.com/2008/10/v7_0.jpg"></a></p>
<p>Todos los videos los encontramos en: <a href="http://www.microsoft.com/presspass/events/pdc/videos.mspx">http://www.microsoft.com/presspass/events/pdc/videos.mspx</a></p>
</div>]]></content:encoded>
</item>

</channel>
</rss>
