Patrick Malone Senior Developer Evangelist Microsoft Hellas - - PowerPoint PPT Presentation

patrick malone
SMART_READER_LITE
LIVE PREVIEW

Patrick Malone Senior Developer Evangelist Microsoft Hellas - - PowerPoint PPT Presentation

Patrick Malone Senior Developer Evangelist Microsoft Hellas Software Development Trends Differentiated Differentiated User Experience User Experience Business Process Business Process Digital Identity Digital Identity Modeling Modeling


slide-1
SLIDE 1

Patrick Malone

Senior Developer Evangelist Microsoft Hellas

slide-2
SLIDE 2

Service Service-Oriented Oriented Development Development Differentiated Differentiated User Experience User Experience Business Process Business Process Modeling Modeling Digital Identity Digital Identity Management Management

Software Development Trends

slide-3
SLIDE 3

WinFX

The Managed Code The Managed Code Programming Model Programming Model for Windows for Windows

slide-4
SLIDE 4

Windows Presentation Foundation

Unified framework for building Unified framework for building next gen user experiences with next gen user experiences with UI, media and documents UI, media and documents

slide-5
SLIDE 5

“InfoCard”

Technology that simplifies Technology that simplifies and improves the safety of and improves the safety of

  • nline login and authentication
  • nline login and authentication
slide-6
SLIDE 6

Windows Communication Foundation

Unified framework for Unified framework for rapidly building rapidly building service service-oriented applications

  • riented applications
slide-7
SLIDE 7

Programming model, engine Programming model, engine and tools for building and tools for building workflow workflow-enabled applications enabled applications

Windows Workflow Foundation

slide-8
SLIDE 8

Wi Wind ndow

  • ws

s Presen Presentation tation Fo Foun undation dation

slide-9
SLIDE 9

What Is User Experience?

slide-10
SLIDE 10

Ea Ease o e of U f Use

Learn ability Performance Reliability Security Optimized form factors Legibility / Readability Relevance / Contextualization

Ri Richnes ess

Graphics & Media Data Visualization Higher Fidelity Information Globalization Accessibility Hardware & Printing Integration

Measuring UX ROI

(end user behaviors / benefits)

Success Productivity Retention Comprehension Conversion Satisfaction Excitement Repeat Use

User Experience in Software? User Experience in Software?

Windows Vista Windows Vista Office 2007 Office 2007

slide-11
SLIDE 11

User Experience Challenges

Requirement Guidelines Requirement Guidelines Pattern ROI Metrics Pattern ROI Metrics UX Unrecognized As UX Unrecognized As Top Top-Level Requirement Level Requirement ROI Metrics Emerging ROI Metrics Emerging Development Complexity Development Complexity Is A Central Challenge Is A Central Challenge

slide-12
SLIDE 12

Key Scenarios

Next xt Next xt-Gen n Wi Wind ndow

  • ws Sma

Smart rt Cl Client a t app pplicat ation

  • ns:

Gen n Wi Wind ndow

  • ws Sma

Smart rt Cl Client a t app pplicat ation

  • ns:
  • Installed desktop applications
  • Browser applications (XAML Browser Application)
  • Common code base and flexible deployment
slide-13
SLIDE 13

Windows Presentation Foundation

  • Del

Deliver er In Innovative U e User er In Inter erfa faces es

  • In

Increa ease Devel e Develope per-Des Designer er Pr Produ ductivity

  • Achieve

eve Fl Flex exibl ble A e App pplication Depl Deploymen ent

  • Lever

everage Ex e Existing Code de Base and S d Skills Set et

Super uperior UX wit with h UI, , Me Medi dia a & Docum ument nts Super uperior UX wit with h UI, , Me Medi dia a & Docum ument nts

A p produ roducti tive ve, , uni unified d ap approach proach to U to UI, I, m media A p produ roducti tive ve, , uni unified d ap approach proach to U to UI, I, m media an and d d doc

  • cumen

uments to ts to d delive liver un r unmat matched ed UX UX an and d d doc

  • cumen

uments to ts to d delive liver un r unmat matched ed UX UX

slide-14
SLIDE 14

