2 Building Data Visualization Applications with the Windows Presentation Foundation and SilverLight...and Surface Tim Huckaby CEO, InterKnowlogy Microsoft RD & MVP Session Code: WIN202
3 Abstract: This session is heavily demo-focused to accentuate how the power of the Windows Presentation Foundation (WPF) can be used to visualize data. WPF is the next-generation presentation sub-system for Windows. It provides developers and designers with a unified programming model for building rich Windows smart client user experiences that incorporate UI, media, and documents. WPF uses vector-based graphics rendering, which results in better graphics and presentation for an application. WPF also has other features such as layout, styling, and data binding, which, when you mix with interactivity, enables scenarios such as interactive data visualization. When you put all this together, you have a unified API for various presentation components, such as 2D and 3D documents and declarative programming through XAML, which is a powerful platform for data visualization that can be used to really “light-up” your enterprise applications.
4 About… InterKnowlogy ( Tim Huckaby, CEO ● Custom Application Development / Consulting / Software & Systems Engineering Firm headquartered in Carlsbad, CA ● Design, Architect, Build and Deploy Enterprise Class Applications ● Industry Experts: Most of the employees are published Microsoft.NET Application development since 2000! Microsoft.NET Smart Client pioneers / industry leaders Information Worker Solutions (VSTO & SharePoint) Integration / Messaging, B2B / B2C, Wireless / Mobility Leading Edge: Surface, WPF, Silverlight, SharePoint, OBA, Surface Cutting Edge Solutions on emerging Microsoft technologies Largest Client: Microsoft
5 Data Visualization: WPF & XAML…and Silverlight…and Surface Session Objective: To get you excited by showing you “what you can do” so that you start doing it. Why you need Rich Client Applications Smart Client Technology Roadmap Session Objectives And Agenda Demos, demos, demos!...
6 The Scripps Research Institute: C-me Tim Huckaby CEO, InterKnowlogy Microsoft RD & MVP
7 The Scripps Research Institute: C-ME WPF Smart Client for SharePoint 2007 Collaborative Client 2D & 3D views at a molecular level Leverage the collaborate environment of SharePoint 2007 Provide data in the context of the project not in the context of it’s storage Allow users to drag and drop data into the context of the project Smart client then handles the display & annotations of the underlying storage Allow user’s to add ad-hoc information
8 3D with WPF Check out the method level support for Rotation This is why you should have paid attention in high school calculus..
9 How the 3d WPF Works…
10 Silverlight 43Things.com & InterKnowlogy Wish 43 Tim Huckaby CEO, InterKnowlogy Microsoft RD & MVP
11 What the heck is XAML? Separates the front-end from the back-end Simple declarative programming language suitable for constructing and initializing.NET Objects Usually the most concise way to represent user interfaces (or other hierarchies of objects) Doesn’t need a compile to render The language that almost all WPF related tools emit
12 XAML Demo
13 WPF CRUD – Avalon Patient Monitoring.
WPF – how does it work? Built on Top of Direct 3D Converted to 3D triangles, textures and other Direct3D objects & then rendered by hardware Benefits of hardware acceleration & performance due to work being off-loaded to GPUs (unlike GDI based systems) Ensures the maximum benefit of new hardware and drivers Software rendering pipeline as fallback
15 Simulating the "design to dev" WPF experience with Expression Designer, XAML Cruncher, and Expression Blend
Why WPF? The GDI & USER subsystems were introduced in Windows 1.0 in 1985 OpenGL – Early 90s DirectX – 1995 Goal: Overcome the limits of GDI+ & USER with the productivity of Windows Forms
17 WPF 3D Tim Huckaby CEO, InterKnowlogy Microsoft RD & MVP
18 3D Collaborator Technologies used Rendering Autodesk DWF Toolkit (C++ library) Custom DWF C++/CLI (Managed) wrapper C# WPF 3D rendering User interface Built using WPF XAML skin
WPF FAQ 1. Does WPF enable me to do something I couldn’t have done before? No. Unless you factor in time & money… 2. Is DirectX dead? No. It is more applicable to advanced 3D developers writing hard-core “twitch” games. 3. Are Winforms dead? No. …but it will not be advanced; the last version was 2.0 in.NET WPF / Winforms Bastardization Windows 98 Supports WinForms 4. Does WPF run better on Vista than on XP? Yes. 3D objects only get anti-aliasing on Windows Vista or Later Non-rectangular windows only get hardware acceleration on Vista. Vista has a driver model that helps with resource contention
20 WPF Vision Unified approach to UI, Documents, and Media Integration as part of development and experience Integrated, vector-based composition engine Utilizing the power of the PC throughout the graphics stack Declarative programming Bringing designers directly into application development Ease of deployment Allowing administrators to deploy and manage applications securely
Interactive experiences for devices, PC, & Mac platforms (and others…) Strict subset of Windows Presentation Foundation Lightweight download Programming model uses XAML + JScript Access to WPF tooling Lightweight WPF runtime OK LightBlue WPF-based Tools
22 Silverlight InterKnowlogy & Telerik Demos: Photo Stakr – iZoofari: The San Diego Zoo Telerik Car Configurator Tim Huckaby CEO, InterKnowlogy Microsoft RD & MVP
WPF will be a first class Silverlight host Web + Desktop Scenarios: Silverlight as cross-platform content viewer for WPF Application Silverlight as scaled down WPF application WPF as offline Silverlight Companion application with light- up on desktop Single source control for both web and desktop Same tools, designers, code, markup, … XBAP for richer browser-hosted applications
24 Welcome to the Surface PAC!
Vision Instead of a PC on every desk, now every desk becomes a computer. Microsoft Confidential – Not for Distribution
26 History of Surface The first prototype is presented to Bill Gates A dedicated group is formed, and more than 85 prototypes are developed Microsoft Surface is unveiled to the world The concept of an interactive table is born The look and feel of Surface is finalized Microsoft Confidential – Not for Distribution
27 VitruView Gold Certified Partner InterKnowlogy’s VitruView is a Microsoft Surface 3D Application. It is based on a prototype we built for InterMountain Healthcare – one of the leaders in technology for the healthcare industry. It leverages 3D digital models from Zygote. Zygote is the world’s leader in 3D anatomical modeling and textures. You can see a video of the functionality of the application here: logy.com/Videos/VitruView /default.html
28 InterKnowlogy Surface Highlights
29 Where to go next Windows Presentation Foundation Unleashed (WPF) by Adam Nathan, Daniel LehenbauerAdam NathanDaniel Lehenbauer Essential Windows Presentation Foundation (WPF) by Chris AndersonChris Anderson
30 Where to go…soon… Windows Presentation Foundation A Scenario-Based Approach by Billy Hollis “Early April…I hope…” B. Hollis, 12/7/07 “October…” B. Hollis, 6/3/08
Tim Huckaby, InterKnowlogy More info on InterKnowlogy: Contact me: Tim Huckaby or Phone: Blog : About Tim Huckaby CEO, InterKnowlogy Microsoft ® Regional Director – Southern California Microsoft ®.NET Partner Advisory Council Founder / Member Microsoft ® MVP -.NET Microsoft ® Surface Partner Advisory Council INETA Speaker – International.NET Users Group Association Windows and.NET Magazine Advisory Board Member.NET Developers Journal Magazine Advisory Board Member Author / Speaker
32 Notes In addition to the Walk-in and Title slides, the following slides are required Please add your content and include these in your final presentation NEXT:
Tech·Talks Tech·Ed Bloggers Live SimulcastsVirtual Labs Developer’s Kit, Licenses, and MORE! Resources for Developers
Related Content Hands-on Labs (session codes and titles) Interactive Theater Sessions (session codes and titles) Hands-on Labs (session codes and titles)
Resource 1 Resource 2 Resource 3 Resource 4 Track Resources
Complete an evaluation on CommNet and enter to win!
37 © 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.
38 Agenda Agenda Subtitle Agenda item 1 Agenda subheading Agenda Item 2 Agenda subheading Agenda item 3 Agenda subheading Etc…
39 Notes (hidden) Some speakers at Microsoft like to use this slide for hidden “notes slides”. Delete it if you don’t want to use it. NEXT:
Deadlines & Resources Thank you for committing to speak at Microsoft’s premier event for IT Professionals and Developers. Below is important information regarding your participation as a speaker for Tech·Ed EMEA Important Content Deadlines – submit via emea.msteched.comemea.msteched.com 30 September Upload your session outline and PPTX draft for review. If you have trouble uploading your PPTX, or if your presentation is larger than 30MB, please contact for 17 October Complete a full review of your session content with your track owner by this date 31 October Presentations locked and final submitted. PowerPoint resources available on the Speaker Portal at emea.msteched.comemea.msteched.com Graphics and Images Library (pictures of arrows, devices, people) Listings for Books, Webinars, Websites, and more to help you build a great deck NB Licensing information for any third-party photography or art must be submitted with the PPTX Points of Contact Direct presentation questions to Direct content questions to your Track Owner - full list of track owners is available on the Speaker Portal at emea.msteched.com emea.msteched.com This template is designed for use with Office PowerPoint This template is set to print in color or grayscale, not black and white.
Presentation Outline (hidden slide): Title: Technical Level: Intended Audience: Objectives (what do you want the audience to take away from this session): Presentation Outline (including demos): Speaker Instructions: Complete this slide to assist the Content Team in evaluating your presentation flow, topic coverage, demo integration, and alignment of content to your session title, abstract, and level.
PowerPoint Editing Checklist After your presentation is locked, the editing team will finalize your deck ready for publishing to CommNet. Apply template – backgrounds, colors, positioning, font Verify that required slides are included Remove any non-template logos and graphics from the walk-in slide Correct session title and session code to match session guide Set titles to Title Case and correct widows (widows = single word spilling over to a new line) Replace transition slides with template transition slides Set subtitles to subtitle color, size, and sentence case Correct all type for consistent shadowing Set bullets to template Set software code samples to template code format Correct template application issues as time allows Correct Microsoft product names to follow corporate branding rules Correct misspelled words Remove all comments, hidden slides and speaker notes from slides Set file properties box Set printability in grayscale If time allows, correct slides for readability and consistency If time allows, correct grammar and correct copy to Microsoft style Notify Presentation Manager of any images identified as unlicensed for escalation
43 Video Title
44 Demo Title Name Title Company
45 Announcement Title
46 PowerPoint Template Subtitle color Example of a slide with a subhead Set the slide header to “Title Case” Set subheads in “sentence case” Generally set subhead to 36pt or smaller so it will fit on a single line The subhead color is defined for this template but must be selected; In PowerPoint 2007, it is the fourth font color from the left
47 PowerPoint Guidelines Font, size, and color for text have been formatted for you in the Slide Master Use the color palette shown below See next slide for additional guidelines Hyperlink color: Sample Fill
48 Slide for Showing Software Code Use this layout to show software code The font is Consolas, a monospace font The slide doesn’t use bullets but levels can be indented using the “Increase List Level” icon on the Home menu To use straight quotes " instead of smart quotes ”, do this: 1.Click on the Office Button in the upper left corner 2.At the bottom of the menu, choose PowerPoint Options 3.From the left pane, select Proofing 4.Click on the AutoCorrect Options button 5.Select the AutoFormat As You Type tab, and deselect “Straight quotes” with “smart quotes”. Then Click OK.
49 Table Format Table Title Column 1 Column 2 Column 3 Column 4 Column 5
50 Bar Chart Example
51 Pie Chart Example
52 Summary Call-to-action Key messages Summary of the session Action items for the attendees
53
54 Notes In addition to the Walk-in and Title slides, the following slides are required Please add your content and include these in your final presentation NEXT:
Tech·Talks Tech·Ed Bloggers Live SimulcastsVirtual Labs Developer’s Kit, Licenses, and MORE! Resources for Developers
Related Content Breakout Sessions (session codes and titles) - in collaboration with your track owner, please list any related Breakout Sessions here Interactive Sessions (session codes and titles) - in collaboration with your track owner, please list any related Interactive Sessions here Hands-on Labs (session codes and titles) - in collaboration with your track owner, please list any related HOL Sessions here Other resources (Books, Websites, etc.) - in collaboration with your track owner, please list any other resources relevant to this session Other resources (Books, Websites, etc.) - in collaboration with your track owner, please list any other resources relevant to this session
57 © 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.