Windows Presentation Foundation and User Experience … and Atlas 

Slides:



Advertisements
Similar presentations
Svetlin Nakov Director Training and Consulting Activities National Academy for Software Development (NASD) ASP.NET 3.5 New Features.
Advertisements

Sofia, Bulgaria | 9-10 October Developing An Advanced ASP.NET Server Control With Rich Design-Time Goksin Bakir Yage Ltd Microsoft Regional Director, MEA.
AJAX Development By Gary Mandela December 26,
Microsoft SharePoint 2010 technology for Developers
Getting the Most From Visual Basic 2005 Jay Roxe Lead Product Manager Visual Studio.
Silverlight Presenter: Kevin Grossnicklaus February 25 th, 2010.
Designer’s Challenge – Web-based Applications using Adobe Flex and OpenInsight Clay Borne President CLB IT.
An Introduction To Silverlight Gergely Orosz
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
© 2007 IBM Corporation IBM Emerging Technologies Enabling an Accessible Web 2.0 Becky Gibson Web Accessibility Architect.
What’s New for Smart Client Developers in Visual Studio 2005? Mike Pelton Systems Engineer Microsoft Ltd
Create Windows ® Applications with.NET Allan Knudsen.NET Developer Evangelist Microsoft.
Introduction & Welcome Marcus Perryman Mike Taulty
Microsoft ASP.NET AJAX - AJAX as it has to be Presented by : Rana Vijayasimha Nalla CSCE Grad Student.
It’s always better live. MSDN Events Developing ASP.NET AJAX Controls with Silverlight.
Powerful, modern desktops enable next generation applications Hardware acceleration brings real-time lighting, texturing and rendering Visual.
© 2006 by IBM 1 How to use Eclipse to Build Rich Internet Applications With PHP and AJAX Phil Berkland IBM Software Group Emerging.
Building Offline/Cache Mode Web Apps Using Sync Framework Mike Clark Group Manager Cloud Data Services Team
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
2 A First Look at Windows Presentation Foundation Everywhere ("WPF/E") Joe Stegman Lead Program Manager Microsoft Corporation.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Web 2.0: Concepts and Applications 11 The Web Becomes 2.0.
Philly.NET Hands-on Labs JAVASCRIPT SERIES. July 9: JavaScript Syntax Visual Studio ◦Projects ◦Editors ◦Debugging ◦Script blocks ◦Minification and bundling.
CIS 375—Web App Dev II ASP.NET 2 Introducing Web Forms.
ASP.NET + Ajax Jesper Tørresø ITNET2 F08. Ajax Ajax (Asynchronous JavaScript and XML) A group of interrelated web development techniques used for creating.
Yahoo! User Interface (YUI) Library Natly Mekdara.
ASP.NET Web Application and Development Digital Media Department Unit Credit Value : 4 Essential Learning time : 120 hours Digital.
 Evolution of Smart Client  What is Smart client?  Types of Smart client  Architectural challenges  Smart Client Architecture  Demo application.
