6 Tips for a Great Flex UX: Part 4

By Theresa Neil

Since the book focuses on rich interactions, I want to spend some time on Adobe Flex/AIR.

These tips are based on the best Flex resources I have found, and how you can use them to craft a great user experience. This is part 4 of 6:

Stock your Toolbox: 40+ Custom Flex Controls

Flex 3 includes a wide range of controls. Unfortunately, it doesn’t have all of the Essential Controls I use for RIA design. But fortunately, talented and industrious Flex developers have created numerous custom controls for Flex.
40_flex_custom_controls1

I pulled together a visual repository of custom Flex controls. Most of these controls were created to showcase certain functionality- not usability best practices. So some may need further refinement to comply with the usability principles discussed in the previous posts. Click on the picture for the demo.

01. Accordions

accordion_with_custom_header
Complex Headers
accordion_horizontal
Horizontal Accordion
accordion_apple_style

Apple Style
More under ‘Collapsible Panels’

02. Auto Complete

auto_complete
More Examples

03. Bar Code Generator

barcode_reader

04. Build a List

build_a_list2

05. Calendar/Scheduler

calendar1
ILog Elixir
calendar
Ely Greenfield’s early Scheduler
calendar_scheduling
Adobe’s Scheduler on flexlib see flexlib.scheduling package

06. Captcha

captcha

07. Charts & Graphs

chart
3D charts by iLog Elixir
graph_drill
Chart Drill Down with Animation
dash
Dashed Line Series
graph_compress
Chart Offest
legend
Advanced Legend
scroll_zoom
Scroll and Zoom

08. Collapsible Panels

collapsible_panels
Window Shade- panels roll up and down
collapsible
Arc90’s Collapsible Panel
stacked_panels
Early Stacked Panels

09. Cover Flow

coverflow1
Doug McCune’s updated Cover Flow

10. Data Visualization

diagrammer
gauge
Kap IT Lab
ILog Elixir
BirdEye

11. Docking

dockable

12. Drop Down Menu with Scrolling

menu_scrolling

13. Find and Highlight Text

highlight
In flexlib as Highlighter

14. Fisheye Menu (like Mac Dock)

dock

15. Flip Card

flip

16. Floating

floating

17. Gantt Chart

gantt
ILOG Elixir Gantt
gantt
Doug McCune’s Early Gantt Chart

18. Inline Edit (Fields)

inline_edit
Early example by Ely Greenfield
inplace_edit
Modal editing variation by Ryan Swanson
* The hover invitation to edit on a field by field basis (like Flickr) works best for infrequent edits

19. Icon Loader

image_converter
On flexlib under Icon Loader

20. List/Tree Converter

list_tree
On flexlib under Convertible Tree List

21. Mask (text input and validation)

mask
On Adobe Flex Exchange

22. Multiple Document Interface (MDI)

mdi1
On flexlib under flexlib.mdi

23. Magnify

magnify1
magnify_big

24. Map Callouts

map_callouts

23. Pan and Zoom

pan_zoom

24. Page Turn

page_turn
Peek Panel by Bill White (nice blog)
Ely Greenfield’s early FlexBook

Didier Braun’s PageFlip

25. Pivot Table

pivot
Satish’s Pivot Table
pivot_flexmonster
Flex Monster product

26. Resize

resize1
Resizeable and moveable window
resize
Resize Objects with ResizeManagerFX

27. Scrolling-Internal

scroll_panel
In flexlib as Drag Scrolling Canvas

28. Side Tabs/Vertical Tabs

side_tabs
Degrafa ToggleButtonBar vertical tabs
side_tabs_2
side_tabs_3
Vertical Tab Navigator

29. Sliders

slider_dual

30. Sliding Panel

slide_panel

Early example
Slide out menu with effects instead of states

31. Sparklines

sparkline
More examples:
Fusion Charts
Sherlock Informatics
Birdeye
19nates

32. Spell Check

spell_check
There is also a Spell Check component on Flex Exchange

33. Tabs (configurable)

tab_2

