1 / 42

Windows Presentation Foundation and User Experience … and Atlas 

Windows Presentation Foundation and User Experience … and Atlas . Paul Cross Richard Godfrey Microsoft. 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 

Download Presentation

Windows Presentation Foundation and User Experience … and Atlas 

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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. http://www.artlebedev.com/ VHS VCR PVR (Windows MCE) What is UX?

  5. The world we are in …

  6. 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?

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

  8. 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

  9. 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?

  10. 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

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

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

  13. AJAX/Atlas

  14. 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

  15. 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 …

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

  17. Demo

  18. 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

  19. 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

  20. 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

  21. 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

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

  23. Windows Presentation Foundation

  24. Windows Presentation Foundation • 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

  25. Presentation Data Communication Windows Presentation Foundation Windows Forms ASP.NET Windows WorkflowFoundation (System.Workflow) Identity and AccessServices(AD-RMS, AD-STS, 'InfoCard') CollaborationServices(People Near Me, …) … Language Integrated Query Documents UI Media 'Atlas' Client Script Framework Application Services Controls Interop Standard Query Operators 'XLinq' (System.XML) 'DLinq' (ADO.NET) … Server Controls 'Atlas' Services Bridge Elements Desktop Window Manager App Services Windows Communication Foundation Page Visual System Objects XML SQL WinFS … (DB2, Oracle, … Designer Services Application Services Composition Engine System.ServiceModel Hardware Rendering Software Rendering Controls Application Hosting Message Binding (WS-*, HTTP/XML, …) Integration Declarative Programming (XAML, Workflow, ASP.NET, …) Contracts (XSL, XSD, WSDL, SDM,… ) Web Services (HTTP, REST, XML-RPC, RSS, WS*, …) Protocols (Pipes, IPvX/Sec, UDP, TCP, SMTP, …) Channel (TCP, Peer, Security, Reliability, …) Base Operating System Services CLR Base Class Libraries Network Class Library Memory Manager Code Execution Loader Security Serialization Application Deployment Engine (Click-Once) Network Services Demand Activation and Protocol Health Hosting Layer PNRP Native WiFi SIP Transactions Storage TCP Listener UDP Listener IPC Listener Identity & Security System Management Services (Event Logs, Tracing, Probes, Auto Update, Admin) GDI/GDI+ Window Manager Global Audio Engine Direct 3DGraphics Virtual Shadow Copy Service File Replication Service Virtual Disk Service Lightweight Transactions TransactionCoordinator Internet Connection Firewall Graphics drivers DDI Input Manager Audio Drivers DirectX Graphics Mini port Protocols Redirectors Distributed File System Filter Manager Cache Manager KernelTransactionManager LoggingService Filter Engine TCP, UDP IPV4, IPV6 IPSEC QOS HTTP Listener Transacted NTFS Universal Data Format FAT 16/32 Plug andPlay MemoryManager PowerManager ConfigManager Process Manager SecurityReference Monitor LPCFacility IO Manager Device Drivers 802.3 802.11 .. Kernel SCSI/FC Hardware Abstraction Layer Windows Vista Platform WinFX

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

  27. Declarative XAML Data Driven Tool-able Windows Presentation Foundation (2)

  28. Graphics Designer & Developer in Perfect Harmony 

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

  30. Rich Media Vector Raster Video 3D Text Animation Hardware Rendering & Composition Scalable UI Windows Presentation Foundation (4)

  31. Readability Printing Windows Presentation Foundation (5)

  32. What couldn’t 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

  33. Windows Presentation Foundation

  34. Demo

  35. Browser Application / OS Content Package Images Fonts Video/Audio XML - Data XAML Programming Model JavaScript Native API C# / VB.NET Plug-ins Platform Specific Hosting Model 'WPF/E' Runtime Native 'WPF/E' API UI & Rendering Core Platform Abstraction Layer 'WPF/E' Web Architecture

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

  37. Summary

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

  39. 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 • WPF Cons • Microsoft XP & Vista specific (for now) • Client footprint required • Tools lag • Atlas Cons • Learning curve (less with) • Maintainability (less with) • Requires Javascript on browser • Restricted by Javascript and HTTP abilities • Compatability? • Tools lag

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

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

More Related