Skip to content

Google Summer of Code 2013 Ideas Page

nadeemshaik edited this page May 11, 2013 · 46 revisions

ThinkUp is a mentor organization in Google Summer of Code 2013! If you’re a student interested in applying, here’s how to get started.

Potential GSoC students can review this list of possible ThinkUp projects to get some ideas.

This is just a suggested list – if you have a great idea that isn’t described here, don’t be shy about proposing it. Student applicants can tackle a project either listed on this page or submitted to us for approval.

General Principles:

  • The most important thing to communicate in your proposal is how your work on ThinkUp will help people get more meaning and delight out of the time they spend on social networks. Of course your code matters, but if you can connect how your code will make people feel when they use ThinkUp, that’s a huge point in your favor.
  • Try to learn from other contributors – pick a minor issue that needs fixed, RUN THE TESTS and make sure they pass, and see if you can get a pull request merged into the app. We favor people who show, not tell.
  • If your proposal has to do with insights, provide example language (or visuals) that shows what a user would actually see. Got a sense of humor, or a particularly artistic or thoughtful insight? That matters as much as technical acumen.
  • We value design, good copy writing, and expressive visualizations just as much as powerful analytics and advanced algorithms, so focus on the thing that you can do uniquely well.
  • Our community is made of 100% nice people. Helping other people in the community is also a great way to be welcome as a contributor. And we avidly welcome new developers or those who are traditionally underrepresented in software development or open source communities.

Most-Wanted Example projects

Create new, rich ThinkUp insights and improve existing insights

In the context of ThinkUp, an insight is one of the individual modules in ThinkUp’s main stream, which tells an interesting narrative about a facet of ThinkUp’s data. See an example ThinkUp stream here. An example insight is a message like “17 weeks till @jack reaches 100,000 followers at his current growth rate.”

  • ThinkUp wants to help people find more meaning from their activity on social networks. What new and interesting insights can ThinkUp surface for users? Build new pluggable insights that will show up in the ThinkUp stream.
  • Artistic or expressive new kinds of ThinkUp insights. Instead of charts & graphs or numbers-based insights, could we look at ThinkUp data through the lens of poetry or linguistic analysis? What deeper connections could be exposed through code?
  • Design new ways to display ThinkUp insights visually using the Google Charts API, D3, or other visualization engines.
  • Enhance or replace existing insights with better visualizations and different ways of exploring the data. Right now ThinkUp often shows straightforward presentations of data from its database, but these could be made much more elaborate, with animations or time series or interactive displays.

Insights are discrete plugin code files which perform calculations on ThinkUp’s existing data sets. Students would be expected to create 1 to 2 new insights (with tests and documentation) per week, about 6-8 before midterm evaluations, and another 8-12 before final evaluations.

To apply for this project, propose 6 new insights you’d like to add to ThinkUp’s stream. Images, potential visuals, or references from other sites, infographics and apps will all help make your proposal more compelling.

Create a YouTube plugin

Create a new ThinkUp data source plugin which pulls data from YouTube and stores it in ThinkUp’s data structure.

  • Capture likes, comments, and views on YouTube videos.
  • Create new insights which display spikes in likes or comments for YouTube videos, or which offer you information about your fans and subscribers on YouTube.

To apply for this project, tell us what your experience with the YouTube API or other web APIs is. How will YouTube’s data sets fit into ThinkUp’s current data structure? What potential insights into YouTube activity can ThinkUp reveal?

Medium Priority Example Projects

Make ThinkUp Section 508 compliant (accessibility)

Implement current web accessibility optimizations to make ThinkUp usable by people of all abilities and disabilities.

Create build or deploy scripts for most popular cloud infrastructures or web host control panels

  • Identify top control panels or administration tools used by popular web hosts (like CPanel and Fantastico)
  • Document requirements for automated deployment on the most common cloud hosting environments
  • Create build scripts which install ThinkUp for each
  • Create automated hooks which can generate appropriate update/install scripts whenever new versions of ThinkUp are released
  • Identify whether other applications or platforms (such as WordPress) could be used to deploy ThinkUp or bootstrap its deployment

Create backend and frontend performance profiling and tests

ThinkUp has a simple SQL query profiler built into it already. How can we expand it to identify problematic queries on an ongoing basis and speed them up?

  • Using large, publicly-available datasets, set up automated performance tests which identify non-performant SQL queries during the development process.
  • Set up front-end performance tests which optimize ThinkUp’s use of JavaScript and CSS to make the speediest mobile and desktop experience possible. Are there particular ways that Bootstrap or jQuery interact with mobile browsers which may be slowing down ThinkUp?

To apply for this project, tell us about your experience optimizing webapps on the frontend and backend. What tools can we use to performance-test and automate those tests for future use?

Localize ThinkUp

  • Add support for multiple languages in ThinkUp.

Current Student Proposals

Students, you may submit a proposal for one of these projects, or suggest your own project.

To submit a student proposal, create a new wiki page with the title prefaced [GSoC 2013]. (For example, my page might be titled [GSoC 2013] Gina Trapani’s Instagram plugin proposal).

Then, add a link to your wiki page proposal here:

  • Student proposal list
Clone this wiki locally