SlideShare uma empresa Scribd logo
1 de 53
Jonathan Boutelle   CTO, Uzanto Game-inspired RIA design
why games?
reinvent
optimize
old fashioned server HTML sent back Request  (from user) Top Popular
new fangled Data sent back server Data + presentation + logic 1 2 Request  (from user) Top Popular
mindcanvas slideshare
Reinvent case study:  Game-like surveys
 
 
Why use Flash / AJAX ,[object Object],[object Object],[object Object]
Games!
What’s good about games? ,[object Object]
What’s good about games? ,[object Object],[object Object]
What’s good about games? ,[object Object],[object Object],[object Object]
What’s good about games? ,[object Object],[object Object],[object Object],[object Object]
What’s good about games? ,[object Object],[object Object],[object Object],[object Object],[object Object]
What’s good about games? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
What’s good about games? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
What’s good about games? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Game-like design ,[object Object],[object Object],[object Object],[object Object],[object Object]
Flash vs. AJAX  for game-like interfaces
Reinvent:  Data intensive application
Latency sucks! ,[object Object],[object Object],[object Object],[object Object],[object Object]
our first attempt
layout issues
not-so-direct manipulation
back to the drawing board Drag and Drop  to position Edit  In place edit Scroll bar links to other “stuff ”
long pages
direct manipulation
swiss army knife design
subtle attention control
Web 1.0 Page 1 Navigate (and Save !) Page 2 Rich Web ? Local copy ( in RAM ) <Control + S> Saves to disk Desktop should there be a “save” button?
animation signals auto-save
traditional component in web-app
integration with off-line workflow
was it worth it?
OPTIMIZE  Case study: Slideshare.net
embedding Flash in HTML “harness”
Once a day! rapid public iteration
Data sent back server Data  +  presentation  +  logic 1 2 Request  (from user) Latency here “looks wrong”.  A preloader is needed load time vs. subsequent naviation time
Data sent back server Data  +  presentation  +  logic 1 2 Anticipating  user request Instant Response! pre-fetching data
At this point, download all remaining slides Naive model  >Insight: Most users start at front of slideshows. >Insight: Users pause, then hit advance several times in rapid succession >Insight: Users that cross the 10 slide mark tend to finish a presentation >Insight: Bandwidth costs are under control Iteration 1 Iteration 3 1 2 3 … evolution of slide-loading predictive model
server Instant Response! *Individual results may vary. UI investments are subject to market risk. Read prospectus carefully before investing. assuming success when saving
server Instant Response! But change not visible to others for 15 minutes pinching pennies: successful caching
crossing borders
Cheap hacks that make for better UX  ,[object Object],[object Object],[object Object],[object Object]
Flash vs. AJAX
Flash strengths ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Flash weaknesses ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
AJAX strengths ,[object Object],[object Object],[object Object],[object Object]
AJAX weaknesses ,[object Object],[object Object],[object Object]
www.jonathanboutelle.com www.slideshare.net/jboutelle

Mais conteúdo relacionado

Semelhante a Gameinspired ria-design-22459

jQuery Conference San Diego 2014 - Web Performance
jQuery Conference San Diego 2014 - Web PerformancejQuery Conference San Diego 2014 - Web Performance
jQuery Conference San Diego 2014 - Web Performance
dmethvin
 
Tuenti teams - Php Conference
Tuenti teams - Php ConferenceTuenti teams - Php Conference
Tuenti teams - Php Conference
Guille -bisho-
 

Semelhante a Gameinspired ria-design-22459 (20)

jQuery Conference San Diego 2014 - Web Performance
jQuery Conference San Diego 2014 - Web PerformancejQuery Conference San Diego 2014 - Web Performance
jQuery Conference San Diego 2014 - Web Performance
 
Designing Powerful Web Applications - Monterey
Designing Powerful Web Applications - MontereyDesigning Powerful Web Applications - Monterey
Designing Powerful Web Applications - Monterey
 
Tuenti teams - Php Conference
Tuenti teams - Php ConferenceTuenti teams - Php Conference
Tuenti teams - Php Conference
 
