Google Summer of Code 2009 ideas list

This page contains ideas for potential Google Summer of Code projects in 2009. View Sakai's GSOC Home Page for an introduction, or our organisation page for details of our application template and how we're going to be running our GSOC projects this year.

Most of our project ideas are based around the concept of Sakai3, a major new version of Sakai which is currently in active development in our community.  Among its many improvements, Sakai 3 will provide:

  • A revamped user experience
  • A powerful and easy to use content authoring capability
  • Social networking features
  • Improved teaching and learning workflows
  • Increased scalability
  • Ease of use for software developers

You can learn more about Sakai3: read an early proposal here, or check out the official information page (with screencast!) here.

As well as the usual Sakai community/resources, there are some Google Groups which you might find informative: one for "3akai" and one for our backend kernel development: Kernel2 (which may be informative, but is not deeply relevant to the projects listed below). Sakai3 is designed to be accessible and we use outputs from the Fluid project to make sure we get it right.

The first four ideas below involve creating new sections of user interface in Sakai3, to enhance and build upon our current flexible authoring and widget environment; these will be written in javascript, HTML and CSS. The fifth is based on GWT.

We are also happy to consider applications for other projects in the area of developing new UI features for Sakai3 - these would be mentored by Oszkar Nagy and Amyas Phillips, and you can also contact Laura James (laura@caret.cam.ac.uk) if you want to discuss such ideas.

1. Workflow integration

At the moment, when a user creates a new page in Sakai3, they get a blank canvas into which they can add text, images, videos, and widgets, which could be discussion forums, comments, polls, blogs, assignments... and more. This is great if you like flexibility and know exactly what you want to make! (There's something that can be done to help with templating, which we envisage is more like starting from an example page with lorem ipsum text and placeholder images/widgets, but that's not very exciting.) This project is to create a "scaffolding" system so that users wanting to create content within Sakai3 can follow a workflow related to the task they are undertaking, rather than the freeform environment offered today. The project will involve HTML/CSS/javascript and ajax/jQuery/json knowledge may be useful.

1. Mentors

Oszkar Nagy, UI developer, University of Cambridge oszkar@caret.cam.ac.uk
Amyas Phillips, University of Cambridge amyas.phillips@caret.cam.ac.uk
working closely with Nicolaas Matthijs (lead Sakai3 UI developer) and Ian Boston (senior architect, Sakai project)
For more information, contact Laura James laura@caret.cam.ac.uk

2. Mashup environment

Sakai3 is built on top of a Java Content Repository, meaning that "everything is content". Whenever a user creates or uploads some data, it falls through into the JCR, acquiring as it does so "tags" which can be used to find the data again. Then, the system can ask JCR to return different kinds of information, like "all my stuff", or "all thermodynamics teaching material from the Engineering Department". There's lots of information available, and various services will draw upon the JCR pool of content in different ways, creating data feeds for all kinds of users. This project is to create a system which presents an index of the data feeds available in Sakai3 which is browsable by a user. Then, to build an environment which lets a user connect together some of the data feeds, to create their own Sakai3 widget - (we are thinking of a concept similar to Yahoo Pipes). The project will involve HTML/CSS/javascript and ajax/jQuery/json knowledge may be useful.

2. Mentors

Oszkar Nagy, UI developer, University of Cambridge oszkar@caret.cam.ac.uk
Amyas Phillips, University of Cambridge amyas.phillips@caret.cam.ac.uk
working closely with Nicolaas Matthijs (lead Sakai3 UI developer) and Ian Boston (senior architect, Sakai project)
For more information, contact Laura James laura@caret.cam.ac.uk

3. In-line editor

Sakai3 lets users create pages containing all kinds of content such as text, images, videos, and widgets, which could be discussion forums, comments, polls, blogs, assignments... and more. Currently, you must click "Edit Page" to work with an existing page of content, and then the whole page appears within a WYSIWYG editor (TinyMCE). This project would offer an alternative of in-line editing, where the page content is divided into paragraphs, sections and so on, and where a user can select to edit a block of text, an image, or another widget element individually. The project will involve HTML/CSS/javascript and ajax/jQuery/json knowledge may be useful.

3. Mentors

Oszkar Nagy, UI developer, University of Cambridge oszkar@caret.cam.ac.uk
Amyas Phillips, University of Cambridge amyas.phillips@caret.cam.ac.uk
working closely with Nicolaas Matthijs (lead Sakai3 UI developer) and Ian Boston (senior architect, Sakai project)
For more information, contact Laura James laura@caret.cam.ac.uk

4. Annotation system

Our current Sakai3 prototype allows an instructor to make a page of content, and, if desired, turn on commenting, so that students or other instructors or TAs can add their thoughts to the bottom of a page. This project is to create a tool which would allow instructors to call for annotations anywhere within a page or pages, where students could then make notes throughout the page, and offering either shared visibility to other students throughout, or offering the instructor the chance to "turn on" when student annotations should be shared with the class, all or in part. The project will involve HTML/CSS/javascript and ajax/jQuery/json knowledge may be useful.

4. Mentors

Oszkar Nagy, UI developer, University of Cambridge oszkar@caret.cam.ac.uk
Amyas Phillips, University of Cambridge amyas.phillips@caret.cam.ac.uk
working closely with Nicolaas Matthijs (lead Sakai3 UI developer) and Ian Boston (senior architect, Sakai project)
For more information, contact Laura James laura@caret.cam.ac.uk

5. Open Syllabus

Syllabi are universal gateways to teaching and learning in universities.  In many cases, syllabi take the form of a paper or electronic document (Word or PDF) where the key aspects of the course are described: instructor information, course material, assessment and grading, course calendar, etc. In other cases, syllabi are embedded in a course web site and can include numerous electronic resources (PowerPoint files, videos, URLs, etc.). Open Syllabus (OSyl) is a forthcoming Sakai tool that offers a comprehensive solution to syllabi or course websites authoring.

Open Syllabus is based on the Google Web Toolkit technology.  Since it creates Javascript code and can use widget libraries, it could be integrated as a widget tool in most compliant environments including the forthcoming Sakai 3.0.  Planned functionalities include PDF printing of a summary syllabus, offline use by faculty and students, students as syllabi authors, management of Creative Commons licenses, drag and drop of tree elements, various widgets linking the content of OpenSyllabus to other environments. Updates on the project and releases can be obtained at http://bugs.sakaiproject.org/confluence/display/OSYL/OpenSyllabus Home.

5. Mentors

Claude Coulombe, lead analyst Open Syllabus  claude.coulombe@umontreal.ca

Sacha Lepretre, CRIM Sacha.Lepretre@crim.ca