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

Preview:

Citation preview

Building Data Visualization Applications with WPF

Tim Huckaby

InterKnowlogy, CEO

Microsoft RD & MVP

VPF303

About…

• InterKnowlogy (www.InterKnowlogy.com)● Tim Huckaby, CEO - (TimHuck@InterKnowlogy.com)

● 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

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

Data Visualization

Smart Client Technology Roadmap

Demos, demos, demos!

Session Objectives And Agenda

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

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

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

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

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

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

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

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

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 timh@interknowlogy.com.

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…

3D with WPF

Check out the method level support for

Rotation

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

3D Collaborator Opens AutoCAD *.dwg Files Natively

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

The IHC Catheter Angiography Annotation Application

• 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

Where to go next

• Windows Presentation Foundation Unleashed (WPF)

• by Adam Nathan, Daniel Lehenbauer

• Essential Windows Presentation Foundation (WPF)

• by Chris Anderson

Tim Huckaby, InterKnowlogy

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

• Contact me: Tim Huckaby● E-mail: TimHuck@InterKnowlogy.com

or v-TimHu@Microsoft.com● 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

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!

Recommended