extent to which a product can be used by specified users to achieve specified goals with effectiveness, efficiency and satisfaction in a specified context of use.” Five attributes of usability (Nielson) • Learnability • Efficiency • Memorability • Errors • Satisfaction 6/6/2013 Markus Harrer Slide 5
extent to which a product can be used by specified users to achieve specified goals with effectiveness, efficiency and satisfaction in a specified context of use.” Five attributes of usability (Nielson) • Learnability • Efficiency • Memorability • Errors • Satisfaction 6/6/2013 Markus Harrer Slide 6 Bad readability Unexpected error What is the right answer?
services.“ Alan Cooper, About Face 3 6/6/2013 Markus Harrer Slide 11 “Interaction design is heavily focused on satisfying the needs and desires of the people who will use the product. … Where other disciplines like software engineering have a heavy focus on designing for technical stakeholders of a project.” Wikipedia What is interaction design?
• Designs rich graphical interfaces • Creates dynamic prototypes for early testing • Evaluates UI via end user tests • Supports the development team • Uses user-centric process model 6/6/2013 Markus Harrer Slide 15
model for the collaborative work of interaction designers and software engineers 2. Find a software architecture that supports that development process 3. Demonstrate usefulness by a prototype implementation “An interactive form-based mobile software system with a sample application in eldercare” Markus Harrer Slide 17
home • Different forms per nursing home • Many non-technical people • Work mobile • Use medical equipment Conclusions 1. Need for modular, customizable software system 2. Mobile device, touch screen input, game-oriented interface / animations and direct hardware access 6/6/2013 Markus Harrer Slide 21 1. Analyze requirements
Provide reminder / scheduling functionality • Reduce the writing effort • Improve the flow and quality of information System goals • Focus on high usability • Integrated motivational system • Process-oriented workflow • Minimize learning and training efforts 6/6/2013 Markus Harrer Slide 22 2. Derive key features
Interactive Form System of Interactive Forms 3. Invent metaphor Client • Elaborated and dynamic graphical features • Animations / video support • Direct communication with hardware • Wizard-based interaction style General • One Interactive Form per use case • Modular architecture • Synchronization mechanism for data
End User Software Engineer Domain Expert Domain expert and software engineer Requirements Use Cases Business logic and data structures Acceptance testing 4. Find development process End user and interaction designer User interface Information architecture Design and behavior Usability testing
6/6/2013 Markus Harrer Slide 27 Need for an integrated development workflow (process) Software Engineer Interaction Designer Software Engineer Interaction Designer ? The challenge: Connecting 4. Find development process
interactive forms Project start End User Domain Expert Interaction Designer User-centered Design Software Engineer Agile Development Process Proto- typing Design Implemen- tation Evaluation / Result 6/6/2013 Markus Harrer Slide 28 4. Find development process
Interactive Form User Interface Persistence / external data Business Logic Interactive Form User Interface Persistence / external data Business Logic Architecture of a interactive form => Pluggable Component Architecture Interactive Form User Interface Persistence / external data Business Logic 6/6/2013 Markus Harrer Slide 29 Interaction Designer End User Software Engineer Domain Expert 5. Find system architecture
Horizontal and vertical separation of concerns • Support for parallel development activities • Customizable features and functionality • Framework provides common services Interactive Form User Interface Persistence / external data Business Logic 6/6/2013 Markus Harrer Slide 30 5. Find system architecture
31 Interaction Designer Domain Expert Software Engineer End User Microsoft Expression Studio Microsoft Visual Studio Microsoft XAML2 Microsoft C# / .NET / CAL3 Interactive Form Tools / IDE1 Language / Framework Artifact 1IDE: Integrated Development Environment 2XAML: Extensible Application Markup Language 3CAL: Composite Application Library 6. Implement prototype
• Increasing the collaboration between stakeholders can lead to a huge improvement towards usable and engaging software systems • A user-centered, iterative design process can be easily achieved • A software system designed with a “Gunshot Model Architecture” can support a collaborative software development process 6/6/2013 Markus Harrer Slide 36