May 26, 2009 / The Race to Performant Application: Designing Time and Flow
1 comments
Fact: Complexity causes 50% of product returns
Fast and easy-to-use applications are quite rare. Simplicity and Performance are two major properties of any killer software product. We, as software developers, should pay attention to these properties as non-functional requirements, but in real life we often tend to implement more features, more functions, more settings, more, more, more... The race is hard to win with this strategy along the whole way.
I must confess we've done almost the same to TargetProcess. We went on with providing more and more features and options. Definitely we tried to keep the application simple and fast, but these goals were secondary. We've stopped. And changed.
Now we are focusing on better performance and usability. We think that TargetProcess is a quite feature-rich application that fulfills most needs in agile project management. It is time to stop and find answers to the questions: "Where do people get stuck with our software?", "What is complex and how it can be simplified?", "How to make TargetProcess enjoyable to use?", "How to make TargetProcess the most performant software in our niche?". The questions are hard to answer and address quickly, but we are looking for the answers.
Steven C. Seow wrote an excellent book about principles that should be taken into consideration for any "performant" application Designing and Engineering Time: The Psychology of Time Perception in Software. I read it and want to share some interesting observations.
Hick–Hyman Law describes the time it takes for a person to make a decision as a result of the possible choices he or she has. Simply speaking, less functions — simpler and faster choice. It leads to several conclusions what we should do as software developers:
- Minimize options. Obviously, if you have 50 elements on the screen, it takes time to choose which action is required. If you have 20, the UI is faster to work with.
- Keep it simple. Well, it is a general principle for all the facets of agile software development.
- Short system messages (10 words max). People don't have time to read long messages. Delays kill usability.
Some concrete numbers from the book:
- Response time of typical action in the application should be about 2 seconds.
- If response time takes more than 5 seconds, it is required to show a progress indicator. User should know that system is working on the task.
- If system response time is more than 7 seconds, people tend to leave web site or switch to another task. It breaks interaction flow.
Noticeable Performance Improvement
If you are going to improve performance, it should be faster by more than 20%. Otherwise most people will not see the difference (it was shown in some researches that performance difference is noticeable in a range between 10% and 18%). For example, if you are improving search function with 10 seconds response time, it is required to make response time at least 8 seconds (or less).
Flow
Flow is very important for good user experience.
Flow is the mental state of operation in which the person is fully immersed in what he or she is doing by a feeling of energized focus, full involvement, and success in the process of the activity.
Our goal is to make the Flow possible. I think it is the hardest thing in software development.
When user opens an application and sees complex UI, it is frustrating for him. Application should match user experience and skills. Simple or Advantage modes, clean and simple UI (Hick–Hyman Law!), balanced options and functionality — this sounds familiar, but hard to develop.
Labels: agile, performance, ui, usability
Jan 17, 2009 / Friday's Digest #7 [UI, Design]
0 comments- Distinguishing decorative from meaningful elements in UI design. Ryan from 37signals shows how small decorative elements may influence usability.
- 10 Useful Techniques To Improve Your User Interface Designs. I am not a big fan of articles like "99 advices to web design", however this article is really useful. I especially like number 3 "Using contrast to manage focus", number 8 "Custom input focus" and 9 "Hover controls". We are going to use hover controls in v.3.0 design.
- Konigi.com is a great resource for UI developers. Many very useful links and examples.
- 2008 - The Year In Pictures. Nice photos. Nice atmosphere. Taste the last year as a good wine...
Labels: design, digest, ui, usability
Oct 17, 2007 / TargetProcess v.2.6 Released! (Using your “senses” to Iteration Planning? You bet! Now available in TargetProcess)
0 commentsTargetProcess v.2.6 released today! We were targeting better user experience in the latest release. We took time to polish things and enhance the user interface by making it cleaner and easier to navigate. New iteration planning concept is just great, we are very excited about it! It visualizes the most important parameters of user stories and bugs such as effort and priority, thus providing real enjoyment during iteration planning sessions. You really feel user story effort and business value when making a decision about the assignment to iteration.
Inline editing in lists is an outstanding productivity feature. Double click on a row, change required info and simply hit Enter. No page reloads, no waiting! TargetProcess in many aspects is getting closer to usual desktop applications, which is far from reality in most of the web based apps out there.
There are many other smaller features that makes life easier like new filters, customizable inner lists, new chart, etc. We are continuing to improve TargetProcess usability to make it as easy to use as possible.
Labels: iteration plan, release, ui