34. Text Prompt/ Watermark Fields

watermark
At flexlib under prompting TextInput

35. Tree Table

tree_table
Early Tree Grid

36. Time Picker

time
Alternate one on Flex Exchange as Time Chooser

37. Toolbars

toolbars

38. Trees

tree
Open branches by clicking on the row
Adding leaf notes
Showing XML
Rearranging nodes with drag and drop
Drag from a Grid to a Tree

39. Upload Files

upload

40. Vertical Browse

vertical_browse

Comment with your custom Flex controls

Please comment with a link to your favorite custom Flex controls.

Comments (17)

6 Tips for a Great Flex UX: Part 3

By Theresa Neil

Since the book focuses on rich interactions, I want to spend some time on Adobe Flex/AIR.

These tips are based on the best Flex resources I have found, and how you can use them to craft a great user experience. This is part 3 of 6:

Learn from the Rest: 10 Great RIAs

Take a look at some of the best RIAs on the web. How did I decide these are the best? I reviewed numerous applications, basing the evaluations on Jakob Nielsen’s 10 Principles for User Interface Design:

Feedback — Metaphor — Navigation — Consistency — Prevention — Recognition — Efficiency — Design — Recovery — Help

I realize these guidelines are a bit old (from 1990!)- but all applications should meet these guidelines at a minimum. The applications listed below also embody our 6 Principles for Rich Interaction:

Make it Direct — Keep it Lightweight — Stay on the Page — Provide an Invitation — Use Transitions — React Immediately

01. CrazyEgg

crazyeggcrazyegg_confetti

Fantastic application which adheres to every one of the principles. At first, I thought the confetti feature was going to ruin the evaluation, but it is a perfect balance of innovation and usability. Look at how they use common checkboxes for selection, and wiggle the confetti when a source is added- very rich, very nice.

Interactive demo is available

02. Mint

mintmint_saver

Mint’s user experience only gets better and better. You may want more features in the product (money market support…), but the features they offer are perfectly executed. Primarily developed with HTML, CSS, JS and Ajax, they chose to incorporate Flex in the Trends section.
The new Ways to Save section is completely dynamic, updating as you adjust amounts, scores and preferences.

Free registration is available

03. Wufoo

wufoowufoostatistics

Wufoo is an extremely well designed tool that has more than meets the eyes. Play with the templates and report creator for inspiration in keeping it simple, and look at they way they use Blank Slate and Help Tips to keep you moving towards your goal. It is almost even fun :o )

A nice product tour and free plan is available

04. 280 Slides

280slides280slides_toolbar

One word- slick. If only all of my projects could be this perfect. Yes, it seems like Keynote (or PowerPoint) on the web, but take a closer look at some of the features. Instead of the maddening Inspector and Format menu, the common formatting functions are in the toolbar. Everything is there when I need it, they even incorporated Adobe Kuler in the color palette!

Free trial available

05. Action Method

actionmethodactionmethod_dialog

Another very well implemented product. It is easy to get started with the Blank Slate screens providing tips and directions, and even easier to get comfortable using the product because it uses a standard screen patterns and common controls.
Every detail has been accounted for. Notice the visual design that makes it clear that the tasks can be dragged around and reordered.

Trial version available

06. Fidelity Labs

fidelitymyplanfidelitylabs_mortage

In 2006 Fidelity Labs started cranking out some very nice RIAs, one of them being Fidelity MyPlan. The Mortgage Search and Homes Sold were also very nice, but have been retired. Unfortunately, their newest 3D Portfolio Analyzer, is not up to par with their earlier beta products.
The direct interactions and what-if scenarios in MyPlan seem to have inspired Discovers Paydown Planner and other direct manipulation financial planning tools.

Fidelity MyPlan is publicly available

07. Pandora

pandorapandora_tip

Pandora has been around since 2005 and has finally gained popularity. It has a very simple, intuitive interface, which makes it easy to get started. The menu offers direct interaction for rating the song ‘up’ or ‘down’, while also providing advanced options such as “don’t play this song again for a month”. And the help tips, shown at just the right time in the workflow, provide a glimpse into advanced features.

