Patrick Malone Senior Developer Evangelist Microsoft Hellas - - PowerPoint PPT Presentation
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
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
WinFX
The Managed Code The Managed Code Programming Model Programming Model for Windows for Windows
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
“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
Windows Communication Foundation
Unified framework for Unified framework for rapidly building rapidly building service service-oriented applications
- riented applications
Programming model, engine Programming model, engine and tools for building and tools for building workflow workflow-enabled applications enabled applications
Windows Workflow Foundation
Wi Wind ndow
- ws
s Presen Presentation tation Fo Foun undation dation
What Is User Experience?
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
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
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
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
Introducing WPF
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
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
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
Developer-Designer Collaboration
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
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
2D Graphics, 3D Graphics, Imaging
3D Graphics 3D Graphics
ClearType & Antialiasing
Sub Sub-pixel positioning & natural widths pixel positioning & natural widths
New Fonts For WPF In Vista
<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
New Document Technologies
UI, Media & Document Services
Interoperability
Incrementally embrace WPF, while Incrementally embrace WPF, while preserving existing investments. preserving existing investments. WPF - Windows Forms Interoperability WPF - HWNDs
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
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
- 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
- Get started with Visual Studio 2005
- Download WinFX
- Give us feedback