The document discusses the user experience (UX) of rich internet applications (RIAs). It provides tips for designing the UX of RIAs, such as telling a story to understand user needs, designing interactions between elements, and defining events and results. The document also discusses RIA development considerations like checking default API values, creating style guides, and describing show/hide behaviors of elements.
22. A Small Code Sample FormPanelupadcForm = new FormPanel(); upadcForm.setHeading(“User Focus Form”); upadcForm.setWidth(350); FormLayout layout = new FormLayout(); layout.setLabelWidth(75); layout.setLabelAlign(LabelAlign.TOP); upadcForm.setLayout(layout); TextField<String> firstName = new TextField<String>() firstName.setFieldLabel(“First name”) firstName.setAllowBlank(false); upadcForm.add(firstName, formData); 20
23. DevelopersExplicitly stated… FormPanelupadcForm = new FormPanel(); upadcForm.setHeading(“User Focus Form”); upadcForm.setWidth(350); FormLayout layout = new FormLayout(); layout.setLabelWidth(75); layout.setLabelAlign(LabelAlign.TOP); upadcForm.setLayout(layout); TextField<String> firstName = new TextField<String>() firstName.setFieldLabel(“First name”) firstName.setAllowBlank(false); upadcForm.add(firstName, formData); Form will be 300px wide Labels will be above fields ”First name” field is required 21
24. FrameworkImplicitly stated… FormPanel uses setFieldWidth(int)Sets the default field width (defaults to 210). FormLayout is meant to be a single column. It uses a combo of tables and absolute positioning All widgets, including state drop-down will be 200 px wide You will not be able to “easily” add help icons or elements next to fields BTW, you have 2 “theme” options – blue or gray. Unless you enable ARIA – then black with orange and white. 22
25. App UX Considerations Primary – How big is the screen, what’s on it? Window size Widget selection, size, alignment Layout, spacing Helper widgets, icons Secondary – How do they work? Transition effects Widget look / appearance on disabling, read-only Relative positioning vs. absolute No rights / roles – should widgets appear? 23
26. A. Take a look at the API Search for “default” anything… Width Transitions Behaviors Show / Hide results Do things reappear where / how expected? 24
27. “It is not as important that you learn the actual code to generate the custom UIViews (trust me when I say that it will be overwhelming), but rather focus your attention on learning the effects, styles, and applications…” Shawn Welch From Idea to App: Creating iOS UI, Animations, and Gestures 25
28. B. Create an RIA style guide Define and agree to vocabulary Different message types Color, position, timing Selection listeners Single click, Double click, Hover Transition effects Use VIDEO or Step 1, 2, 3, to describe Lookup / Reference options Field-level help, Hover behavior 26
29. API Items to Check DEFAULT anything… Width Transitions Behaviors Inheritance For the major widgets, does the inheritance make sense? Show / Hide results Do things reappear where / how expected? 27
30. C. Define the events and results for any interactive elements Should a grid row open when [clicked or double-clicked]? Does the widget act similarly to a non-RIA widget? Should a [hover menu or pop-up window] appear when a user hovers over a friend’s name? 28
31. Tools can help Axure iRise Omnigraffle Visio PowerPoint Flash Etc. 29
32. D. Describe show/hide behavior Where do things appear? How long do they appear? How do they move in and out? 30
33. Think of RIA as a Play Cast of characters Positioning, relationships Movements, transitions Set design 31
34. Questions? Kate Walser Kate [at] cxinsights [dot] com @kwalser (571) 281-2626 32 Slides, materials will be posted by 9/30 http://www.cxinsights.com/userfocus
35. Pattern Libraries jQuery http://api.jquery.com/browser/ (click thru left nav to find items (e.g., html()), then view example in dotted line box below code example) http://docs.jquery.com/Tutorials:Live_Examples_of_jQuery Sencha Touch KitchenSink http://dev.sencha.com/deploy/touch/examples/kitchensink/ Bill Scott, Designing Web Interfaceshttp://www.flickr.com/photos/designingwebinterfaces/ 33
Notas do Editor
Rich Internet applications are still abuzz. With Flash, Flex, Google Web Toolkit, Dojo, and other frameworks, developers are ga-ga over web-based applications that function like software. For user experience professionals, understanding what new opportunities and challenges these frameworks bring (and how to create and communicate the design to developers!) makes the difference between a clunky web-based product and a sleek, intuitive application that users will love.RIAsDesign considerationsExamplesBest practices
Think about a site like Slashdot – it’s meant to be a social network where people can share news and ideas.You can click on links, select radio buttons, and click buttons.To see changesIt’s your usual website.
Now think of an app like Facebook. You can use it on the web or on mobile.Things appear, change, have effects
Background / SettingPurposeGoalsUsersTasks, high-level flowRequired Elements (e.g., logo, contact info…)
Storytelling isn’t enough for a great app anymore. Screenplay and set design will be more relevant.
The code framework they are using may be
If you have anything beyond just a simple, one-column form, it may be difficult to handle using web standards-friendly relative / flow layouts. Absolute gives you more precision…but may use tables for layout.