Js foo famo.us- build native quality apps using html5 within a day
Js foo  famo.us- build native quality apps using html5 within a dayJs foo  famo.us- build native quality apps using html5 within a day
Js foo famo.us- build native quality apps using html5 within a day
 
Hacking to be performant
Hacking to be performantHacking to be performant
Hacking to be performant
 
Js foo famo.us- build native quality apps using html5 within a day
Js foo  famo.us- build native quality apps using html5 within a dayJs foo  famo.us- build native quality apps using html5 within a day
Js foo famo.us- build native quality apps using html5 within a day
 
Mobile App Performance Optimization to Improve User Experience - by Supercharge
Mobile App Performance Optimization to Improve User Experience - by SuperchargeMobile App Performance Optimization to Improve User Experience - by Supercharge
Mobile App Performance Optimization to Improve User Experience - by Supercharge
 
Designing Evidence - Planning how to capture specific user behaviour as reada...
Designing Evidence - Planning how to capture specific user behaviour as reada...Designing Evidence - Planning how to capture specific user behaviour as reada...
Designing Evidence - Planning how to capture specific user behaviour as reada...
 
From Website To Webapp Shane Morris
From Website To Webapp   Shane MorrisFrom Website To Webapp   Shane Morris
From Website To Webapp Shane Morris
 
Famo.us - build native quality apps using html5 within a day
Famo.us - build native quality apps using html5 within a dayFamo.us - build native quality apps using html5 within a day
Famo.us - build native quality apps using html5 within a day
 
Application compatibility final
Application compatibility finalApplication compatibility final
Application compatibility final
 
Performance as UX with Justin Howlett
Performance as UX with Justin HowlettPerformance as UX with Justin Howlett
Performance as UX with Justin Howlett
 
Web development at Live: Frontend Software Intro + Trade-offs, React, Angular
Web development at Live: Frontend Software Intro + Trade-offs, React, AngularWeb development at Live: Frontend Software Intro + Trade-offs, React, Angular
Web development at Live: Frontend Software Intro + Trade-offs, React, Angular
 
Modern Web Applications
Modern Web ApplicationsModern Web Applications
Modern Web Applications
 
Rich User Experience Documentation - Update
Rich User Experience Documentation - UpdateRich User Experience Documentation - Update
Rich User Experience Documentation - Update
 
Building Web Interfaces
Building Web InterfacesBuilding Web Interfaces
Building Web Interfaces
 
The Next Generation of Flash User Experience
The Next Generation of Flash User ExperienceThe Next Generation of Flash User Experience
The Next Generation of Flash User Experience
 
Videogram - Building a product with Sencha Touch
Videogram - Building a product with Sencha TouchVideogram - Building a product with Sencha Touch
Videogram - Building a product with Sencha Touch
 
Accelerating Angular Application Development with Third Party Code
Accelerating Angular Application Development with Third Party CodeAccelerating Angular Application Development with Third Party Code
Accelerating Angular Application Development with Third Party Code
 
5 critical-optimizations.v2
5 critical-optimizations.v25 critical-optimizations.v2
5 critical-optimizations.v2
 

Mais de Apoorvi Kapoor (20)

2slidedeck-150318164339-conversion-gate01
2slidedeck-150318164339-conversion-gate012slidedeck-150318164339-conversion-gate01
2slidedeck-150318164339-conversion-gate01
 
Hiking guide2014
Hiking guide2014Hiking guide2014
Hiking guide2014
 
Readme
ReadmeReadme
Readme
 
Empty
EmptyEmpty
Empty
 
111111
111111111111
111111
 
03 03 what_aboutbigdata
03 03 what_aboutbigdata03 03 what_aboutbigdata
03 03 what_aboutbigdata
 
Hiking guide2014
Hiking guide2014Hiking guide2014
Hiking guide2014
 
111111
111111111111
111111
 
Abcd feihfiewfn
Abcd feihfiewfnAbcd feihfiewfn
Abcd feihfiewfn
 
