Google Summer of Code 2014 with the Fluid Project


Fluid is an open source community of designers and developers who help improve the usability and accessibility of the open web. We contribute to a variety of open source projects (such as jQuery UI), and we work on a few projects of our own: the Design Handbook, a guidebook of techniques for improving usability, and Infusion, a JavaScript application framework for developing flexible user interfaces.

Fluid Infusion is built on top of jQuery, providing all the stuff you need to create user interfaces that are incredibly flexible, accessible, and easy-to-use. Infusion is an application framework and a suite of user interface components built with HTML, CSS, and JavaScript. In contrast to many other user interface toolkits, Infusion components aren't black boxes--they're built to be modified, adapted, and changed to suit your application or context. Taking a "one size fits one" approach, Infusion even lets end-users customize their experience with the UI Options component.

We're looking for students to collaborate with us on the Google Summer of Code 2014 program. Working with Fluid gives you a chance to learn more about accessibility and usability while writing code with cutting-edge open web technologies. Create cool stuff and make a real impact on users at the same time!

For information about the various ways we communicate with each other, see our Get Involved wiki page.


Web-based instruments for inclusive musical performances

1 position available
Difficulty: medium
Mentor: Colin Clark

The web-based instruments for inclusive musical performances project provides an opportunity to design simple, expressive, and accessible ways to play and perform electronic music using entirely Web-based technology. Most current music-making software is complex, inaccessible to assistive technologies, and requires the use of a mouse. This project involves designing and implementing musical keyboard-navigable and assistive technology-friendly instruments on the web for playing music. Students will use Fluid Infusion and the Flocking web-based music synthesis framework to implement their designs. Students are strongly encouraged to explore novel interaction methods to allow people who might not otherwise be able to play an instrument to participate in the music-making process. How can a musician who needs extra time, or who has limited mobility, or who can't see the screen, engage in expressive music-making?

Students should have knowledge of open web technologies, including HTML, CSS, and JavaScript. More importantly, they should have a desire to experiment with novel user interactions and understand some electronic music and Digital Signal Processing techniques.

Picture Dictionary

1 position available
Difficulty: easy

Like a traditional dictionary, a Picture Dictionary will allow a user to search for the meaning of a given word or term. However, rather than returning a text based description, an image representing the meaning will be returned instead. For example if a user were to look up "dinosaur", an images of a dinosaur would be returned. A Picture Dictionary would have many applications including assisting users who are learning a new language, are better visual learners, have trouble with perceiving or understanding text, and etc. This project will involve working with and expanding on existing designs, while implementing with the latest web based technologies (HTML, CSS, JavaScript). The student will be expected to make use of Fluid Infusion, and ensure that all work is implemented with inclusivity in mind.

In Browser Text-To-Speech

1 position available
Difficulty: hard

There are many OS based screen readers (NVDA, JAWS, ORCA, VoiceOver) available. However, not all users require, need, or want the full screen reader experience. More and more sites are starting to look at providing a text-to-speech feature on their site, allowing users the option to have the contents of the page read to them. This is only one of many preferences that a user may wish to change on a site. Our Preferences Framework has been developed to allow a user to customize their own experience, allowing the interface to adapt to their needs and preferences. This project will focus on enhancing our early implementation of text-to-speech (interface options demo, preferences exploration tool demo) based on our existing designs. Students will be expected to use Fluid Infusion, in particular the Preferences Framework, to integrate with a text-to-speech engine to implement the designs. Students should have knowledge of open web technologies, including HTML, CSS, and JavaScript.

CMS Plugins for Infusion Components

1 position available
Difficulty: medium

For this project, you will create a plugin, module or theme that incorporates one of the following Infusion tools into a Content Management System (CMS):

UI Options will enable users to easily customize the appearance and layout of the CMS site. For example, UI Options provides high contrast, large print, and simplified layouts that help improve usability with assistive technologies such as a screen magnifier or mobile device. The Video Player is fully accessible, and designed to work with UI Options.

We have already created a UI Options theme and a Video Player plugin for Wordpress; Now we want your help to expand and improve on these, or incorporate them into another CMS.

You should have a firm knowledge of open web technologies: HTML, CSS, and JavaScript, as well as experience with one or more CMSs. Familiarity the Infusion Framework is not required; we'll show you the ropes.

See also:

Infusion Documentation

Most of the work we do here either uses or directly involves the Infusion Framework and Component Library. These links should get you started learning about Infusion, and should lead you to many more pages.

Contributing Code To Infusion
Infusion Documentation
How Infusion Works
Tutorial - Getting started with Infusion
Infusion Framework Best Practices