![Page 1: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/1.jpg)
Scott HanselmanPrincipal Program ManagerCommunity LiaisonMicrosoft Corporation
.NET Framework: Overview
& Apps for Babies
TL49
![Page 2: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/2.jpg)
What’s useful in .NET 3.5What’s useful in .NET 4.0See how things fit together
Demystify complexityEschew obfuscation
EdutainSuggest other Sessions
The Goal of This Session
XX02YY03
Sessions with Deeper Detail
![Page 3: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/3.jpg)
![Page 4: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/4.jpg)
![Page 5: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/5.jpg)
BabySmash!
Scott Hanselman
Demo
![Page 6: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/6.jpg)
![Page 7: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/7.jpg)
BabySmash Co-Op
![Page 8: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/8.jpg)
BabySmash Baby Clans
![Page 9: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/9.jpg)
BabySmash Baby vs. Baby
![Page 10: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/10.jpg)
![Page 11: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/11.jpg)
World of BabyCraft
Scott HanselmanPrincipal Program ManagerCommunity LiaisonMicrosoft Corporation
![Page 12: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/12.jpg)
World of BabyCraft
Scott HanselmanPrincipal Program ManagerCommunity LiaisonMicrosoft Corporation
![Page 13: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/13.jpg)
MMORPGBS!w/.NET
Scott HanselmanPrincipal Program ManagerCommunity LiaisonMicrosoft Corporation
![Page 14: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/14.jpg)
![Page 15: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/15.jpg)
BabySmash Client
BabySmashWeb
BabySmashService
Reporting Site w/Charts
BabySmash“Big *ss Table”? DB
JIST: Babies smash, metrics are sent up to the server and the reporting site shows a nice histogram bell curve of what keys are being smashed. Then we take the babies’ money. PayPal FTW!
BabySmashMobile
![Page 16: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/16.jpg)
BabySmash WPF
BabySmash Silverlight
BabySmash
ADO.NET Data Service
Reporting Site ASP.NET
MVC
BabySmash
Surface SQL2k8
JIST: Babies smash, metrics are sent up to the server and the reporting site shows a nice histogram bell curve of what keys are being smashed. Then we take the babies’ money. PayPal FTW!
BabySmash Windows Mobile
Today
![Page 17: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/17.jpg)
Get your copy at the AW Booth!
![Page 18: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/18.jpg)
WebCore
Workflow
DataCommClient
![Page 19: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/19.jpg)
Web Core Workflow
DataCommClient
![Page 20: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/20.jpg)
Client
WPFDeveloper != DesignerData BindingSurface
Deployment ClickOnce (and FireFox) .NET Client Profile
Silverlight 2Silverlight Mobile
![Page 21: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/21.jpg)
Client
![Page 22: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/22.jpg)
Client
![Page 23: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/23.jpg)
Client
LOTS. Can’t tell you, go to the Keynote then to
PC46!
PC46PC07
![Page 24: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/24.jpg)
Client
LOTS Can’t tell you, go to the Keynote then to
PC46!
PC46PC07
![Page 25: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/25.jpg)
Client
LOTS Can’t tell you, go to the Keynote then to
PC46!
PC46PC07
![Page 26: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/26.jpg)
Client
LOTS Can’t tell you, go to the Keynote then to PC46!
PC46PC07
![Page 27: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/27.jpg)
It' s a giant table! With a baby on it!
![Page 28: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/28.jpg)
BabySmash! Surface
Scott Hanselman
Demo
![Page 29: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/29.jpg)
Core
Multi-targetingSide by Side in the
same processCode by Contract
*cough* Spec# *cough*
PC49TL02
![Page 30: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/30.jpg)
public class ExampleClass {
public int ExampleMethod(int n)
{
CodeContract.Requires(n > 0,
"n must be greater than 0");
CodeContract.Ensures(
CodeContract.Result<int>() >= 0,
"Return value must be positive");
//...
}
public IEnumerable<String> Contents
{ get; set; }
[ContractInvariantMethod]
protected void ObjectInvariant() {
CodeContract.Invariant(
CodeContract.ForAll(Contents,
s => s != null));
//...
}
}
Contracts come at the
beginning of
methods.
Precondition
stating that the
input parameter to the
method must be greater than 0 for the
method to
function properly
.
Postcondition
guaranteeing
that the result of
the method will be
positive. Callers
can count
on this.
Developers can provide a string
to be displayed when
the contract
is violated
.
All object
invariants are
contained in a single
method, which
may contain many
calls to CodeContract.ObjectInvariant and no other calls.
Guarantees that
all elements in the
IEnumerable are
not null.
![Page 31: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/31.jpg)
In-process SxS
CLR v2 and CLR v4 activated in the same processNo support for v1.0 and v1.1
New Host APINew Activation Policy
Core
![Page 32: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/32.jpg)
Core
Parallel LINQSystem.NumericsMEF - ComponentModel.CompositionSystem.XamlSystem.Threading
SpinLock, Parallel, LazyInitSystem.IO.MemoryMappedFiles“Dynamic”
TL33TL26TL44
![Page 33: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/33.jpg)
MEF
Scott Hanselman
Demo
![Page 34: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/34.jpg)
My New Friends
![Page 35: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/35.jpg)
My New Friends
![Page 36: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/36.jpg)
My New Friends
![Page 37: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/37.jpg)
Data
LINQ to SQLEntity FrameworkADO.NET Data ServicesSQL 2008
![Page 38: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/38.jpg)
ADO Data Services Semantics
Underlying data model - Entity Data Model - Entities Resources - Associations Links
Operation semantics - Mapping of HTTP methods - GET retrieve resource - POST create resource - PUT update resource - DELETE delete resource
Data
![Page 39: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/39.jpg)
Entity Framework v2
using (NorthwindContext context = new NorthwindContext()){ //--- EF LINQ query with POCO Product var products = from p in context.Products select p; foreach (Product product in products) { //--- Lazy load the Category Console.WriteLine(String.Format("{0}:{1}", product.ProductName, product.Category.CategoryName)); } }
POCO & Lazy Load
SQL Methodsvar people = from e in context.Employees where EdmMethods.Month(e.BirthDate) == EdmMethods.Month(NorthwindContext.MyGetUtcDate()) select e;____________________________________________________________________________________ [EdmFunction("SqlServer", "GETUTCDATE")] public static System.DateTime? MyGetUtcDate() { throw new Exception(); }
• New Stored procedure Capabilities• TVF Support• Query Re-Writing• New n-tier API’s• Model Defined Functions• Template Based Code-Generation
Data
TL20TL07
![Page 40: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/40.jpg)
ADO.NET Data Services v2
Data bound UI Enhanced data binding support in .NET and SL client library
Performance Enhancements Query caching
Working with BLOB content Automatic BLOB deferral Server side media link entry support
Mashups Support microformats in feeds Map Entity properties to ATOM-defined elements
REST interface extensions Server driven paging Expose # results in a set as a URL
Data
TL20TL07
![Page 41: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/41.jpg)
BabySmashSmashy Services Scott Hanselman
Demo
![Page 42: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/42.jpg)
Comm
WCFWeb ServicesUnified StackConsume from Silverlight
RESTServiceModel.SyndicationADO.NET Data Services
Workflow
Workflow&
![Page 43: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/43.jpg)
Host (.exe, IIS, "Dublin", .NET Services, …)
WF Runtime Extensions
Tracking
Persistence
…
Windows Workflow Foundation (WF) 4.0WF programs
coordinate work with minimal ceremony
It’s ART:ActivitiesRuntimeTooling Tooling
VS Designer
VS Debugger
Rehosted Designer
WorkflowActivity Library
![Page 44: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/44.jpg)
Why Workflow?Coordinate Asynchronous WorkWrite Persistable ApplicationsGain Visibility into your
ApplicationCustomizable Vocabulary &
Design Experience
Comm Workflow&
TL17TL06TL21
![Page 45: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/45.jpg)
MEF (Beta)
= CLR+BCLBabySmash Line of
Business
![Page 46: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/46.jpg)
BabySmash!Silverlight 2for Mobile
Scott Hanselman
Demo
PC10
Session with Deeper Detail
![Page 47: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/47.jpg)
Agenda – What is the point of this talk?
![Page 48: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/48.jpg)
Parallel Programming Example
Sequentialvoid MultiplyMatrices(int size, double[,] m1, double[,] m2, double[,] result) { for (int i = 0; i < size; i++) { for (int j = 0; j < size; j++) { result[i, j] = 0; for (int k = 0; k < size; k++) { result[i, j] += m1[i, k] * m2[k, j]; } } } }
Core
![Page 49: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/49.jpg)
Parallel Programming Example
Parallelvoid MultiplyMatrices(int size, double[,] m1, double[,] m2, double[,] result)
{ Parallel.For(0, size, i => { for (int j = 0; j < size; j++) { result[i, j] = 0; for (int k = 0; k < size; k++) { result[i, j] += m1[i, k] * m2[k, j]; } } }); }
Core
![Page 50: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/50.jpg)
MasssivelyParallelBabies
Scott Hanselman
Demo
![Page 51: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/51.jpg)
Web
ASP.NET WebFormsASP.NET MVC (Beta)ASP.NET Dynamic DataASP.NET Ajax
AJAX Control Tookit jQuery
Silverlight 2Hybrids welcome!
System.Web.Routing TL54
Sessions with Deeper Detail
![Page 52: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/52.jpg)
Web
ASP.NET Web Forms 4.0Control over your HTML & ViewStateASP.NET Ajax 4.0 + Templating jQuery embraced, not eatenCharts
ASP.NET Dynamic Data 2.0ASP.NET MVC + Dynamic DataSilverlight 2
Silverlight Toolkit and Controls
![Page 53: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/53.jpg)
ASP.NET > Web Forms
ASP.NET
WebForms
Dynamic Data
MVC
ASP.NET Ajax
![Page 54: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/54.jpg)
TPS Reports (and TPS Charts!)
Scott Hanselman
Demo
![Page 55: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/55.jpg)
DOM interop pre DLR
ScriptObject x = win.CreateInstance("VELatLong",latitude,longitude);
ScriptObject pin = (ScriptObject)map.Invoke("AddPushpin", x);pin.Invoke("SetTitle", title);pin.Invoke("SetDescription", description);map.Invoke("SetCenterAndZoom", x, 7);
Core
![Page 56: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/56.jpg)
DOM interop with DLR
dynamic x = win.New.VELatLong(latitude, longitude);var pin = map.AddPushpin(x);pin.SetTitle(title);pin.SetDescription(description);map.SetCenterAndZoom(x, 7);
Core
TL10TL44
Sessions with Deeper Detail
![Page 57: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/57.jpg)
http://tinyurl.com/bigdemo
Scott Hanselman
Big Final Demo
![Page 58: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/58.jpg)
BabySmash WPF
BabySmash Silverlight
BabySmash
ADO.NET Data Service
Reporting Site ASP.NET
MVC
BabySmash
Surface SQL2k8
JIST: Babies smash, metrics are sent up to the server and the reporting site shows a nice histogram bell curve of what keys are being smashed. Then we take the babies’ money. PayPal FTW!
BabySmash Windows Mobile
Today
![Page 59: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/59.jpg)
DataComm
WebCore
Workflow
Client
![Page 60: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/60.jpg)
DataComm
WebCore
Workflow
Client
![Page 61: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/61.jpg)
DataComm
WebCore
Workflow
ClientData
Comm
Core
Workflow
Client
![Page 62: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/62.jpg)
![Page 63: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/63.jpg)
![Page 64: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/64.jpg)
Kit George and Brad Abrams Grant Archibald - http:/garchibald.com Giorgio Sardo and Amit Chopra Rob Conery Stephen Toub Felix Corke & Richard Griffin – Conchango Robert Levy – Surface John Bowen and Interknowlogy Jason Olson
Credits
![Page 65: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/65.jpg)
Evals & Recordings
Please fill
out your
evaluation for
this session at:
This session will be available as a recording at:
www.microsoftpdc.com
![Page 66: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/66.jpg)
Please use the microphones provided
Q&A
![Page 67: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/67.jpg)
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market
conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
![Page 68: Scott Hanselman Principal Program Manager Community Liaison Microsoft Corporation TL49](https://reader038.vdocument.in/reader038/viewer/2022110101/56649ee15503460f94bf2213/html5/thumbnails/68.jpg)