SlideShare a Scribd company logo
Developing A Better User Experience With "Atlas" Shanku Niyogi Product Unit Manager UI Framework and Services Microsoft Corporation NGW014
“Atlas” At MIX Sessions Monday 3:00  – NGW014 - Developing a Better User Experience with “Atlas”  Tuesday 1:30  – NGW052 - Designing a Better User Experience with AJAX and “Atlas” Tuesday 3:00  – NGW038 - Overview of  Live.com Gadgets Wednesday 10:00  – NGW002 – Building Components and Services for the  Programmable Web Labs @ the Sandbox
Better Web User Experiences Responsive to users Naturally interactive  Personalized for users Connected to the web Immersive beyond the site
“Atlas” Easy-to-use, high-productivity framework  Full integration with server programming model World-class tools for AJAX-style applications Cross-platform, works on all modern browsers A  framework  for building a new  generation of  richer , more  interactive , highly  personalized   standards based  Web applications
Developing With “Atlas”  Server-centric application model Browser Presentation (HTML/CSS) ASP.NET Application Services Page Framework, Server Controls “ Atlas” Script Framework C lient Application Services Component/UI Framework, Controls Server Application Pages UI Behavior (Managed Code) Input Data Updated UI + Behavior Initial Rendering (UI + Behavior)
Developing With “Atlas” Client-centric application model Browser Presentation (HTML/CSS) “ Atlas” Service Proxies UI Behavior (Script) ASP.NET Application Services Page Framework, Server Controls “ Atlas” Script Framework Client Application Services Component/UI Framework, Controls Server Application Pages UI Behavior (Managed Code) Initial Rendering (UI + Behavior) Data Data
Server Or Client Centric? Server-centric web sites and apps Work with existing server application model  Keep core UI/application logic on server Improve latency, interactivity, personalization Client-centric browser applications Fully exploit DHTML in presentation tier Use AJAX for data, services, composition Enable new immersive experiences “ Atlas” provides a great framework for both
Server-Centric Development With “Atlas” And ASP.NET
“Atlas” Server Controls Easily build rich experiences with ASP.NET Application UI and core logic still runs on server Avoid need to master JavaScript and async programming Use AJAX techniques to reduce full roundtrips Enable incremental page UI updates  Examples: data navigation and editing, form validation, auto refresh Fall back for down-level browsers Richer interactivity for existing ASP.NET controls Enrich the client UI experience of web applications Examples: auto-completion, drag-and-drop, tooltips
“Atlas” Server Controls Reducing full roundtrips <Atlas:UpdatePanel>  control Easily define “updatable” regions of a page Server roundtrips become asynchronous  “ Atlas” handles all the infrastructure <atlas:UpdatePanel id=“u1” runat=“server”> <ContentTemplate> <!-- This content can be dynamically updated! -> <asp:Calendar id=“cal1” runat=“server”/> <ContentTemplate> </atlas:UpdatePanel>
Update Panels
“Atlas” Server Controls Adding interactivity “ Atlas” client behaviors Reusable piece of interactive functionality Attach to HTML UI declaratively or in code Examples:  Drag-and-drop Tooltips Popups Auto-complete Easily extend or write your own in Javascript
“Atlas” Server Controls Adding interactivity “ Atlas” control extenders Extend ASP.NET controls with “Atlas” behaviors Encapsulate both client and server behavior Same familiar programming model as ASP.NET server controls <asp:TextBox runat=&quot;server&quot; ID=&quot;TextBox1&quot; /> <atlas:AutoCompleteExtender runat=&quot;server&quot; ID=&quot;AC1&quot;> <atlas:AutoCompleteProperties  TargetControlID=&quot;TextBox1&quot;  ServicePath=&quot;AutoComplete.asmx“ ServiceMethod=&quot;GetWords&quot; Enabled=&quot;true&quot; /> </atlas:AutoCompleteExtender>
Control Extenders
Client-Centric Development With “Atlas”
“Atlas” Script Framework Scenarios Mash-up and composite applications and sites Components and Gadgets (Live.com, Windows Sidebar ) Powerful script framework Rich type system and class library for Javascript Component model and UI framework Rich client-side data access and databinding Easily integrated with server application model Easily consume web services from browser Script access to ASP.NET application services  Server-side bridge to reuse 3 rd  party services
“Atlas” Script Framework Networking A networking stack for asynchronous services  High-level classes for requests/responses Customizable behavior – batching, prioritization, queuing Pluggable data format and wire protocol Uses JSON (JavaScript Object Notation) and REST by default Easy access to server-based services Easily call server-hosted web services  “ Atlas” takes care of proxy generation, plumbing, serialization Automatic serialization of .NET types to and from JavaScript Integrated with ASP.NET application services Autentication, authorization, session state, caching
Networking
“Atlas” Script Framework
“Atlas” Script Framework Component and control model Enables rich encapsulation and reuse For UI behavior For non-visual components – data, services Rich client-side databinding and validation Clean developer/designer workflow UI defined using standard XHTML and CSS Page behavior defined and attached separately “ Atlas” components and controls can be declared procedurally or declaratively
“Atlas” Script Framework Component and control model Search for: <input id=“Query&quot; type=&quot;text&quot; /> <div id=&quot;completionList&quot;></div> ........ function doLoad() { var auto1 = new Web.UI.AutoCompleteBehavior(); auto1.set_completionList($(&quot;completionList&quot;)); auto1.set_serviceURL(&quot;AutoCompleteService. asmx &quot;); auto1.set_serviceMethod(&quot;GetCompletionList&quot;); auto1.set_completionSetCount(15);  auto1.set_completionInterval(500); var  txt1  = new Web.UI.TextBox( document.getElementById (‘ Query '));  txt1 .get_behaviors().add(auto1); txt1 .initialize();  auto1.initialize(); }
“Atlas” Script Framework Component and control model Search for: <input id=“Query&quot; type=&quot;text&quot; /> <div id=&quot;completionList&quot;></div> ........ <script type=&quot;text/xml-script&quot;> <page xmlns:script=&quot;http://schemas.microsoft.com/xml-script/2005&quot;> <components> <textBox id=“Query&quot;> <behaviors> <autoComplete  completionList=&quot;completionList&quot;  serviceURL=&quot;AutoCompleteService.asmx&quot;  serviceMethod=&quot;GetWordList&quot;   completionSetCount=&quot;15&quot;  completionInterval=&quot;500&quot; /> </behaviors> </textBox> </components> </page> </script>
“Atlas” Script Framework Client data Enable rich client-side data scenarios Rich data navigation and visualization Batched data editing Data components Disconnected dataset for Javascript Filtering, sorting, batched updates Integrated with ASP.NET data service ListView client control Present rich data using HTML templates
Client Components And Data
“Atlas” Script Framework Using “Atlas” without ASP.NET
“Atlas” Script Framework Using “Atlas” without ASP.NET Use “Atlas” client script with any server Get the client script files from Program Files directory after installation What ASP.NET provides Great integration with server-centric UI and programming model Browser detection Access to rich set of application services Web services, proxies, and bridges
Using “Atlas” With PHP
How Do I Get Started? “ Atlas” Community Technology Preview Releases every 6-8 weeks Installs on Visual Web Developer 2005 and ASP.NET 2.0 (both available for free) Go Live CTP – build live sites with “Atlas” today! “ Atlas” community site:  http://atlas.asp.net Download the latest bits Tutorials, samples, forums, resources ASP.NET “Atlas” Control Extender Kit and Samples Source code from MIX sessions We want your feedback!
Questions?
 
© 2006 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

More Related Content

PPT
Atlas Php
PPT
Advantages and disadvantages of an ajax based client application
PPT
Ajax workshop
PPTX
SCU Asia System Center: Beyond orchestrator
PDF
ASP.NET Overview - Alvin Lau
PPT
Introduction to ajax
Atlas Php
Advantages and disadvantages of an ajax based client application
Ajax workshop
SCU Asia System Center: Beyond orchestrator
ASP.NET Overview - Alvin Lau
Introduction to ajax

What's hot (20)

PPT
Ajax Presentation
PPTX
PDF
Introduction to ajax
PPTX
Introduction to ajax
PPT
ASP.NET 4.0 Roadmap
PPT
Asynchronous JavaScript & XML (AJAX)
PPT
Lessons
PPT
Lessons from the Trenches: Engineering Great AJAX Experiences
PPTX
Ajax presentation
PPT
Ajax Ppt
PPT
PPTX
Ajax
PPT
An Introduction to Ajax Programming
PPT
PPT
jQuery Ajax
PPTX
ASP .NET MVC - best practices
PPT
Ajax and PHP
PPTX
SharePoint 2010 Application Development Overview
Ajax Presentation
Introduction to ajax
Introduction to ajax
ASP.NET 4.0 Roadmap
Asynchronous JavaScript & XML (AJAX)
Lessons
Lessons from the Trenches: Engineering Great AJAX Experiences
Ajax presentation
Ajax Ppt
Ajax
An Introduction to Ajax Programming
jQuery Ajax
ASP .NET MVC - best practices
Ajax and PHP
SharePoint 2010 Application Development Overview
Ad

Viewers also liked (6)

PPTX
Protecting Online Identities
PPT
Making Your Site Look Great in IE7
PPT
The Windows Live Platform: Build Applications That Have Access to 400 Million...
PPT
The Next Web Now
PPT
Building Components and Services for the Programmable Web
PPT
From HTML to Services: Building a Site for REST, POX, AJAX, RSS, SOAP, and WS...
Protecting Online Identities
Making Your Site Look Great in IE7
The Windows Live Platform: Build Applications That Have Access to 400 Million...
The Next Web Now
Building Components and Services for the Programmable Web
From HTML to Services: Building a Site for REST, POX, AJAX, RSS, SOAP, and WS...
Ad

Similar to Developing a Better User Experience with "Atlas" (20)

PPT
ASP.NET 3.5 SP1 (VSLive San Francisco 2009)
PPT
Introduction To Asp.Net Ajax
PPT
SynapseIndia asp.net2.0 ajax Development
PPT
ASP.NET AJAX with Visual Studio 2008
PPTX
New microsoft office power point presentation
PPT
Intro To Asp Net And Web Forms
PPT
Asp.net architecture
PPT
Ajax: User Experience
PPT
Ajax Ppt 1
PPT
Introduction to Alfresco Surf Platform
PPT
PPT
WSS 3.0 using asp.net 2.0 for extending pages,Server Farms etc..
PPT
Sharepoint
PPTX
Ajax technology
PPT
DevNext - Web Programming Concepts Using Asp Net
PPT
ASP.NET MVC introduction
PPTX
4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo
PPTX
Walther Aspnet4
PPT
ASP.NET 4 and AJAX
ASP.NET 3.5 SP1 (VSLive San Francisco 2009)
Introduction To Asp.Net Ajax
SynapseIndia asp.net2.0 ajax Development
ASP.NET AJAX with Visual Studio 2008
New microsoft office power point presentation
Intro To Asp Net And Web Forms
Asp.net architecture
Ajax: User Experience
Ajax Ppt 1
Introduction to Alfresco Surf Platform
WSS 3.0 using asp.net 2.0 for extending pages,Server Farms etc..
Sharepoint
Ajax technology
DevNext - Web Programming Concepts Using Asp Net
ASP.NET MVC introduction
4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo
Walther Aspnet4
ASP.NET 4 and AJAX

More from goodfriday (20)

PPT
Narine Presentations 20051021 134052
PDF
Triunemar05
PDF
09 03 22 easter
PDF
Holy Week Easter 2009
PDF
Holt Park Easter 09 Swim
PDF
Easter Letter
PDF
April2009
PDF
Swarthmore Lentbrochure20092
PDF
Eastercard2009
PDF
Easterservices2009
PDF
Bulletin Current
PDF
Easter2009
PDF
Bulletin
PDF
March 2009 Newsletter
PDF
Mar 29 2009
PDF
Lent Easter 2009
PDF
Easterpowersports09
PDF
Easter Trading 09
PDF
Easter Brochure 2009
PDF
March April 2009 Calendar
Narine Presentations 20051021 134052
Triunemar05
09 03 22 easter
Holy Week Easter 2009
Holt Park Easter 09 Swim
Easter Letter
April2009
Swarthmore Lentbrochure20092
Eastercard2009
Easterservices2009
Bulletin Current
Easter2009
Bulletin
March 2009 Newsletter
Mar 29 2009
Lent Easter 2009
Easterpowersports09
Easter Trading 09
Easter Brochure 2009
March April 2009 Calendar

Recently uploaded (20)

PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
cuic standard and advanced reporting.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Spectroscopy.pptx food analysis technology
PDF
Electronic commerce courselecture one. Pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Cloud computing and distributed systems.
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Understanding_Digital_Forensics_Presentation.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
Network Security Unit 5.pdf for BCA BBA.
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
MIND Revenue Release Quarter 2 2025 Press Release
cuic standard and advanced reporting.pdf
Review of recent advances in non-invasive hemoglobin estimation
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Spectroscopy.pptx food analysis technology
Electronic commerce courselecture one. Pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Programs and apps: productivity, graphics, security and other tools
Chapter 3 Spatial Domain Image Processing.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
sap open course for s4hana steps from ECC to s4
Diabetes mellitus diagnosis method based random forest with bat algorithm
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Cloud computing and distributed systems.
Reach Out and Touch Someone: Haptics and Empathic Computing
Understanding_Digital_Forensics_Presentation.pptx

Developing a Better User Experience with "Atlas"

  • 1. Developing A Better User Experience With &quot;Atlas&quot; Shanku Niyogi Product Unit Manager UI Framework and Services Microsoft Corporation NGW014
  • 2. “Atlas” At MIX Sessions Monday 3:00 – NGW014 - Developing a Better User Experience with “Atlas” Tuesday 1:30 – NGW052 - Designing a Better User Experience with AJAX and “Atlas” Tuesday 3:00 – NGW038 - Overview of Live.com Gadgets Wednesday 10:00 – NGW002 – Building Components and Services for the Programmable Web Labs @ the Sandbox
  • 3. Better Web User Experiences Responsive to users Naturally interactive Personalized for users Connected to the web Immersive beyond the site
  • 4. “Atlas” Easy-to-use, high-productivity framework Full integration with server programming model World-class tools for AJAX-style applications Cross-platform, works on all modern browsers A framework for building a new generation of richer , more interactive , highly personalized standards based Web applications
  • 5. Developing With “Atlas” Server-centric application model Browser Presentation (HTML/CSS) ASP.NET Application Services Page Framework, Server Controls “ Atlas” Script Framework C lient Application Services Component/UI Framework, Controls Server Application Pages UI Behavior (Managed Code) Input Data Updated UI + Behavior Initial Rendering (UI + Behavior)
  • 6. Developing With “Atlas” Client-centric application model Browser Presentation (HTML/CSS) “ Atlas” Service Proxies UI Behavior (Script) ASP.NET Application Services Page Framework, Server Controls “ Atlas” Script Framework Client Application Services Component/UI Framework, Controls Server Application Pages UI Behavior (Managed Code) Initial Rendering (UI + Behavior) Data Data
  • 7. Server Or Client Centric? Server-centric web sites and apps Work with existing server application model Keep core UI/application logic on server Improve latency, interactivity, personalization Client-centric browser applications Fully exploit DHTML in presentation tier Use AJAX for data, services, composition Enable new immersive experiences “ Atlas” provides a great framework for both
  • 8. Server-Centric Development With “Atlas” And ASP.NET
  • 9. “Atlas” Server Controls Easily build rich experiences with ASP.NET Application UI and core logic still runs on server Avoid need to master JavaScript and async programming Use AJAX techniques to reduce full roundtrips Enable incremental page UI updates Examples: data navigation and editing, form validation, auto refresh Fall back for down-level browsers Richer interactivity for existing ASP.NET controls Enrich the client UI experience of web applications Examples: auto-completion, drag-and-drop, tooltips
  • 10. “Atlas” Server Controls Reducing full roundtrips <Atlas:UpdatePanel> control Easily define “updatable” regions of a page Server roundtrips become asynchronous “ Atlas” handles all the infrastructure <atlas:UpdatePanel id=“u1” runat=“server”> <ContentTemplate> <!-- This content can be dynamically updated! -> <asp:Calendar id=“cal1” runat=“server”/> <ContentTemplate> </atlas:UpdatePanel>
  • 12. “Atlas” Server Controls Adding interactivity “ Atlas” client behaviors Reusable piece of interactive functionality Attach to HTML UI declaratively or in code Examples: Drag-and-drop Tooltips Popups Auto-complete Easily extend or write your own in Javascript
  • 13. “Atlas” Server Controls Adding interactivity “ Atlas” control extenders Extend ASP.NET controls with “Atlas” behaviors Encapsulate both client and server behavior Same familiar programming model as ASP.NET server controls <asp:TextBox runat=&quot;server&quot; ID=&quot;TextBox1&quot; /> <atlas:AutoCompleteExtender runat=&quot;server&quot; ID=&quot;AC1&quot;> <atlas:AutoCompleteProperties TargetControlID=&quot;TextBox1&quot; ServicePath=&quot;AutoComplete.asmx“ ServiceMethod=&quot;GetWords&quot; Enabled=&quot;true&quot; /> </atlas:AutoCompleteExtender>
  • 16. “Atlas” Script Framework Scenarios Mash-up and composite applications and sites Components and Gadgets (Live.com, Windows Sidebar ) Powerful script framework Rich type system and class library for Javascript Component model and UI framework Rich client-side data access and databinding Easily integrated with server application model Easily consume web services from browser Script access to ASP.NET application services Server-side bridge to reuse 3 rd party services
  • 17. “Atlas” Script Framework Networking A networking stack for asynchronous services High-level classes for requests/responses Customizable behavior – batching, prioritization, queuing Pluggable data format and wire protocol Uses JSON (JavaScript Object Notation) and REST by default Easy access to server-based services Easily call server-hosted web services “ Atlas” takes care of proxy generation, plumbing, serialization Automatic serialization of .NET types to and from JavaScript Integrated with ASP.NET application services Autentication, authorization, session state, caching
  • 20. “Atlas” Script Framework Component and control model Enables rich encapsulation and reuse For UI behavior For non-visual components – data, services Rich client-side databinding and validation Clean developer/designer workflow UI defined using standard XHTML and CSS Page behavior defined and attached separately “ Atlas” components and controls can be declared procedurally or declaratively
  • 21. “Atlas” Script Framework Component and control model Search for: <input id=“Query&quot; type=&quot;text&quot; /> <div id=&quot;completionList&quot;></div> ........ function doLoad() { var auto1 = new Web.UI.AutoCompleteBehavior(); auto1.set_completionList($(&quot;completionList&quot;)); auto1.set_serviceURL(&quot;AutoCompleteService. asmx &quot;); auto1.set_serviceMethod(&quot;GetCompletionList&quot;); auto1.set_completionSetCount(15); auto1.set_completionInterval(500); var txt1 = new Web.UI.TextBox( document.getElementById (‘ Query ')); txt1 .get_behaviors().add(auto1); txt1 .initialize(); auto1.initialize(); }
  • 22. “Atlas” Script Framework Component and control model Search for: <input id=“Query&quot; type=&quot;text&quot; /> <div id=&quot;completionList&quot;></div> ........ <script type=&quot;text/xml-script&quot;> <page xmlns:script=&quot;http://schemas.microsoft.com/xml-script/2005&quot;> <components> <textBox id=“Query&quot;> <behaviors> <autoComplete completionList=&quot;completionList&quot; serviceURL=&quot;AutoCompleteService.asmx&quot; serviceMethod=&quot;GetWordList&quot; completionSetCount=&quot;15&quot; completionInterval=&quot;500&quot; /> </behaviors> </textBox> </components> </page> </script>
  • 23. “Atlas” Script Framework Client data Enable rich client-side data scenarios Rich data navigation and visualization Batched data editing Data components Disconnected dataset for Javascript Filtering, sorting, batched updates Integrated with ASP.NET data service ListView client control Present rich data using HTML templates
  • 25. “Atlas” Script Framework Using “Atlas” without ASP.NET
  • 26. “Atlas” Script Framework Using “Atlas” without ASP.NET Use “Atlas” client script with any server Get the client script files from Program Files directory after installation What ASP.NET provides Great integration with server-centric UI and programming model Browser detection Access to rich set of application services Web services, proxies, and bridges
  • 28. How Do I Get Started? “ Atlas” Community Technology Preview Releases every 6-8 weeks Installs on Visual Web Developer 2005 and ASP.NET 2.0 (both available for free) Go Live CTP – build live sites with “Atlas” today! “ Atlas” community site: http://atlas.asp.net Download the latest bits Tutorials, samples, forums, resources ASP.NET “Atlas” Control Extender Kit and Samples Source code from MIX sessions We want your feedback!
  • 30.  
  • 31. © 2006 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.