Rich Internet Application Design Theory: End Users own the Last Mile
Rich internet application architecture changes the very foundation driving user experience design to date. The gist of it is that user interface designers are no longer the aggregators and owners of the user interface per se, rather they are architects of a Framework for end user to define their own unique user interface.
I believe this fundamental shift scares most user interface designers out of their pants. Why? Well, the perception that the skillset is now obselete for one!
There has been an exponential growth in interface design. This natural evolution is meta-response to straight forward screen design. Instead of answering the question, "How is this screen best designed to meet user needs?" the question now becomes, "How can I best design a system that allows users to best create their OWN SCREEN DESIGN to better meet their individual needs?"
To implement a system under the new paradigm requires a keen understanding of modular component design and focuses more on interaction pattern design, specifically macro and micro patterns.
Am I speaking enough Greek yet? Well don't worry. In plain English this means understanding core workflow management: saving patterns, editing patterns, error prevention and recovery patterns, and so on. Instead of focusing on how to structure the ever present top navigation and left navigation for linear page flows, you now have to understand how to structure and application that essentially allows it's users to build their own application user interface, so UI elements like palettes or widget choosers now enter the landscape as well as understanding how to balance system global components wth user defined ones.
Once you understand that software is never finished, and that systems (or better yet user needs) are always evolving, than it makes sense that the approach to best deliver software always evolves as well. Instead of practitioners using their training an expertise to provide solutions for customers, now customers are themselves part of the software design not just as givers of requirements, but also as designers who configure the 'last mile' of the user interface themselves once the system is in production.
As always with my posts, here's a list to boil it down to incorporate my theory into your project:
- define user functional requirements (what the core system does)
- define user workflow and productivity requirements (HOW the end user wants to interact)
- define your widget library (choose web 2.0 framework)
- define widget interaction model: opening, closing, saving, cancelling, error recovery patterns
- define entry points to application functionality (based on end user analysis ofcourse)
- define user customization support
