Presentation is loading. Please wait.

Presentation is loading. Please wait.

Windows Presentation Foundation and User Experience … and Atlas Windows Presentation Foundation and User Experience … and Atlas Paul Cross Richard Godfrey.

Similar presentations

Presentation on theme: "Windows Presentation Foundation and User Experience … and Atlas Windows Presentation Foundation and User Experience … and Atlas Paul Cross Richard Godfrey."— Presentation transcript:

1 Windows Presentation Foundation and User Experience … and Atlas Windows Presentation Foundation and User Experience … and Atlas Paul Cross Richard Godfrey Microsoft

2 Agenda Aims Suggest how we have got to here Show where Microsoft are heading as a Roadmap Side-Aims Provide examples and demos for illustration Anti-Aims Too much marketing Show how to use the technologies Dig into implementation depth

3 User Experience 'UX' Matters

4 VHS VCRPVR (Windows MCE) What is UX?

5 The world we are in …


7 The 'Real World' Functionality traditionally comes first Little application development time for 'user experience' beyond prototypes Cost/Value justification breaks down? Developers are not designers! Except some Web developers? Tooling inadequate Flash? CSS?

8 Consumers and the Enterprise Consumer activity drives enterprise activity Windows Office XBox Live GPU Blogging Online Presence – Messenger, Yahoo, AOL, ICQ … …

9 Why does it matter now? It always mattered Information Overload Real Business impact Faster Make business decisions faster on more data Cheaper Reduce costs Less training time (e.g. PoS operators) Reduce errors e.g. restricted UI, User self service Better Enhanced user/customer experience Data visualisation Stickiness e.g. Making it more stylish, approachable

10 Is it a Client or a Server? Through the decades … White coats The 50s: Scheduling Time The 60s: Batch Processing The 70s: Timesharing & OLTP Empowering the user The 80s: PCs & Client-Server User self-service The 90s: Internet & Services Community The 00s: Users & Experiences? Observations Computing power moving to the edge of the network E.g. CPU, GPU Mobile devices Move to user centricity BUT … Issues with deployment, manageability, security … Rhetorical Question: Is the Thin Client era a stop-gap?

11 Switch to Paul

12 Where are we now (or nearly)? 'SOA' in the Enterprise Thin client experience seen as lacking (AJAX) 'Web 2.0' and 'Mashups' in the consumer space Designers engaged in the software lifecycle Tooling directed at the User Experience domain Agile development practices

13 Richness vs. Complexity UX Richness Developer Productivity ASP.NET 2.0 (HTML) Windows Forms 2.0 Direct 3D v9 Availability: 2005 DHTML 1997

14 Web Services & Offline/Online support Developer Productivity Network Dependency Limited User Experience Complex To Develop Easy Change Management Ease of Deployment Tough to Deploy Heavy Footprint DLL Hell Rich User Experience Responsive

15 AJAX/Atlas

16 AJAX is … Not a product Not a specification Not a standard Not a floor cleaning product Not the name of the son of Telamon of Salamis who fought against Troy Not an Amsterdam football team

17 AJAX is Asynchronous Javascript And XML A layer of abstraction between the browser and the web server Available in Internet Explorer since 1999 Improved UX through client-side interactions while data fetches are asynchronous According to some commentators, the future of all web development …

18 Typical Technologies for AJAX XHTML and CSS Document Object Model (DOM) XMLHttpRequest object JavaScript XML XSLT Etc.

19 Demo

20 Atlas Overview End-to-end application framework Enables building rich, interactive DHTML applications Component-oriented framework Imperative and declarative programming models Integrates with ASP.NET Extensible Application framework Custom script components, controls, behaviours Custom server controls Enables complex script-based applications Makes script development more approachable

21 Atlas Approach to Development Application development Simple inclusion of script-based functionality via script components, server controls Separation of UI and behaviour Component development Enables disciplined approach to scripting Framework for encapsulating data and logic Abstracts browser differences Provides building blocks for higher level development

22 Atlas Client Overview Collection of JavaScript (.js) files providing features for object- oriented development Browser compatibility layer Atlas core services Classes, namespaces, event handling, inheritance, data types and object serialisation Base class library String builders, debuggers, timers and tracing Networking layer Communication with web-based services and applications Management of the asynchronous remote method calls UI layer providing a number of Atlas client capabilities: Behaviours The Atlas declarative syntax UI components Data binding Controls layer that creates Atlas-specific controls Data-bound, scripted, drag and drop, auto-completion text box, ordinary form controls, data-bound listview control, navigation controls