Pandora is publicly available

08. Wave Maker

wavemakerwavemaker_model

Wavemaker is a great example of how a complicated product with many features can be clarified with good interface design. They use a logical page flow from left to right- matching the developer workflow of adding a control to the canvas (LEFT) , physically manipulating it (CENTER), then entering tweaking the details in the properties and style panel (RIGHT).

A Cloud Edition is available

09. SugarSync

sugarsync_grid
sugarsync

Another great product that relies upon standard screen patterns and common controls to create an intuitive efficient experience. Awarded Top 10 User Interfaces of 2008 by Jakob Nielsen. Report available for purchase.

A 45 day trial is available

10. clickshirt

clickshirtclick_hoverclick_click

clickshirt keeps it simple and fun with integrated demos and lively interactions. Event the checkout is rich, hover to see more details about the t-shirt type, click to specify the size and quantity. No gratuitous paging in this application.

clickshirt is publicly available

More Good RIAs

These products have good examples of rich usable components, although they may not have met the 10 basic principles for usability throughout the whole application.

NetVibes

netvibes1

Trulia Snapshot

truiasnapshot1

37signals products like Highrise

highrise

Wesabe

wesabe

Keep an Eye on These

iWork.com Publishing Tool

iworkcom-comments

Atlas

atlas

Bespin

bespin

OtherInbox

otherinbox

Comment with your favorite RIA

I realize I have only skimmed the surface here, please comment with a link to the best RIA you use.

Thanks to Rob Jones and Greg Leppert for helping me pull together this list.

Comments (9)

6 Tips for a Great Flex UX: Part 2

By Theresa Neil

Since the book focuses on rich interactions, I want to spend some time on Adobe Flex/AIR.

These tips are based on the best Flex resources I have found, and how you can use them to craft a great user experience. This is part 2 of 6:

  • Play With It: 10 Explorers & Galleries
  • Learn From the Best: 10 Great Flex Apps
  • Learn From the Rest: 10 Great RIAs
  • Stock Your Toolbox: The Essential Controls
  • Review Best Practices for Designing a RIA
  • Avoid Common Mistakes: 10 Anti-Patterns

Learn from the Best: 10 Great Flex Apps

Take a look at some of the best Flex applications on the market. How did I decide these are the best? I reviewed numerous applications, basing the evaluations on Jakob Nielsen’s 10 Principles for User Interface Design:

Feedback — Metaphor — Navigation — Consistency — Prevention — Recognition — Efficiency — Design — Recovery — Help

I realize these guidelines are a bit old (from 1990!)- but all applications should meet these guidelines at a minimum. The applications listed below also embody our 6 Principles for Rich Interaction:

Make it Direct — Keep it Lightweight — Stay on the Page — Provide an Invitation — Use Transitions — React Immediately

01. Picnik

picnik
Free version available

02. Balsamiq

balsamiq
Trial version available

03. Sprout Builder

sproutbuilder
Demo version available.

04. Campaign Monitor by eyeblaster

campaignmonitor
Commercial application- no demo available. Awarded Top 10 User Interfaces of 2008 by Jakob Nielsen. Report available for purchase.

05. ConceptShare

conceptshare
Free account available.

06. Weight Watchers eTools

weight_watchers
Commercial application- no demo available.

07. Small Worlds

smallworlds
Free account available

08. Buzzword

adobebuzzword
Free account available

09. Whitestone Cheese

whitestone
Publicly available at www.whitestonecheese.co.nz

10. Kuler

kuler
Publicly available at kuler.adobe.com

11. SumoPaint

sumopaint-screen
Free account available

Close Contenders

These apps were really close, but missed a couple of key principles, or are still maturing.

Klok

klok_fullscreenklok_time_entries
Free personal download available

Nice time tracking product in AIR- nailed the metaphor, but haven’t Made it Direct enough (yet). I instinctively want to click in my calendar to start logging my time against a certain project. Instead I have to navigate to Project View, then into Time Entries. And spinners for entering start and stop times are inefficient.

