Welcome, guest ( Login )

WikiHome » SummerOfCode » SoC2006

SoC2006

Version 11, changed by rcoup 02/28/2007.   Show version history

This is the archive page for 2006. Go to the current SummerOfCode page

The Dojo Foundation is one of the mentor organizations in Google's 2006 Summer of Code. This page lists all of Dojo's proposed project ideas for students. For more information about dojo, visit the homepage or the homepage of this wiki. Or chat to us on the #dojo irc channel at irc://freenode/dojo

Deadlines

Student applications closed on May 8th.

Google requires Dojo to make it's final decisions about the project proposals before May 22nd. Students should take into account that it will take several days (expect 5 to 7 days) of refinement with the mentors to create a proper proposal, with well defined deliverables, which can be sponsored.

Students

For more info about the Summer of Code, read the Student FAQ.

How to write a Summer of Code application

Sell your idea. Describe your idea in detail. What is its ultimate goal? What components will it have? What benefits does it have for Dojo and its community? How do you plan to achieve completion of your project?

Sell yourself. Get across your enthusiasm for the project. Tell us what makes you stand out from the rest of the crowd. Talk about your past experiences, what makes you tick. Why are you interested in open source software, and Dojo in particular? What interests do you have, and how do these interests relate to the project for which you're applying? There is a basic assumption that people applying for Summer of Code will have at least some programming skills already. So rather than spend a lot of time elaborating on these (though by all means, do tell us what you know), spend time talking about you.

Show enthusiasm. Summer of Code is an exciting opportunity, and Dojo is cool. We're not just looking for people who want a summer job to pass the time, we're looking for devoted people who are excited about AJAX and about open source, and are (or will become) regular Dojo contributors.

Tailor your application to the project. Some people may send applications to more than one project, and copy/paste large chunks of text from one application to the next. That's a mistake. Each application you send should be targeted and tailored for the specific mentoring organization and project to which you are applying.

Get feedback on your idea from the community. Discussing your idea with some established Dojo folks is vital. If your idea duplicates existing efforts or code (and does not provide a very convincing reason for doing so), it will be rejected. Try to have your application reviewed by someone before you submit it, whether that be the mentor for a particular project itself (in the case of ideas listed later on this page), or a person with expertise in a certain area (such as the vector drawing, or RDF). Don't be afraid to ask the community for help; we want you to succeed just as much as you do. :)

Don't be afraid to go out on a limb. Have a brilliant idea that's not covered by the proposals on the following pages? Great! Don't be scared to try and think "outside the box" and come up with a fantastic idea of your own.

The above text is based on Drupal's HOWTO: Write a Summer of Code application, by Angie Byron and Karoly Negyesi. The original text, and this modified version, are released under a Creative Commons Attribution-ShareAlike 2.0 license.


Student requirements

Dojo has a few requirements that you must be able to meet in order to get accepted as a student participant in Google's Summer of Code program.

  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.

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.

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.

