The Fluid Project

The Fluid Project

<p>Fluid</p><p>The Fluid Project http://Fluidproject.org</p><p>Start date: April 2007</p><p>The Fluid Project is an ambitious but critically important project to boost the user experience of academic community source projects and other web applications. It is an international community of academic institutions, community source software projects and corporations working together to address the precarious values of usability, accessibility, internationalization, quality assurance and security within academic community source and open source software projects.</p><p>The project is developing a living library of robust, usable, accessible UI components that can be contributed to and evolved by the community. The components are designed by skilled interaction designers, reviewed by usability and accessibility testers, and integrated into an expanding number of community source applications. To enable the creation and consistent use of these modular, reusable, and swappable user interface components Fluid is creating a user interface architecture based on existing standards.</p><p>The project is also developing and implementing tools and resources to improve the knowledge, expertise, coordination, design and development of user interfaces and user experience within academic software communities.</p><p>Through these activities the Fluid Project is:</p><p> Facilitating more rapid and effective development of tools and user interfaces within community source projects  Improving the user interface of the applications  Helping to address the diverse needs represented within education, including needs related to ability, language, culture, discipline and institutional conventions.</p><p>Specific Project Goals</p><p>The Fluid project is:</p><p> Creating an architectural framework and the development tools to support modular, flexible and transformable user interfaces within community and open source projects,  Defining community processes to support the implementation of this architecture within several community source projects, including Sakai, uPortal, ATutor, OpenCollection and Kuali Student,  Creating interaction design resources including usability reviews, heuristic analyses, design models, and UI design patterns within these projects as well as the Moodle CMS and other software projects,  Providing mechanisms to share, test, and iteratively refine UI components within community source and other open source software projects  Assisting to recruit and delegate individuals with UI design and development expertise within community source projects,  Offering support for individuals in positions where design is only one aspect of their duties (through U-Camps and other events and resources),  Building bridges between the design and development communities through the adoption and modeling of best practices in software design and development adapted to the unique constraints of the open source environment.</p><p>Partners & Participants</p><p>Core Partners</p><p>University of Toronto http://www.utoronto.ca/atrc/</p><p> Principal Investigator: Jutta Treviranus, [email protected]  Technical Lead: Colin Clark, [email protected]</p><p>University of California, Berkeley http://ets.berkeley.edu/</p><p> Lead: Mara Hancock, [email protected]  Interaction Designer: Daphne Ogle, [email protected]</p><p>University of British Columbia http://www.it.ubc.ca/main.html</p><p> Lead: Jens Hauesser, [email protected]  Architect: Paul Zablosky, [email protected]</p><p>University of Cambridge http://www.caret.cam.ac.uk/</p><p> Lead: John Norman, [email protected]  RSF Architect: Antranig Basman, [email protected] York University http://www.edu.yorku.ca/~rowston/</p><p> Testing Lead: Ron Owston, [email protected]</p><p>Participating Institutions</p><p> Michigan State University  Open University  University of Colorado  University of Maryland  University of Michigan  University of Wisconsin</p><p>Participating Software Projects</p><p> Sakai, http://www.sakaiproject.org  uPortal, http://www.uportal.org/  Kuali Student http://www.kuali.org/communities/ks/  OpenCollection http://www.opencollection.org/  Moodle, http://moodle.org/  ATutor http://atutor.org</p><p>Participating Corporations</p><p> Mozilla Foundation (primary contact: Aaron Leventhal)  IBM (primary contact: Richard Schwerdtfeger)  Sun Microsystems (primary contact: Earl Johnson)  And others including Yahoo! and Oracle.</p><p>Project Highlights</p><p>Given the goals of the project, Fluid criteria for success are tangible as well as qualitative, discrete as well as broadly distributed. Project highlights are:</p><p> Fluid 0.1 was released in the fall of 2007, this release included a diverse package of components, sample code, and documentation that can be applied by software projects to address user experience “pain points.”  The release was accompanied by an evolving UX toolkit designed to help open source communities institute a mindful user experience process, this toolkit includes: o UX Walkthroughs, to help assess usability and accessibility o UI design patterns: advice and guidance on building effective user interfaces o User testing techniques and advice  Fluid conducted and refined a series of successful education and outreach activities based on a philosophy of “embedded engagement” in software communities. These included four U-Camps to date, many presentations and day-to-day evangelism in forums and working groups.  Fluid worked with partner communities to help identify and address usability, accessibility, and JavaScript development requirements. This engagement led to and guided activities such as: o Pioneering new interactions for accessible drag and drop o Creating the Lightbox and Portal Layout Manager components and integration of these components into several applications  The project team established several primary strategies for the Fluid framework, including: o Unobtrusive, markup-driven components o Portal-safe markup binding o Keyboard navigation plugins o Support for multiple versions</p><p>Most importantly it can be said that Fluid is establishing a strong community of expertise and interest in usability and accessibility in the open/community source environment. The diverse range of software projects and academic communities interested in Fluid and volunteering to assist in the Fluid effort is evidence of this effect.</p><p>Milestones and Deliverables</p><p>Last 10 months</p><p>In the first 10 months Fluid has focused on establishing a healthy, productive open source community that works as a cohesive and supportive team while being embedded in a number of other very diverse community/open source projects. To gain the trust and respect of partner community source projects the Fluid team has worked to provide a set of implementable and immediately useful tools, processes and resources that are iteratively refined and expanded. As the success of Fluid is dependent on contributions from an expanding and distributed team of contributors, the Fluid team has also worked on the necessary information, processes and tools to allow productive engagement in Fluid. </p><p>Community</p><p>To support a productive community Fluid:</p><p> established the necessary communication infrastructure including a Wiki, issue tracker, source code repository, several mailing lists, a continuous integration process and regular videoconferencing sessions between teams,  conducted an open and immediately transparent Fluid Summit to launch the project,  defined a comprehensive project roadmap, release plan, and component design strategy,  defined and implemented community procedures including a security process, commit access and voting procedures, as well as licensing and contributor agreements.</p><p>UX Toolkit and Design</p><p>To elevate user experience design within participating community source projects Fluid developed:</p><p> User Experience Walkthroughs, consisting of: o Comprehensive protocols, checklist, and advice on how to do a UX Walkthrough o Substantial exemplary walkthroughs of Sakai, uPortal, and Moodle, including accessibility evaluations o Mentoring the communities in doing their own UX Walkthroughs  Contributions to the W3C's DHTML Style Guide working group, to help establish conventions for keyboard accessibility  A living library of user interface design patterns, including o UI design patterns related to drag and drop o Plan and beginnings of the Open Source Design Patterns Library, the first truly open and collaborative repository for UI design patterns o Design pattern best practices developed in collaboration with other communities and industry partners.  Procedures for user testing and contextual inquiry</p><p>Components</p><p>A key Fluid strategy is to develop broadly implementable UI components that address critical user experience issues in community source projects. Fluid has developed and implemented the following components:</p><p> The Lightbox component, a component to manage and reorder objects onscreen in an accessible and usable way. o This component was integrated in both a Java and PHP environment, namely into the Sakai Image Gallery tool and the ATutor gallery  The Sakai "My Active Sites" tab-based interface. This will serve as the basis for an upcoming reusable Fluid component. o Integrated into Sakai 2.5  The Portal Layout Manger, designed to provide customizable module layouts o Will be integrated into the post-3.0 release of uPortal  Wireframes and specs for initial versions of new File Upload and Tagging components. o Will be implemented and released in Fluid 0.3 and 0.4.</p><p>Fluid DHTML Framework</p><p>The Fluid framework provides the core services needed by component developers to support reuse and flexibility. This includes:</p><p> Accessibility APIs to ease the burden of supporting keyboard navigation, ARIA semantics, and flexible presentations,  Dependency injection, which makes it easier to manage dependencies and configurability of components,  The Universal View Bus for easy, markup-driven AJAX communication between client and server,  APIs to ease the work of finding and working with DOM elements in a portal-friendly manner, and  Adaptation services to rewire component dependencies at runtime based on user preferences.</p><p>The framework is intended to encourage the use of markup over messaging where appropriate, the use of standard form POSTs and unobtrusive JavaScript for graceful degradation, the separation of layout logic from component behaviour, configurable keyboard mappings and support for template and markup customization.</p><p>In the first 10 months Fluid:</p><p> Built the first Fluid framework service, the Reorderer. The Reorderer is accessible, unobtrusive and highly reusable for drag and drop functions throughout many UIs. It serves as the backbone for the Lightbox and other Fluid components. It has been integrated in both Java and PHP applications (Sakai and ATutor and uPortal’s next post 3.0 release).  Evaluated and determined the best JavaScript toolkit and widget sets to support unobtrusiveness, graceful degradation, accessibility, UX design, clarity and simplicity. Fluid ultimately settled on jQuery  Developed a keyboard accessibility plugin for the jQuery JavaScript toolkit, making it significantly easier to add accessibility to DHTML interfaces  Established an approach for allowing multiple versions of the Fluid framework to coexist on a single page. This is essential for portal safety.</p><p>Releases  Fluid 0.1 was release on November 30, 2007. The release contains: o The Lightbox component o The Reorderer framework service for accessible drag and drop o Supporting UI design patterns o Protocols and guidance on how to do your own UX Walkthrough o A wealth of sample code and documentation</p><p>Next 14 months</p><p>In the next 14 months Fluid will iteratively expand and refine the UX Toolkit and Design supports, the Component Library and the Fluid Framework in response to the needs identified by a growing number of participating projects. Fluid will follow a release plan with 6 scheduled releases culminating in Fluid 1.0 to be released in March 2009. Fluid will also create an “engagement toolkit” to enable new software projects or diverse academic communities to engage in and productively implement Fluid.</p><p>During the next year the Open Source Design Patterns Library content management system will be publicly released. This will act as the place to share design patterns across communities. UX walkthrough guidelines and documentation will be significantly enhanced to expand their applicability to other communities and the repository of shared user profiles and personas in higher education and the arts and culture community will be expanded.</p><p>Several components have been identified as critical and are in various stages of design. These will be released in the coming year. Among them are File Upload, Tagging or tags and metadata, Portal Favourites for finding frequently used content, a File Picker to search, browse and manage files and many more. Other potential components include components to manage calendaring.</p><p>Additional Fluid DHTML Framework functionality to be developed, released and refined in the next year includes:</p><p> Release and integration of jQuery accessibility plugins into jQuery-ui, associated with this will be the mentorship of the jQuery community on DHTML accessibility techniques  Conventions and APIs for markup binding and DOM querying  A robust and easily implementable Component API  Simple Inversion of the Control container for Fluid  Unified, pure HTML templating on the server side, working across PHP and Java applications  A Universal View Bus for client/server AJAX communication  Framework Accessibility Adaptation consisting of: o Extensions to ARIA metadata o Extensions to IMS and ISO AccessForAll user preferences to express preferences relevant to UI components and transformations o Ability to rewire component dependencies at runtime based on user preferences</p><p>The Fluid release schedule over the next 14 months is as follows:</p><p>Fluid 0.2, end of February 2008</p><p>Maintenance release providing better deployment packaging, bug fixes, and improved cross-browser support</p><p>Fluid 0.3, March 2008</p><p>Portal Layout Manager component File Upload component & design pattern Launch of the Open Source Design Patterns Library CMS</p><p>Fluid 0.4, June 2008</p><p>File Upload component v2.0 Tagging component & design pattern</p><p>Fluid 0.6, September 2008</p><p>Portal Favourites component File Picker component Four new UI design patterns New UX walkthroughs of Sakai, uPortal, Moodle, and OpenCollection</p><p>Fluid 0.8, December 2008</p><p>Several new components and design patterns</p><p>Fluid 1.0, March 2009</p><p>Several new components Release of shared persona library Open Source Design Patterns Library CMS v 2.0 UX Walkthrough FAQ and step-by-step guide</p><p>Community</p><p>The Fluid community is growing rapidly, and a diverse group of contributors and supporters are participating in the project. Most significantly, Fluid has attracted contributors who traditionally might not be involved in open source: interaction and visual designers, HCI researchers, and other non-developers.</p><p>Fluid is a uniquely diffuse community, comprising members of the Sakai, uPortal, Moodle, Kuali Student, OpenCollection communities as well as participants from academic institutions and even corporations who are not formally engaged in the Fluid project but have an interest in furthering user experience. Fluid contributes directly to participating projects, supporting accessibility and usability efforts while building out a library of user interface components that can be used across many applications.</p><p>The Fluid collaboration spaces, such as the wiki and mailing lists, are very active and have over 150 subscribers. Conversations are spread across community lines to enable broader awareness and collaboration. Fluid community activities such as the Fluid Summit have been open, transparent and welcoming to participation from all interested parties from the start. For the continued growth of the Fluid community, greater progress needs to me made on the Fluid framework, enabling more developers to get involved and write their own Fluid components. Also, in order to ensure equal access for contributors world-wide, there is a continued need for transparency and surface information about discussions that occur off-list, such as videoconferences or face-to-face meetings. Fluid will be developing an “Engagement Toolkit” to address the needs of a variety of academic institutions (from the small humanities college to the large state university), arts and culture groups and software projects.</p><p>Sustainability</p><p>Fluid is unlike any other Mellon funded community source project in that the deliverables are enhancements to other software systems. Potential sustainability strategies include a consolidated fee for a set of community source initiatives including Fluid or a mechanism for seeking support from software initiatives implementing Fluid. The value proposition for these software development initiatives is the opportunity to influence the priorities and direction of the Fluid framework and component library. When software initiatives were surveyed there was great interest in some form of certification regarding the accessibility compliance of the UI. There was also interest in directly funding the creation of accessible UI components that met application-specific needs.</p><p>Sustainability efforts so far have focused on investigating a broad base of support that spans open source communities such as the Mozilla Foundation, the Gnome Foundation, the Open Handset Alliance, the Open Mobile Alliance among others; domains such as culture and the arts as well as academia; and jurisdictions that have legislative or policy requirements related to accessibility. The first step in establishing this support has been to prove the utility and success of the Fluid approach. In the next year the Fluid Board will develop a sustainability plan that will make the project self-supporting into the indefinite future.</p><p>Marketing/Evangelism</p><p>The values promoted by Fluid represent a precarious terrain in most community and open source projects. No community would say that the values supported by Fluid are not critically important. Ironically all software projects will admit that they have not addressed these values adequately. In marketing and promoting Fluid there are two risks: 1) that the software projects will view Fluid as the salvation to their accessibility and usability problems and will depend upon Fluid to solve these problems rather than using Fluid to establish long term, robust, systemic processes to enable a healthy user experience, or that 2) Fluid will be viewed as a contingent of nagging or preaching advocates of abstract values that take focus away from the code and the practical work.</p><p>To avoid both of these risks Fluid has focused marketing and evangelism efforts on producing a set of practical, immediately usable resources and on “embedded engagement” in the participating communities. The aim is to show tangible results and establish a reputation as a project that offers more than criticism and abstract advice in this precarious terrain; to respond to problems that have bubbled up from the communities; and to work within the context of the software community to integrate good UX practices into the local systems and processes (among many examples of this is the tutorial “Fearless JavaScript” to be presented at the upcoming JA-SIG conference addressing issues not covered by any available reference). This approach has worked well over the last 10 months and has avoided both of these risks. Fluid engenders enthusiasm and active participation in software communities such as Sakai and uPortal. (All tracks at both the Sakai and JA-SIG conferences reference Fluid frequently, all of these references are highly positive.) This has inspired many other nascent and established software communities to show interest and participate in Fluid. To fully harness the energy and creativity of these participants the framework, APIs and supporting resources will be refined and expanded.</p><p>Having established tangible products that can be implemented Fluid will now also step up the traditional marketing and evangelism efforts such as Web information actively recruiting new software projects and academic institutions, presentations and publications in broader venues and strategic meetings with potential participating projects.</p><p>Synergy with Other Projects</p><p>Fluid is intended to enhance other community source projects. The initial implementing software projects are Sakai, uPortal and Kuali Student (with design engagement by Moodle). This engagement and implementation has been very positive and successful thus far. Fluid components and toolkits are designed to be usable by most Web applications and the wider the participation in Fluid, the richer and more functional the Fluid components and toolkits will be. Fluid has expanded the initial core engagement to include the Seasr project (through the MONK subproject), OpenCollection, Dojo, JQuery, the Mozilla Foundation, and DSpace among others and is initiating discussions with Android, OLPC and the GNOME Foundation. We hope to partner with Bamboo and other emerging Mellon funded projects. We welcome participation by other software projects, academic institutions and cultural institutions or communities.</p>

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    11 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us