SlideShare a Scribd company logo
Designing Powerful  Web Applications with AJAX &  Other Rich Internet Applications David Malouf & Bill Scott UI 11 Cambridge, MA October 9, 2006
Breakdown of the day Section 1: … from the beginning Defining RIAs & RIA Technologies How to pick the right technology for your project Looking at current examples of RIAs Section 2: Interaction Design for RIAs Understanding Patterns AJAX Design Patterns Design Principles Section 3: Design Practice Tools of the trade Designing Communicating Design Communicate this RIA (exercise) Section 4: Design your own RIA What is “design”—the verb? Design your own RIA (exercise)
What is an RIA? Give credit, where credit is due … Macromedia (today Adobe) coined the term “Rich Internet Application” to describe the growing trend of adding media richness (more motion internal to a single page view) due to the creation of applications using their product Flash MX. The simple answer: Connected Distributed Local Intelligent Moving
What does it mean for us today? Emulating desktop behaviors Cinematic Effects Client-side (in browser) … Data management Business logic management Re-definition of the “page” metaphor Required connection to local machine  (optional)
Emulating Desktop Behaviors Drag & Drop Menu & Tool bars Windows & Wizards Panels Trees Form validation Non-HTML controls Accordian Combobox Spinner box Sliders Keyboard Actions Context Menus Google Spreadsheet
Cinematic Effects: Animation for added context Where am I going? Where was I? Action completion Object state change System progress Animation for aesthetic reasons is also viable LaszloSystems
What happens to our page? “ There is no [page].” - Neo “ There is no page; only pathways” -- Emily Chang & Max Kiesler of  ideacodes A page is a metaphor of a moment of uninterrupted context Kayak
What’s all the fuss about Web 2.0? O’Reilly as trend spotter … RIAs is only one component of the trend Other components User generated Mashed up & Remixed Open & iterative Limited designer role (if at all) Separately nothing new, but a trend (critical mass) makes it worth noting. Sir Tim Berners-Lee’s warning not to create new bubble – [The Register – Aug ’06]
The Technologies DHTML – HTML + JavaScript + CSS AJAX – DHTML + XML Flash Browser Extensions/Plug-ins  Java ActiveX Others not to be discussed XUL, CURL, etc. Backend Frameworks
Pure Browser: DHMTL & AJAX Nothin’ but browser Uses very open technologies Allows for simple richness AJAX  – new info from server without refresh A JavaScript call makes a query to the server Server returns XML JavaScript manipulates CSS to reformat XML in place on existing screen
Visualizing the AJAX effect JJ Garrett-Ajax: A New Approach to Web Applications (Feb 2005)
Flash (by Adobe) Requires an installed plug-in Created to bring animation and  interactivity to the web Uses vector graphics Not native, but ubiquitous // open format Visual development environment Tied to Flex development environment Goowy
Extensions Different browsers have different ways of adding extensions to themselves. Behaves as if a part of the browser Toolbars Status bars Sidebars Menu add-ons Greasemonkey for Firefox Google Notebook
Java & ActiveX (with .NET) Installed applications that can …  run inside the browser window  control the browser  connect the browser to the rest of the local client Virtual Machines & Frameworks Java requires a pre-installed virtual machine or emulator. Once installed any Java-base application can run. Frameworks are a collection of components and controls .NET requires the installation of the framework SWING or AWT are two frameworks for Java IntraLinks
Backend Frameworks DOJO Script.aculo.us Rico Ruby on Rails ASP.NET Yahoo! User Interface Library (YUI) Atlas Backbase
Choosing a Technology Deployment Environment Local clients Enterprise considerations Iteration cycles Development Environment Training & capabilities of team against time and resources available for project The Design Browser to desktop connection
Deployment Can my users install something? Tech savvy enough Enterprise allow them to Do I plan on “tweaking” rapidly, or will my product follow a more standard release cycle? Am I willing to use closed or otherwise non-ubiquitous technologies?
The Design How much integration do I need to add between the browser and the rest of a user’s local desktop environment? Does my design require cinematic effects between scenes, or just within them? (or none at all?) At what point do I need to manage calls to and from a remote server in my design?
Keeping up with the Tech Well it is really up to you … Books Blogsphere Tech Meetups UnConferences Conferences …  well you  are  here.
Exercise: Let’s start a project Goal:  Pick a technology for your project.   This project will be continued. Criteria for the design Application Service (Hosted) Infinite Audience Business-to-Business community File Management System Moving lots of files Collaborative Media Centric Criteria for Development Old-school software engineering;  Highly formally educated group
Time to explore Empressr – Desktop Presentation NetFlix – DVD by mail Meebo – Web-IM Flickr – Photo Sharing Zimbra – Web Groupware
Section 2 HERE BILL’s Section
Section 3: Design Practice Designing and Communicating Design
Designing vs. Communicating vs. Documenting Designing –conceive an idea through a design process. Communicating Get buy in Collaborate to ensure proper implementation Documenting Archive ideas “ Hit by a bus” contingency
Design-ING !=  conceiving, creation, producing Formalized process Studio Divergent unrefined thinking followed by Evaluation, testing, and reflection
3 basic steps to designing Sketching Framework and Language Refinement
Sketching What do you see here? Rapid & Rough Multiplicity Communicate CONCEPTS
Framework and Language Create Structure Navigation Language Object Action Modifiers
Refinement Details Behavior
Designing Behavior Time: Behavior cannot be static It is not “flow” between contexts;  happens within a context Multiple states Sometimes Fluid motion Hard to communicate “intra-contextual” behaviors using static renderings More difficult to test it.
Sample Process Sketch  on paper/whiteboard Scan/Photograph into  digital  environment Trace  (or re-draw) using computer tool Use “ blocking ” tool to define framework As further detail is required to refine framework fill in blocks using a  higher fidelity  drawing tool. Add interactivity so that behavior can be  experienced , evaluated, tested, and reflected upon.
Discuss: Example Process What Properties through this process did we notice that might apply to the tools we decide to use?
Pain Wireframing Ajax is a [expletive]... We have to determine all of the things a user might do, and wireframe the blessed moments of each possibility. - Jeffrey Zeldman, Web 3.0
The Shift
Assumption All interaction is course-grained at page level Wireframes capture layout, priority, behavior & content
Impact Full page refresh is replaced by small content updates. Hyperlink, Submit are replaced by a full range of interactive events. Characterized by micro-interaction and micro-updates leading to micro-states.
Impact Interaction is characterized by direct manipulation, lightweight actions and in-page actions Nuances are multiplied invitation activation deactivation affordances constraints timing  delays rate of feedback
Drag & Drop Interesting Moments Page load Mouse hover over draggable object Mouse down on draggable object Drag initiated (mouse down, mouse moves >= 3 pixels) Drag over valid target area Drag over invalid target area Drag over original location Drop accepted Drop rejected Drop on original location
Drag & Drop Actors Page Cursor Tool Tip Drag object Drag ghost Original location Drop target
Drag & Drop Matrix
my.yahoo Interesting Moments
Adaptive Path: Micro States
Yahoo!: Micro States
Animation with Visio
Animation with Photoshop
Section 4:  Designing  an RIA
“ I  design  software” “ I’m wearing  design er jeans” “ interaction  design ” “ design  school” “ That  design  looks cool”
What is “design”? Design as noun (I like that “design”) Is the result of a conceived idea, whether or not it was actually “designed” Design as verb (I “design” software) A process of creativity Non-linear Assumes there is more than one elegant solution to any single problem Considers the measurable and the aesthetic
Simple Design Exercise Problem: I need a device that allows a user to move & select objects, text and graphics in a graphical interface Let’s work through this …
Making Design (verb) Work Divergent thinking Skew, bend, melt, tear … change! Evaluation is separate from Ideation Put your judge on hold Multiple minds Model, Model, Model Taking the road least traveled can bring you back to the freeway Process ideas in disconnected ways Connect disconnected ideas in separate exercise
Exercise: Criteria From Section 1 Criteria for the design Application Service (Hosted) Infinite Audience Business-to-Business community File Management System Moving lots of files Collaborative Media Centric Criteria for Development Old-school software engineering;  Highly formally educated group
Exercise: Moving forward Need to share corporate media objects across different enterprises Need to collaborate on these objects Annotate Version Append Need to publish out to 3 rd  parties Don’t worry we aren’t doing this whole application …
Exercise: Annotate Design a set of screens that make up one page Displays both a list objects and single object Allows the user to comment on that object Track commenting Annotate on media directly Create a collection and “send” that collection
Questions ? Resources: Dave’s Blog:  www.synapticburn.com Bill’s Blog:  looksgoodworkswell.blogspot.com