Project Ideas

  • Neil J's proposal: a Dojo demo app that would be sort of like PowerPoint -- something for showing presentation slides.
  • Vector Drawing Primitives
    • Implement a set of cross-browser vector drawing primitive abstractions using native DOM-based vector systems (VML, SVG, etc.) to provide application authors with a coherent way to draw non-box objects in a browser-based app.
    • mentors:
      • Alex Russell
      • backup mentor: Eugene Lazutkin
  • OpenRecord plugins
    • background:
      • OpenRecord is a project of the Dojo Foundation where we're writing a wiki engine. We're writing OpenRecord in JavaScript, using the libraries available in the Dojo Toolkit. Where traditional wiki engines (like MediaWiki) are geared toward pages of text, OpenRecord is geared toward database and spreadsheet content.
      • To see what OpenRecord looks like, check out the OpenRecord screencast.
      • To read more about OpenRecord, visit the OpenRecord website.
    • project ideas:
      • Write one or more plugin views for OpenRecord. Here are some ideas for different plugins:
        • bar chart -- (maybe using dojo.widget.Chart, with fallback to html)
        • scatter plot -- (maybe using dojo.widget.Chart, with fallback to html)
        • Gantt chart -- (maybe using SVG, with fallback to html)
        • pivot table -- (maybe building on this simple example with code available from Brian Skinner)
        • calendar -- month view, etc. -- with items placed based on date attribute
        • item history
        • some kind of animated view -- (maybe something like Jon Udell's page history animation)
        • timeline -- (like the MediaWiki EasyTimeline)
        • periodic table element view -- (maybe something like this Aluminum example)
        • nutrition facts view -- (example and formatting info)
    • for more info contact: skinner@dojotoolkit.org
    • mentors:
      • primary mentor: Brian Skinner
      • backup mentor: Jeffrey Harris or Adam Souzis
  • Dojo+Django integration
    • Integration of Dojo's widgets and i/o facilities with Django. Implementation of data interfaces on both sides of the web application. The super goal is to come up with building blocks, which can be used for RAD in plug'n'play manner. Dojo's side of implementation should be web server neutral, so it can be reused with other modern web frameworks.
    • mentors:
      • primary mentor: Eugene Lazutkin
      • backup mentor: ???
  • RDF package
    • Write a general purpose RDF package in JavaScript.
    • mentors:
      • primary mentor: Adam Souzis?
      • backup mentor: Brian Skinner
  • Enhance Dojo's JavaScript compressor
    • Interesting for CS student (parsing, compilation, linking, compression).
    • See the CompressorProject page for more information.
    • Is definitely related to the JavaScript linker project below, and might be part of that or a separate project.
    • mentors:
      • primary mentor: Morris Johns.
      • backup mentor: Alex Russell
  • JavaScript linker
    • Builds an AST of the javascript code that you are using and performs some operations based on this information, like stripping out code that you don't use, doing code obfuscation, and giving some statistics about the code. A company donated this code to Dojo and the SoC participant will be part of the team that integrates the code into the Dojo codebase, to be used by the build process. There is also integration possibilities with Dojo's doctool. It is written in Java.
    • mentors:
      • primary mentor: James Burke
      • backup mentor: Alex Russell
  • New widgets
    • (Proposed by Max Battcher) ThreadTree as a widget or a group of related widgets. See ThreadTree page for more information.
  • Full Use Case Suite
    • (Proposed by Stamen Petrov) Demonstrate, with real life use cases, the strengths of all packages, with an emphasis on using as many of the features of the packages and their related methods as possible.
      • primary metor: Neil Roberts
      • backup mentor: Dustin Machi
  • Your idea here
    • If you have a good idea that you think dojo should be interested in, discuss it with us or write it up and submit it!

Mentors

So far we have a half dozen Dojo developers who have registered to be mentors:

  • Alex Russell
  • Dylan Schiemann
  • Morris Johns
  • Eugene Lazutkin
  • James Burke
  • Paul Sowden
  • Bill Keese -- I can be a mentor, but I'm not sure what good widget projects are. Plus I'm in Japan
  • Dustin Machi -- mentor and program administrator -- dmachi@dojotoolkit.org
  • Brian Skinner -- mentor and program administrator -- skinner@dojotoolkit.org
  • Neil Roberts - mentor

Prospective Dojo mentors

Dojo developers are invited to volunteer to be mentors and to add project ideas to the list below. We are looking for as many interesting projects as we have mentors for.

When you're adding a new project suggestion, 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. For more info about mentoring, please read the Mentor FAQ.

Mentor requirements

Mentoring a student will take time. Be realistic about how much time you have available. Please 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 mentor, you will need to:

  • May 1 to May 8 -- work with your student to help refine their proposal.
  • May 8 to May 22 -- review and rank proposals.
  • May and June -- give students a helping hand getting going
  • June 26 to June 30 -- write mid-program evaluations of student progress
  • July and August -- provide guidance with the project
  • August 21 to September 5 -- write final student evaluations

Attachments (0)

  File By Size Attached Ver.