I must say I love the Weekly Time Sheet though, and the fact I can drag it to my desktop! I think this product will mature very nicely.

Tour Tracker

tour_tracker_fullscreen
tourtracker_allcaps
Up for a limited time at Amgen Tour of California.

Looks amazing. The metaphor is perfect- big map showing the course and stages- but lost points on some basic principles. Specifically Feedback- I click and click to “watch a rider” on the home page, nothing happens, so I keep clicking. And Design- a black background might demo well, but white and blue tex, all caps, sure is hard on the eyes.

Google Finance Dashboard

googlefinance
Publicly available at BrightPoint Consulting

This is a really nice dashboard showing what can be done with Flex & Degrafa. I can’t wait to see how they finish it out. Also check out Tom Gonzale’s blog for more amazing data visualizations with Flex and Degrafa.

htmlText Editor 2008

htmltexteditor1
Publicly available at www.theflexguy.com

This is a neat little one screen application that absolutely Stays in the Page and Makes it Direct. However, the Filter Tags feature is non-standard in more than one way: “If you remove tags and see that they really were needed, you can just uncheck the box and press Filter tags again.” I know the space is limited but Undo and Redo buttons would make more sense.

Agile Agenda

agileagendaagile_agenda_clicks
Free trial download available

Project management tool in AIR. Missed the Keep it Direct, and Stay in the Page principles. Too many dialogs where simple inline editing would have sufficed. Need better icons, or text with the icons. Usability aside, the product’s functionality seems to be quite robust and well worth the price.

Comment with your favorite Flex applications

I realize I have only skimmed the surface here, please comment with a link to the best Flex UIs you know of.

Comments (14)

6 Tips for a Great Flex UX: Part 1

By Theresa Neil

Since the book focuses on rich interactions, I wanted to spend some time on Adobe Flex/AIR.

After designing several large enterprise applications for diverse clients and industries, I’ve noticed some barriers to crafting a great experience in Flex. I think these barriers arise from the relative newness of the technology (and RIAs in general), the initial focus on development over design, and the confidence that Flex can provide a great UX out of the box. But it takes a bit more to make a Flex app really shine. Fortunately, the Flex community is chock-full of talented and motivated developers who contribute amazing resources.

These tips are based on the best Flex resources I have found, and how you can use them to craft a great Flex UX. This is part 1 of 6:

  • Play With It: 10 Explorers
  • Learn From the Best: 10 Great Flex Apps
  • Learn From the Rest: 10 Great RIAs
  • Stock Your Toolbox: Essential Resources
  • Review Best Practices for Designing a RIA
  • Avoid Common Mistakes: 10 Anti-Patterns

Play With It: 10 Explorers

I can’t think of a better way to get your feet wet than to play with these explorers.

01. Tour de Flex

tourdeflex

02. Component Explorer

flexcomponentexplorer

03. Style Explorer

flexstyleexplorer

04. Regular Expression Explorer

regularexpressionexplorer
By Ryan Swanson

05. Charts Explorer

chartexplorer
By Ely Greenfield

06. Efflex Effects Explorer

effectsexplorer
By Stephen Downs

07. Filter Explorer

filterexplorer

08. Primitive Objects Explorer

primitiveexplorer

09. Data Visualization Explorer

quvisexplorer

10. Button Skin Explorer

buttonskinexplorer

Comment with your favorite Flex explorer

I realize I have only skimmed the surface here, please comment with a link to your favorite explorer or gallery for Flex 3.

Comments (17)

What Interface Engineers Wish Designers Knew – Interview

Lou Rosenfeld interviewed me on the topic “Bringing Design to Life: What Every Designer Should Know About Interface Engineering”. This is a really interesting subject and gets to the heart of how to get engineering and design teams to work together better.

The interview gives you some of the points I will cover in my upcoming webinar on the same topic (Feb. 26th, 10AM PST/1PM EST).

