1 / 59

Jutta Treviranus , Director, Adaptive Technology Resource Centre, University of Toronto

An Introduction to the Fluid Project. Jutta Treviranus , Director, Adaptive Technology Resource Centre, University of Toronto Daphne Ogle , Fluid Project Design Lead, UC Berkeley Colin Clark , Fluid Project Technical Lead, Adaptive Technology Resource Centre, University of Toronto.

Download Presentation

Jutta Treviranus , Director, Adaptive Technology Resource Centre, University of Toronto

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. An Introduction to the Fluid Project Jutta Treviranus, Director, Adaptive Technology Resource Centre, University of Toronto Daphne Ogle, Fluid Project Design Lead, UC Berkeley Colin Clark, Fluid Project Technical Lead, Adaptive Technology Resource Centre, University of Toronto

  2. Topics We’ll Cover • Project vision and goals • The Fluid community • Improving the user experience • Technology framework • Timelines and road map • How to get involved

  3. Project Vision and Goals

  4. Vision • Advance status of UI development and design in academic community source projects • …so that they can fulfill their potential as platforms for innovation UI = user interface, user interaction, user experience, usability and accessibility

  5. Problem • Systemic problem of poor and inconsistent UI • Frequently left to programmers • Tackled at the end • Redundantly developed • Inadequately tested and refined • UX designers not well integrated into development culture • And….

  6. “You say tomato, I say tomato, lets call the whole thing off” • Academic communities are very diverse • We differ greatly in our preferences, needs, habits, concepts, comforts, convictions….

  7. “Different strokes for different folks…” • Institutional preferences and branding • Conventions of academic discipline • Cultural differences • Linguistic differences • Differences related to age • Differences related to role and perspective • Different teaching approaches • Different learning approaches • Disability and environmental constraints

  8. Differences related to academic discipline Differ with respect to: • language (e.g., the meaning of color) • values and notions of quality • tools • environment • modes of interaction and academic engagement In academia we foster and thrive on diversity.

  9. UI most critical to any discipline that is: • Not involved in creating application • Not a discipline familiar to those creating the user interface

  10. Accessibility • Legal commitment to equal access • No system-wide strategy, band-aid approach at greater and greater cost • Guidelines seen to constrain creativity

  11. Three approaches to accessibility • Single compliant resource approach • Media rich plus “accessible alternative” approach • Personalization approach

  12. Goal: Consistent User Experience • Growing number of tools • Growing number of developers • A consistent identifiable look • Intuitiveness and transparency of design

  13. Consistent User Experience vs.Accommodating Differences • Do we need to choose? • Or can we have our cake and eat it too?

  14. Proposal: “Flexible User Interface” • Swappable styles • Swappable UI components • Either runtime transformation for unique needs of individual • Or customization at configuration

  15. 2 Interwoven Approaches • Address systemic or process shortcomings as well as education and awareness • Address barriers related to the software, architecture and tools

  16. Overarching Goal • To support the precarious values of usability, accessibility, internationalization/localization, quality assurance and security

  17. Supporting Objectives To develop: • Architectural framework for a flexible UI • Living library of robust, usable, accessible UI components • Community processes that support innovative, high quality user experience design and development • Tools and processes for developing and implementing modular, sharable UI components • Mechanisms for refining components

  18. The Fluid Community

  19. The Context for Fluid • Poor usability & accessibility are a significant barrier for community and open source software • Now is the time to address the concerns of our communities • Our goal is to incrementally improve the overall user experience of Sakai, uPortal, Kuali Student, and Moodle

  20. The Fluid Approach • Cross-project collaboration • Take a holistic approach by combining both technology and UX design • A two-fold path: • Social: build a community around UX • Technical: new UI development tools

  21. Participating Projects • Sakai • Collaboration and learning environment • Teaching, research, and group collaboration • uPortal • Enterprise portal system • Aggregates personalized content • Moodle • Learning management system • Strong focus on pedagogy • Kuali Student • Upcoming, next generation student system • Viable alternative to high-cost commercial products

  22. Fluid’s Relationship to Sakai • Fluid is a movement within the community • We’re all committed contributors to Sakai • Everyone is welcome • We bring: • New resources specifically for UX improvements • Lots of technical, usability and accessibility expertise • Cross-project community source collaboration • Fresh ideas • We’re not doing the only UX work within the community, and that’s a good thing.

  23. Who is Involved? • Partnership among several universities and corporations • Toronto, UBC, UC Berkeley, York, Cambridge, MSU, and others • IBM, Sun, and Mozilla Foundation • Broad range of experience

  24. Design Deliverables • Start with heuristic and usability reviews • Baseline for usability and accessibility • Know where we need to improve • Prioritize the pain points • Designer’s Toolkit: shared design resources • Personas and profiles • Scenarios • UI Design patterns • U-Camps • Iterative UI design and testing

  25. What are we going to build? • A living library of flexible UI components that can be used across applications • Easy to wire up and customize • Components are more than widgets • A new component framework built specifically to improve usability • Semantics and specifications • Integration with open source projects

  26. User Experience & the Designer’s Toolkit

  27. Fluid Deliverables

  28. Designer’s Toolkit • UI Design Patterns • Help grow the current Sakai library • Extend to uPortal and Moodle • Component library • Iterative design and testing • Component design artifacts • Design Patterns as taxonomy / folksonomy

  29. More About the Designer’s Toolkit • UX Inspections • Prioritize improvements • Protocol • Persona Library • Leverage the Sakai design patterns library • Design/Development Process • U-Camps

  30. User Experience Inspections • Goals • Identify pain points • Identify “componentizable” solutions • Drive component work priority • Create shared protocol & process • Provide baseline for future evaluation • Protocol • Usability & accessibility heuristics • Cognitive walkthroughs • Organic process

  31. UX Inspection Plan • Define protocol: we need your help! • Identify functionality “chunks” within applications • Iterative: focus on highest-used areas first • Define and share report templates • Subgroup Inspections • Sakai, Moodle, uPortal, Accessibility • Synthesize across groups • Identify issues • Common issues = common components

  32. Inspection Subgroup Work Plan • Subgroup • 3 to 5 evaluators • Usability and accessibility focus • Define process and priorities: • Iterative • user profiles • scenarios of use for cognitive walkthroughs • Perform individual evaluations • Synthesize evaluations and prioritize • Brainstorm design solutions • Collaborate with participating communities

  33. Components • Components are recurring interactions: • Navigation • Forms and data • Direct manipulation of objects • Workflows, wizards, and sequences

  34. Component Design • User centered process • Based on real user research • Looking across communities and applications • Agile, iterative process • Close and constant communication with development • Closely related to design patterns

  35. We Need Your Help! • UX Inspection • Join a subgroup • Attend the next meeting • User research of development communities • Define developer and integrator needs for components • Sakai Design Library WG • Join the group • Weekly meetings • Future - component design • Stay tuned to the mailing lists

  36. Technology

  37. A bit about the technology • Unique challenge: how to enable support for very diverse presentation technologies? • Based on JavaScript, DHTML, and AJAX • Thin binding layer between client and RESTful, largely stateless server • Loose coupling, works across applications • In translation: • Web 2.0 made more usable & accessible

  38. Fluid Accessibility • Web 2.0 will be accessible • it’s just a matter of time • ARIA: Accessible Rich Internet Applications (W3C) • AccessForAll for component metadata • Ongoing toolkit accessibility support • Dojo, YUI, others? • Design specific alternatives • Fluid: Accessibility from the ground up

  39. Flexibility & Customization • Fluid will be a highly flexible UI layer • At configuration-time: • Appearance, branding, style, page text • Locale, reading level, density • Functionality and user experience • At run-time: • Swap in accessible controls • Re-styling for higher contrast, etc. • Components built for specific disciplines or user needs

  40. Transformation

  41. What is a Reusable Component? • On the client-side, a Fluid component consists of: • One or more HTML templates • One or more layers of CSS • JavaScript for behavioural logic • Accessibility metadata (control, presentation, etc) • And on the server-side: • A set of conventions for accessing service logic • The ability to deliver the appropriate markup, metadata, and user preferences

  42. Anatomy of a Component

  43. Component Architecture • Markup-driven components are general: • Server delivers fully-rendered HTML • JavaScript manipulates DOM based on id contract • Greater flexibility and reuse, but greater server dependency • Data-driven components are smarter but slower: • Handle their own template processing • Require multiple round-trips to the server for data • Allow for less dependency on server-side presentation framework • We’ll support both for different contexts as necessary

  44. The Fluid Framework • Framework infrastructure • lifecycle supports, server-side communication, etc. • Components themselves • Transformation engine • Server-side binding and delivery

  45. The Fluid Framework

  46. RESTfulness • REST: not just a buzzword. • General principle: use the Web’s natural architecture • Client statefulness, server statelessness • Meaningful URLs • Emphasize named resources over actions • Don’t invent new messaging APIs: use HTTP! • Benefits: • Back button friendly • Bookmark-ability • Light weight web services • Natural integration point with diverse presentation frameworks • Extract and generalize for reuse

  47. Binding to Presentation Frameworks • Reality: there are a lot of different presentation frameworks in use today across applications • At least 5 in use within Sakai • Our approach: • Move appropriate logic and state from server to client • Support the best frameworks • Try to make it easy to bind to other frameworks • Start with two server-side frameworks: • RSF • Spring Portlet MVC • We’ll continue to revisit this decision over time • Feel free to help add support to your framework of choice

More Related