Showing posts with label UI. Show all posts
Showing posts with label UI. Show all posts

Wednesday, 2 February 2011

What is Progressive Enhancement?

Progressive Enhancement is a web design strategy that approaches the same problems tackled by Graceful Degradation but from the opposite direction. Rather than a designer creating a compelling experience for the latest browsers and then making it degrade acceptably for older browsers, a designer ensures that basic functionality is available to all browsers and then offers additional functionality to those with a higher specification.
Wikipedia states that Progressive Enhancement consists of the following core principles:
  • basic content should be accessible to all browsers
  • basic functionality should be accessible to all browsers
  • sparse, semantic mark-up contains all content
  • enhanced layout is provided by externally linked CSS
  • enhanced behaviour is provided by unobtrusive, externally linked JavaScript
  • end user browser preferences are respected
This approach has lead to the adoption of related ideas such as Unobtrusive JavaScript (as now supported by Microsoft MVC 3).

References

Wednesday, 2 February 2011

Wednesday, 7 July 2010

Adjacent in space; stacked in time

“The Dirtiest Word in UX: Complexity” from UX Magazine elucidated 2 interesting UI concepts:
  • Adjacent in space
  • Stacked in time
adjacent
“Adjacent in space is taking elements of an application and positioning them all on the same screen. Depending on the information and number of features an application has, it can make the screen appear more, or less, complex. An airplane cockpit is an extreme example of this approach. It makes all of the controls readily available to pilots and keeps critical readouts and important data ready at hand to help pilots make quick decisions. The adjacent in space UI approach gives more immediate power and control. It also reduces the need for navigation between screens to reach additional functionality, speeding up interactions.
Stacked in time is splitting the functionality up into several screens or layers, like a story being spread across pages in a book rather than crammed into a single long page. This approach can reduce the chance of the users making a mistake by guiding them down clear path. It also offers a gradual engagement, showing and hiding controls so only the necessary UI/information is displayed, reducing the perceptive complexity of the UI. It can allow more screen space for feedback and guidance for the user, and can allow for a more aesthetically pleasing and/or branded experience. The stacked in time approach tends to make an application less intimidating and doesn't overwhelm the user with choices.
The adjacent in space and stacked in time approaches each has its own trade-offs. In most cases placing too many elements on screen at the same time creates unnecessary complexity. Not all controls are needed at once, so they should only be presented when needed. However, a stacked in time approach also can become overwhelming to a user if not executed correctly. If the features aren't mapped in logical paths or are split across too many layers, users might not be able to quickly find what they need. This is especially apparent on smaller screens for devices.”
These 2 simple concepts are critical for UI development and appropriate use is key to good mobile development.
Wednesday, 7 July 2010

Monday, 21 June 2010

Design resources for application development

I thought it was time to keep track of some interesting resources relevant to interface design.

Blogs

UX and UI Patterns

Windows Phone 7

Books

  • The Elements of Graphic Design (ISBN 1581152507)
  • How to Think Like a Great Graphic Designer (ISBN 1581154968)
  • The Elements of Typographic Style (ISBN 0881792063)
  • The Internet: A Writer’s Guide (ISBN 071365192X)

Inspiration

  • Typography Now Two (ISBN 186154023X)
  • Website Graphics Now (ISBN 050028119X) – old but still fun.
Monday, 21 June 2010