Windows presentation foundation and user experience and atlas
Download
1 / 42

- PowerPoint PPT Presentation


  • 125 Views
  • Uploaded on

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 

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '' - jessica-owen


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Windows presentation foundation and user experience and atlas

Windows Presentation Foundation and User Experience … and Atlas 

Paul Cross

Richard Godfrey

Microsoft


Agenda
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



What is ux

http://www.artlebedev.com/

VHS VCR

PVR (Windows MCE)

What is UX?



The real world
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?


Consumers and the enterprise
Consumers and the Enterprise

  • Consumer activity drives enterprise activity

    • Windows

    • Office

    • XBox Live

    • GPU

    • Blogging

    • Online Presence – Messenger, Yahoo, AOL, ICQ …


Why does it matter now
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


Is it a client or a server
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?


Where are we now or nearly
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


Richness vs complexity

Developer Productivity

UX Richness

Richness vs. Complexity

ASP.NET 2.0

(HTML)

Windows

Forms 2.0

DHTML

Direct 3D

v9

1997

2005

Availability:


Windows presentation foundation and user experience and atlas

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



Ajax is
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


Ajax is1
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 …


Typical technologies for ajax
Typical Technologies for AJAX

  • XHTML and CSS

  • Document Object Model (DOM)

  • XMLHttpRequest object

  • JavaScript

  • XML

  • XSLT

  • Etc.



Atlas overview
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


Atlas approach to development
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


Atlas client overview
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


Atlas server overview
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


What is atlas

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



Windows presentation foundation1
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


Windows vista platform

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


Windows presentation foundation 1

Full Trust or

Web Browser App (.wba)

Click-Once Deployment

Windows Presentation Foundation (1)


Windows presentation foundation 2

Declarative XAML

Data Driven

Tool-able

Windows Presentation Foundation (2)



Windows presentation foundation 3

Control Composition

Rich Control Set

Unified API for UI, Documents, Media

Windows Presentation Foundation (3)


Windows presentation foundation 4

Rich Media

Vector

Raster

Video

3D

Text

Animation

Hardware Rendering & Composition

Scalable UI

Windows Presentation Foundation (4)


Windows presentation foundation 5

Readability

Printing

Windows Presentation Foundation (5)


What couldn t be done easily before
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




Wpf e web architecture

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


Wpf e features
'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



Richness vs complexity1

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:


What to use and when
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


Platform roadmap

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)


Next session wrk10104
Next Session – WRK10104

  • Workshop

    • A look at Atlas and WPF in action

    • Q&A & Debate

    • In Conwy 2 Room