29
Building Data Visualization Applications with WPF Tim Huckaby InterKnowlogy, CEO Microsoft RD & MVP VPF303

Building Data Visualization Applications with WPF Tim Huckaby InterKnowlogy, CEO Microsoft RD & MVP VPF303

Embed Size (px)

Citation preview

Page 1: Building Data Visualization Applications with WPF Tim Huckaby InterKnowlogy, CEO Microsoft RD & MVP VPF303

Building Data Visualization Applications with WPF

Tim Huckaby

InterKnowlogy, CEO

Microsoft RD & MVP

VPF303

Page 2: Building Data Visualization Applications with WPF Tim Huckaby InterKnowlogy, CEO Microsoft RD & MVP VPF303

About…

• InterKnowlogy (www.InterKnowlogy.com)● Tim Huckaby, CEO - ([email protected])

● Custom App Dev / Consulting / Software & Systems Engineering Firm headquartered in Carlsbad, CA

● Microsoft Gold Partner managed in SoCal and Redmond● Design, Architect, Build and Deploy enterprise class applications ● Industry Experts:

• 90% of the company is published• Microsoft .NET Application development for 5+ years!• Microsoft .NET Smart Client pioneers / industry leaders• Information Worker Solutions• Integration / Messaging, B2B / B2C, Wireless / Mobility • Microsoft BizTalk Web Services, Microsoft Active Directory, Security, SSO,

Authorization, Authentication• Solutions on the emerging Microsoft servers• Largest Client: Microsoft

Page 3: Building Data Visualization Applications with WPF Tim Huckaby InterKnowlogy, CEO Microsoft RD & MVP VPF303

WPF & XAML - Intro to Advanced in an hour….

Data Visualization

Smart Client Technology Roadmap

Demos, demos, demos!

Session Objectives And Agenda

Page 4: Building Data Visualization Applications with WPF Tim Huckaby InterKnowlogy, CEO Microsoft RD & MVP VPF303

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

Page 5: Building Data Visualization Applications with WPF Tim Huckaby InterKnowlogy, CEO Microsoft RD & MVP VPF303
Page 6: Building Data Visualization Applications with WPF Tim Huckaby InterKnowlogy, CEO Microsoft RD & MVP VPF303

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 & perf 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

Page 7: Building Data Visualization Applications with WPF Tim Huckaby InterKnowlogy, CEO Microsoft RD & MVP VPF303
Page 8: Building Data Visualization Applications with WPF Tim Huckaby InterKnowlogy, CEO Microsoft RD & MVP VPF303

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

Page 9: Building Data Visualization Applications with WPF Tim Huckaby InterKnowlogy, CEO Microsoft RD & MVP VPF303

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

Page 10: Building Data Visualization Applications with WPF Tim Huckaby InterKnowlogy, CEO Microsoft RD & MVP VPF303
Page 11: Building Data Visualization Applications with WPF Tim Huckaby InterKnowlogy, CEO Microsoft RD & MVP VPF303

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 2005.● 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

Page 12: Building Data Visualization Applications with WPF Tim Huckaby InterKnowlogy, CEO Microsoft RD & MVP VPF303
Page 13: Building Data Visualization Applications with WPF Tim Huckaby InterKnowlogy, CEO Microsoft RD & MVP VPF303

The Peter Kuhn Lab at The Scripps Research Institute (TSRI)

• Research Focus● Early detection and therapy management

of cancer patients● Modulation of protein interactions for

therapeutic intervention

• Projects● Cancer bioengineering partnership● Structural Proteomics of SARS

Page 14: Building Data Visualization Applications with WPF Tim Huckaby InterKnowlogy, CEO Microsoft RD & MVP VPF303

The Problem

• Laboratory Environment● Research teams work in a distributed environment● Manual, paper notebooks and prone to error● Have stove pipe systems which capture data● Status management requires contacting the

researcher directly

• Collaboration Issues● Data Recorded on scraps of paper then re-written

in lab notebooks● Pasting gel/chromatogram pictures in notebooks● Too many crystal image files to keep track of & too big● Manually linking patient information experimental results● No way to electronically search for images

Page 15: Building Data Visualization Applications with WPF Tim Huckaby InterKnowlogy, CEO Microsoft RD & MVP VPF303

The Solution: 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

Page 16: Building Data Visualization Applications with WPF Tim Huckaby InterKnowlogy, CEO Microsoft RD & MVP VPF303
Page 17: Building Data Visualization Applications with WPF Tim Huckaby InterKnowlogy, CEO Microsoft RD & MVP VPF303

Collaborative Molecular Environment

