Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Google Summer of Code 2015 Ideas

Revision as of 06:08, 16 March 2015 by Martin.kmh-solutions.com (Talk | contribs) (Added Martin Kloesch to potential students for "EASE: Command completion support".)

Existing bugs marked "helpwanted" are a good source of project ideas.
Warning2.png
Feel free to contribute the discussion on an Eclipse bug. Keep the discussion on bugs technical. The bugs are not a good place to talk about Google Summer of Code participation. Use the soc-dev mailing list for that.


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 Google´s Melange

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).

Error Reporting - Mylyn-like error notifications and other UI candies

Project News Feeds for / in Eclipse

  • Description: News feed aggregator which presents project-specific news in the IDE. It will allow projects to inform it's users (and only it's users) about new releases or anything related (e.g. security issues) as well as polls (e.g. which notification style to use) and more. The purpose is to provide better communication and feedback between projects and it's users.
  • Reporter: Marcel Bruch
  • Possible Mentors: Johannes Dorn, Marcel Bruch
  • More Info: See discussions at ide-dev Bug 459911
  • Eclipse Project: To be decided
  • Potential students: Pawel Nowak (list closed)

GeoTrellis: Cassandra Backend to GeoTrellis-Spark

GeoTrellis is a Scala-based LocationTech project that is a framework for fast, parallel processing of geospatial data. Recent development efforts have allowed GeoTrellis to give the Apache Spark cluster compute engine geospatial capabilities, focusing on the processing of large scale raster data.

GeoTrellis's integration to spark currently supports HDFS and Accumulo as backends to store and retrieve raster data across a cluster. Cassandra is another distributed data store that could provide a rich set of features and performance opportunities to GeoTrellis running on top of Spark. It's also a popular distributed data store that a number of people interested in doing large scale geospatial computations are already using.

This project would include implementing a GeoTrellis Catalog implementation for Cassandra, which allows us to save and load raster layers as Spark RDD's, as well as metadata. Eventually we will also be storing vector data in these data stores, and depending on how far we are in the development of that functionality, this project should support the storing and saving of vector data as well.

Please get in touch if you are interested in this project. You can reach out to the mailing list or email Rob Emanuele at remanuele@azavea.com.

Possible Mentors: Rob Emanuele, Eugene Cheipesh

Interested Students: Maduranga Siriwardena

GeoTrellis: Computer Vision algorithms on Satellite Imagery

GeoTrellis is a Scala-based LocationTech project that is a framework for fast, parallel processing of raster data in the geospatial domain. One application of GeoTrellis is to process imagery collected by satellites and other remote sensing sources.

Computer vision (CV) algorithms can be applied during satellite imagery processing to detect and extract geometries such as trees or buildings (also known as image segmentation), or to remove clouds and mosaic images of the same area over time to create the most clear images of land. This project would include implementing one or more CV algorithms in Scala using the GeoTrellis library for the purpose of processing satellite imagery. There will be a focus on parallel algorithms, so that these processes can work on large scale satellite imagery on a cluster.

Please get in touch if you are interested in this project. You can reach out to the mailing list or email Rob Emanuele at remanuele@azavea.com.

Possible Mentors: Rob Emanuele, Eugene Cheipesh

Interested Students: Anuj Pahuja

GeoTrellis: Kriging Interpolation

GeoTrellis is a Scala-based LocationTech project that is a framework for fast, parallel processing of raster data in the geospatial domain.

Interpolation of raster data values from a set of points is a valuable set of geostatistical methods. Currently we only have inverse-distance-weighted interpolation implemented in GeoTrellis core. A more advanced interpolation called Kriging interpolation has been a highly desired feature in GeoTrellis for a while now.

This project would include implementing Kriging Interpolation in the core raster library (operating in a single threaded environment). I could also include implementing a distributed version of the algorithm so that large collections of points in space could be turned into a collection of rasters in a distributed manner, using Spark enabled with GeoTrellis.

Please get in touch if you are interested in this project. You can reach out to the mailing list or email Rob Emanuele at remanuele@azavea.com.

Possible Mentors: Rob Emanuele, Eugene Cheipesh

Interested Students: kelum

GeoTrellis: Hydrological operations on Spark

GeoTrellis is a Scala-based LocationTech project that is a framework for fast, parallel processing of raster data in the geospatial domain.

GeoTrellis can be used to perform hydrological operations on elevation data. This includes operations such as flow accumulation, flow direction, watershed discovery, and sink fill. These operations are essential to modeling terrain in a way that aides land use planning, road building, watershed modifications, and a host of other important work.

This project would include implementing various hydrological operations in a distributed way to be used with GeoTrellis on top of Spark. This project could also include the creation of a DEM (Digital Elevation Model) format reader, which is a raster format that is used often with elevation data.

Please get in touch if you are interested in this project. You can reach out to the mailing list or email Rob Emanuele at remanuele@azavea.com.

Possible Mentors: Rob Emanuele, Eugene Cheipesh

Interested Students:

EASE: Command completion support

EASE is the eclipse scripting project, allowing to interact with the IDE using scripts in various languages.

  • Description: Integrate code completion to the script shell and the JS interpreter. In the shell code completion should provide loaded functions from modules along with methods from java objects. The shell allows to read out the datatype of variables, so all information is there at runtime. For the JS interpreter things get harder as we have no runtime information on the object type. Here reduced support for code completion would be sufficient (eg. methods from loaded modules only).
  • Reporter: Christian Pontesegger
  • Possible Mentors: Christian Pontesegger
  • Get in touch: ease-dev
  • Potential students: Vipula Dissanayake, Martin Kloesch

EASE: Help hover tooltips

