~GSoC 2010: Google Summer of Code 2010 Ideas Page

anildash edited this page Mar 26, 2011 · 1 revision


Expert Labs has been accepted as a mentor organization in Google Summer of Code 2010! GSoC students will tackle a ThinkUp task either listed on this page or submitted to us for approval.

Interested in applying? Here’s what to do.

Eligible GSoC students interested in applying to work on ThinkUp this summer should do the following:

1. Download, install, and run the ThinkUp application on your server to get a feel for what stage the project is in and what it does.

2. Join the project mailing list and read up on current community discussions. Review the list of open Issues, as well as the list of suggested ThinkUp projects below. If you have a question about a specific issue, post it in the issue’s comments. If you find a bug, submit a fix via GitHub pull request. (Thanks in advance!)

3. Choose the task you’re most interested in working on this summer. If you have questions about requirements or your plans for implementation on a specific task, post them on the project mailing list. If you have a proposal that is not on the suggested ideas list below, post it on the project mailing list for community feedback. DO NOT post to the mailing list just to introduce yourself and ask what you need to do to apply to GSoC. If you do, your post won’t make it through moderation.

4. Refine and complete your project proposal based on the community feedback you got and research you did in Step 3. Include screenshots, mockups, and reference links to external documentation or relevant mailing list threads in your proposal. To publish your proposal for community review, create a new page on this wiki called Your Name’s Project Name Proposal, add all the text and relevant images and links to it. Then, add a link to your new page in the project section of this page. Impress us!

5. Finally, fill out your application on the GSoC web site. As per the program timeline, application review will begin mid-April.

GSoC applications are due April 9th, 2010.

Between now and April 9th 2010, you’ll increase your application’s chances of acceptance by making a good impression on the project community and on your potential mentors. We’ll start to work with refining promising proposals on April 15th, 2010.

You’ll make a good impression by:

  • contributing to the conversation on the mailing list in a smart and meaningful way
  • working on the code and issuing pull requests via GitHub
  • writing/editing project documentation on the wiki
  • creating and sharing professional-looking screenshots and mockups of your interface ideas
  • demonstrating superior communication skills

In short, prove you’re a superstar. Show us you know how to read, write, communicate, and code well.

Important Note on Mailing List Etiquette

Knowing how to communicate well on an open source project mailing list is a required skill for this job. Your mailing list posts will be part of your GSoC application. Students with a track record of productive mailing list posts will have the best chances of getting accepted.

First and foremost, keep the ThinkUp project mailing list on topic. Don’t post to the mailing list just to introduce yourself or ask us to review your application or what you need to do to apply for GSoC or if your application has been submitted correctly. Every mailing list post should be about ThinkUp . We do and will ban users from the mailing list for off-topic posts. If you have a GSoC-related question, ask it on the GSoC mailing list.

Contribute productively to the ThinkUp mailing list by:

  • researching an answer before you ask a question
  • answering others’ questions, and offering constructive comments and criticism on others’ ideas
  • inline replying and correctly quoting the parts of the message you’re responding to
  • separating discussion topics into one topic per thread

If you have a ThinkUp/GSoC related question that is not answered anywhere else, email gina at expertlabs.org directly. ONLY do this if your question is not answered elsewhere. Your ability to read documentation is also a required skill for this job.

Thanks for your interest!

Suggested Google Summer of Code 2010/ThinkUp Projects

Here are some suggested projects GSoC students might work on this summer. Students, if you’re working on a proposal, add it in a new wiki page, and link to it under the appropriate heading.

Reply “Smart Playlists” and News Feed

Must have JavaScript/jQuery/AJAX experience

  • Create an iTunes smart playlist-inspired response filtering tool that lets users create “playlists” of responses based on configurable criteria
  • Enable the ability for one user to copy another’s filter ruleset and modify it
  • Display a news feed of ThinkUp users’ smart filters as they create them, and generate lists of the most popular/useful/favorited filters
  • Ways in which replies should be filtered/viewed:
    • Keyword searches (AND, OR, and phrase support)
    • Time period
    • In groups, i.e., you should be able to collapse similar replies into one entry. If someone asks “What kind of smartphone should I get?” one should be able to collapse all the replies that contain the word “iPhone” into a single entry, “iPhone, according to X number of respondants”

Relevant Mailing List Thread

Current Student Proposals

Data Visualization Plugins

Web API experience

  • Build plugins that create useful data visualization of conversations archived in ThinkUp’s database. If the White House (or @aplusk) asks a question on Twitter, what are some good ways to visualize the responses?

Relevant mailing list thread

Current Student Proposals

Installation Simplification and Auto-Updates

Must know PHP/MySQL

  • Simplify the ThinkUp installation process, ala WordPress’ “famous 5-minute install”
  • Implement an auto-update feature so that current ThinkUp installations get a notification when a new version is available

Relevant mailing list thread

Current Student Proposals

Geo-Location Awareness and Visualizations

Must know PHP/MySQL

  • Capture geolocation information from Twitter, Buzz, and Facebook and create Google Map visualizations of responses by location

Relevant mailing list thread

Current Student Proposals

Data Source Input Plugins

Web API experience

  • Create ThinkUp plugins that pull data from social networks like Buzz, LinkedIn, Flickr, Google Moderator, and YouTube

Current Student Proposals

Code Cleanup and Upgrades

PHP, OOP, MVC, regression testing experience

  • Expand regression test suite
  • MVC framework: Standardize web page controllers
  • Add PHPDoc-style code comments
  • Port all SQL statements to mysqli prepared statements

Relevant mailing list thread

Current Student Proposals

  • Students, add a link to your proposal page here

OAuth Support/Proxy

OAuth API experience

  • ThinkUp could become an endpoint for authentication for the Twitter API, to proxy calls to the Twitter service and route content to any connected networks.

Current Student Proposals

  • Students, add a link to your proposal page here

RSSCloud and PubSubHubBub support

Realtime feed experience

  • By supporting these realtime feed formats, content from ThinkUp instances could be distributed immediately without relying on one of the connected social networks.

Current Student Proposals

Messaging plugins/framework
Web API experience

  • Create a system for direct messaging people who respond to a ThinkUp question, using the DM API on Twitter, messaging API on Facebook, or other network-appropriate systems.

This is just a few ideas: ThinkUp’s ongoing list of open TODO’s and bugs is located in GitHub’s Issues Tracker.

Current Student Proposals

GUI installer (Wamp/ Xampp) and Updates

Experience with Curl and ISS setup scripts

Solving installation issues by giving ThinkUp as a complete package.

Current Student Proposals

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.