More Related Content

What's hot (20)

PPTX
CyberCamp 2011
georges654
 
PPT
Designing Powerful Web Applications - Monterey
Dave Malouf
 
PPT
Web 2.0: Addressing Institutional Barriers
lisbk
 
PDF
Introduction to Web Design
Victor M. Ortiz
 
PPT
Web 2.0 and other emerging technologies
Phil Bradley
 
PDF
A primer on ux design
Tannistho Ghosh
 
PPT
Expanding Library Services & Content With New Technologies
bibliotecaria
 
PDF
Responsive Web Design - more than just a buzzword
Russ Weakley
 
PPT
Beyond the Page
gsmith
 
PPT
Managing Your Content: Everything You Need to Know about the CMS
Nicole C. Engard
 
PPT
Collaboration in the workplace and beyond
Indiana Online Users Group
 
PPT
JavaScript and DOM Pattern Implementation
davejohnson
 
PPTX
Windows live messenger version2
FatimaSalem
 
PPTX
Ex net
Purushottam Dahal
 
PDF
Tip from ConnectED 2015: Using Bootstrap and Ratchet frameworks in Domino mob...
SocialBiz UserGroup
 
PPT
Semanticommunity.net: Community Infrastructure Sandbox for 2008
webhostingguy
 
PPT
Lecture 9 Usability Orignal
Sur College of Applied Sciences
 