Introducing WPF

slide-15
SLIDE 15

WPF Architecture

Property Engine Input / Eventing System .NET Framework 2.0 Desktop Windows Manager Media Integration Layer DirectX Windows Vista Display Driver (LDDM) Windows Media Foundation Composition Engine Print Spooler

Managed Unmanaged

Application Services Deployment Services Databinding USER INTE TERFACE SERVICES XAML Accessibility Property System Input & Eventing BAS ASE SERVI VICES DOCUMENT T SERVICES Packaging Services XPS Documents Animation 2D 3D Audio Imaging Text Video Effects Composition Engine MEDIA INTE TEGRATI ATION LAYE AYER Controls Layout

Windows Presentation Foundation

XPS XPS Viewer ewer

slide-16
SLIDE 16

Designer-Developer Productivity

  • Micr

crosoft ft Tools for D r Des esigner & er & Micr crosoft ft Tools for D r Des esigner & er & Dev evel elopers pers Dev evel elopers pers

  • Decl

eclar arat ative e Pro Progra ramm mming thro roug ugh XAM XAML Decl eclar arat ative e Pro Progra ramm mming thro roug ugh XAM XAML

  • Third

rd Pa Part rty Tools (e. e.g. A . Aur urora ra by by Third rd Pa Part rty Tools (e. e.g. A . Aur urora ra by by Mobi bifo form rm, Z , ZAM 3D 3D by by El Elect ectri ric Rai c Rain) Mobi bifo form rm, Z , ZAM 3D 3D by by El Elect ectri ric Rai c Rain)

Desi sign gners rs desi sign gn Desi sign gners rs desi sign gn

With th XAML d designe gners & & With th XAML d designe gners & & deve velop

  • pers can

an streaml amline ne deve velop

  • pers can

an streaml amline ne the their c collab abor

  • rat

ation

  • n

the their c collab abor

  • rat

ation

  • n

Developers rs add busi siness l ss logi gic Developers rs add busi siness l ss logi gic

slide-17
SLIDE 17

Declarative Programming Through XAML

XAML = ML = E Ext xtensible App pplicat ation Ma n Mark rkup Langu up Languag age XAML = ML = E Ext xtensible App pplicat ation Ma n Mark rkup Langu up Languag age

  • Easily toolable, declarative markup
  • Code and content are separate
  • Can be rendered in the browser / standalone application

<Bu <Button n Width=" h="100" 100"> > OK <Bu <Button.Ba n.Background nd> Li Light htBl Blue </ </But Button.Bac n.Backgr ground und> </Bu </Button> n>

XAM AML

Bu Button n b1 1 = new new Bu Button( n(); b1.C 1.Cont ntent ent = = "OK"; b1.Ba 1.Background nd = = new new SolidColorBr Brus ush( h(Colors.Li s.Light ghtBl Blue) ue); b1.W 1.Width = = 100; 100;

C# C#

Dim m b1 As New New Bu Button b1.C 1.Cont ntent ent = = "OK" b1.Ba 1.Background nd = = Ne New w _ SolidColorBr Brus ush( h(Colors.Li s.Light ghtBl Blue) ue) b1.W 1.Width = = 100 100

VB.NET .NET

slide-18
SLIDE 18

Developer-Designer Collaboration

slide-19
SLIDE 19

Controls, Templates, Styles & Resources, Layouts, Animation

Ani Animati tion, Tri , Trigg ggers, rs, Ti Timelines

<St

StackPanel el> <St StackPanel el.T .Tri riggers> ers> <EventTrigger RoutedEvent=“Button.Click"> <EventTri rigger.A er.Actions> <Beg eginSt Storyboard> <BeginSt Storyboard.S .Story ryboard rd> <St Storyboard> <ColorAnimation To="Yellow" Duration="0:0:0.5“ Storyboard.T .Target etName="T "TheB eBrush sh" " Storyboard.T .Target etPro ropert erty="C "Color" r" /> /> <DoubleA eAnimation To="45" Dura ration="0 "0:0:2" Storyboard.T .Target etName="L "Lower erEllipseT seTra ransf sform" " Storyboard.T .Target etPro ropert erty="A "Angle" e" /> ... ... </St /StackPanel el.T .Tri riggers ers> … remainder of contents of StackPanel, including x:Name'd TheBrush and LowerEllipseTransform … </St /StackPanel el>

UI S I Serv rvices

  • Tem

empl plates es

  • Layout
  • Controls Library
  • Styles

es and Re d Resources es

  • Annotation

Templated Button

slide-20
SLIDE 20

Data ata Bindi inding ng

  • UI

I ca can be bound to to CLR o R objects a cts and XML

  • Dependency p

cy pro roperti rties ca s can a also b be b bound to to AD ADO.NE .NET a and o

  • bjects

cts a associ ssociate ted with th Web Serv Service ces a s and Web pro roperti rties

  • So

Sort, f rt, filte ter, a r, and g gro roup vi views ca s can b be g genera rate ted o

  • n to

top o

  • f th

the d data

  • Da

Data ta te templates c s can be applied to to data ta

Layout & Da Databinding

<StackPanel el> <La Label el>Sel elec ect A Cu Customer mer</Label el> <Li ListBo Box Name= e="my myLi ListBo Box" Ba Backgrou

  • und="Honey

eyDe Dew" Items emsSource= e="{Bi Binding {StaticRes esou

  • urce my

myDataSource}} e}}" </Li ListBo Box> </StackPanel el>

