Donate using PayPal

Developers

Open source projects

This page describes our priorities for open source project development.

Ideas for GSOC 2016 projects are now listed below! Note that it is not a comprehensive list - we are strongly open to your own ideas not listed here.

CycleStreets has contributed over many years to the OSM community in a variety of ways, e.g. mapping guides, data fixing and OSM training for various Local Authorities and companies, speaking at conferences to raise awareness of OSM, and the England Cycling Data project, supporting academic projects, etc.. Projects and ideas that motivate increases in volume and quantity of cycling data quality in OSM are also particularly welcome. We are keen to mentor students that show interest in ongoing involvement in the OSM ecosystem (code/data) over the longer term.

The best way to demonstrate your keenness to be involved is to look at the issues list, find something that looks like something you could work on, clone the repo, and submit a pull request. We're very happy to try to help you get set up - just get in touch.

To participate, please look at the main OpenStreetMap GSOC 2016 page, which summarises the process.

Do get in touch if you have any questions.




Android app screenshot

Android app

About: This is our Android app, available free on the Google Play store.

Language: Java, using the Android SDK.

Codebase: Please fork the code repository on GitHub.

Issues: The issues list shows what needs doing.

Project ideas:

# Android project 1: Upgrading of interface

Currently the app has little in the way of custom design, custom typography, etc., instead using the OS defaults. Also, various screens have never been 'designed' as such. Functionality like points of interest could perhaps be made more integrated with the route planning system.

We'd love someone with a flair for design and coding to upgrade the look and feel of the app.

# Android project 2: Addition of native vector drawing / 3D mode

Currently the app's map backgrounds are either bitmaps downloaded from a tileserver (which is slow and increasingly a technology mapping apps are turning away from), or use a vector data pack (which requires a large up-front download, and does not include cycle styling). Additionally, there is not currently support for 3D mode (as in iOS) where the map can be tilted in 3D perspective. This is a limitation of the Mapsforge framework we are currently using.

There are a range of potential solutions and approaches here, and we'd love to hear from people with interests in these areas.

# Android project 3: Photomap

The Photomap, which shows user-submitted images of cycling-related infrastructure, currently includes a viewer and uploading facility. The smoothness of the interface for both could be upgraded. However, the last year has seen a range improvements, including data updating, metadata exposure, gallery mode and more, all accessible via the CycleStreets API.

Work to upgrade the interface and add in these missing features would be very welcome.

# Android project 4: Improvements to satnav ('Live ride') functionality

The app features a satnav mode called Live ride. There are a number of tickets to improve it, and there is scope to update the user interface and add further live information as the user rides.

We'd welcome people interested in working in this area.

# Android project 5: Addition of data layers infrastructure

CycleStreets is adding various cycle data infrastructure, e.g. collision data, pollution data, etc. Currently the app has no support for this whole area of our work. The API has already been provisioned for instance with detailed collision data, which could be integrated, for use by professionals working in transport planning.

We'd like someone to add infrastructure to be able to see these new layers via the app.




iOS app screenshot

iOS app

About: This is our iPhone app, available free on the App Store.

Language: Language: Objective-C, using the iOS SDK.

Codebase: Please fork the code repository on GitHub.

Issues: The issues list shows what needs doing.

# iOS project 1: Upgrading of interface and enabling expansion

The app currently has no space to add new functionality, with all five button spaces used up. Yet we would like to make things like the circular leisure routes, POIs, and other existing functionality more prominent, as well as adding new layers like collision data. One possibility is migration towards a hamburger menu approach, though this is not a perfect UI; other approaches could be tried. In general the app has little in the way of custom design, custom typography, etc., instead using the OS defaults. Also, various screens have never been 'designed' as such. Functionality like points of interest could perhaps be made more integrated with the route planning system.

We'd love someone with a flair for interaction and UI design to take a strategic overview of the app, design new approaches via wireframing, and implement changes.

# iOS project 2: Addition of native vector drawing

