Welcome, guest ( Login )

WikiHome » SummerOfCode

SummerOfCode

Version 43, changed by rcoup 03/23/2007.   Show version history

Overview

It's on! Google have announced that Google Summer of Code is running again in 2007, and Dojo is participating. Read on to find out how to get involved, either as a student or a mentor.

NEW: Read the Dojo Summer of Code blog for the latest news!

What is "Summer of Code"?

The Summer of Code is a fantastic programme run by Google, where students are paid over the summer to work on open source projects such as Dojo. Each student is paired with a mentor to guide them through the summer and the innards of Dojo. In addition to funding from Google, other organisations such as Mozilla and SitePen have previously contributed to fund additional summer projects at Dojo.

Find out more at the Google Summer of Code FAQ.

Who's organising it?

From Dojo, Robert Coup and Neil Roberts are organising the Summer of Code programme for Dojo - get in touch with them if you have any questions. You can do this via email or jump onto the #dojo channel at irc.freenode.net - many of the mentors hang around on there too so its a good place for finding out more.

Rob's contact details - email: robert.coup@onetrackmind.co.nz, IRC:rcoup, MSN/Yahoo:robert@coup.net.nz, Skype:robert.coup
Neil's contact details - email: neil@onebahamas.com, IRC:pottedmeat

Have we done this before?

You bet. In 2006 Dojo had 7 summer of code projects funded (3 from Google and 4 from SitePen/Mozilla). Find out more about Dojo's previous Summer of Code projects at SoC2006 and our plans at SoCOrganization

Schedule

For the full Google Summer of Code schedule look here, but we've summarized the key dates below:
  • March 12: Dojo submits our application to Google. By then we need mentors and ideas.
  • March 14: Student applications open.
  • March 24: Student applications close.
  • March 24 - April 9: Dojo works with students to refine and rank proposals.
  • April 9: List of accepted student applications is published.
  • May 28 - August 20: Coding!

I want to be a student for Dojo! What next?

Google's applications open on March 14, but you can start getting involved now. Download and start using Dojo, join the dojo-interest mailing list, and most importantly come up with some ideas for what you want to submit. If you have any questions, get in touch with Rob or Neil.

We have compiled some helpful advice for students:
In addition, Dojo has a few requirements that you must be able to meet in order to get accepted as a student participant.
  1. You must not overbook yourself. Working on your Dojo project should be your main activity for the entire summer.
  2. You must be willing to provide weekly status reports.
  3. You will be expected to learn how to use SVN.
  4. You need to sign a Contributor's License Agreement (CLA)
The most important item is #1. You'll have a lot to learn before you will get to the point where you can begin coding your project, and the projects are all non-trivial. We will provide you with support from the mentors and community, but it is up to you to make sure that you can focus on your Dojo project.

Be Early: We expect to receive a lot of applications for a small number of spots. If we get your application on the first day it will get more attention from the mentors (and thus more chance of being accepted).

The above text is based on Drupal's Student requirements, by Angie Byron and Karoly Negyesi. The original text, and this modified version, are released under a Creative Commons Attribution-ShareAlike 2.0 license.

I want to be a mentor for Dojo!

Dojo developers are invited to volunteer to be mentors and to add project ideas to the list below. For more info about mentoring, please read Google's Advice for Mentors page. If you're not currently a Dojo contributor but are an avid user and comfortable with how Dojo works and what goes on, please get in touch with Rob or Neil and we'll talk further. There are also opportunities for backup mentors!

Mentoring a student will take time. Please be realistic about how much time you have available and only sign up to be a mentor if you'll be available to work with the students, provide regular guidance, and help make sure the student projects are successful. As a guide, you will need to spend at least 3-5 hours per student every week during the programme.

As a mentor, you will need to:

  • February -- write up ideas about your proposed projects
  • March -- let the world know about your proposed projects, and invite students to talk with your about it
  • March -- work with students to help refine the proposals they will submit to Google based on your proposed project idea
  • March and April -- work with the other Dojo mentors to review and rank the proposals.
  • May and June -- give students a hand in getting going
  • July -- write mid-program evaluations of student progress
  • July and August -- provide guidance with the project
  • August -- write final student evaluations
  • For more info, see the timeline on the Google FAQ.
IMPORTANT: You don't need to have any specific ideas to be a mentor. After we get applications in we'll match students, projects, and mentors together to make sure everyone is happy (and mentors are working in their areas of comfort & interest).

Volunteers

You can sign up right here with your name, or contact Rob or Neil.
  • Neil Roberts (pottedmeat)
  • Ryan Moore
  • Michael Smith
  • Alex Russell (slightlyoff)
  • Eugene Lazutkin (uhop)
  • Dylan Schiemann
  • John Cappiello
  • Owen Williams
  • Dustin Machi [backup]
  • James Burke [backup]
  • Brian Skinner [backup]
  • ... your name here! ...

