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
Experience Ajax - Workshop For Designers
shank
 
PPT
Web 2.0 for IA's
Dave Malouf
 
PPT
Rich User Experience Documentation - Update
John Yesko
 
PDF
User-centred design
Ivano Malavolta
 
PPT
Final wireframes from screen concept to user interaction v0.4
Mia Horrigan
 
PPTX
Perficient PepsiCo Rich Internet Apps Seminar
Perficient, Inc.
 
PPT
Owning the Interaction in Dynamic Environments
guestf4f7a4b38
 
PPT
Owning the Interaction in Dynamic Environments
Fergus Roche
 
PDF
Technology Trends
Henry Jacob
 
PPTX
The Importance of UX
Bart Van Hecke
 
PDF
Jumpstart Your Web App
Harvard Web Working Group
 
PDF
Web valley talk - usability, visualization and mobile app development
Eamonn Maguire
 
KEY
Decrap Your Application
Garth Braithwaite
 
PPTX
What’s in your BA Toolbox – Has User experience and Usability gone to the way...
Glenn Teneycke
 
PDF
Intro to User Centered Design Workshop
Patrick McNeil
 
PPTX
Intro to UX Design
jayyearley
 
PDF
UX Workshop at Startit@KBC
UXprobe
 
PDF
Implimenting and Mitigating Change with all of this Newfangled Technology
Indiana Online Users Group
 
PPT
Decoding the Web
newcircle
 
PDF
[2015/2016] User experience design of mobil apps
Ivano Malavolta
 
Experience Ajax - Workshop For Designers
shank
 
Web 2.0 for IA's
Dave Malouf
 
Rich User Experience Documentation - Update
John Yesko
 
User-centred design
Ivano Malavolta
 
Final wireframes from screen concept to user interaction v0.4
Mia Horrigan
 
Perficient PepsiCo Rich Internet Apps Seminar
Perficient, Inc.
 
Owning the Interaction in Dynamic Environments
guestf4f7a4b38
 
Owning the Interaction in Dynamic Environments
Fergus Roche
 
Technology Trends
Henry Jacob
 
The Importance of UX
Bart Van Hecke
 
Jumpstart Your Web App
Harvard Web Working Group
 
Web valley talk - usability, visualization and mobile app development
Eamonn Maguire
 
Decrap Your Application
Garth Braithwaite
 
What’s in your BA Toolbox – Has User experience and Usability gone to the way...
Glenn Teneycke
 
Intro to User Centered Design Workshop
Patrick McNeil
 
Intro to UX Design
jayyearley
 
UX Workshop at Startit@KBC
UXprobe
 
Implimenting and Mitigating Change with all of this Newfangled Technology
Indiana Online Users Group
 
Decoding the Web
newcircle
 
[2015/2016] User experience design of mobil apps
Ivano Malavolta
 
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
[GDGoC FPTU] Spring 2025 Summary Slidess
minhtrietgect
 
PDF
Home Cleaning App Development Services.pdf
V3cube
 
PDF
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
PDF
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PPTX
Essential Content-centric Plugins for your Website
Laura Byrne
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PDF
NASA A Researcher’s Guide to International Space Station : Fundamental Physics
Dr. PANKAJ DHUSSA
 
PDF
Linux schedulers for fun and profit with SchedKit
Alessio Biancalana
 
PDF
“ONNX and Python to C++: State-of-the-art Graph Compilation,” a Presentation ...
Edge AI and Vision Alliance
 
PPTX
Digital Circuits, important subject in CS
contactparinay1
 
PPTX
Wondershare Filmora Crack Free Download 2025
josanj305
 
PDF
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
PPTX
Talbott's brief History of Computers for CollabDays Hamburg 2025
Talbott Crowell
 
PDF
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
PDF
Next Generation AI: Anticipatory Intelligence, Forecasting Inflection Points ...
dleka294658677
 
PPTX
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
PPTX
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
PDF
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
[GDGoC FPTU] Spring 2025 Summary Slidess
minhtrietgect
 
Home Cleaning App Development Services.pdf
V3cube
 
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
Essential Content-centric Plugins for your Website
Laura Byrne
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
NASA A Researcher’s Guide to International Space Station : Fundamental Physics
Dr. PANKAJ DHUSSA
 
Linux schedulers for fun and profit with SchedKit
Alessio Biancalana
 
“ONNX and Python to C++: State-of-the-art Graph Compilation,” a Presentation ...
Edge AI and Vision Alliance
 
Digital Circuits, important subject in CS
contactparinay1
 
Wondershare Filmora Crack Free Download 2025
josanj305
 
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
Talbott's brief History of Computers for CollabDays Hamburg 2025
Talbott Crowell
 
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
Next Generation AI: Anticipatory Intelligence, Forecasting Inflection Points ...
dleka294658677
 
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 

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