Client Continuum Dec Fy09

Preview:

Citation preview

Agenda

•10:00-11:15 The Microsoft Client Continuum – Ronan Geraghty

•11:30-13:00 Introducing WPF – Max Knor

•14:00-15:30 Building WPF composite smart clients – Max Knor

•15:45-17:00 Building RIAs with Silverlight 2 – Martha Rotter

The Microsoft Client Continuum

Ronan Geraghty

Developer and Platform Group

http://blogs.msdn.com/ronang

What is User Experience?

all aspects of the end-user's interaction

with the company, its services, and its

products

User Experience

User Experience in Software?

User Experience

Often Comes LastSource: www.userinterfacehallofshame.com

User Experience

Often Comes LastSource: www.userinterfacehallofshame.com

Why is this the case?

Well understood environment

Dedicated development staff

Stable business capabilities

Why is this the case?

Difficult to justify investment

Optimizing for look and feel

Thin gloss over poor experience

•LOB Apps:

•Applications are not revenue drivers

•Applications are not customer-facing

•Focus is on the cost of doing business

User Experience in Software?

Measuring UX ROI

SuccessProductivity

RetentionComprehension

ConversionSatisfactionExcitementRepeat Use

lessons around User Experience

UX

Matters

Design

Matters

One-size

does not

Fit-all

Introducing…

The Microsoft Client

Continuum

.NET platform choices for

creating compelling user

experiences

Microsoft Client Continuum

There are many

touch points

We now interact w/ brands differently

We work differently…

Client continuum capabilities

Mac OSX

Reach

No sandbox

Coded .NET

Out-of browser

Rich

Sandboxed

HTML + AJAX

In-browser

Extended sandbox

Coded in .NET

In-browser

Client continuum capabilitiesP

erm

issio

ns

Ric

hn

ess

Mac OSXAny OS

sandbox

Extended

sandbox

Full Trust

In browser

Client continuum tenets…

Design matters

One Size does not fit all

Common foundation

Client continuum tenets…

Design matters

One Size does not fit all

Common foundation

Project Starts!

Project Complete

Use cases created IT + User / BA

Prototyping IT

Development

of ServicesIT

UI is created IT

User Testing User / BA

I know what we’ll do…

Project Starts!

Use cases created

Prototyping

Development

of Services

UI is created

IT + User / BA

IT

IT

IT

User Testing

Project Complete

User / BAUI Polished UI Designer

Designer / Developer

Collaboration

designers design

designers & developers can

streamline their collaboration

developers add business logic

Developers and designers collaborating

designer developer

XAMLExtensible Application Markup Language

• Declarative

• Toolable

• Code and content are separate

<Button Width="100"> OK

<Button.Background>

LightBlue

</Button.Background>

</Button>

XAMLButton b1 = new Button();

b1.Content = "OK";

b1.Background = new SolidColorBrush(Colors.LightBlue);

b1.Width = 100;

C#Dim b1 As New Button

b1.Content = "OK"

b1.Background = New _SolidColorBrush(Colors.LightBlue)

b1.Width = 100

VB.NET

Client continuum tenets…

Design matters

One Size does not fit all

Common foundation

One-size

does not

Fit-all

One size can not address all scenarios

• Platform capabilities

• Hardware acceleration?

• Shell/native integration?

• Form factor?

• Security

• Browser Sandbox?

• Download size

• Refactoring

• Off-line?

lower latency, rich interactivity, x-browser,tools for ajax-style development

lower latency, rich interactivity, x-browser,tools for ajax-style development

ASP.NET AJAXbenefits

• increased productivity and enhanced

browsing experience

• ubiquitous, cross-platform, standards-

based

• zero installation

• rich tool support, improved developer-

designer workflow

• seamless access to asp.net application

services

Silverlight

• Microsoft's platform for rich, highly interactive Web experiences and RIAs

• Cross-platform (browsers and OSes)• Windows, Mac OS, Linux ("Moonlight")

• Internet Explorer, Firefox, Safari, and more

• XAML-based rendering (subset of WPF XAML)• Implemented as browser plug-in

• Quick, easy install experience

Silverlight Installation Experience

MSCUI Patient MonitorNBC OlympicsHard Rock Memorabilia

Silverlightbenefits

• Richer web experience• Media & RIA

• Cross-platform, cross-browser support

• increase developer productivity

• leverage existing code base and skills

Deep Zoom

• Bandwidth optimized navigation of large

images

• Smooth Zoom and pan transitions

http://memorabilia.hardrock.com

Silverlight Media Stack

• In the box codec

• VC-1

• H.264 (announced)