EASE is the eclipse scripting project, allowing to interact with the IDE using scripts in various languages.

  • Description: Integrate help tooltips for module methods. Help is available as html pages within the eclipse help. The task is to identify the correct help topic, extract the relevant html part and display it as a tooltip within the modules explorer view. L&F should be similar to the help hovers one gets for java code. Optional target would be to reuse the help tooltips and also display them in the JS editor.
  • Reporter: Christian Pontesegger
  • Possible Mentors: Christian Pontesegger
  • Get in touch: ease-dev
  • Potential students: Vidura Mudalige

GeoWave HBase: HBase Extension to GeoWave

GeoWave is new to Eclipse's LocationTech working group. GeoWave is a framework for leveraging the scalability of distributed data stores to effectively store, query, and analyze huge vector and raster geospatial datasets. For interested students to find more information see GSoC 2015 Ideas.

Explanation: Currently, GeoWave is built to use Apache Accumulo to store spatial data and expose web map and web feature interfaces from GeoServer. Apache HBase has strong similarities to Accumulo as both are based on Google’s BigTable paper. The team will support the student in extending GeoWave’s capabilities to Apache HBase. The goal for the student will be to develop a module that adheres to GeoWave’s data store interface for HBase. Additionally, common geospatial benchmarks can be run for both data stores and provide valuable metrics for the community to compare the data stores. The student will complete the following tasks:

  • Research the key differences between Accumulo and HBase
  • Update the existing codebase to support an HBase implementation
  • Ensure existing unit and integration tests support the HBase implementation
  • Run existing benchmarks, and apply new ones to characterize performance differences between HBase and Accumulo

Expected Results: A usable HBase data store plugin extending geospatial support to the open source community.

Prerequisites: A good grasp of Java and object-oriented programming, an interest in GIS applications and distributed computing systems, and good problem solving skills.

Mentor: Rich Fecher

Interested Students:

GeoWave Monitor: Map-Based Accumulo Status and Health

GeoWave is new to Eclipse's LocationTech working group. GeoWave is a framework for leveraging the scalability of distributed data stores to effectively store, query, and analyze huge vector and raster geospatial datasets. For interested students to find more information see GSoC 2015 Ideas.

Explanation: Currently, GeoWave uses Apache Accumulo to store spatial data. The Accumulo Monitor is a useful interface for monitoring the status and health of the underlying Accumulo components. The team will support the student in creating a web-based monitoring interface utilizing GeoWave. The interface will be used to dynamically represent map-based Accumulo status and health. The student will complete the following tasks:

  • Research and understand the underlying REST interface which provides data for the Accumulo Monitor
  • Use Accumulo and GeoWave to determine a geospatial extent for each tablet within a tablet server
  • Use the Accumulo Monitor REST interface to retrieve status and health for each tablet which will in turn be mapped to its corresponding spatial extent
  • Create a customizable, interactive GeoWave Monitor web interface which can be configured to display user-selected stats on a map
  • Additionally, the student may develop a module to dynamically expose feature/tablet mappings via GeoServer

Expected Results: An interactive, map-based web interface which provides Accumulo status and health information catered towards GIS applications like GeoWave.

Prerequisites: A good grasp of JavaScript, Java and object-oriented programming, an interest in GIS applications and distributed computing systems, and good problem solving skills.

Mentor: Whitney O’Meara

Interested Students:

Map Request Analytics: Web Map Service (WMS) Metadata Capture and Analysis

GeoWave is new to Eclipse's LocationTech working group. GeoWave is a framework for leveraging the scalability of distributed data stores to effectively store, query, and analyze huge vector and raster geospatial datasets. For interested students to find more information see GSoC 2015 Ideas.

Explanation: GeoServer supports OpenGeospatial Consortium‘s Web Map Service (WMS) specification. The goal of this effort is to capture metadata on each WMS request, including request time, bounding box and resolution in pixels, store the metadata within Geowave, and perform kernel density analysis of WMS request data leveraging GeoWave’s kernel density estimation framework. The team will coach the student through the interface of a GeoWave data store and the kernel density estimation components. The student will complete the following tasks:

  • Build a WMS plug-in in GeoServer to capture WMS meta-data, storing the meta-data as simple features into any select active GeoServer Data Store
  • Create a GeoServer administration page using Wicket to configure the WMS capture service
  • Using GeoWave as a select GeoServer Data Store, depict captured data in a heat map using GeoWave’s kernel density estimation framework

Expected Results: A usable WMS metadata capture service supporting geo-temporal analysis of map requests.

Prerequisites: A good grasp of Java and object-oriented programming, an interest in GIS applications, and good problem solving skills.

Mentor: Eric Robertson

Interested Students: Joao Martins -> joaomartins27396@gmail.com

GeoTrellis: Cassandra Backend to GeoTrellis-Spark

  • Description: Integrate subwords code completion and postfix code completion into JDT
  • Reporter: Lars Vogel
  • Possible Mentors: Lars Vogel
  • More Info: Currently JDT code completion does not perform any regular expression mapping. The main task of this project is to ensure that substrings which map the entered text are also included in the matching. The second phase will be the integration of postfix completion into JDT
  • Eclipse Project: Eclipse JDT
  • Potential students: OPEN

Californium: An implementation of the CoAP over TCP/TLS draft

PDT: Composer support for PDT

  • Description: Composer has become the de-facto packaging standard for php. Support for composer is currently available via a plugin. The subject of this project is to contribute this plugin to PDT to enrich PDT with its meta information about code to unlock better IDE support.
  • Reporter: Thomas Gossmann
  • Possible mentor: Dawid Pakuła
  • Eclipse Project: PHP Development Tools (PDT)
  • Potential students: Thomas Gossmann

Other Sources of Ideas

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

Back to the top