Google Summer of Code 2013 Ideas

From Eclipsepedia

Revision as of 12:34, 21 February 2013 by Ken walker.ca.ibm.com (Talk | contribs)

Jump to: navigation, search

Existing bugs marked "helpwanted" are a good source of project ideas.

Contents

Rules

  • Be creative
  • Be specific: what do you want to be implemented
  • If you are willing to mentor those ideas, add your name and email to the idea.
  • GSoC project ideas should align with an existing Eclipse project
  • If you're an interested student, add your name and email next to the idea. It is ok to have several students interested in one idea.
  • Aspiring students and mentors need to register and submit their proposals on the SoC app

Mentors info

If you were a mentor last year then you are automatically in the list this year (the GSoC site may require that you re-register, but we think of you as "in").

Note that we only accept as mentors people who are known to us. This includes Eclipse committers. If you would like to be a mentor, please either introduce yourself to the group using the soc-dev mailing list, or send a note to EMO.

Ideas submission

Idea proposal should contain the following information:

  • project title, like "WTP - Improve auto-complete in xml editor"
  • description with links to bug reports, project wiki pages, etc
  • Reporter: who submitted idea (optional e-mail)
  • Possible Mentors: who would like to mentor the students
  • More info: other links or e-mail
  • Eclipse Project: link to main eclipse project that improvement is targeting
  • Potential students: who is interested (with optional e-mail). This one completely informal, to actually be interested you need to submit the proposal. Contact the idea owner or possible mentor to get some details before submitting it.

Ideas

These are some ideas. Students feel free to base your GSoC proposals on these ideas (note that you are more likely to find a mentor for an idea that has been proposed by a mentor). Some of these ideas can be factored into multiple projects; a GSoC project proposal can work on parts of these ideas (i.e. you don't necessarily have to do it all).

There are other sources of ideas. There are numerous bugs in the Eclipse Bugzilla issue tracking system marked as "helpwanted" that may give you ideas.

Eclipse Code Recommenders: Workspace-Local Code Search

When writing software, developers frequently find themselves in a situation where they are absolutely certain that someone else must have faced (and solved!) the same problem before, but they just cannot find that piece of code. This is where the proposed code search feature can help: Based on the context the developer currently is in (e.g., the current method and the available objects), code search will search through the entire workspace and present pieces of code that match the current context. For this proposal to work well, the search engine must be (1) fast and (2) present its results in a condensed snippet form, so that the developer can quickly decide which results are worth a closer look.

A prototype of a code search engine has already been developed as a Master's thesis at Technische Universität Darmstadt. This project could either build upon that prototype or, taking into account the lessons learned there, start from scratch.

Possible Mentors: Marcel Bruch, Andreas Sewe (contact us on the mailing list)

Eclipse Code Recommenders: Social Snippets

With SnipMatch, Eclipse Code Recommenders already offers one way of searching for and accessing snippets. However, at the moment, there is no easy way to create new snippets and to share these snippets with other developers. This goal of this proposal is thus to create a social snippets infrastructure, which allows developers to create and rate snippets. This infrastructure should then support multiple backends, SnipMatch and its collection of snippets being one of them.

Possible Mentors: Marcel Bruch, Andreas Sewe (contact us on the mailing list)

Eclipse Code Recommenders: Social Extdoc

Currently, the Extdoc view provides extended documentation one classes and methods which has been data-mined from code; there is no way for the user to influence the documentation yet. The goal of this proposal is to enhance Extdoc such that users can create, annotate, and rate contributions to the documentation of classes or methods.

Possible Mentors: Marcel Bruch, Andreas Sewe (contact us on the mailing list)

Eclipse Code Recommenders: Usage Data Collection for Code Completion and Beyond

Do you know how much time code completion saves you per day? No? Well, this proposal should address that by (locally) collecting usage data that can answer this and more sophisticated questions. Moreover, the collected data can then be used to make recommendations on the most effective use of your IDE, e.g., recommending a keyboard shortcut that you don't use (and presumably don't even know about).

Possible Mentors: Marcel Bruch, Andreas Sewe (contact us on the mailing list)

Eclipse Code Recommenders: Advanced Ranking Mechanisms for Multiple Code Recommenders

Over the years, Eclipse Code Recommenders has developed and experimented with numerous code completion engines, providing intelligent code completion for method calls, method overrides, call chains and (soon) types, not to mention subwords completion. In the course of this work, it turned out that the existing ranking mechanisms of JDT leave something to be desired. The goal of this project is thus to come up with a mechanism that can incorporate a variety of recommenders and produces the ranking the user expects, even if the individual engines disagree on what constitutes the perfect recommendation.

Possible Mentors: Marcel Bruch, Andreas Sewe (contact us on the mailing list)


Eclipse VJET: Improve VJET's support for JQuery UI

VJET Is a JavaScript IDE which provides the best development experience for developers building object based JavaScript. With content assist for classes which are comparable to Java content assist and support for concepts which are exclusive to JavaScript and javascript frameworks. We are looking for help with improving the Jquery support and supporting the JQuery plugin model. VJET has developed a type system for JavaScript which allows for static and dynamic typing. The primary goal is to add to the JQuery meta type library (currently lives here -http://git.eclipse.org/c/vjet/org.eclipse.vjet.typelibs.git/tree/JQueryTL ) with jQuery UI support. The secondary goal is to come up with an extension to support the JQuery plugin model.

Possible Mentor: Justin Early (contact us on the mailing list)

Eclipse VJET: Help test and improve VJET's NodeJS support

VJET Is a JavaScript IDE which provides the best development experience for developers building object based JavaScript. With content assist for classes which are comparable to Java content assist and support for concepts which are exclusive to JavaScript and javascript frameworks. We are looking for help with testing NodeJS support provided by VJET and supporting the NodeJS user defined modules. VJET has developed a type system for JavaScript which allows for static and dynamic typing. The primary goal is to test the support for NodeJS that VJET supports. The secondary goal is to come up with an extension to VJET to support the NodeJs module system.

Possible Mentor: Justin Early (contact us on the mailing list)

Eclipse Platform: Create filterable Console View

The console view is a very important tool for developers, the analyse stacktraces here, look at System.out messages, etc. It should allow to have a filter to filter for example for a package name. It should be possible to save defined filters similar to the Android LogCat view based on fields. Optional this work could also start the migration of this view to Eclipse 4.

Possible Mentor: Lars Vogel and Markus Alexander Kuppe

Eclipse Platform: Create Eclipse 4 (e4) based Progress View

The progress view provides the main status overview for the Jobs API and is used not only in the Eclipse IDE itself but also by many RCP apps. With the move to e4, the progress view has not been adapted to the new API though and thus is currently not useable in plain e4 apps. If time permits other legacy views (e.g. the console view) could be ported to Eclipse 4 too.

Possible Mentor: Lars Vogel and Markus Alexander Kuppe

Eclipse Orion: Create a app store or portal for Orion plugins

At the moment, the Orion list of PlugIns is housed at a team member's GitHub account and it's desirable to create a more formal approach to how and where Orion Plugins are managed. This could take into account teams or products which want to host their own (possibly internal) list of approved plugins, for example. This task may also include dynamic lists of plugin providers for an Orion installation.

Possible Mentor: Ken Walker and Mark Macdonald (contact us on the mailing list)