Project Ideas for 2007

This is where we'll start compiling ideas for Summer of Code projects. We are looking for as many interesting projects as we have mentors for.

When you're adding a new project suggestion, keep in mind that it needs to make sense to the students who are looking for project ideas, and be interesting to them. Don't assume that they have lots of experience with JavaScript or background about what Dojo is or does, and remember that the project needs to be completed in three months.

Create a Wiki page, write as much as possible to describe it and leave contact details so students can get in touch with you to ask questions (and then update the Wiki page with answers). From the proposal everyone should be able to see what we're aiming to achieve and why this will be good for Dojo. A personal wishlist is not a proposal!

If you don't have a Wiki account please get in touch with Rob or Neil.

IMPORTANT: These are only suggestions! As a student, you're most welcome to propose your own ideas or variations on any of these.

new project name (add your project idea here!)

  • summary: a quick summary
  • more info: a link to a wiki page that describes the project idea in some detail ...

activeX CANVAS tag

  • summary: Mozilla, Opera and Safari have a CANVAS tag (recently adopted by the WhatWG, see below) that allows you to do raster drawing directly in the browser. For Internet Explorer, there is no direct support for this extremely useful tag, although there are some libraries that support part of the functionality.  The project then is to create a CANVAS tag for Windows IE as an activeX control.  The CANVAS api is fairly simple, and would be a good exercise in graphics programming for a student.
  • mentor: Owen Williams
  • proposed by: Owen Williams
  • more info: We don't yet have a wiki page that describes this project in more detail. Below are links about the CANVAS tag, students who are interested in this project can contact owen aat  dojotoolkit dot org for details.

dojo.data.Overdrive project

  • summary: Write a dojo.data datastore implementation that uses MySQL as a server-side database.  Implement the datastore so that it can deal with loosely-typed, multi-valued, semi-structured, JSON-ish, web 2.0 data, and can store that data in a rigid ugly old relational database.  Maybe call the new datastore "Overdrive", with an eye towards facilitating comparisons between Ruby on Rails (TM) and Dojo on Overdrive.
  • more info: See SummerOfCode2007DojoDataProjects

dojo.data.MediaWiki project

  • summary: Write a dojo.data datastore implementation that knows how to read semi-structured content out of a MediaWiki site by creating data item from the data in info-boxes and MediaWiki parameterized templates.
  • more info: See SummerOfCode2007DojoDataProjects

offline dojo.data project

  • summary: Get the dojo.data datastores and the dojo offline toolkit working together, so that for any app which already uses dojo.data it becomes astonishingly easy to also add offline functionality. 
  • more info: See SummerOfCode2007DojoDataProjects

JS Linker

  • summary: Significant progress was made last summer on a JavaScript Linker, reaching alpha quality. Bring the linker to production quality.
  • mentor: We're still looking for a dojo developer to volunteer as the primary mentor for this project. 
  • proposed by: Dylan Schiemann
  • more info: We don't yet have a wiki page that describes this project in more detail. Here are a few links that should go on that page when we have it:

        gfx 3d

  • summary: Create a 3D implementation of dojo.gfx, much like Canvas3D.
  • mentor: Dylan Schiemann volunteers to be the backup mentor for this project. 
  • proposed by: Dylan Schiemann
  • more info: We don't yet have a wiki page that describes this project in more detail. Here are a few links that should go on that page when we have it:

        Mobile Dojo

  • summary: Test and optimize Dojo and Dijit for use on devices such as the iPhone and other mobile devices with sufficiently powerful web browsers.
  • mentor: Dylan Schiemann volunteers to be the backup mentor for this project.
  • proposed by: Dylan Schiemann
  • more info: We don't yet have a wiki page that describes this project in more detail. Here are a few links that should go on that page when we have it:

A larger back button repository

  • summary: Make back button support more advanced than just undo functionality
  • mentor: Neil Roberts volunteers to be the primary mentor. James Burke can run backup.
  • proposed by: Neil Roberts
  • more info: We currently have a good undo package that works well in most browsers. We need to get it working in all browsers, make sure it works perfectly (using the best method possible for the browser). We also need to implement functionality that isn't based on undo, such as using the hash of a page as a "request" to a JavaScript function. It would also be nice to have an alternative to dojo.undo that has a central controller function and only adds data to the history.
  • even more info: The focus would be on giving Dojo the absolute best back button support of any toolkit, with functionality for every use case in every browser.


Attachments (0)

  File By Size Attached Ver.