PPT
Khulood mohammed 200821758-005-draft1 project
u2821758
 
PPTX
Responsive Design: Let's get Responsive!
Courtney Jordan
 
PPTX
Tech Apps Tools for Everyone
preimers
 
CyberCamp 2011
georges654
 
Designing Powerful Web Applications - Monterey
Dave Malouf
 
Web 2.0: Addressing Institutional Barriers
lisbk
 
Introduction to Web Design
Victor M. Ortiz
 
Web 2.0 and other emerging technologies
Phil Bradley
 
A primer on ux design
Tannistho Ghosh
 
Expanding Library Services & Content With New Technologies
bibliotecaria
 
Responsive Web Design - more than just a buzzword
Russ Weakley
 
Beyond the Page
gsmith
 
Managing Your Content: Everything You Need to Know about the CMS
Nicole C. Engard
 
Collaboration in the workplace and beyond
Indiana Online Users Group
 
JavaScript and DOM Pattern Implementation
davejohnson
 
Windows live messenger version2
FatimaSalem
 
Tip from ConnectED 2015: Using Bootstrap and Ratchet frameworks in Domino mob...
SocialBiz UserGroup
 
Semanticommunity.net: Community Infrastructure Sandbox for 2008
webhostingguy
 
Lecture 9 Usability Orignal
Sur College of Applied Sciences
 
Khulood mohammed 200821758-005-draft1 project
u2821758
 
Responsive Design: Let's get Responsive!
Courtney Jordan
 
Tech Apps Tools for Everyone
preimers
 

Viewers also liked (8)

PDF
How to Prepare for the OCPJP 8 Exam?
Ganesh Samarthyam
 
PDF
Java Certification by HUJAK - 2015-05-12 - at JavaCro'15 conference
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
PPTX
All about IELTS EXAM Preparation and coaching
KnowYourTutor.com
 
PDF
UX Fundamentals for Startups
Growth Hacking Asia
 