Also there is a short video presentation (about 7 minutes) that provides a sneak peek into the webinar presentation.

Use code RMWBNR for a 20% discount off your ticket purchase.

Comments (2)

O’Reilly Webcast Presentation Available

I presented Designing Web Interfaces on the O’Reilly Webcast today. Almost 1400 people signed up and the actual attendance hit 862. We set the record for an O’Reilly webcast :-) And we had overwhelmingly positive responses to the talk. If you liked the talk & the material then I think you will enjoy the book.

If you did not hear the webcast, check out the slideshare presentation below. It will give you the best flavor for what our book is about (keep in mind much more is in the book with lots more details and guidelines).

The audio will be available in a week or so. Look for a post here when I get the audio to share.

**UPDATE. The actual video & audio of the screencast can be seen on YouTube. Watch it in high resolution.

Comments (12)

Page Slide: Stay on the Page Pattern

What happens when you don’t have the on-screen real-estate to display a set of controls? In our book we discuss a number of real-estate extending techniques in the section on Stay on the Page. While discussing Zoomable User Interfaces (Chapter 7) we looked at Aza Raskin & Scott Robin’s Firefox Concept Prototype. We made passing reference to a Slide Over as a way to bring in more content.

Page Slide Example

I recently spotted a clearer example (from Scott Robbins) of this pattern from an article on Ajaxian. In that article it is called the Page Slide pattern. I like this better than Slide Over, as Page Slide is a more descriptive name for this idiom. This is an excellent article and the pattern provides a nice technique for extending real-estate on the screen.

This pattern really shines in gesture based interfaces, but can be used in mouse-based interfaces as well. One challenge is providing a discoverable mechanism for sliding back and forth. Depending on the design constraints it could be solved by some very explicit call to action links or buttons for activation/de-activation.

Usage

  • To reveal additional navigation controls
  • In TV or mobile space since controls and/or space is limited
  • To expose a configuration panel (similar to the Module Configure Pattern)
  • To a lesser extent to reveal help or contextual information (the partial hiding of the related content might make it a poor choice for this)

Challenges

  • Discoverability
  • Losing context with the rest of the page
  • Make the disruption work for you

Recommendations

  • Use it sparingly only for major context switches
  • Make the animation fast. No reason to wow the user with your ability to scroll
  • Make the activation/deactivation dead simple

Other usages, challenges, recommendations? What do like/dislike about this pattern? Are you planning to use this in a future project?

Comments (2)

12 Standard Screen Patterns

2010 Update- 15 patterns and 80 new examples

By Theresa Neil

As Bill mentioned in an earlier post, we don’t want to limit this blog to just the principles and patterns found in the book. For that you can check out our Explore the Book section. In the spirit of that, I want to share an additional set of principles and patterns I have been using for RIA design. While the book takes a much more consumer web site orientation, these concepts are central to enterprise application and web productivity application design and more broad than those discussed in the book.

This is the first article in a three part series.

  1. Standard Screen Patterns: 12 patterns w/100 examples
  2. Essential Controls: 30 controls for RIA design and development
  3. Components for Commonly Requested Features: 15 patterns and examples
standard_screen_patterns

With more companies turning to RIA frameworks for enterprise software development, these screen patterns are indispensable for product managers, UX designers, information architects, interaction designers and developers. The patterns rely heavily upon desktop design principles, subtly blended with many of the better RIA components and principles. I’ve included 100 examples to illustrate these patterns, pulled from desktop, Flex/AIR, Ajax, Laszlo, and Silverlight applications.

01. Master/Detail

Master/Detail screen pattern can be vertical or horizontal. Ideal for creating an efficient user experience by allowing the user to stay in the same screen while navigating between items. Horizontal layout is a good choice when the user needs to see more information in the master list than just a few identifiers- or when the master view is comprised of a set of items that each have additional details. Click on thumbnail for larger image OR download the PDF.

02. Column Browse

The Browse screen pattern can be vertical or horizontal. Ideal for creating an custom user experience by allowing the user to start from various entry points for navigating to the item(s) they are interested in.

