Putting more attention to User Interaction Design is naturally becoming a standard practice with RIA.
With RIA technologies, classic Interaction Patterns are only building blocks, not solutions. With raised possibilities, Patterns have become more complex.
So what are UI Interaction Patterns?
Wiki notes: “In interaction design/HCI, an interaction design (ID) pattern is a general repeatable solution to a commonly-occurring usability or accessibility problem in interface design or interaction design.”
In other words, it’s a high level abstraction of Interaction that can be applied throughout the Project as it grows and changes.
For example, Interaction Pattern would be definitions of handling screen transitions, button interactions, error messages, focus switching, refreshing data, status messages and in RIA case navigating maps, data mining, 3D space navigation, graph filtering and many other creative approaches to interacting with data.
Timing makes for good results
How does one approach this challenge in Project Management makes a lot of difference to outcome and quality of a project. Recently, while working on a project with an excellent Project Manager and colleague Alice Toth, we came up with a place for Interaction Design in project planing that makes a lot of sense to me as a RIA Developer.
While analyzing the project we were working on I noticed that I didn’t abstract the Patterns enough at the time we were adding small features at the end of the project.
I was giving too much focus to individual components of the interface and that was not facilitating incoming features from extending the application because they were all “unique”.
Every time a new feature was introduced which is a given in Agile software development, I would have to spend time thinking about the Interface Interaction Design and how to incorporate it with the rest of the app seamlessly.
That felt like a waste of time. RIA interfaces, creative and unique as they are still have some patterns. Even when an Interface Component is a brand new idea, it still follows some brand new patterns.
While going over Alice’s good Project Management practices, we found a good spot to incorporate the UI Interaction Patterns Design.
Right after Application Features and User Roles and Scenarios are defined and at the same time as designing the Data Model and back-end Architecture. It would seem premature, but it has some great advantages.
Data Model and Interaction Design are far more correlated than it meets the eye. Some of work on the back end can be cut if the Interactions are defined. You get a better sense of which methods and requests do you really need and what will be up for extending in the future. You might catch something on the back-end that needs to be done that would otherwise be unnoticed until front end development.
The biggest value of designing Interactions at an early stage is that you can have a more objective picture of priorities and still have a very abstract perspective which you can use to design broader solutions and in that way save time. If you gauge which Patterns can cover the most cases, imminent and potential, you can have more time to develop them to a greater quality.
This in turn makes for a good Flex Project class architecture that reduces the number of hacks and exceptions that solve small problems at a big cost of time.