PDF
What is ux?
Géraud de LAVAL
 
PDF
Fail Fast, Learn Fast, Move Fast: My UX journey to move faster
Jeremy Johnson
 
PDF
UX Design + UI Design: Injecting a brand persona!
Jayan Narayanan
 
PDF
UX, ethnography and possibilities: for Libraries, Museums and Archives
Ned Potter
 
How to Prepare for the OCPJP 8 Exam?
Ganesh Samarthyam
 
Java Certification by HUJAK - 2015-05-12 - at JavaCro'15 conference
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
All about IELTS EXAM Preparation and coaching
KnowYourTutor.com
 
UX Fundamentals for Startups
Growth Hacking Asia
 
What is ux?
Géraud de LAVAL
 
Fail Fast, Learn Fast, Move Fast: My UX journey to move faster
Jeremy Johnson
 
UX Design + UI Design: Injecting a brand persona!
Jayan Narayanan
 
UX, ethnography and possibilities: for Libraries, Museums and Archives
Ned Potter
 
Ad

Similar to Designing Powerful Web Applications Using AJAX and Other RIAs (20)

PPT
Web 2.0 for IA's
Dave Malouf
 
PPT
Rich User Experience Documentation - Update
John Yesko
 
PPT
User Driven Software Architecture
Simon Guest
 
PPT
Developing For The Web
aleemb
 
PPT
Web 2.0 and LiveQuotes Presentation
Jamie Thingelstad
 
PPT
Experience Ajax - Workshop For Designers
shank
 
PPT
Web2.0 and What it Means for Business
Rich Miller
 
DOCX
Over view of Technologies
Chris Mitchell
 
PPT
When to use Ajax
mikepadilla
 
PDF
Modern Web Applications
Ömer Göktuğ Poyraz
 
PPT
Intelligent Mashups
giurca
 
PPTX
Web Application Development. Web Application Frameworks
SukhrobAtoev2
 
PPTX
Web Application Development. Web Application Frameworks
SukhrobAtoev2
 
PPTX
Directions on microsoft_web_and_cloud_development
Takeshi Shinmura
 
PDF
Web Design Solutions
APARNA SANAKA
 
PPT
DrupalCon Chicago 2011 ReportBack (11/03/30 - G. Bedford)
DrupalCape
 
PDF
Assessing the Value of Rich Internet-White Paper
Axis Technology, LLC
 
PDF
ASAS 2014 - Simon Brown
Avisi B.V.
 
PDF
Web Pages Visual Similarity - Search Central Live Zurich 2024
Giacomo Zecchini
 
PPT
Yui Design Patterns
Madhuri Chopurala, CSPO, CSM
 
Web 2.0 for IA's
Dave Malouf
 
Rich User Experience Documentation - Update
John Yesko
 
User Driven Software Architecture
Simon Guest
 
Developing For The Web
aleemb
 
Web 2.0 and LiveQuotes Presentation
Jamie Thingelstad
 
Experience Ajax - Workshop For Designers
shank
 
Web2.0 and What it Means for Business
Rich Miller
 
Over view of Technologies
Chris Mitchell
 
When to use Ajax
mikepadilla
 
Modern Web Applications
Ömer Göktuğ Poyraz
 
Intelligent Mashups
giurca
 
Web Application Development. Web Application Frameworks
SukhrobAtoev2
 
Web Application Development. Web Application Frameworks
SukhrobAtoev2
 
Directions on microsoft_web_and_cloud_development
Takeshi Shinmura
 
Web Design Solutions
APARNA SANAKA
 
DrupalCon Chicago 2011 ReportBack (11/03/30 - G. Bedford)
DrupalCape
 
Assessing the Value of Rich Internet-White Paper
Axis Technology, LLC
 
ASAS 2014 - Simon Brown
Avisi B.V.
 
Web Pages Visual Similarity - Search Central Live Zurich 2024
Giacomo Zecchini
 
Yui Design Patterns
Madhuri Chopurala, CSPO, CSM
 
Ad

More from Dave Malouf (20)

