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

PPT
Explaining Ajax
PPT
What is "Rich"? Why do "Rich"?
PPT
What is "rich"? Why do "rich"? (Web Application Summit)
PPT
Dekoh Press Meet, Bangalore, India
PPT
Trends in webdesign
PPTX
Intro to Front-End Web Devlopment
PPT
Jeteye Powerpoint
PPT
From Website To Webapp Shane Morris
Explaining Ajax
What is "Rich"? Why do "Rich"?
What is "rich"? Why do "rich"? (Web Application Summit)
Dekoh Press Meet, Bangalore, India
Trends in webdesign
Intro to Front-End Web Devlopment
Jeteye Powerpoint
From Website To Webapp Shane Morris

What's hot (20)

PPTX
CyberCamp 2011
PPT
Designing Powerful Web Applications - Monterey
PPT
Web 2.0: Addressing Institutional Barriers
PDF
Introduction to Web Design
PPT
Web 2.0 and other emerging technologies
PDF
A primer on ux design
PPT
Expanding Library Services & Content With New Technologies
PDF
Responsive Web Design - more than just a buzzword
PPT
Beyond the Page
PPT
Managing Your Content: Everything You Need to Know about the CMS
PPT
Collaboration in the workplace and beyond
PPT
JavaScript and DOM Pattern Implementation
PPTX
Windows live messenger version2
PPTX
PDF
Tip from ConnectED 2015: Using Bootstrap and Ratchet frameworks in Domino mob...
PPT
Semanticommunity.net: Community Infrastructure Sandbox for 2008
PPT
Lecture 9 Usability Orignal
PPT
Khulood mohammed 200821758-005-draft1 project
PPTX
Responsive Design: Let's get Responsive!
PPTX
Tech Apps Tools for Everyone
CyberCamp 2011
Designing Powerful Web Applications - Monterey
Web 2.0: Addressing Institutional Barriers
Introduction to Web Design
Web 2.0 and other emerging technologies
A primer on ux design
Expanding Library Services & Content With New Technologies
Responsive Web Design - more than just a buzzword
Beyond the Page
Managing Your Content: Everything You Need to Know about the CMS
Collaboration in the workplace and beyond
JavaScript and DOM Pattern Implementation
Windows live messenger version2
Tip from ConnectED 2015: Using Bootstrap and Ratchet frameworks in Domino mob...
Semanticommunity.net: Community Infrastructure Sandbox for 2008
Lecture 9 Usability Orignal
Khulood mohammed 200821758-005-draft1 project
Responsive Design: Let's get Responsive!
Tech Apps Tools for Everyone
Ad

Viewers also liked (8)

PDF
How to Prepare for the OCPJP 8 Exam?
PDF
Java Certification by HUJAK - 2015-05-12 - at JavaCro'15 conference
PPTX
All about IELTS EXAM Preparation and coaching
PDF
UX Fundamentals for Startups
PDF
What is ux?
PDF
Fail Fast, Learn Fast, Move Fast: My UX journey to move faster
PDF
UX Design + UI Design: Injecting a brand persona!
PDF
UX, ethnography and possibilities: for Libraries, Museums and Archives
How to Prepare for the OCPJP 8 Exam?
Java Certification by HUJAK - 2015-05-12 - at JavaCro'15 conference
All about IELTS EXAM Preparation and coaching
UX Fundamentals for Startups
What is ux?
Fail Fast, Learn Fast, Move Fast: My UX journey to move faster
UX Design + UI Design: Injecting a brand persona!
UX, ethnography and possibilities: for Libraries, Museums and Archives
Ad

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

PPT
Experience Ajax - Workshop For Designers
PPT
Web 2.0 for IA's
PPT
Rich User Experience Documentation - Update
PDF
User-centred design
PPT
Final wireframes from screen concept to user interaction v0.4
PPTX
Perficient PepsiCo Rich Internet Apps Seminar
PPT
Owning the Interaction in Dynamic Environments
PPT
Owning the Interaction in Dynamic Environments
PDF
Technology Trends
PPTX
The Importance of UX
PDF
Jumpstart Your Web App
PDF
Web valley talk - usability, visualization and mobile app development
KEY
Decrap Your Application
PPTX
What’s in your BA Toolbox – Has User experience and Usability gone to the way...
PDF
Intro to User Centered Design Workshop
PPTX
Intro to UX Design
PDF
UX Workshop at Startit@KBC
PDF
Implimenting and Mitigating Change with all of this Newfangled Technology
PPT
Decoding the Web
PDF
[2015/2016] User experience design of mobil apps
Experience Ajax - Workshop For Designers
Web 2.0 for IA's
Rich User Experience Documentation - Update
User-centred design
Final wireframes from screen concept to user interaction v0.4
Perficient PepsiCo Rich Internet Apps Seminar
Owning the Interaction in Dynamic Environments
Owning the Interaction in Dynamic Environments
Technology Trends
The Importance of UX
Jumpstart Your Web App
Web valley talk - usability, visualization and mobile app development
Decrap Your Application
What’s in your BA Toolbox – Has User experience and Usability gone to the way...
Intro to User Centered Design Workshop
Intro to UX Design
UX Workshop at Startit@KBC
Implimenting and Mitigating Change with all of this Newfangled Technology
Decoding the Web
[2015/2016] User experience design of mobil apps

More from Dave Malouf (20)

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

Recently uploaded (20)

PPTX
A Presentation on Artificial Intelligence
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
KodekX | Application Modernization Development
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Modernizing your data center with Dell and AMD
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Big Data Technologies - Introduction.pptx
PDF
Encapsulation theory and applications.pdf
PPTX
Cloud computing and distributed systems.
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Machine learning based COVID-19 study performance prediction
PDF
Empathic Computing: Creating Shared Understanding
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
A Presentation on Artificial Intelligence
The Rise and Fall of 3GPP – Time for a Sabbatical?
KodekX | Application Modernization Development
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
The AUB Centre for AI in Media Proposal.docx
Modernizing your data center with Dell and AMD
20250228 LYD VKU AI Blended-Learning.pptx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Big Data Technologies - Introduction.pptx
Encapsulation theory and applications.pdf
Cloud computing and distributed systems.
CIFDAQ's Market Insight: SEC Turns Pro Crypto
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Machine learning based COVID-19 study performance prediction
Empathic Computing: Creating Shared Understanding
Build a system with the filesystem maintained by OSTree @ COSCUP 2025

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