About GSoC
Google's summer of code is now in its 8th year, funding student positions over the summer, working with various open source development projects producing code that benefits everyone. GSoC will put up $5000 US to cover the wage of a student during the period between the end of May and the end of August. Students who are interested in participating should scan through the GSoC FAQ for information about the program and how to apply, and scan through the "Project Ideas" listed below for potential projects they might participate in. Or, propose a project of your own and attach it to your application. IDI GSoC Home Page Students applying to work with the IDI must submit a resume, along with a 1 or 2 page proposal mentioning the project they wish to participate in, with a plan describing how they would go about developing or coding the software, and send it to info at atutor dot ca. We will on one occasion offer suggestions you can use to enhance the proposal you submit when you register with GSoC. Be sure your proposal is as close to finished as possible before submitting it for feedback. ContactThe best way to contact IDI if you have questions is through our IRC channels. Use the ATutor channel for ATutor project related questions, and the Fluid channel if you have Fluid project related quesitons. ATutor IRC Channel: irc://irc.oftc.net and join the #atutor channel Important DatesMentoring Organisation Applications February 27 to March 9 Selection CriteriaGoogle Summer of Code is a very competitive process at IDI. Many more students apply than we have spots available to offer. Students should keep this in mind and plan accordingly. Students can apply for up to two projects at the IDI. When selecting students there are a number of qualities we look for:
About the Inclusive Design InstituteThe overarching goal of the Inclusive Design Institute is to help ensure that emerging information technology and practices are designed inclusively from the very beginning. We define inclusive design as design that enables and supports the participation of individuals and groups representing the full range of human diversity. We see disability as a mismatch between the needs of the individual and the service, education, tools or environment provided and accessibility as the adaptability of the system to the needs of each individual. Our research, development, education and services are all grounded in this principle. The IDI supports open standards - as well as open access and open source wherever possible - to distribute our work as widely as possible and to encourage broad participation in our initiatives. All our work is collaborative. We are strong advocates of the overlooked principle that people with disabilities should be producers and not only consumers of information, knowledge and culture. Society as a whole is impoverished and deprived if we exclude through action or omission. Inclusion benefits everyone, it should be everyone's concern and, in this digitally transformed reality that we live and work in - where consumption does not consume and space has no limits - there is no downside to inclusion and it is possible to make room for us all. Jutta Treviranus Project Ideas for GSoC 2012ATutor Project IdeasThe following is a list of potential GSoC projects for students. These are only suggested projects, outlining the types of things the ATutor community has been asking for. Students are welcome to suggest their own projects, or suggest variations on the ones listed here if they have other ideas. To communicate directly with the ATutor development team, open an IRC session at irc://irc.oftc.net and join the #atutor channel. The core developers are generally around 9:00 to 5:00 Monday to Friday Eastern Standard Time (UTC-5). Though not a requirement, students are advised to login to IRC and interact with the developers. Generally students that developers get to know, are the ones chosen to fill the limited number of spots available. Students should note that mentors working with IDI work as a team, so you may interact with several mentors over the course of your project. The mentor listed with each project is the primary contact for the project, but he or she may direct you to other mentors where they are better able to answer questions or provide guidance. 1. AContent to ATutor Live Content LinkDifficulty: difficult Description: The candidate for this project should have a strong background in PHP development, understand REST Web services, and have an understanding of Javascript and AJAX. The candidate should also demonstrate knowledge of ATutor and AContent content authoring. Familiarity with IMS content interoperability standards will be an asset, as will knowledge of Web content accessibility. Outcomes AContent CMS 2. ATutor Mobile SkinsDifficulty: Medium Description: This is a project that could include design and research/documentation deliverables:
The candidate must have good understanding of Web accessibility, HTML and CSS3/CCS2, and have a minimum basic knowledge of PHP, Javascript and jQuery. Knowledge of mobile browser features and limitations (iPhone, Android, and Blackberry), and knowledge of smartphone accessibility features will also be an asset. Knowledge and strategies for dealing with variations in CSS support across browsers is a definite asset. Outcome:
ATutor Theme Designer Documentation 3. Google Apps Module for ATutorDifficulty: Medium Description: The candidate for this project must have a good understanding PHP, be familiar with ATutor module development, and with various Google APIs and the OAuth API. Outcome: Google Docs API Documentation 4. ATutor Calendar Module ExtensionDifficulty: Medium Description: Features to be developed include: 1. A module_date.php file for each module that requires its dates to be exposed to the calendar. (Tests & Surveys, Assignments, Content) A challenging aspect of this project will be developing a calendar interface that is both accessible and usable by screen reader users. The candidate should be able to describe strategies that might used to improve the usability of each screen within the calendar, so it is navigable without the use of a mouse, and understandable when output as audio from a screen reader. This first implementation of the calendar will focus on gathering dates from within ATutor. The candidate should develop the calendar with foresight of extending the module in future versions, adding in such features as a personal calendar component for recording personal events, a calendar integration feature for combining information from the ATutor calendar with other calendars via iCal for example, and an export component so calendar information can be packaged and imported into other systems. The candidate student should have good PHP programming skills, preferably with good Javascript/Ajax programming skills. Familiarity with jQuery libraries would also be an asset. The candidate for this project should have a good understanding of PHP, and be familiar with iCalendar file format, and Google and Outlook Calendar APIs. Outcome Calandar Module from GSoC 2011 5. Collaborative editing for AContentDifficulty: Difficult Description: This feature can be added by implementing it as a new AContent module or by integrating an existing open source wiki engine. Outcome: Ajax: A New Approach to Web Applications 6. Templating for AContentDifficulty: medium Description: The idea is to integrate AContent with an already existing system which has been designed and developed to support the use of templates during authoring and editing of e-learning content, by using existing data structures and e-learning standards. The system will provide 3 layers of templates:
By using this new feature of AContent, the following scenarios will be possible:
Outcome AContent CMS 7. AChecker Interactive InterfaceDifficulty: Medium Description The new interface will be based on AJAX technologies and it should be compliant with W3C WAI‑ARIA specification. The candidate students must have a good knowledge of HTML and CSS and also be familiar with PHP, AJAX and W3C WAI-ARIA specifications. The AChecker interface and layout will be renovated with new AJAX technologies. Compliance with W3C WAI-ARIA specifications will guarantee system accessibility. Outcome Ajax: A New Approach to Web Applications 8. AChecker manual evaluationsDifficulty: Medium *Description: * AChecker evaluates the accessibility of an URL according to a specified set of guidelines or requirements (derived from international standards or national laws and acts). Such a validation activity produces a report with certain errors (derived from automatic controls) and warnings (named "Likely errors" and "Potential errors"), which the users should evaluate on their own. This new feature will support users in declaring if a warning is a real error or not. After this phase the users will be able to export the final report with results about certain errors and manually evaluated likely and potential errors. The candidate students must have a good knowledge of XML and PHP. Familiarity with HTML, CSS and MySQL is also required. Outcome AChecker 9. Media Player Update for ATutorDifficulty: Medium. Description: The candidate for this project should have a good understanding of multimedia development, as well as javascript, and potentially Flash development. A basic understanding of PHP will also help with this project. Outcome: ATutor Module Developer Documentation 10. AContent module for MoodleDifficulty: Medium. Description In many universities around the world the Moodle LMS has been deployed. However, the content development tools within Moodle not as well developed as those in AContent, nor can the content be exported from Moodle. Moodle does however support the inclusion of content developed within AContent through being able to import IMS Content Packages exported from AContent. While being able to import content into Moodle is a useful capability it would be better to be able to easily develop content within AContent and deploy it into Moodle in a single step, something currently not possible. In this project we will look to more tightly integrate AContent and Moodle so that people using Moodle for online course management can easily develop content in the AContent environment and then deploy it into Moodle directly. The candidate should be proficient programming with PHP, understand Web services and have some familiarity with HTML and CSS. Outcome: AContent CMS 11. ATutor Chat RedesignDifficulty: Medium Description Since the original AChat was introduced, the WAI-ARIA standard was made public. It can be used to address the accessibility of live dynamically updating content such as a chat dialog. With the addition of ARIA live regions for instance, it is now possible to access chat dialogs with a screen reader, for instance, making synchronous communication more accessible to blind students. Another possibility for a chat redesign would be to create a small popup chat, much like you might find on Facebook, or in Google+ or Gmail. There are many possibilities. In this project the candidate will design a new chat for ATutor, or potentially use the current AChat application as a starting point and build on it, perhaps using WAI-ARIA, perhaps extending it to include a Gmail like chat. The student can decide. Whatever path is selected, accessibility needs to be a key consideration. The candidate for this project may rely on various programming skills depending on the type of chat chosen for the project. PHP and Javascript will likely be part of those skills, though there should be some familiarity with accessibility requirements (e.g. WCAG 2), familiarity with WAI-ARIA, and potentially familiarity with assistive technology such as screen readers, and the difficulties users of these technologies face when accessing live updating content. Outcome ATutor AChat module 12. Improve accessibility of BigBlueButtonDifficulty: Medium Description: Students should have prior knowledge of development in ActionScript and Flex (please indicate specific examples of your Flex development experience if you are applying for this project). This project will involve research and analysis as well as implementation, so students should be comfortable with prototyping various approaches and analyzing the strengths/weakness of each approach, and then focusing on the implementation of the recommend solution Outcomes: BigBlueButton 13. Enhance Integration of ATutor with Apache OpenMeetings Web-ConferencingDifficulty: Medium Description: As OpenMeetings future versions will be Apache licensed it would be recommended to have the Plugin under ASL as well so it can be maintained by the Apache OpenMeetings team. The candidate for this project should have basic knowledge of PHP and the willing to learn how to trigger SOAP / REST Web-Services via PHP using examples that will be provided. The candidate should have knowledge of ATutor module development. Outcomes: OpenMeetings Fluid Project IdeasFluid 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 2012 program. Working with Fluid gives you a chance to learn more about accessibility and usability while writing code with cutting-edge open web technologies like HTML5 Canvas and Video. Create cool stuff and make a real impact on users at the same time! To communicate directly with the Fluid development team, open an IRC session at irc://irc.freenode.net and join the #fluid-work channel. The core developers are generally around 9:00 to 5:00 Monday to Friday Eastern Standard Time (UTC-5). Though not a requirement, students are advised to login to IRC and interact with the developers. Generally students developers get to know, are the ones chosen to fill the limited number of spots available. 1. Visualization of declaratively-structured programs using Fluid IoCCreate a visual representation of the component structure as seen by the Framework/IoC 1 position available This project is an opportunity to combine your technical and design skills. The Fluid Infusion Inversion of Control (IoC) system has grown a lot in the past year. It has become a robust way of building JavaScript applications where the pieces of the system do not know about each other and can be swapped out for different implementations based on the context they find themselves in. The system relies on JSON specifications (called defaults and demands blocks) to signify what components use in particular contexts. Being based on JSON rather than raw JavaScript code, the system has been aimed at smoothing the path towards creating powerful visualization and design tools. Currently, the IoC system is lacking in developer supports. This is where you come in. You will use HTML5 Canvas , WebGL and/or traditional HTML widgets to create a visualization of an application that has been written using Infusion IoC. The goal of this project is to assist developers in understanding and debugging their applications. See also: Github space, Fluid Studios, Infusion Documentation, Collaborate, Coding and Commit Standards 2. Towards non-visual/accessible programming1 position available Today, for almost every purpose, programming an application implies editing some kind of text file. This is a limiting model, which shuts out a huge community who might otherwise be making applications for their own needs and those of others. The form factors of computers are changing - this year, the majority of computers online are tablets and phones, making these inappropriate devices for a person in the role of a programmer. Liberating programming from the text file model is a great opportunity to broaden access as well as to a different class of device, to a different class of user - those with visual impairments, or those who are in an environment (perhaps a crowded/noisy bus, bar or otherwise "on the move") where whipping out a traditional class laptop with high-res screen and keyboard would be inappropriate. An important idiom in moving towards the "non-visual" model is to reformulate operations which are traditionally performed by "visual scanning" or "skimming" into a population of "non-visual query operations" which the user can adjust and improve to match their favorite style of working. This project may be synergistic with, but independent of, the Fluid GSOC project on IoC visualisation. Creating a model where a program structure is "topologised" is a crucial element of both projects - whereas in the visual project this graph structure will be laid out in visual space, for this non-visual project it will be treated abstractly as pure topology (graph connectivity). This project will explore this currently completely unvisited frontier of programming idioms, drawing on the wisdom of the ages, including dataflow programming, functional programming and/or functional reactive programming (FRP), context-oriented programming, declarative and state-oriented programming to liberate coding from the era of the typewriter. See also: Github space, Fluid Studios, Infusion Documentation, Collaborate, Coding and Commit Standards 3. HTML5 Image EditorCreate a component for accessible image editing with HTML5 Canvas and Infusion. 1 position available This project is an opportunity to create an image editing tool entirely with open web technologies, especially HTML5 Canvas. The goal for this component is to provide familiar image processing features such as rotation, skew correction, brightness/contrast, and threshold, all within a standard web page. The contributor is free to experiment with other, more complex image processing algorithms and implement them as desired. The component should be able to export the settings in an easily consumable format (e.g. JSON). The component will support accessibility features such as use of the keyboard instead of the mouse. Students should have a firm knowledge of open web technologies: HTML, CSS, and JavaScript. A desire to learn emerging technologies such as HTML5 is essential. Familiarity with Fluid Infusion is not required; we'll show you the ropes. See also: Github space, Fluid Studios, Infusion Documentation, Collaborate, Coding and Commit Standards 4. Highly customizable and accessible web based ePub reader.1 position available This project will focus on implementing a web based ePub reading (possibly, editing) component based on open web technologies (and infusion framework). The result implementation must be screen reader accessible. It also needs to utilize tools for customizing user experience (through UI Options or other means). Having a highly customizable reading experience on the web will contribute to a growing number of new learning tools in the educational domain. Students should have a firm knowledge of open web technologies: HTML, CSS, and JavaScript. Familiarity with Fluid Infusion framework is not required; we'll show you the ropes. See also: Github space, Infusion Documentation, Coding and Commit Standards, JavaScript ePub Readers, rePublish. Feel free to research more about javascript epub technologies available as open source. 5. Inclusive, Web-based Musical Instruments1 position available The Inclusive Musical Instrument project provides an opportunity to design simple, novel, 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 may wish to use Fluid Infusion and the Flocking web-based music synthesis framework to implement their designs. 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. Other Project Ideas from other Orgs proposed by IDI staff1. WAI-ARIA Automated Testing (GNOME Project)1 position available |
Contents
|