03. Search/ Results

The Search screen pattern can range from very simple to quite advanced. Ideal for creating an efficient user experience by allowing the user to navigate directly to an item or set of items meeting specific criteria.

04. Filter Dataset

The Filter Dataset screen pattern can be vertical or horizontal. Ideal for creating an efficient user experience by allowing the user to refine a set of known data, or further refine search results.

05. Forms

All Form screens should be approached with a solid understanding of usability and design best practices. Refer to “Web Form Design: Filling in the Blanks” by Luke Wroblewski for reference.

06. Palette/ Canvas

The Palette/ Canvas screen pattern is seldom the right pattern to apply, but it is the only pattern for documenting or creating: linear or non-liner processes; flow diagrams; screen layouts; design/diagram with physical size or layout constraints.

07. Dashboard

A well designed Dashboard will provide: key information at a glance, real time data, easy to read graphics, clear entry points for exploration This is typically not achieved by displaying a single screen of metrics (either in a big table, or just a bunch of graphs). Providing a high degree of customization is no substitute for user research and testing. Stephen Few has a nice book on this topic Information Dashboard Design: The Effective Visual Communication of Data .

08. Spreadsheet

The Spreadsheet screen pattern is ideal for creating an efficient user experience by allowing the user to easily scan, edit and enter information (in bulk). The Spreadsheet should provide the following functionality: standard table features like sort, hide/show columns, rearrange columns, group by (if applicable), global level undo/redo, add/insert/delete row, keyboard navigation, import and export.

09. Wizard

The Wizard/Quick Start screen pattern is ideal for creating an efficient user experience by guiding the user through a complex or infrequent workflow.

10. Question & Answer

The Q&A screen pattern is ideal for creating an efficient user experience by allowing the user to enter known information and receive a solution. Q & A differs from Search in that this pattern should be used to assist users in identifying possible options or a single recommendation in an arena they are lacking expertise (health insurance, mortgages, planning, purchases).

11. Parallel Panels

The Parallel Panels screen pattern can be stacked (showing one at a time) or unstacked (showing all at once). This pattern is ideal for organizing chunks of information that are similar or have interdependent tendencies. Efficiency is gained by keeping the user in one screen. Ideal candidates for the stacked variation of this pattern are simple work-flows with: a high level, visible goal that is fed by multiple inputs, multiple non-sequential steps. This combines a number of the web site patterns outlined in “Designing Interfaces” by Jennifer Tidwell for a single pattern for chunking and displaying data.

pp_ex4

12. Interactive Model

The Interactive Model screen pattern is characterized by many interactive elements associated with the key object (a calendar, map, graph, chart, canvas). It is ideal for creating a user experience that is closely aligned with the user’s mental model (a natural fit). Excellent candidates for this pattern are: calendars, maps, gantt charts, what-if scenarios (including calculators), WYSIWYG editors (including photo editing).

Bonus. Blank State

This is the natural state of the application, before any data has been entered or accessed. The book, “Getting Real” by 37signals”explains that a blank state screen is an excellent place to set users expectations. By giving them a preview this can lower anxiety and reduce frustration and confusion. Items to include in a blank state screen include: videos, quick tutorials, help tips, a screenshot of what a fully loaded screen will look like.

Missing Patterns?

Noticeably absent are two patterns that are grossly overused and misused in enterprise software- portals and tabs.

  1. Portals- If your market research, business requirements and user feedback lead you to design a portal, follow the same design principles and best practices as the Dashboard pattern.
  2. Tabs- Tabs are a component, and ultimately not a screen pattern. They are to alternate between views of data in the same context. If the data structure is leading you to a tab heavy UI design, I have two suggestions. First, reconsider the IA. Use card sorting and/or hire a professional Information Architect to help you for a few days. Second, follow the same design principles and best practices as the Parallel Panels pattern.

You can download a PDF of this post which includes full descriptions of each pattern, as well as best practices .


References

If you are looking for web site design patterns, here are a number of excellent books:

Comments (238)