PDF
Design Operations
Dave Malouf
 
PDF
Amplify: Design Operation's Core Mission to Amplify the Value of Design Practice
Dave Malouf
 
PDF
Valuing Design & DesignOps Practice
Dave Malouf
 
PDF
Measuring & Evaluating Your DesignOps Practice
Dave Malouf
 
PDF
Design Operations
Dave Malouf
 
PDF
Observation As Craft
Dave Malouf
 
PDF
Design Operations mural - 8 mar 2017
Dave Malouf
 
PDF
Climbing Strategy Mountain
Dave Malouf
 
PDF
Enterprise UX: What, How & Why in 20 short minutes
Dave Malouf
 
PDF
Storytelling and Interaction Design - From Business to Buttons
Dave Malouf
 
PPT
Interaction Design as the Language of Story
Dave Malouf
 
PDF
Serendipity by Design - IxD S. America 13
Dave Malouf
 
KEY
Interaction Design Resources
Dave Malouf
 
PDF
Remix South: Advanced Interaction Design
Dave Malouf
 
PDF
The Craft of Observation
Dave Malouf
 
PDF
Make Your Users Boogie
Dave Malouf
 
PDF
What you missed when you skipped design school
Dave Malouf
 
PDF
Anyone can be a ux designer: Not everyone IS one.
Dave Malouf
 
PDF
Move that thang
Dave Malouf
 
PDF
Education for Design For Life
Dave Malouf
 
Design Operations
Dave Malouf
 
Amplify: Design Operation's Core Mission to Amplify the Value of Design Practice
Dave Malouf
 
Valuing Design & DesignOps Practice
Dave Malouf
 
Measuring & Evaluating Your DesignOps Practice
Dave Malouf
 
Design Operations
Dave Malouf
 
Observation As Craft
Dave Malouf
 
Design Operations mural - 8 mar 2017
Dave Malouf
 
Climbing Strategy Mountain
Dave Malouf
 
Enterprise UX: What, How & Why in 20 short minutes
Dave Malouf
 
Storytelling and Interaction Design - From Business to Buttons
Dave Malouf
 
Interaction Design as the Language of Story
Dave Malouf
 
Serendipity by Design - IxD S. America 13
Dave Malouf
 
Interaction Design Resources
Dave Malouf
 
Remix South: Advanced Interaction Design
Dave Malouf
 
The Craft of Observation
Dave Malouf
 
Make Your Users Boogie
Dave Malouf
 
What you missed when you skipped design school
Dave Malouf
 
Anyone can be a ux designer: Not everyone IS one.
Dave Malouf
 
Move that thang
Dave Malouf
 
Education for Design For Life
Dave Malouf
 

Recently uploaded (20)

PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PDF
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PPTX
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
PDF
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
PDF
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PPTX
Digital Circuits, important subject in CS
contactparinay1
 
PDF
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PPTX
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
PDF
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
PDF
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
Digital Circuits, important subject in CS
contactparinay1
 
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 