• Architectural Diagram

Custom 3DRendering

LibraryCustomBusiness

LayerLibrary

C-ME Windows Application

WPF

.NET Framework 3.0

WPF Smart Client Application

CustomSite

CreationWeb

Services

MOSSWeb

Services

MOSSWeb

Pages

MOSS Object Model

SharePoint 2007 Server

Launches

Consumes

(root) Research Site[Collaboration Portal]

ProjectSub-site

[Team Site]

1 1

MOSS Sites/Content Database

Site/Content Structure

Root EntityDocument Library

(.pdb files, etc.)

Entity Site Structure

∞Entity

Sub-site[Team Site]

AnnotationDocument Library

(contains context metadata)

AutomaticallyGenerate Team Sites

CollaborativeMolecularEnvironmentArchitecture Diagram

For more information, please contact Tim Huckaby at [email protected].

Page 18: Building Data Visualization Applications with WPF Tim Huckaby InterKnowlogy, CEO Microsoft RD & MVP VPF303

Artifact Control

Artifact Viewer

Image Viewer PDB Viewer

Residue Control

Structure Control

Molecule

Atom Residue

Con

tain

sC

on

tain

s

Con

tain

s

Con

tain

s

Con

tain

s

Contains

Inhe

rits

How the 3d WPF Works…

Page 19: Building Data Visualization Applications with WPF Tim Huckaby InterKnowlogy, CEO Microsoft RD & MVP VPF303

3D with WPF

Check out the method level support for

Rotation

This is why you should have paid attention in high school calculus..

Page 20: Building Data Visualization Applications with WPF Tim Huckaby InterKnowlogy, CEO Microsoft RD & MVP VPF303
Page 21: Building Data Visualization Applications with WPF Tim Huckaby InterKnowlogy, CEO Microsoft RD & MVP VPF303

3D Collaborator Opens AutoCAD *.dwg Files Natively

Page 22: Building Data Visualization Applications with WPF Tim Huckaby InterKnowlogy, CEO Microsoft RD & MVP VPF303

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

Page 23: Building Data Visualization Applications with WPF Tim Huckaby InterKnowlogy, CEO Microsoft RD & MVP VPF303
Page 24: Building Data Visualization Applications with WPF Tim Huckaby InterKnowlogy, CEO Microsoft RD & MVP VPF303

The IHC Catheter Angiography Annotation Application

Page 25: Building Data Visualization Applications with WPF Tim Huckaby InterKnowlogy, CEO Microsoft RD & MVP VPF303
Page 26: Building Data Visualization Applications with WPF Tim Huckaby InterKnowlogy, CEO Microsoft RD & MVP VPF303

• Interactive experiences for devices, PC & Mac platforms

• Strict subset of Windows Presentation Foundation• Lightweight download• Programming model uses XAML + JScript• Access to WPF tooling

Lightweight WPF runtimeLightweight WPF runtime

<XAML> <Button Width="100px"> OK <Button.Background> LightBlue </Button.Background> </Button></XAML>

WPF-based Tools

Page 27: Building Data Visualization Applications with WPF Tim Huckaby InterKnowlogy, CEO Microsoft RD & MVP VPF303

Where to go next

• Windows Presentation Foundation Unleashed (WPF)

• by Adam Nathan, Daniel Lehenbauer

• Essential Windows Presentation Foundation (WPF)

• by Chris Anderson

Page 28: Building Data Visualization Applications with WPF Tim Huckaby InterKnowlogy, CEO Microsoft RD & MVP VPF303

Tim Huckaby, InterKnowlogy

• More info on InterKnowlogy:● www.InterKnowlogy.com

• Contact me: Tim Huckaby● E-mail: [email protected]

or [email protected]● Phone: 760-930-0075 x201● Blog: http://blogs.InterKnowlogy.com/TimHuckaby

• About Tim Huckaby● Microsoft® Regional Director – Southern California● Microsoft® .NET Partner Advisory Council Founder / Member● Microsoft® MVP - .NET● Microsoft® Prescriptive Architecture Group Advisory Council● Microsoft Office® Developer Advisory Council● Microsoft® MSF advisory board member● INETA Speaker – International .NET Users Group Association● Windows and .NET Magazine Advisory Board Member● .NET Developers Journal Magazine Advisory Board Member● Author / Speaker

Page 29: Building Data Visualization Applications with WPF Tim Huckaby InterKnowlogy, CEO Microsoft RD & MVP VPF303

Your Feedback is Important

Please fill out a session evaluation form and either put them in the basket near the exit

or drop them off at the conference registration desk.

Thank you!