Title: Windows Presentation Foundation and User Experience and Atlas
1Windows Presentation Foundation and User
Experience and Atlas ?
- Paul Cross
- Richard Godfrey
- Microsoft
2Agenda
- 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
3User Experience 'UX' Matters
4What is UX?
5The world we are in
6(No Transcript)
7The '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?
8Consumers and the Enterprise
- Consumer activity drives enterprise activity
- Windows
- Office
- XBox Live
- GPU
- Blogging
- Online Presence Messenger, Yahoo, AOL, ICQ
9Why 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
10Is 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
11Switch to Paul
12Where 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
13Richness vs. Complexity
ASP.NET 2.0 (HTML)
Windows Forms 2.0
DHTML
Direct 3D v9
2005
1997
Availability
14(No Transcript)
15AJAX/Atlas
16AJAX 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
17AJAX 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
18Typical Technologies for AJAX
- XHTML and CSS
- Document Object Model (DOM)
- XMLHttpRequest object
- JavaScript
- XML
- XSLT
- Etc.
19Demo
20Atlas 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
21Atlas 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
22Atlas 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
23Atlas 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
24What is Atlas?
Atlas-enabled ASP.NET Pages
HTML, Script, Atlas Markup
Atlas Service Proxies
Web Services (ASMX or WCF)
Atlas Server Framework
Atlas Client Framework and Services
25Windows Presentation Foundation
26Windows 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
27Windows Vista Platform
WinFX
28Windows Presentation Foundation (1)
29Windows Presentation Foundation (2)
30Graphics Designer Developer in Perfect Harmony ?
31Windows Presentation Foundation (3)
32Windows Presentation Foundation (4)
33Windows Presentation Foundation (5)
34What 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
35Windows Presentation Foundation
36Demo
37'WPF/E' Web Architecture
38'WPF/E' Features
Core Runtime
Media Integration Layer
Base Services
Other Services
Core Controls
Text
2D
XML/XAML Parser
Container Controls
Audio
Video
Accessibility
Basic Layout
Imaging
Animation
Input and Eventing
Composition Engine
Property System
39Summary
40Richness vs. Complexity
ASP.NET 2.0 (HTML)
Windows Forms 2.0
DHTML (AJAX)
Direct 3D v9
2005
2006
1997
Availability
41What to use and when?
- WPF Pros
- Richest experience
- Offline capability
- ClickOnce deployment
- Text/Fonts
- Atlas Pros
- Platform reach
- Extends current web technology (HTML, CSS, etc.)
- Zero deployment
- 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
42Platform Roadmap
Expression Interactive Designer VS 'Orcas' (inc
Atlas)
Vista Release(inc WPF)
43Next Session WRK10104
- Workshop
- A look at Atlas and WPF in action
- QA Debate
- In Conwy 2 Room