Silverlight Technology. Table of Contents 1.What is Silverlight Technology? 2.Silverlight Overview. 2.1 How it works 2.2 Silverlight development tools.
ASP.NET 2.0 : Future Directions Developing Rich Web Applications with “Atlas” 7 & 8 March 2006 ICC Gent Contact me :
The Microsoft Technical Roadshow 2007 Rich Client Development in XAML Mark Johnston Developer & Platform Group Microsoft Ltd
2006 Adobe Systems Incorporated. All Rights Reserved. 1 Adobe RIA Technologies: Adobe Flex 3 Cornel Creanga Platform Evangelist
Ventsislav Popov Crossroad Ltd.. 1. What is AJAX?  AJAX Concept  ASP.NET AJAX Framework 2. ASP.NET AJAX Server Controls  ScriptManager, UpdatePanel.
Presentation advances in.NET Framework 3.0 Mark Johnston Developer & Platform Group, Microsoft Ltd
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Create Windows ® Applications with.NET Carlotta Eaton ( Associate Professor of IST New River Community College Slides by Microsoft.
WebSphere Portal Technical Conference U.S Creating Rich Internet (AJAX) Applications with WebSphere Portlet Factory.
Telerik Software Academy ASP.NET Web Forms Telerik Software Academy ASP.NET Web Forms.
Developing ASP.NET AJAX Controls with Silverlight Barry Gervin Microsoft Regional Director John Bristowe Developer Advisor, Microsoft.
A Lap Around Windows Presentation Foundation. Why hasn’t UX taken off in software? It’s Difficult! Animation 2D 3D Documents Styled Controls Video Windows.
REAL WORLD AJAX MARCH TIBCO USER CONFERENCE / 2004 Enterprise Rich Internet Applications with AJAX Real World Case Studies with TIBCO General Interface™
Building Excellent Internet & Intranet Solutions Dave Remmer Architect Advisor Microsoft Canada
ASP.NET (Active Server Page) SNU OOPSLA Lab. October 2005.
RIA and Web2.0 Development with no Coding Juan Camilo Ruiz Senior Product Manager Development Tools.
Contents : What is Silverlight? Silverlight Overview Silverlight Toolkit Overview Timeline & Packaging Silverlight V1.0 & V1.1 Properties of V1.0 Properties.
Building AJAX-Enabled Applications with ASP.NET AJAX Framework Peter Ty Developer Evangelist Microsoft Hong Kong
1 Välkommen till Sommarkollo Windows Presentation Foundation Per Östman ISV Developer Evangelist
Web 2.0: Concepts and Applications 11 The Web Becomes 2.0.
Microsoft’s Rich Web Technology XAML,WPF and WPF/E July, 2006 John Allwright.
Microsoft Office System UK Developers Conference Radisson Edwardian, Heathrow 29 th & 30 th June 2005.
Introduction to ASP.NET development. Background ASP released in 1996 ASP supported for a minimum 10 years from Windows 8 release ASP.Net 1.0 released.
The Microsoft Technical Roadshow 2007 AJAX Development Mike Ormond Developer & Platform Group Microsoft Ltd
Introduction to Silverlight Development Pavel Yosifovich CTO, Matrix Global; Senior Instructor, Hi-Tech College
Building rich web applications with ASP.NET AJAX Mike Ormond Developer & Platform Evangelism Group, Microsoft Ltd Developer & Platform Evangelism Group,
Introduction ITEC 420.
DotNetSpider Editor Hefin Dsouza
ASP.NET AJAX – Basics Svetlin Nakov Telerik Corporation
Visual Studio Tools for Office 2005
Building beautiful and interactive apps with HTML5 & CSS3
WPF AKEEL AHMED.
.NET and .NET Core 7. XAML Pan Wuming 2017.
Silverlight Technology
Modern web applications
Overview of Silverlight 2
Modern web applications
Choosing between Silverlight and AJAX
Windows Presentation Foundation
Windows Forms in Visual Studio 2005: An in-depth look at key features
Introduction to ASP.NET Parts 1 & 2
Mark Quirk Head of Technology Developer & Platform Group
Presentation transcript:

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

Agenda Aims Side-Aims Anti-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

User Experience 'UX' Matters

http://www.artlebedev.com/ What is UX? VHS VCR PVR (Windows MCE)

The world we are in …

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 Consumer activity drives enterprise activity Windows Office XBox Live GPU Blogging Online Presence – Messenger, Yahoo, AOL, ICQ … …

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

Switch to Paul

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 UX Richness Developer Productivity ASP.NET 2.0 (HTML) Windows Forms 2.0 DHTML Direct 3D v9 Availability: 1997 2005

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

AJAX/Atlas

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 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 XHTML and CSS Document Object Model (DOM) XMLHttpRequest object JavaScript XML XSLT Etc.

Demo

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

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

Windows Presentation Foundation

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

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

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

Graphics Designer & Developer in Perfect Harmony 

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

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

Windows Presentation Foundation (5) Readability Printing

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

Windows Presentation Foundation

Demo

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

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

Summary

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

What to use … and when? WPF Pros Atlas 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

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

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