Designing Powerful Web Applications Using AJAX and Other RIAs

  • 1. Designing Powerful Web Applications with AJAX & Other Rich Internet Applications David Malouf & Bill Scott UI 11 Cambridge, MA October 9, 2006
  • 2. Breakdown of the day Section 1: … from the beginning Defining RIAs & RIA Technologies How to pick the right technology for your project Looking at current examples of RIAs Section 2: Interaction Design for RIAs Understanding Patterns AJAX Design Patterns Design Principles Section 3: Design Practice Tools of the trade Designing Communicating Design Communicate this RIA (exercise) Section 4: Design your own RIA What is “design”—the verb? Design your own RIA (exercise)
  • 3. What is an RIA? Give credit, where credit is due … Macromedia (today Adobe) coined the term “Rich Internet Application” to describe the growing trend of adding media richness (more motion internal to a single page view) due to the creation of applications using their product Flash MX. The simple answer: Connected Distributed Local Intelligent Moving
  • 4. What does it mean for us today? Emulating desktop behaviors Cinematic Effects Client-side (in browser) … Data management Business logic management Re-definition of the “page” metaphor Required connection to local machine (optional)
  • 5. Emulating Desktop Behaviors Drag & Drop Menu & Tool bars Windows & Wizards Panels Trees Form validation Non-HTML controls Accordian Combobox Spinner box Sliders Keyboard Actions Context Menus Google Spreadsheet
  • 6. Cinematic Effects: Animation for added context Where am I going? Where was I? Action completion Object state change System progress Animation for aesthetic reasons is also viable LaszloSystems
  • 7. What happens to our page? “ There is no [page].” - Neo “ There is no page; only pathways” -- Emily Chang & Max Kiesler of ideacodes A page is a metaphor of a moment of uninterrupted context Kayak
  • 8. What’s all the fuss about Web 2.0? O’Reilly as trend spotter … RIAs is only one component of the trend Other components User generated Mashed up & Remixed Open & iterative Limited designer role (if at all) Separately nothing new, but a trend (critical mass) makes it worth noting. Sir Tim Berners-Lee’s warning not to create new bubble – [The Register – Aug ’06]
  • 9. The Technologies DHTML – HTML + JavaScript + CSS AJAX – DHTML + XML Flash Browser Extensions/Plug-ins Java ActiveX Others not to be discussed XUL, CURL, etc. Backend Frameworks
  • 10. Pure Browser: DHMTL & AJAX Nothin’ but browser Uses very open technologies Allows for simple richness AJAX – new info from server without refresh A JavaScript call makes a query to the server Server returns XML JavaScript manipulates CSS to reformat XML in place on existing screen
  • 11. Visualizing the AJAX effect JJ Garrett-Ajax: A New Approach to Web Applications (Feb 2005)
  • 12. Flash (by Adobe) Requires an installed plug-in Created to bring animation and interactivity to the web Uses vector graphics Not native, but ubiquitous // open format Visual development environment Tied to Flex development environment Goowy
  • 13. Extensions Different browsers have different ways of adding extensions to themselves. Behaves as if a part of the browser Toolbars Status bars Sidebars Menu add-ons Greasemonkey for Firefox Google Notebook
  • 14. Java & ActiveX (with .NET) Installed applications that can … run inside the browser window control the browser connect the browser to the rest of the local client Virtual Machines & Frameworks Java requires a pre-installed virtual machine or emulator. Once installed any Java-base application can run. Frameworks are a collection of components and controls .NET requires the installation of the framework SWING or AWT are two frameworks for Java IntraLinks
  • 15. Backend Frameworks DOJO Script.aculo.us Rico Ruby on Rails ASP.NET Yahoo! User Interface Library (YUI) Atlas Backbase
  • 16. Choosing a Technology Deployment Environment Local clients Enterprise considerations Iteration cycles Development Environment Training & capabilities of team against time and resources available for project The Design Browser to desktop connection
  • 17. Deployment Can my users install something? Tech savvy enough Enterprise allow them to Do I plan on “tweaking” rapidly, or will my product follow a more standard release cycle? Am I willing to use closed or otherwise non-ubiquitous technologies?
  • 18. The Design How much integration do I need to add between the browser and the rest of a user’s local desktop environment? Does my design require cinematic effects between scenes, or just within them? (or none at all?) At what point do I need to manage calls to and from a remote server in my design?
  • 19. Keeping up with the Tech Well it is really up to you … Books Blogsphere Tech Meetups UnConferences Conferences … well you are here.
  • 20. Exercise: Let’s start a project Goal: Pick a technology for your project. This project will be continued. Criteria for the design Application Service (Hosted) Infinite Audience Business-to-Business community File Management System Moving lots of files Collaborative Media Centric Criteria for Development Old-school software engineering; Highly formally educated group
  • 21. Time to explore Empressr – Desktop Presentation NetFlix – DVD by mail Meebo – Web-IM Flickr – Photo Sharing Zimbra – Web Groupware
  • 22. Section 2 HERE BILL’s Section
  • 23. Section 3: Design Practice Designing and Communicating Design
  • 24. Designing vs. Communicating vs. Documenting Designing –conceive an idea through a design process. Communicating Get buy in Collaborate to ensure proper implementation Documenting Archive ideas “ Hit by a bus” contingency
  • 25. Design-ING != conceiving, creation, producing Formalized process Studio Divergent unrefined thinking followed by Evaluation, testing, and reflection
  • 26. 3 basic steps to designing Sketching Framework and Language Refinement
  • 27. Sketching What do you see here? Rapid & Rough Multiplicity Communicate CONCEPTS
  • 28. Framework and Language Create Structure Navigation Language Object Action Modifiers
  • 30. Designing Behavior Time: Behavior cannot be static It is not “flow” between contexts; happens within a context Multiple states Sometimes Fluid motion Hard to communicate “intra-contextual” behaviors using static renderings More difficult to test it.
  • 31. Sample Process Sketch on paper/whiteboard Scan/Photograph into digital environment Trace (or re-draw) using computer tool Use “ blocking ” tool to define framework As further detail is required to refine framework fill in blocks using a higher fidelity drawing tool. Add interactivity so that behavior can be experienced , evaluated, tested, and reflected upon.
  • 32. Discuss: Example Process What Properties through this process did we notice that might apply to the tools we decide to use?
  • 33. Pain Wireframing Ajax is a [expletive]... We have to determine all of the things a user might do, and wireframe the blessed moments of each possibility. - Jeffrey Zeldman, Web 3.0
  • 35. Assumption All interaction is course-grained at page level Wireframes capture layout, priority, behavior & content
  • 36. Impact Full page refresh is replaced by small content updates. Hyperlink, Submit are replaced by a full range of interactive events. Characterized by micro-interaction and micro-updates leading to micro-states.
  • 37. Impact Interaction is characterized by direct manipulation, lightweight actions and in-page actions Nuances are multiplied invitation activation deactivation affordances constraints timing delays rate of feedback
  • 38. Drag & Drop Interesting Moments Page load Mouse hover over draggable object Mouse down on draggable object Drag initiated (mouse down, mouse moves >= 3 pixels) Drag over valid target area Drag over invalid target area Drag over original location Drop accepted Drop rejected Drop on original location
  • 39. Drag & Drop Actors Page Cursor Tool Tip Drag object Drag ghost Original location Drop target
  • 40. Drag & Drop Matrix
  • 46. Section 4: Designing an RIA
  • 47. “ I design software” “ I’m wearing design er jeans” “ interaction design ” “ design school” “ That design looks cool”
  • 48. What is “design”? Design as noun (I like that “design”) Is the result of a conceived idea, whether or not it was actually “designed” Design as verb (I “design” software) A process of creativity Non-linear Assumes there is more than one elegant solution to any single problem Considers the measurable and the aesthetic
  • 49. Simple Design Exercise Problem: I need a device that allows a user to move & select objects, text and graphics in a graphical interface Let’s work through this …
  • 50. Making Design (verb) Work Divergent thinking Skew, bend, melt, tear … change! Evaluation is separate from Ideation Put your judge on hold Multiple minds Model, Model, Model Taking the road least traveled can bring you back to the freeway Process ideas in disconnected ways Connect disconnected ideas in separate exercise
  • 51. Exercise: Criteria From Section 1 Criteria for the design Application Service (Hosted) Infinite Audience Business-to-Business community File Management System Moving lots of files Collaborative Media Centric Criteria for Development Old-school software engineering; Highly formally educated group
  • 52. Exercise: Moving forward Need to share corporate media objects across different enterprises Need to collaborate on these objects Annotate Version Append Need to publish out to 3 rd parties Don’t worry we aren’t doing this whole application …
  • 53. Exercise: Annotate Design a set of screens that make up one page Displays both a list objects and single object Allows the user to comment on that object Track commenting Annotate on media directly Create a collection and “send” that collection
  • 54. Questions ? Resources: Dave’s Blog: www.synapticburn.com Bill’s Blog: looksgoodworkswell.blogspot.com