Slide share culture_code_template
Slide share culture_code_templateSlide share culture_code_template
Slide share culture_code_template
 
Webtech1b
Webtech1bWebtech1b
Webtech1b
 
Webtech1b
Webtech1bWebtech1b
Webtech1b
 
Webtech1b
Webtech1bWebtech1b
Webtech1b
 
Test
TestTest
Test
 
5x5
5x55x5
5x5
 
Lorem
LoremLorem
Lorem
 
SlideShare Hack Day 2013
SlideShare Hack Day 2013SlideShare Hack Day 2013
SlideShare Hack Day 2013
 
Profile Pictures
Profile PicturesProfile Pictures
Profile Pictures
 
SlideShare HACK Day 2013
SlideShare HACK Day 2013SlideShare HACK Day 2013
SlideShare HACK Day 2013
 
SlideShare HACK Day 2013
SlideShare HACK Day 2013SlideShare HACK Day 2013
SlideShare HACK Day 2013
 

Último

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Último (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 

Gameinspired ria-design-22459

Notas do Editor

  1. Hey everybody! My name is Jon Boutelle. I’m the CTO of Uzanto. Today I’m going to be talking a really simple idea. I’m going to be talking about how Flash and AJAX allow to do two things. 1) Reinvent mature web applications, and 2) Make dramatic improvements to existing web applications about Rich Client technologies like Flash and AJAX, and how to use them to create great web experiences. I want to avoid giving blanket recommendations about how things should be built. Design is really contextual: approaches that work for one application often aren’t suitable for other kinds of applications. What I will talk about is the experiences we’ve had, both positive and negative, developing rich internet applications, and how these experiences have shaped the way we think about design. I will also talk about lessons we have learned and about the mistakes we have made. Beyond principles: our experiences with RIA design and development How to think like an RIA designer
  2. 1) It’s what we used as inspiration, and it seemed to work. 2) Games seem to captivate people, they get addicted, they play them for hours. They must be doing something right.
  3. When I think about how to use rich client technologies, one dimension that comes to mind is the difference between using it to reinvent a product category, and using it to optimize an existing product. One of the big opportunities that RCT give us is the chance to reinvent quote mature unquote product categories. For example, web based email was considered pretty much done when Google released gmail. This opportunity exists because for the longest time, web developers had a very limited idea of what was possible on the web. We were all caught in this request-wait-response model. Now we all know that you can make web applications really dynamic and rich, pretty much anything that’s been done up until now has the potential to be redone better. SCRAP BELOW THIS In a way, I think the two applications that we’ve built represent two different ways to use rich client technology. There’s two strategies for using RIA technologies that we’ve used. First is to use rich client technologies to reinvent an existing product category. GMail, Google maps. MindCanvas Reinvent existing product categories Google Maps, Gmail, Zimbra, MindCanvas Participant (Flash) and MindCanvas client (AJAX)
  4. The other place where rich client technologies fit in is in making “regular” web applications more responsive, intuitive, and easier to use. If there’s a particular interaction that is very common or very important to your business, you can optimize that flow. The nice thing about using this approach is a lot of times there are simple improvements that can make an application MUCH easier to use. This means that a lot of times the ROI for making these kinds of improvements will be very high. A simple example of this would be a shopping cart that uses AJAX to update shipping prices when the zip code is entered. A more complex example would be making a social app more responsive by using AJAX in critical places. You can also . Tactical uses of rich web technologies Make dramatic usability improvements with huge ROI
  5. What do I mean by RCT?
  6. Uzanto started as a user experience consulting company, and over the years has kinda morphed into being a web products company. The first product we built is MindCanvas, which launched about a year and a half ago. MindCanvas is an online survey application specifically made for doing design research. I makes aggressive use of both Flash and AJAX. Embarassingly enough, major portions of the application had to be rewritten from scratch before we had something that we felt was good enough to release in the marketplace. Stuff that was written in AJAX had to be rewritten using Flash. Moreover, stuff that was built using Flash had to be rewritten using AJAX. So after that experience, we think we have a pretty good handle on the strengths and weaknesses of each technology, and specific ideas about when to use each one. The second product we built is Slideshare, which launched a few months ago. Slideshare is a website for sharing presentations: it’s been called “the youtube of powerpoint” by some people. Slideshare also uses both Flash and AJAX, usually on the same page. (Note, we have not had to switch technologies even once for Slideshare. Building of it has gone fast, and much more smoothely, and part of it is knowing and understanding ria’s) SCRAP BELOW THIS SlideShare: multimedia Flash and light AJAX Traditional web application with AJAX optimizations Use both technologies in same screen Flash as secret weapon for new media companies
  7. MindCanvas was a product that we thought of while doing user research for our consulting practice. It’s a good example of this concept of reinventing an existing product category. Online surveys have been around for a while. But we found that for the kind of questions that we wanted to ask, nothing that was available worked really well. We could sort of duct tape a solution together using a combination of survey products. But it wasn’t at all optimal. It wasn’t just a question of supporting a particular type of question, either. The fact that the software had been written with the assumption that the web page would not be interactive fundamentally crippled it’s ability to replicate the kind of research exercises that we successfully do face-to-face when doing user research. What kind of user research methods do you guys use? An example will help explain what I mean by this
  8. So here’s a screenshot from our favorite online survey vendor, SurveyMonkey. SurveyMonkey is is a lot, lot better than much of other survey software we’ve used. But its still very much a “plain” HTML experience. How many people here have used survey monkey? You answer a page of questions, click “OK”, and then the next page appears. If there’s form validation to be done, it happens through javascript popups. It’s just not compelling. Do demo of divide the dollar here.
  9. NOTE TO SELF: OPEN UP MINDCANVAS DIVIDE THE DOLLAR HERE One advantage that we get from using RIAT for building survey software is that it is much easier to mimic real world techniques. TheMindCanvas exercise is pretty similar to a face-to-face divide the dollar exercise. That’s because the richer UI capabilities enable us to simulate the physical world, at least a little bit. We can pick things up in one place and put them down in another, things can get pushed around or displaced, there’s a sense of a third dimension. Design research is inherently visual: a lot of the time, we’re asking for users to interact directly with a proposed design for a web page. In order for them to give us real feedback, they need to be able to identify a particular area of the proposed visual and do something to it. &lt;Show example of sticky here&gt; SCRAP BELOW THIS Ultimately MindCanvas is a design paradigm. It’s a way of designing experiences that are game-like, quick, and gather information from the user in the process. At this point of time, we can think of another method that we want to implement. And basically, all it takes is to conceptualize it using the MindCanvas way.
  10. How? To use RIAT to make online surveys better? Well if the problem is getting people engaged, and motivating them to do complex tasks, then games are a pretty good design inspiration. We specifically looked at casual games, especially games like bejewelled from popcap. These games are amazing in their ability to draw you in, shift your attention, get you hooked. So what is it these games do that is so great? Design inspiration: casual games (Popcap etc) Advantages - Immediate feedback (action / reaction loop) - Engaging graphics Feel the flow Popcap games
  11. &lt;USE OPEN SORT TO DEMO THESE&gt; -The best games play a lot with attention control. Often it’s so subtle that users themselves aren’t aware of it. If you get stuck playing bejewelled, a jewel that is in a legal move will softly gleam. Your attention is drawn to it, but it happens so fast that users aren’t aware of what happened. They just know that they “found” the next legal move. (Show Intro to card sort + “shine” on counter)
  12. &lt;USE OPEN SORT TO DEMO THESE&gt; -The best games play a lot with attention control. Often it’s so subtle that users themselves aren’t aware of it. If you get stuck playing bejewelled, a jewel that is in a legal move will softly gleam. Your attention is drawn to it, but it happens so fast that users aren’t aware of what happened. They just know that they “found” the next legal move. (Show Intro to card sort + “shine” on counter)
  13. &lt;USE OPEN SORT TO DEMO THESE&gt; -The best games play a lot with attention control. Often it’s so subtle that users themselves aren’t aware of it. If you get stuck playing bejewelled, a jewel that is in a legal move will softly gleam. Your attention is drawn to it, but it happens so fast that users aren’t aware of what happened. They just know that they “found” the next legal move. (Show Intro to card sort + “shine” on counter)
  14. &lt;USE OPEN SORT TO DEMO THESE&gt; -The best games play a lot with attention control. Often it’s so subtle that users themselves aren’t aware of it. If you get stuck playing bejewelled, a jewel that is in a legal move will softly gleam. Your attention is drawn to it, but it happens so fast that users aren’t aware of what happened. They just know that they “found” the next legal move. (Show Intro to card sort + “shine” on counter)
  15. &lt;USE OPEN SORT TO DEMO THESE&gt; -The best games play a lot with attention control. Often it’s so subtle that users themselves aren’t aware of it. If you get stuck playing bejewelled, a jewel that is in a legal move will softly gleam. Your attention is drawn to it, but it happens so fast that users aren’t aware of what happened. They just know that they “found” the next legal move. (Show Intro to card sort + “shine” on counter)
  16. &lt;USE OPEN SORT TO DEMO THESE&gt; -The best games play a lot with attention control. Often it’s so subtle that users themselves aren’t aware of it. If you get stuck playing bejewelled, a jewel that is in a legal move will softly gleam. Your attention is drawn to it, but it happens so fast that users aren’t aware of what happened. They just know that they “found” the next legal move. (Show Intro to card sort + “shine” on counter)
  17. &lt;USE OPEN SORT TO DEMO THESE&gt; -The best games play a lot with attention control. Often it’s so subtle that users themselves aren’t aware of it. If you get stuck playing bejewelled, a jewel that is in a legal move will softly gleam. Your attention is drawn to it, but it happens so fast that users aren’t aware of what happened. They just know that they “found” the next legal move. (Show Intro to card sort + “shine” on counter)
  18. &lt;USE OPEN SORT TO DEMO THESE&gt; -The best games play a lot with attention control. Often it’s so subtle that users themselves aren’t aware of it. If you get stuck playing bejewelled, a jewel that is in a legal move will softly gleam. Your attention is drawn to it, but it happens so fast that users aren’t aware of what happened. They just know that they “found” the next legal move. (Show Intro to card sort + “shine” on counter)
  19. Isn’t all this too much? Do we really want web pages to be making noises all the time, animating all over the place, deciding where on the screen we look? Do we want our electronic banking site to be whimsical? Probably not. “ Casual” one-time user Not mandatory, so has to be fun and engaging in order to motivate people to do it. Not serious (doesn’t involve a transaction of some kind) Immersive interfaces benefit from the” full screen” Frees you from expectations of a web app (back button, metaphor of navigating through pages, etc) THIS CONTRADICTS POPCAP “PIXEL DISCIPLINE” POINT. REMOVE THIS ONE OR THAT ONE
  20. Plus-point: LIGHT and FAST-feeling Negatives: - no vector graphics Animation more primitive No sound Platform Issues
  21. Survey design is a case like this: people spend HOURS working on making their surveys exactly right.
  22. Obviously, if someone is spending hours doing something using a conventional web app, then there’s a lot of value in removing the click&gt;wait time. The value isn’t just in the extra seconds that get saved, either. Those seconds of time spent waiting for the UI to refresh causes users to get distracted, to lose their sense of flow. So making the application more responsive means that people can work MUCH faster, since they aren’t continually getting distracted. And they can probably do better work, for the same reason. So for applications where someone is doing creative work on their own data, there’s a lot of value in optimizing the experience with RCT.
  23. Spent 6 months making what we though would be a REALLY cool survey design interface in flash. After extensive user testing and multiple iterations, we had to abandon it. What went wrong?
  24. Screen layout was really hard. We kept running out of space. Why? Because it “feels” unnatural to have a scroll bar on the border of a flash application. Metaphor is an “application”, not a page. Scroll bars only feel natural on individual “blocks” inside the application. 2) The “application” ness of the page made it awkward to support more than a certain number of tasks. Everything needed it’s own panel, which would swing out when needed, then swing back closed when you were done with it. Designing it so that everything fit was really hard. Often the panel transitions ended up looking really ghetto (less than 2 fps).
  25. 2) Despite our best efforts, we couldn’t get real direct manipulation working. The workflow we could actually engineer was always “select a question, it pops up in a panel, work on the question in that panel“. NOTE: this design pattern is pushed really heavily by Adobe in their demos. Similarly, the positioning of the questions in the survey required dragging a widget that represented the question, rather than the question itself.
  26. Needed to use html rather than flash So can have long pages So can easily use navigation metaphor to strip out some, less frequently used tasks into separate “pages”. Needed better direct manipulation Edit in place Drag and drop to position Would this be possible using Javascript?
  27. Yup! It was possible. 1) When the whole page scrolls, you can navigate using the down arrow. MUCH faster than directly using scroll bars. 2) The page can be arbitrarily long. Design freedom! After being trapped in that short rectangle that was the Flash layout, it was a huge relief to have an arbitrarily long page to work with.
  28. AJAX apps: what should they do? Save in background “the right thing to do” User doesn’t lose work User has less clicking to do Save indicators Users aren’t used to this bar in web page Need to inform user of what’s happening With proper signaling, they seem to understand it fine
  29. AJAX apps: what should they do? Save in background “the right thing to do” User doesn’t lose work User has less clicking to do Save indicators Users aren’t used to this bar in web page Need to inform user of what’s happening With proper signaling, they seem to understand it fine
  30. “ Saving your work” in rich applications Desktop: need to explicitly save Vintage web: saves “by accident” due to web navigation (For example, if you add something to your shopping cart, or if you change your account address on a website, you can’t navigate away from that page without saving or abandoning your data. What do users expect in AJAX apps?
  31. AJAX apps: what should they do? Save in background “the right thing to do” User doesn’t lose work User has less clicking to do Save indicators Users aren’t used to this bar in web page Need to inform user of what’s happening With proper signaling, they seem to understand it fine
  32. AJAX apps: what should they do? Save in background “the right thing to do” User doesn’t lose work User has less clicking to do Save indicators Users aren’t used to this bar in web page Need to inform user of what’s happening With proper signaling, they seem to understand it fine
  33. Copy / Paste &amp; deliverables in PPT Supporting integration with offline work Recognize continued dominance of Office productivity suite for doing “real work”
  34. AJAXifying core work areas has huge ROI Hours and hours of time saved Happy customers Well worth the preload cost and engineering effort
  35. App could work without Rich Client tech But wouldn’t be as fast or as fun
  36. Evoke familiar “page metaphor”: looks “web native” Get “head room” to design Mix-in all benefits from flash, while avoiding downsides Use Flash for Complex widgets Media Visualizations Use HTML as harness for page, text display Use AJAX for in-place editing
  37. Pick a platform that lets you rev fast These things are very hard to get right the first time Notice the tasks that users do often, focus on RIAfying that
  38. One thing we’ve noticed is that the page becomes a more fundamental part of the information architecture in RIAs. Since each page has the ability to do much more, it contains a larger amount of functionality. What you make doable within the page versus what you force a page refresh for becomes a statement of what content and functionality you think belongs together. Deciding where page borders are is a key IA decision now Recommendations: Don’t make users cross borders in the middle of a task (keep people in context) Don’t make users cross borders too frequently Do make users cross borders when you want to emphasize the border
  39. Examples: save to favorites, more/related tab Advantages focus user attention on one location reduce user time spent waiting for page reloads Reduce options user has to pick from when scanning page Conclusions This is how most work is done: a default best practice
  40. It’s NOT a contest. You need both, sometimes. You don’t want to use the wrong technology in the wrong place. Understanding the strengths and weaknesses of each one will help you build better apps.
  41. Text Issues fuzzy rendering inability of user to copy/paste