Fall 2007 Fluid Summit
Where and When?
September 24-28, 2007
Usability Lab, Room 307, Bissel Building
Faculty of Information Studies, University of Toronto
140 St. George Street
Toronto, Ontario, Canada
The Fluid Summit is an opportunity for members of the community to get together in a face-to-face environment to discuss and make progress on core issues related to technical architecture and user experience. This summit is intended to be a working meeting, combining relevant presentations with focussed discussions and collaborative work. By the end of the summit, we plan to have built consensus and defined concrete directions in several key areas:
- Cooperating technologies with the Fluid framework (client and server)
- Future component design and development
- UX Walk-through protocols
- User testing
- Security policies
This meeting will also afford the rare opportunity for the design and architecture to discuss and work on issues together in the same room. A portion of the summit will likely be dedicated to discussion of component design/development plans with the whole group.
This meeting is the last opportunity we'll likely have to all get together in a face-to-face setting for at least year. As such, we want to make best use of our time by focussing on topics that will result in plans of action and delegation of tasks within the group. We're suggesting that all attendees bring with them a plan or proposal related to an area of personal expertise. This might just be a "straw man" draft, and will inevitably be a work in progress. Tell us about your ideas, and this will set the stage for focussed discussion, planning, and delegation.
On the other hand, the expectation is that the summit will be, above all, informal and social. Expect plenty of opportunities for dinner, drinks, and fun.
Please feel free to add your ideas and suggestions to the agenda.
Project Coordination and Vision
- Discuss direction for component design and development work over the next year and half
- Opportunities for collaboration on Sakai and uPortal development work (eg. common navigation schemes, Resources, other content management scenarios, etc.)
- Overall discussion about Content Management scenarios in uPortal, Moodle, and Sakai
1. Using a wiki
Gary Thompson will convey what he knows of strategy, best practices, and tips and tricks for using Confluence to document and communicate.
1. UX Walk-throughs
By August, we intend to have completed a first round of user interface walk-throughs of at least Sakai and perhaps uPortal. The August summit will give us an opportunity to review the material gathered, refine our protocol and reporting process, and prioritize the issues collected to date.
- Refinement of walk-through protocols and reporting process
- Discuss and refine accessibility heuristics
- Create design plans for upcoming components (including design patterns, scenarios of use, etc.)
- Discuss process for sharing results out with the community - 1 hour
- Discuss process for doing walk-throughs/reporting and sharing this information - 1 hour - Paul
2. Identify & prioritize potential "componentizable" solutions (synthesis across products) - 1 Day (Daphne)
2. Content Management Research - 2 Hours (Daphne)
- Discuss definition of content management - is there better terminology? (1 Hour)
- Review and discuss research goals, plans, timeline (1 Hour)
3. Component Design Process - 2 Hours (Daphne)
As we look towards designing new Fluid UI components, we need to plan a basic process and set of criteria for designing them in a fully usable and accessible way. We'll review Daphne Ogle's proposal for this process, and then share our recommendations for how best to design Fluid components.
- Daphne will present a proposal for a working process/best practices for future component development (1 Hour)
- Discuss persona and scenario requirements for component development (1 Hour - design team)
- What does a comprehensive set of personas look like? A set of personas are specific to a problem domain -- what is the problem domain? Is there one for Sakai & Moodle and another for uPortal? Do we share one? Are there several for each respective product?
- Can we create a comprehensive set of personas (including choosing primary & secondary) as part of the content management research project?
- Share out a set of recommendations for design process with the community
3. Design Patterns (Allison)
Allison will present ideas and facilitate a discussion on the use of Design Patterns in Fluid. We will discuss such questions as:
- How can user interface and interaction Design Patterns be used to improve usability and accessibility in Sakai, uPortal, Kuali, & Moodle?
- How can user interface and interaction Design Patterns be used in the design of new Fluid components?
- How should Design Pattern Libraries relate to Style Guides and Component Libraries?
- How should Design Patterns be created? Should creation of patterns in a Fluid Design Pattern library be totally collaborative, or should it lean more towards best practices recommended by a moderator?
- What is the proper granularity for a Design Pattern?
- Who are the potential target audiences for Fluid Design Patterns (and components)?
- How can Fluid Design Patterns (and components) be used by other audiences (e.g. developers of other websites & applications at our universities)?
- How should Fluid Design Patterns (and components) be presented? How can we make the patterns themselves and their presentation most usable to our target audiences?
- How should Design Pattern libraries for Sakai, uPortal, Kuali or Moodle work with or be related to a Fluid Design Patterns library? To pattern libraries commonly used as reference (e.g. Yahoo!, Designing Interfaces, Van Welie)? To pattern libraries at our institutions?
- Is it possible to or is there value for Fluid in tying individual interface design patterns to programming or architectural design patterns? Or combining libraries of these different types of patterns? (e.g. if all the libraries were in the same place, would programmers be more likely to consult UI patterns?)
- What kind of outreach can we do to promote exploration and use of Design Patterns?
4. User Testing (1/2 Day) (Barbara & Shaw Han)
As components like the Lightbox begin to mature, we need to ensure that our work is regularly tested for usability and accessibility by real users. Shaw-Han Liem will present his test plan for the Lightbox, and Mike Elledge and Daphne Ogle will present a proposal for long-term user testing strategies within Fluid.
- Barbara & Shaw-Han will present user testing protocols and demonstrate their application using the Lightbox tool
- Discussion of the protocol, lessons learned and adaptation (as necessary) to the Fluid project will follow
- Shaw-Han and Daphne will present a general usability testing plan for the Lightbox application
- Refinement of the plan
- Delegate distributed, in-context testing of the Lightbox application
- Identify upcoming priorities for subsequent user testing within Fluid
5. Review UX Deliverables and Create a UX Release Plan
The community needs a stated release deliverables for the Designer's Toolkit and other user experience activities. The group will review our stated project deliverables, prioritize them, and draft a UX release plan for review by the Fluid community at large.
- Go through the UX deliverables as stated to Mellon
- Assess, prioritize, and delegate responsibility
- Share a draft UX Release Plan with the community
6. User Experience Frankenstein (Gary)
Integration and aggregation of broad and disparate applications to multiple audience groups is a significant challenge and core issue in regards to user experience. Let's discuss and flesh out an approach.
- Build vs. integrate
- Controlled views
- Internalize vs. externalize
- Empowering content authors
7. Design Team Coordination & Planning moving forward (1 Hour) (Gary & Daphne)
- Can the Fluid design team leverage the "planning game", from agile practices, as a way to coordinate our work, leverage each other's skills and knowledge & generally have a shared understanding of our goals, work and priorities?
- Discuss other ideas for helping with this?
1. Client-side Toolkit Review
- Scenarios for toolkit integration: one vs. many
- Criteria for selecting supported toolkits
- Delegate work of porting the Re-orderer to other toolkits
2. Server-side Presentation Frameworks
The current plan for Fluid is to support two primary server-side presentation frameworks: RSF and Spring Web MVC. We'll discuss this plan and the potential for allowing developers to add bindings to other frameworks as needed.
- Antranig will present his work integrating Spring Web MVC and Spring Web Flow with RSF
- Overview of Spring MVC (Ray?)
- Requirements and needs from the server (markup, URL space, etc)
3. Review of Architecture Plan
Colin Clark will articulate the latest refinements to the Fluid architecture plans, and the group will identify areas that need further refinement.
- Roles and Responsibilities for Client and Server
- Types of components and their relationship to the server
- Transformation engine architecture
5. Overview of uPortal Presentation Layer (DLM, etc.)
6. Fluid Project Security Policy
One of the early stated deliverables for the Fluid Project is a comprehensive security plan. Based on a proposal from the ATRC team, the group will discuss and draft a community security policy and testing strategies for UI security.
- Security policy for reporting and handling security vulnerabilities within the community
- Testing and architectural strategies for security
7. Unit testing strategies (Michelle)
- Suggestions for testing requirements for "official" Fluid components
8. JSR-170 and Content Management in Sakai and uPortal (Ian?)
Ian Boston has recently added JSR-170 (Content Repostiory) support to Sakai's ContentHosting APIs. Several portlets within uPortal have also started to work with 170 as a standard for working with content. Given Fluid's focus on content management-related, cross-cutting components, this will provide us with an opportunity to review the 170 technology and its implementations in our participating applications.
9. Coding Session
A day-long coding session will provide an opportunity to take the architectural issues we discussed during the week and apply them to real development problems and to prove our architecture's viability.
- Porting the Re-orderer to YUI, JQuery, Prototype/scriptaculous, etc.
- Converting PreferAble from JSF to RSF and Spring MVC
- Work on new, small Fluid components: eg. date widget, tree component, etc.