23 Atlas Server Overview Includes components in ASP.NET, including web services and server controls Work in conjunction with Atlas client script libraries Leverages the following: Profiles service Membership service Roles service Personalisation services Globalisation and culture-specific services Atlas server controls that resemble ASP.NET server controls Emit Atlas client script Simplify the process of producing Atlas client script E.g. Buttons, labels, options, textboxes, check boxes, hyperlinks and validation controls Special Atlas controls that emit JavaScript to produce client behaviours HoverBehavior control, a ClickBehavior control, a Popup control and an AutocompleteBehavior control

24 ASP.NET Atlas Server Extensions Atlas Server Controls Atlas Server Controls App Services Bridge Web Services Bridge What is Atlas? Atlas Server Framework Atlas Client Framework and Services Atlas Client Script Library Controls, Components Script Core Base Class Library Component Model and UI Framework Browser Compatibility Atlas Client Application Services Local Store Browser Integration Browser Integration ASP.NET 2.0 Application Services Page Framework, Server Controls Page Framework, Server Controls Atlas-enabled ASP.NET Pages Atlas-enabled Web Services (ASMX or WCF) Web Services (ASMX or WCF) HTML, Script, AtlasMarkup AtlasMarkup AtlasServiceProxiesAtlasServiceProxies

25 Windows Presentation Foundation

26 Next generation framework for building smart clients That could only be built by very experienced graphic programmers previously Declarative (XAML) for designers Object-based for developers Available for Windows Vista, Windows XP and Windows Server 2003

27 WinFX Windows Vista Platform

28 Full Trust or Web Browser App (.wba) Click-Once Deployment Windows Presentation Foundation (1)

29 Tool-ableDeclarative XAML Data Driven Windows Presentation Foundation (2)

30 Graphics Designer & Developer in Perfect Harmony Graphics Designer & Developer in Perfect Harmony

31 Unified API for UI, Documents, Media Rich Control Set Control Composition Windows Presentation Foundation (3)

32 Animation Hardware Rendering & Composition Scalable UI Rich Media VectorRaster Text 3DVideo Windows Presentation Foundation (4)

33 Readability Printing Windows Presentation Foundation (5)

34 What couldnt be done easily before? 2-dimensional and 3-dimensional graphics Animation Vector-based graphics the capability to zoom without distorting the image Audio and video integration Fixed and flow format documents Easy data binding, styling, templates WYSIWYG & vector-based printing

35 Windows Presentation Foundation

36 Demo

37 'WPF/E' Web Architecture BrowserApplication / OS Content Package XAML Programming Model 'WPF/E' Runtime Plug-ins Platform Specific Hosting Model Platform Specific Hosting Model JavaScript C# / VB.NET Native API XML - DataFontsVideo/AudioImages Native 'WPF/E' API UI & Rendering Core Platform Abstraction Layer

38 'WPF/E' Features Core Runtime Media Integration Layer Audio Video Composition Engine Base Services XML/XAML Parser Accessibility Property System Input and Eventing Text Imaging 2D Animation Other Services Core Controls Basic Layout Container Controls

39 Summary

40 Richness vs. Complexity UX Richness Developer Productivity ASP.NET 2.0 (HTML) Windows Forms 2.0 Direct 3D v9 Availability: DHTML (AJAX) 1997 ASP.NET 'Atlas' Approachable Direct 3D v10 Richness Windows Presentation Foundation Optimised Richness & Approachable

41 What to use … and when? Atlas Pros Platform reach Extends current web technology (HTML, CSS, etc.) Zero deployment WPF Pros Richest experience Offline capability ClickOnce deployment Text/Fonts Atlas Cons Learning curve (less with) Maintainability (less with) Requires Javascript on browser Restricted by Javascript and HTTP abilities Compatability? Tools lag WPF Cons Microsoft XP & Vista specific (for now) Client footprint required Tools lag

42 2006 H2 Vista Release (inc WPF) 2006 H1 WPF Beta2 Platform Roadmap Now WPF Feb CTP Atlas Mar CTP & Go Live Licence 2007 Expression Interactive Designer VS 'Orcas' (inc Atlas)

43 Next Session – WRK10104 Workshop A look at Atlas and WPF in action Q&A & Debate In Conwy 2 Room

Download ppt "Windows Presentation Foundation and User Experience … and Atlas Windows Presentation Foundation and User Experience … and Atlas Paul Cross Richard Godfrey."

Similar presentations

Ads by Google