Sakai UI Design Patterns Design Patterns WG: Marc Brierley, Colin Clark, Kathy Moore, Daphne Ogle, Judy Stern, (also Tim Archer, Kristol Hancock)

Slides:



Advertisements
Similar presentations
GRASP: Designing Objects with Responsibilities
Advertisements

A Roadmap to Successful Implementation Management Plans.
HOW DO PROFESSIONAL DEVELOPERS COMPREHEND TO SOFTWARE Report submitted by Tobias Roehm, Rebecca Tiarks, Rainer Koschke, Walid Maalej.
Object-Oriented Design Patterns Composite Singleton State Observer … Autumn 2012UCN Technology: IT/Computer Science1.
Colin Clark, Fluid Project Technical Lead, University of Toronto Daphne Ogle, Fluid Project Design Lead, University of California, Berkeley.
Interface Design II JMA 462/562 TTH 4:30 – 5:45 College Hall 205.
July 11 th, 2005 Software Engineering with Reusable Components RiSE’s Seminars Sametinger’s book :: Chapters 16, 17 and 18 Fred Durão.
UI Standards & Tools Khushroo Shaikh.
Design and Programming Patterns Associated with Java Networking by Margaret Toews cs843, Spring 2003.
Analysis Stage (Phase I) The goal: understanding the customer's requirements for a software system. n involves technical staff working with customers n.
Introduction to Design Patterns (1). “ In software engineering, a design pattern is a general reusable solution to a commonly occurring problem in software.
Ralph Johnson - University of Illinois1 Patterns: What They Are, and How to Write Them Ralph Johnson University of Illinois at Urbana-Champaign
Design Process …and the project.
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
1 Requirements Analysis and Specification Requirements analysis.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Design Patterns.
Iterative development and The Unified process
Chapter 7 design rules.
1 Requirements Analysis and Specification Requirements analysis.
Software Documentation Written By: Ian Sommerville Presentation By: Stephen Lopez-Couto.
1 An introduction to design patterns Based on material produced by John Vlissides and Douglas C. Schmidt.
Colin Clark, Fluid Project Technical Lead, Adaptive Technology Resource Centre, University of Toronto Bridging the Gap: Design & Development in Sakai.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Chapter 7 GRASP patterns Dr Seham Mostefai CAP 252.
Design Patterns.
Principles of User Centred Design Howell Istance.
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
Introduction to Design Patterns (1). Definition: “ In software engineering, a design pattern is a general reusable solution to a commonly occurring problem.
Colin Clark, Fluid Project Technical Lead, Adaptive Technology Resource Centre, University of Toronto Bridging the Gap: Design & Development in Sakai.
Chapter Five An Introduction to Design Patterns Ku-Yaw Chang Assistant Professor, Department of Computer Science and Information.
An Introduction to Design Patterns. Introduction Promote reuse. Use the experiences of software developers. A shared library/lingo used by developers.
A Reference Model for Event Patterns Christian Silberbauer
Design engineering Vilnius The goal of design engineering is to produce a model that exhibits: firmness – a program should not have bugs that inhibit.
Comp 15 - Usability & Human Factors Unit 8a - Approaches to Design This material was developed by Columbia University, funded by the Department of Health.
Drexel University CS 451 Software Engineering Winter Yuanfang Cai Room 104, University Crossings
SE: CHAPTER 7 Writing The Program
Sakai Tools Designing a User-Centered Sakai Tool Sakai Tools Team Rob Lowden, Daphne Ogle.
Why Design Tips for Sakai? Small teams in higher ed means wearing many hats Not all teams have designers Meant to be a primer for developers doing design.
GRASP: Designing Objects with Responsibilities
Requirement Handling
Design Patterns Introduction General and reusable solutions to common problems in software design SoftUni Team Software University
Introduction to Design Patterns Part 1. © Lethbridge/Laganière 2001 Chapter 6: Using design patterns2 Patterns - Architectural Architectural Patterns:
CSC 480 Software Engineering Design With Patterns.
Software Architecture Evaluation Methodologies Presented By: Anthony Register.
Software Engineering 1 Object-oriented Analysis and Design Chap 24 Iteration 2 More Patterns.
1  [company] Inc. [year] Girl Scouts of the USA Secure Site Project Kickoff [date]
INFO 637Lecture #71 Software Engineering Process II Product Implementation INFO 637 Glenn Booker.
PROGRAM MANAGEMENT MODULE 2 Dr. Nicole Fitzhugh Professional School Counselor Berwyn Heights Elementary.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Duke CPS Programming Heuristics l Identify the aspects of your application that vary and separate them from what stays the same ä Take what varies.
Sakai UI Design Patterns Design Patterns WG 12-Jun-2007, 14:05 Marc Brierley.
1 Good Object-Oriented Design Dr. Radu Marinescu Lecture 4 Introduction to Design Patterns.
Rational Unified Process Fundamentals Module 5: Implementing Rational Unified Process Rational Unified Process Fundamentals Module 5: Implementing Rational.
+ Informatics 122 Software Design II Lecture 13 Emily Navarro Duplication of course material for any commercial purpose without the explicit written permission.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Creative Intervention Planning through Universal Design for Learning MariBeth Plankers, M.S. CCC-SLP Page 127.
Design Evaluation Overview Introduction Model for Interface Design Evaluation Types of Evaluation –Conceptual Design –Usability –Learning Outcome.
CPSC 872 John D. McGregor Session 31 This is it..
Model Based Engineering Environment Christopher Delp NASA/Caltech Jet Propulsion Laboratory.
Benefits of Design Patterns Interaction consistency with design flexibility Facilitate sharing of design knowledge & common language A design pattern applied.
Process 4 Hours.
GRASP – Designing Objects with Responsibilities
Introduction to Design Patterns
HCI – DESIGN RATIONALE 20 November 2018.
Introduction to Design Patterns Part 1
Informatics 122 Software Design II
Patterns.
DESIGNING YOUR SYSTEM.
DESIGN PATTERNS : Introduction
Informatics 122 Software Design II
Presentation transcript:

Sakai UI Design Patterns Design Patterns WG: Marc Brierley, Colin Clark, Kathy Moore, Daphne Ogle, Judy Stern, (also Tim Archer, Kristol Hancock)

Agenda Origins of the current effort What is a Design Pattern? (Colin) Benefits of Design Patterns (Kathy) Tour of Draft Sakai DP Library for Forms Challenges Futures Roadmap Q & A

Origins of the current effort Need to update (the content) of the Sakai Style Guide Need a more collaborative design standard “document” Need a way to improve designer/developer communication

What is a Design Pattern? A shared language for ideas and solutions to commonly recurring design problems A formal structure for representing these solutions and a body of literature A source of guidance and experience while building A generalized solution within a context –What are the goals of the design? –What are the constraints?

Christopher Alexander "Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice."

Alexander’s Thinking There are fundamental flaws in architectural design and methods –need to balance individual, societal, and ecological needs –lack of a human scale and purpose –aesthetic and functional failure in adapting to social and physical environments –creation of artifacts that people don't like This is true, too, for software design

Pattern Formats Alexander –Name, Example, Context, Problem, Solution GOF –Name, Intent, Motivation, Structure, Participants, Collaborations, Consequences, Implementation, Sample Code, Known Uses, Related Patterns Tidwell –What, Use When, Why, How, Examples Our goal: emphasize a simple, easy-to-reference structure that captures sufficient detail

More on Patterns Patterns should be used like a chef uses a recipe: –Define critical ingredients and proportions –Allow for personalization Not intended to be used literally or with precise conformance They don't address consistency, nor do they grant authority to a single design Are intended to be usable by all development participants, not just trained designers

Patterns are not… "They aren't off-the-shelf components; each implementation of a pattern differs a little from every other. They aren't simple rules or heuristics either. And they won't walk you step-by-step through an entire set of design decisions—if you're looking for a complete step-by-step description of how to design an interface, a pattern catalog isn't the place!" (Jennifer Tidwell)

Patterns in Sakai A source of solutions to common problems in the Sakai design world General UI solutions based in the context and examples of our problem space Provide an opportunity for rethinking and renewing a style guide

Benefits of Design Patterns Interaction consistency with design flexibility Facilitate sharing of design knowledge & common language A design pattern applied to a current Sakai design problem

Interaction consistency with design flexibility Style GuideDesign Patterns “Do this.” Reader may ask “why?” “Do this if…” “Here’s one solution.” Solutions are presented in the context of a design problem Rules may be unresponsive to unexpected contexts, new solutions. Designer/implementer chooses solution most appropriate to problem and context Requires conformance? Offers solutions Seems to rule out new solutions, unexpected contexts. Designer chooses solution most appropriate to problem and context

Facilitate sharing of design knowledge & common language Style GuideDesign Patterns Sets out page or screen category, elaborates specifics within category; hard to sum up. “Side-by-Side list elements” “Forms View” Does what I have map onto this? Should it? A pattern presents one problem and one solution; easy to grasp and summarize. “Responsive Disclosure” “Multistep Indicator” Tight focus makes patterns easy to grasp and share in an that offers a url to the pattern or an example of its use.

Facilitate sharing of design knowledge & common language Style Guide many details Design Patterns One focus per pattern Many detailsOne clear focus

A design pattern applied to a current Sakai design problem: Multi-step indicator New Sakai Tool, in development: Resource Viewer Early mockups Pattern: Multi-step indicator: - Sakai - Berkeley - A favorite exampleSakaiBerkeleyA favorite example Resource Viewer v5 (Harriet Truscott) – related solutionResource Viewer v5 (Harriet Truscott)

References See word doc for useful references Style Guide Style Guide Good multi-step indicator: Berkeley: Jenifer Tidwellhttp://designinginterfaces.com/ Confluence: Daphne’s Old Presentation Colin’s Blog page 08/06

Tour of Draft Sakai DP Library for Forms Patterns format Show forms patterns

Challenges DP are becoming common in industry, but newer to higher-ed IT Getting to a shared understanding of DP (e.g. is it really a suggestion?) Gaining traction in Sakai community Resources –People/time to finish first comprehensive set –Build/adapt Sakai UI components (code)

Futures

Roadmap Post-mortem: refine process for pattern production Form team for round 2 Review (e.g other external DPs) test (usability, accessibility, acceptance (Sakai community)) current patterns

Roadmap Determine full set of patterns we want for the Sakai DP library Chunk up related patterns

Q & A