Skip to content
Lauren McCarthy edited this page Feb 19, 2014 · 45 revisions

This page to collects ideas for suggested openFrameworks student projects for participation in Google Summer of Code 2014

If you're active in the openFrameworks community: If you have an idea that you would feel comfortable mentoring, feel free to add it. If you have an idea but need to find a suitable mentor, please bring it up on the oF mailing list; others can help you develop the idea and may volunteer to mentor.

If you're a prospective GSoC student: Read through the ideas and see if any interest you. But note that these are ideas, not project proposals; they may need details filled in or expanded to make a good project. Find an area that interests you and start a discussion on the oF-dev mailing list, even if it's just by asking more about the topic. Also, keep in mind that this list is just a starting point - some of the best projects are those that greatly expand on a proposed idea or are blue-sky proposals not mentioned on the ideas list at all.

A good proposal will be clear about the problem to be solved, the history of work in that area, and the specifics of the approach that the GSoC project will take. You can find some of those answers by reading the code and the issue tracker and searching the list archives, but discussing the idea with interested developers is a great way for both the student and mentor to reach an understanding of exactly what is to be accomplished. (Content adapted from git's excellent GSoC 2013 list)


Ideas:

ofxaddons.com

Brief Description: Updates to ofxaddons.com, the directory of extensions and libraries for the OpenFrameworks creative coding toolkit. This would involve discussion, conceptualization, design, and implementation of improved functionality and interface.

Prerequisites: Web development, frontend is built with HTML/CSS/JavaScript, backend is written in Ruby.

Skill level: low/medium

Mentor: Write to the oF-dev mailing list.

openFrameworks project generator

Brief Description: A redesign for the OF Project Generator was recently proposed that simplifies the process, handles more use cases, and is more informative about what the process of preprocessing, compiling, and linking actually involves. This project would involve reviewing and tweaking the proposed design and implementing the functionality. It would be composed of two parts, a back-end app (with command line control) and a GUI app.

One of the largest challenges with getting beginners interested in C++ programming is dealing with different IDEs and making it easy to create new projects, modify existing projects, and deal with things like include paths, linking options and scripts to move resources around. This project will help address that, to allow users to spend less time fixing compile issues and more time sketching in code.

Expected results:

The creation of a library for parsing, modifying and saving project files for common IDEs. A graphical front end specific to openFrameworks that extends the current project generator with a host of new options and improvements.

Skill level: medium

Proposed by: Zach Lieberman (ofZach)

Possible mentors: Zach Lieberman, Patricio Gonzales Vivo

Apothecary: library dependency potion handler

Brief Description: Dan Wilcox created an OpenFrameworks library apothecary that mixes formulas and potions to build and update the C/C++ lib dependencies. It's basically a simple build system using Bash scripting inspired by Homebrew. Individual libraries are separated into formula scripts which abstract the download, build, copy, and clean actions to increase flexibility and maintainability. The main apothecary script processes these formulas, runs the appropriate actions, and puts things "in the right place".

It could use some updating and extending of functionality, adding more scripts for support of more platforms.

https://github.com/danomatika/apothecary

Prerequisites: Knowledge of C/C++, Bash scripting.

Skill level: medium/high

Proposed by: Zach Lieberman

Mentor: Write to the oF-dev mailing list.

Testing framework for openFrameworks

Brief Description: Come up with and implement a good and comprehensive automated testing system for oF. This is an effort which would greatly help OF development (as we could continually check PRs for breakage), but is of sufficient size and complexity to not be done in a week or so.

The challenge lies in both that OF, running on 5+ OSes, is heavily cross-platform (so it's tricky to get good coverage), and that much of the output of OF (sound, images, videos, network communication) is not easily testable with traditional (unit) tests. See issue #1068 for some discussion and some preliminary work with cpptest on the topic.

Expected results:

  • An automated testing script/program (preferable using an established testing framework) which can be run either manually on multiple platforms or during a run of the build server, and is easily extensible.
  • Written tests for a significant/meaningful portion of the OF codebase.

Prerequisites: Knowledge of software testing will certainly be useful. Language will probably be C++, or maybe Python.

Skill level: medium/high

Proposed by: Christoph Buchner (bilderbuchi)

Mentor: Theo Watson

ofSketch

Early prototype ofSketch

An early prototype video is here.

Brief Description: Further develop a browser-based Processing-like IDE for openFrameworks. This IDE, modeled after the Processing IDE is meant to allow users to quickly test short sections of code and create sketches. Ideally it will be well-integrated with the Project Generator (see above).

Expected results:

  • A simple sketch-based openFrameworks IDE that runs in the web, allowing users to program quickly, access documentation and try their ideas quickly without the need to setup a complicated IDE like XCode.

Prerequisites: Knowledge of web interface design will be useful, UI/UX experience will be very useful, and experience with the openFrameworks core will also be useful, but not required.

Skill level: medium

Proposed by: Christoph Baker (bakercp)

Mentor: Christopher Baker (bakercp)


Mentors:

If you're interested in being a mentor, add your name here. If there is a specific project you'd like to mentor, add the project in the ideas section. Otherwise, list any general areas of projects you'd be interested in mentoring.

  • Christopher Baker (openLab, SAIC)
  • Zach Lieberman
  • Patricio Gonzales Vivo
  • Theo Watson
  • Dan Wilcox
  • Also: of-dev list at large.