Bindi ding Target Bindi ding Sour urce

De Depend endenc ency Objec ect De Depend endenc ency Objec ect Objec ect Objec ect De Depend endenc ency Proper erty Proper erty

TwoWa Way On OneWa eWay On OneWa eWayToSo Sourc rce

slide-21
SLIDE 21

2D Graphics, 3D Graphics, Imaging

3D Graphics 3D Graphics

slide-22
SLIDE 22

ClearType & Antialiasing

Sub Sub-pixel positioning & natural widths pixel positioning & natural widths

slide-23
SLIDE 23

New Fonts For WPF In Vista

slide-24
SLIDE 24

<Bo <Border rder Widt dth= h="40 400" 0" Border rderBrus ush=" ="Gre reen" en" Border rderThi hicknes ness="9 "9"> "> <St <Stac ackPan anel el> <M <Medi ediaEl Element ent So Sourc urce="aero. "aero.wmv" " /> /> <But <Button>H n>Hel ello</B </But utton> n> </St </Stac ackPan anel el> </B </Border rder>

Audio & Video

  • Formats: WMV, MPEG, Some AVIs
  • Can be synchronized with animations
  • Windows Media Foundation used to instantiate playback machinery into

a DirectShow graph

slide-25
SLIDE 25

New Document Technologies

slide-26
SLIDE 26

UI, Media & Document Services

slide-27
SLIDE 27

Interoperability

Incrementally embrace WPF, while Incrementally embrace WPF, while preserving existing investments. preserving existing investments. WPF - Windows Forms Interoperability WPF - HWNDs

slide-28
SLIDE 28

WPF Summary

Deliver Innovative User Interfaces Deliver Innovative User Interfaces Increase Developer Increase Developer-Designer Productivity Designer Productivity Achieve Flexible Application Deployment Achieve Flexible Application Deployment Leverage Existing Code Base & Skill Set Leverage Existing Code Base & Skill Set

slide-29
SLIDE 29

WPF Resources

  • WPF @ Windows Vista Developer Center

http://msdn.microsoft.com/windowsvista/building/presentatio n/

  • WPF/WinFX Community Site

http://www.winfx.com

  • Microsoft Expression

www.microsoft.com/expression

slide-30
SLIDE 30
  • Core component of Windows Vista
  • Down-level Windows XP and Windows Server 2003
  • Consistent development experience

Q2 Q3 Q1 2006 Q2 Q4 Q1 2005 Q3 Q4

B1 CTP V1 RTM

WinFX Ship Schedule and Vehicle

slide-31
SLIDE 31
  • Get started with Visual Studio 2005
  • Download WinFX
  • Give us feedback

WinFX – Take the Next Step

slide-32
SLIDE 32
slide-33
SLIDE 33