Currently the app's map backgrounds are bitmaps downloaded from a tileserver (which is slow and increasingly a technology mapping apps are turning away from). We would like to have a vector data mode as the default, and have reached agreement with one of our tile suppliers to obtain the stylesheets if a vector MBTiles renderer can be put in place. However, the app uses Apple Mapkit which has no native support for this.

There are a range of potential solutions and approaches here, and we'd love to hear from people with interests in these areas.

# iOS project 3: Photomap

The Photomap, which shows user-submitted images of cycling-related infrastructure, currently includes a viewer and uploading facility. The smoothness of the interface for both could be upgraded. However, the last year has seen a range improvements, including data updating, metadata exposure, gallery mode and more, all accessible via the CycleStreets API.

Work to upgrade the interface and add in these missing features would be very welcome.

# iOS project 4: Addition of satnav ('Live ride') functionality

The app features a follow-me mode, but not at present a full satnav function, something often requested by users. The work required is to clone the logic in the Android app to iOS and to create a user interface.

We'd welcome people interested in working in this area.

# iOS project 5: Addition of data layers infrastructure

CycleStreets is adding various cycle data infrastructure, e.g. collision data, pollution data, etc. Currently the app has no support for this whole area of our work. The API has already been provisioned for instance with detailed collision data, which could be integrated, for use by professionals working in transport planning.

We'd like someone to add infrastructure to be able to see these new layers via the app.

# iOS project 6: Upgrade code to Swift

The iOS codebase is currently in Objective-C, but it is clear that Swift is the direction of travel for iOS.

We'd like someone to upgrade the codebase to Swift.

# iOS project 7: Move to Auto Layout to support iPad

The app uses mainly fixed layouts, but proper support for iPad and larger screens has long been an aim.

We'd like someone to migrate all the layouts to Auto Layout.




Mobile web site screenshot

Mobile web site (HTML5)

About: This is our mobile website, to which viewers will be redirected when trying to view cyclestreets.net on a mobile device. It aims to be as compatible as possible across all devices. Our stategic aim is ultimately to remove this site and have all its features within the main website which will be a fully-responsive site for all screens, working excellently on mobile.

Language: HTML, Javascript, Gmap map base framework with OpenStreetMap layers loaded.

Codebase: Please fork the code repository on GitHub.

Issues: The issues list shows what needs doing.

# Mobile web project 1: Move to Leaflet.js

Our mobile web site, uses the Google Maps framework to provide the map framework, providing tiles and touch interaction. It was put in place shortly before the Leaflet.js framework was released which is nowadays a much better fit for our custom routing and tiles.

We'd like someone to migrate the code to using Leaflet.js, using as much code as possible from the main website.

# Mobile web project 2: Addition of circular leisure routing

The CycleStreets API now has a circular leisure route option (rather than purely A-B), which can optionally route via points of interest (such as cafés or public art). There is currently no support for this in the mobile web site.

We'd like to add circular leisure routing.

# Mobile web project 3: Merger of code with main codebase

The CycleStreets main website is currently being significantly redesigned, with a view to being fully-responsive, making the mobile web site no longer required. For this, there will eventually be a merger of code in both directions.

We'd like someone to help us on this major change, in what will need a varied set of skills but especially strong HTML5 and Javascript skills.




Cyclescape screenshot

Cyclescape

About: This is our cycle campaign group toolkit. See the FAQ and the Blog to get an idea of what it's all about.

Language: Ruby on Rails, using PostgreSQL and PostGIS.

Codebase: Please fork the code repository on GitHub.

Issues: The issues list shows what needs doing.

# Cyclescape project n: Pick some Github issues!

Cyclescape has plenty of things to be done - have a look through the issue list and dive in!




Main website

Coming soon. This is the main website that provides the routing, API, and main user interface. We are still working through a few issues preventing us opening the codebase, but we are keen to do this as soon as possible.

We welcome your feedback, especially to report bugs or give us route feedback.

My comments relate to: *






Your comments: *
URL of page: * https://www.cyclestreets.net/developers/projects/
How did you find out about CycleStreets?:
Your name:
Our ref: Please leave blank - anti-spam measure

* Items marked with an asterisk [*] are required fields and must be fully completed.