Login Register

Summer of Code Project Ideas

This page serves as a list of "ideas" for student projects for the Summer of Code 2008. Feel free to add a comment with your own ideas or expansions, and we'll roll them into the page regularly. Please say who you are when suggesting an idea :) We'll be fleshing out and ranking these ideas as we go along, based on how important they are to Dojo and whether we can forsee any issues.

Important: See the Dojo Summer of Code homepage for lots of other useful information, including FAQs, what should be in your application, the coding test, and where to get help.

Charting Improvements

dojox.charting is already pretty impressive, lets make it the #1 Javascript charting engine!

  • Time series support
  • Multi-axis support
  • Better integration with dojo.data
  • New chart types (bubble, radar, boxplots, etc)
  • Annotations to data points
  • Improve Adobe AIR support
  • ...

Readability Module

Be able to assess input text based on how well it can be read by normal people - particularly useful for content management systems. There are a number of different ways of measuring readability of text.

  • Implement a number of the algorithms.
  • Figure out how to integrate them with Dojo's i18n language support.
  • Have some ways of visualising the scores.
  • Integrate it with dijit.Editor, dijit.Textarea, and normal textarea nodes.
  • ...

Markup Previews

There are a number of widely used markup languages available today, and it would be great to provide client-side previews. Then people can easily check they've got it right without round-tripping to the server.

  • Markdown, Textile, Trac-markup, others - there are heaps!
  • A plugin-based way to just load a single one
  • A widget-based way to preview them, ideally side-by-side editing
  • Some way of integrating markup help ("How do i do a list?")
  • Integrating with dijit.Textarea and normal textarea nodes
  • ...

Build Tool Improvements

Dojo already has a widely used and very powerful build and packaging system.

  • Examples for conditional compilation
  • Being able to set build constants (eg. version numbers)
  • Examples and support for CSS building
  • Stripping out logging messages (eg. console.debug())
  • Improve x-domain support, making requireIf() and other clever stuff work.
  • Integrating js-lint style analysis
  • Stats on analysing how much space/bandwidth is being saved
  • ...

Automated Test tools

Power-up the DOH framework! Cross-OS and cross-browser, so we can provide better QA without requiring an army of people. And making it work better for widget testing! These are some pretty hard and challenging tasks.

  • Use a framework like Windmill or Selenium-RC.
  • Having some way of kicking off tests, monitoring, and reporting the results
  • Use the DOH client-side test code
  • Integrating this into Dojo's nightly builds and other infrastructure
  • Making it easy for someone to run a similar system for their own Dojo applications on their own network
  • Improving DOH's support for widget testing so we can create automated widget tests (this might be a whole project by itself)
  • ...

Real OpenGL 3D in the browser

There is now support (to be released in FF3+1) that supports 3D GPU code in the browser. Basically, write some code in a