-
Notifications
You must be signed in to change notification settings - Fork 186
UI UX Best Practices
Marv Schneider edited this page Aug 5, 2014
·
5 revisions
The following guidelines should provide an appealing, efficient, effective user experience.
- Every action produces recognizable visible feedback asap
- show spinner/progress bar when retrieving data
- Provide a standard way to filter out Test environment objects
- user selection becomes default on subsequent pages
- Eventually part of ‘wallet settings’
- Provide a standard way to refresh the current page
- Transition auto refresh to background load on initial page opening only one of the refresh options can be the ‘auto’ option
- Move to a push model where the user is notified when updates are available
- Websockets?
- Data persistence within the session
- “Go Back” returns to the context that it came from - not the default results for the originating page
- Browser Refresh button stays logged in etc..
- Provide a standard way to display available and reserved balances
- Show additional pertinent details on hover
- example: Hover over trade offer gives popup/tooltip with relevant info. Can click for more.
- example: History page, hover over tx or amount to see addresses (from - to)
- Provide a clear indication which addresses have a private key
- Every item with a unique id is clickable
- e.g. every place that an address appears you should be able to click on it to get the address details page.
- Provide shortest path possible to perform an action on an item
- e.g. Action menu or right-click menu on an address with dropdown menu for Send, Sell, Create property
- Button labels indicate there’s another page/confirmation before the action happens, e.g. Buy…, or maybe just ‘Next...’ with the final button being ‘Buy’ etc..
- All confirmation modals use the same style UI/UX.
- Asset page modals seem good ‘starting point’. 4 main titles
- Title/Action, Data to review, Confirm/Cancel Button, Feedback/Message Data after confirm
- Split column headings across multiple lines to reduce column width
- Column headings for all tables/tabular lists are always visible
- ex: history or trade page table headings
- all lists are sorted in an identifiable order
- use pagination for lists
- Allow lightbox to be moved
- Ex: Overview page see whats under the detail modal
- Possibly Non trivial
- Don’t display a value (e.g. $0) for a property if there is not a published exchange rate for the property
- e.g. in the Overview & Overview Detail, My Addresses
- Display n/a if that’s easier than hiding the $0 value
- Show sending/from address in all tx lists
- Trade/History/Pending pages
- Use UTC timestamps only, future settings page will let user choose display timezone
- Still need on history page.
- Anywhere else?
- Display only ~6 initial characters of transaction hash
- hover on tx hash shows whole value
- Display meaningful terms for actions and data items
- e.g. Send for Simple Send
- History page.
- Numbers:
- values greater than 999 need commas, e.g. 123,456,789
- use a different color for decimal digits in specific cases
- use colors for positive/negative(-) values in number fields
- suppress trailing decimal zeros (value amounts always have 2 decimal digits)
- Sidebar
- wallet functions always offered when signed in
- indicate the page the user is in (remove link for current page, grey out the other pages (selected: #2b388f, roll over: #00acdd, off: #d0d2d3)
- Disable the link for the current page
- indicate future links, e.g. Bookmarks, Following (are these the same thing?)
- provide actionable error feedback as soon as it can be detected
- per http://unicode-table.com/en/#control-character, 0000 - 001F are control characters. They should not be accepted as text input, probably other values as well.
- Seems already done?
- detect when there are insufficient, or no, available funds for a user to perform an action, and
- include not yet confirmed transactions from the address when calculating available funds
- provide a visual indication
- disable actions that can’t be performed
- provide info/link for getting needed funds
- for (255 Character) text fields, show # of characters remaining as user types
- for numeric input fields, enforce correct number of decimal places (e.g. no decimal point or decimal digits for integer values, up to 8 decimal digits for divisible properties)
- when user is selecting a smart property from a dropdown list:
- sort as follows:
- alphabetically by SP name
- then in numerical property id order for instances of the same SP name
- provide a hover tooltip with SP details to help user identify the SP he wants