• Adaptive Streaming

• Media Markers

• PlayReady DRM

• Rendered on

software

• Optimized for multi-

core

HTML integration

• Two way data

• Events

• DOM inspection

Demo - Silverlight

• Unify UI, media, graphics and

documents

• Take full advantage of the graphical

power of the PC

• Easy, low-impact deployment options

• Integration with Office and Windows

• Compatibility with Silverlight for web

and devices

Within twelve months of launch, 20% of Global ISVs had already adopted WPF for at least one production application

Engine

Framework

Integration

ibloks media mash-upsnorthface kiosk appnew york times digital content

Windows Presentation Foundation

(WPF)benefits

• deliver visually stunning smart client

experiences through ui, media, and

documents

• increase developer-designer

productivity

• leverage existing code base and skill

set

• derive business value

AutoCAD 2009Using WPF for application chrome: ribbon, action recorder and QuickView Status:

Shipping

Trial: http://usa.autodesk.com/adsk/servlet/index?siteID=123112&id=2704278

Lawson M3 Smart Client

Lawson’s flagship application for manufacturing and distribution companiesStatus: Shipping

Case study: http://www.frogdesign.com/pdf/frog_design_lawson.pdf

WPF Strengths

Windows Integration

Shell (Gadgets, Sideshow, System

Tray)

File Associations

Desktop Stickiness (Start Menu, System Tray)

Local Search Provider

Native APIs

Instrumentation and Logging

Office Integration

Outlook

OBAs

Phone Integration

Full Hardware Access

DirectX Acceleration

Full Threading And Scheduling APIs

Tablet, Touch, Webcam and other

Input Modes

Accessibility Aids

Security and Encryption

Power Management

Offline Support

Disconnected Scenarios

Sync Frameworks

Caching

File System Access

Other Scenarios

3D

Rich Typography

International Character Sets

Flow Documents

Demo - WPF

Client continuum tenets…

Design matters

One Size does not fit all

Common foundation

A .NET foundation

• Developer productivity

• Existing skills

• Reusing existing code

• Decrease costs

• Accelerate Time to

Market

• Better applications

SilverlightDeep Zoom WMV HTML interop

From .NET to Silverlight

Windows Presentation Foundation

Windows Communication

Foundation

Windows Workflow

Foundation

Windows CardSpace

.NET Framework 3.0

.NET Framework 3.5

LINQ ASP .NET 3.5 CLR Add-insLanguage

Enhancements

.NET Framework 2.0

Windows Forms

ASP

Base Class Library

ADO.NETWeb

Services

Networking

Socket/HTTP

Create

LeadQualified?

Retire

Lead

Create

Opportunity

Create

QuoteClosed?

Complete

Sale

Create Invoice

CRM ERP

Real World Information Work

Get specs from

customer

Validate specs with Tech Sales

Estimate custom design

Cost out the

solution

Decide discount strategy

Assemble

proposed

response

Approve proposed response

Unstructured

Office As A Web Service Client

Dassault PLM Integration

Tools for any skill level

Demo - OBA

Deploying .NET Applications

.NET Applications pre-requisites

5 MB, one-time •.NET Framework 3.5

•70 MB, one-time

Mac OSX

Deploying applications

• Silverlight

• Application does not install but gets cached

• Runs in browser’s sandbox

• WPF

• ClickOnce

• Installs application, per user

• XBAP

• Application does not install but gets cached

• Runs in the browser

• Runs in a sandbox

• MSI

.NET Client profile SKU

.NET 3.5 SP1

.NET 3.0 SP2

.NET 2.0 SP2

Full .NET Framework

60 MB download

20+ mins install

.

.NET Client Only Framework

3.5 SPI

subset

3.0 SP2

subset

2.0 SP2

subset

28 MB download

< 8 mins to install

ClickOnce

Web ClickOnce

MSI Client

Reach

“No Touch” Deployment

Low System Impact

Install / Run Per-User

Rich / Interactive

Offline Access

Windows Shell Integration

Per-Machine / Shared Components

Unrestricted Install

A technology for deploying and versioning applications with the power of the client and the

simplicity of the web

Conclusion

• UX Matters!

• User Experience and how we engage with

‘customers’ evolves every day.

• Embracing UX as a competitive advantage.

• Think about how the platform choice,

productivity, and performance will affect

the user

• Look at existing experiences to see if there is an

extensibility option

• Enjoy the cool demos, but don’t forget

the business angle / opportunity

© 2006 microsoft corporation. all rights reserved.this presentation is for informational purposes only. microsoft makes no warranties, express or implied, in this summary.

Recommended