Google Summer of Code

From OpenStreetMap

Jump to: navigation, search

Google Summer of Code (http://code.google.com/soc/2008/) is a program that matches student developers with open source projects. Students get a decent stipend and good experience, the project gets significant code contributions and exposure, and Google foots the bill.

We were accepted as an 'organization' for Google SoC 2008 (see listing on google and blog post) Many thanks to spaetz for getting the application together. And the deadline has now passed for students to submit project applications to google (April 7th)

Submitted applications: GSoC Applications 2008


Contents

Pool of Potential Projects

Have a summer sized OpenStreetMap project in mind?

There are also some other project ideas listed on the student projects page (Any of these ideas have the potential to be good term-time student projects). Also, quite a number of things can probably be distilled from the Things to do page!


Export and interoperability

  • Roll your own OSM derivative - Make it easy/easier to set-up a slippy map web site with your own information layered on top. As a bonus, make it easy to edit just this layer with Potlatch/the applet/etc. so people can for example encourage people to add park benches, nice views, local meeting places, etc. a bit like Google Maps
  • OGR - add support for the OSM data format to OGR
  • Cycle route profiles - use the cycle routes in OSM along with the NASA SRTM elevation data to generate route profiles for cycle routes; this could be generalised to a tool which would provide profiles for any route. Srtm2Osm can convert the SRTM data to OSM. User:Sjors will be working on this during the Summer of Code 2008.--Sjors 08:38, 1 May 2008 (UTC)
  • Routable Garmin Maps - work out how to make garmin maps routable by adding routing information, and make the required changes to mkgmap to enable this functionality.

Renderer setup

  • Osmarender setup tool - Setting up custom style maps will be the big thing as soon as the data is good enough, which will be the case for many areas within this year, if it isn't already. Unfortunately the Osmarender-Stylesheets are hard to configure for computer noops. Therefore a shiny GUI would be needed, allowing the user to select the desired rendering (WYSWIG) for each map-feature, uploading own icon-files, defining own tags and their rendering etc. Since Osmarender provides sophisticated mechnisms and rules it will be tricky to port this to a intuitive GUI. Importing existing rules-files would of course be cool to have the common rendering to start from. It looks like "Rendercontrol" was aimed at this problem, but this has not been maintained recently, and may not represent the best approach.
  • Mapnik set-up tool - user:PanMan has done some work on a mapnik stylesheet editor, seen on http://tile.openstreetmap.nl/~panman/styledit/ However this currently lacks a good front-end. A nice (ajaxy) frontend with drag-and-drop stylesheet options could enhance the visibility of the possibilities of OSM (as compared to other mapping providers, that usually only provide 1 style).
  • Mapnik/osm2pgsql and diffs. Currently the whole PostgreSQL database has to be dropped before loading new data. If osm2pgsql would be modified to load diffs, we could have a near real time mapnik. To make this work osm2pgsql should keep track of data to be able to delete it again from the database. Also the rendering code needs some way to work out whether a given tile is up to date or needs re-rendering (this could be a seperate task in its own right).
  • Generalization algorithm, generation of varying amounts of detail at different zoom levels. What does this mean? More details please
I imagine this would include treating a complex junction as a simple intersection at low zoom levels. Perhaps also treating dual carriageways as a single way, and reducing the number of nodes in a way at low zoom. Robx 14:48, 11 January 2008 (UTC)
Yes this is also known to mappers as the "level of detail" problem. What we can already do is leave out the painting of things on low-detail zoom levels but what we cannot do yet is morphing things into something else. E.g. if you map all the individual railway tracks inside a railway station, they will still all be painted at zoom level 10 which yields just one big blur (and wastes time when painting a zoom 10 tile). Instead one would want so see all the tracks as one railway line and the station as a little dot on that line, only becoming more detailed when you zoom in. --Frederik Ramm 11:51, 27 February 2008 (UTC)

Rollback and Wiki Functions

Build an interface to browse revisions of a location, roll back changes, etc. Visualize spatial changes. Provide a means for editors to connect and organize work in an area, modelled on the way wikis work.

See Change rollback and Change monitoring

Conflict management

  • Create a reputation system within OSM, in which OSM members can vote pro or con the works of other users
  • Add a mechanism that only allows *trusted* users to modify certain disputed areas and/or tags.

Routing

  • Routing with OSM Data - Development of a routing feature for OSM. This could comprise of both a front end service which overlays a route onto the slippy maps and the development of a more advanced live routing system - perhaps to run on OpenTom.
  • Accessibility analysis tools - Intelligent routing to show how accessible amenities, leisure facilities, etc. are to different modes of transport (pedestrian, car, etc.), so you put in a chunk of data and ask "from this lon/lat show how accessible green spaces are" and it does a contour map or some similar visualisation. This would be supported by a non-techy charity interested in the tools.

Data Capture

  • GPX+Photo+Audio Mobile Capture App - An application for some sort of portable device (Series 60 mobile? Windows CE?). This would capture GPX traces from a bluetooth GPS, take photos on demand (+geotag them), record audio on demand (+add geopositioning to the stream/metadata stream) etc.
    • user:robert suggests the OpenMoko is an ideal candidate for this. We could even squeeze this one into OpenMoko's mentorship if they were SoC-successful and we were not. However the first consumer iteration of the OpenMoko looks like it will almost certainly lack a camera.
    • An ideal application would be able to sync up with recent OSM data to allow a mapper to have a moving map of what's already completed to work from.
    • Support for bluetooth headsets would allow semi-handfree dictation.
    • Take a look at WhereAmI for S60 phones [1] --Rjmunro 15:15, 15 January 2008 (UTC)
    • OSMtracker does gpx, audio and poi logging for window mobile devices, --Rubke 14:02, 27 February 2008 (UTC)
    • Take a look at GeoRecorder - By far not yet bugfree or feature complete, but at least a start. Works with python, gtk and gstreamer, and should therefore also work on the OpenMoko system (Neo1973, FreeRunner) and on Maemo (Nokia N700, N800, N810) -- Silwol 07:40, 19 January 2008
  • Video Mapping - Experiment with using video cameras to capture data for OpenStreetMap. This might involve some interesting hardware hacking, and looking at image recognition problems. Could we automatically recognise points of interest, or even read road signs? See Video mapping

GPX photo stamper

Web app to geotag photos (in EXIF, or flickr tripletags) by matching photo's timestamp with user's GPX tracks uploaded to OpenStreetMap. Allows interactive positioning as well.

Data Import

  • The New Zealand government mapping agency has just announced that its core Topographical and Cadastral data can be made available for OpenStreetMap. See the LINZ page and contact the nzopengis list ([2]) for more information. Challenges:
    • How to import it gradually and check for errors/rollback
    • How to be able to 'replace' data when LINZ releases new information, preserving edits

Map Export

Add a new tab "export" to the OSM website, which allows exporting a map as image (different formats, sizes). Even customized rendering could be added; allow creation of a simplified map to some destination with highlighted streets (or a complete route).

JOSM History Support

Implement a dialog in JOSM, which shows the history of a OSM object, and allow to view a historic version of the map data on a different layer (read only) and revert some objects.

Combining OpenStreetMap-Data with local wikis (opening times)

The purpose of this project is to associate the openstreetmap data with data from external sources, the example that should be worked on are opening times of shops, restaurants and everything else that has opening times.

Google_Summer_of_Code/Opening_times

Old ideas for projects that have been achieved

  • Gazateer Integration - Improve the city lookup functionality. Enable utf-8. Utlize the geonames.org web services (a related wiki based gazateer). Build AJAX disambuigation function. Allow for permalinks referencing a city name. Tighten integration of geonames with OpenStreetMap with a facility to edit the gazateer from OSM, and to display locations from geonames on OSM. Make improvements to the related MGeocoder Google Maps extension.
Covered by the Name finder.
  • Yahoo Imagery in JOSM - build in direct support for Yahoo's AJAX api within the Java OSM editor
Solved with the YWMS plugin
  • TIGER - import TIGER or other public domain source of data into OpenStreetMap.
The TIGER work has progressed a bit since that was intially proposed, so not sure if it constitutes a summer's worth of development work. There's a few more script tweaks to think about, and a whole lot of manual checking. It might even be done by summer 2008!
  • Capture functionnality for OpenTom - Add a GPX capture utility to the OpenTom firmware for TomTom devices. Several solutions here.
  • Export tab on the main site. It would be excellent if there was a new tab besides (View/Edit/GPStraces) on the main website. The export tab would contain links to various ways of exporting the data. See Export tab for more ideas.
    • Be aware that TomH is working on this at the moment. TomH 12:32, 11 March 2008 (UTC)

List of applications 2008

I (spaetz) have decided to make all applications public as we need to get the interest of potential mentors (and possibly some community feedback). I have removed all contact details like email and phone numbers, so this should hopefully be fine. See the list of GSoC Applications 2008 and feel free to add remarks about applications in the discussion part on that page. I will browse through these remarks before deciding together with SteveC on how to rank the applications.

Students

The following students listed themselves here, but in the end Google was accepting applications from students until April 7th, so the submitted GSoC Applications 2008 are what really matters. However any students who missed the deadline, but are still interested in working on OSM over the summer, please feel free to Contact the community and the mentors about your ideas. You might also consider applying for an OpenStreetMap grant.

How Would Mentoring Work?

  • Each student would be assigned at least one full-time mentor. This full-time mentor will answer general questions, provide guidance and advice, ensure progress etc.
  • Each student would be (where possible) assigned at least one part-time mentor in the same/similar time zone. These mentors will provide answers and guidance on time-critical questions (eg "I can't write any more code today unless I can figure out...."), and will cover for the full-time mentor if they're unavailable


How will we know it's working?

Looking at the outcome of the 2005 SoC, the cases where both the student and the community got the most out of it were where there was good involvement and feedback. The cases where things tended to go wrong were where the student worked away on their own, without any real community involvement. To that end, students will:

  • Provide a weekly summary to the dev list of their progress
  • Discuss their work on the talk list, and solicit feedback and testers from there
  • Ask for coding help / advice on the dev list

Would You be a Mentor in GSoc 2008?

Add your name here if you would commit to mentoring a student developer.

  • User:Mikel (yes, confirmed by him)
  • User:RalfZ is willing to act as a full-time or part-time mentor.
  • User:Frederik Ramm can mentor anything I have a clue of, which would include JOSM/Plugins, anything dealing with Perl scripts and general processing/evaluating OSM data, as well as, to a lesser but probably sufficient degree, routing stuff and API internals.
  • User:Milovanderlinden Self employed BSc. in Geodesy/Geo-ICT. can assist in: general GIS, Geodata storage, Technical GPS knowledge and windows programming.(Please let me know if my assistance is needed)
  • User:Texamus I am bulding geotagging portal in Ukraine geovodi and using OSM images to mark location of places. I am ready to mentor a student with interest in projects from "Export and interoperability" section mentioned above in particular "OGR" and "Roll your own OSM derivative".
  • User:Geonick is willing to act as a mentor of projects which are related to Java (J2SE, J2ME), databases (relational or object oriented), agile software development and geographic data processing and given it's not too time consuming.
  • User:Ramack 16:07, 23 March 2008 (UTC) is willing to be a mentor of projects related to JOSM
  • User:Hakan is willing to act as a full-time mentor on the Replication on the Geoname Database project, especially supporting through e-mail
  • User:Bartv is willing and able to mentor Qt based projects

Add your name here if you would commit to assisting the mentoring of a student developer (25-50% time).

  • User:RalfZ is willing to act as a full-time or part-time mentor.
  • User:Fjbehr is willing to act as a part-time mentor anything dealing with PHP, Geo-Databases, User Interface, data formats or interoperability (like establishing a WMS server for OSM). Projects from my students are preferred.
Personal tools
recent changes