Archive for May, 2017

CycleStreets is seeking one or more paid interns to work on a variety of projects this summer.

About CycleStreets

CycleStreets is a social enterprise based in Cambridge, working to help get more people cycling by the provision of information on cycle-friendly routes, and various tools for use by cycle advocacy groups.

We are best known for our journey planner, aimed at finding practical cycle routes in urban environments. To do that effectively requires collating data from a variety of sources and configuring a routing engine to make the same decisions a knowledgeable cyclist would make to find a route to their destination. We are aiming to provide the highest quality cycle routing in the world that tries to ‘think like a cyclist’.

The website also includes our Photomap – over 70,000 user-contributed photos of cycling related infrastructure from around the UK and beyond. These are used by activists to promote good practice and highlight problems to avoid in future. The Photomap also powers Local Authority websites such as the Urban Cycle Parking website for TfL. Further tools that present transport data that affects cycling are also in development.

CycleStreets also manages Cyclescape, a geographically-based discussion forum increasingly used by cycling campaign groups across the UK.

With our limited resources given over to focussing on keeping the core services up-to-date and responsive several areas have been left lagging and with work to do. We have a powerful API suite, but the front-end website and apps do not currently reflect its abilities in design and UI terms.

A wide range of potential development areas

Although improvements to our main codebase – the website – is our ideal focus, we’re happy to see work on any of our projects – routing engine, mobile apps, Cyclescape, etc.

The codebase for the main website is a rich collection of system configuration scripts, a low-level routing engine implementation, page-generation code, database procedures and webpage scripts – all written in commonly used mainstream languages. The codebase has been re-organised recently thanks to help from the previous year’s intern. This codebase primarily consists of over 200 PHP classes, using traditional inheritance/loading techniques, arranged as an MVC structure. Much of the core functionality has been converted to a public API (with over 40 calls in total) that powers the website and third-party apps/sites.

There’s an opportunity to update how CycleStreets presents itself to give the service a ‘personality’ – particularly on mobile. Here we’re mainly thinking about the look and feel but also what can be done with it.

2. Usability

Interaction with the journey planner works smoothest on desktop but there’s a lot of scope for improving mobile interactivity. Interaction of the journey planner with the map is one area that needs work, but there a lot of small things that would help such as, for instance prompting users’ frequently used locations when they search.

3. Integrating mobile and desktop

The codebase can serve webpages based on templates, and these are ready to be used by responsive stylesheets that will work on a variety of screen widths. Developments in this area could provide a major benefit to users on mobile.

4. Cycle route quality

Changes to the cycle routing engine are perhaps beyond the scope of a summer intern, unless you are starting from a more advanced base of knowledge. A major challenge is how to know if the suggested cycle route is good – and whether changes to input data or configuration parameters produce a better route or not. Ideas and developments of the testing regime could make a significant difference to route quality.

5. Elevation data

The routing engine takes into account the cost of hill climbing and that depends on accurate elevation data. There’s scope for adding to our library of data provided by countries such as Australia and Finland.

6. Geocoding

Maintaining an up-to-date way of translating text into a location has proven quite a distraction over the years. We’d really like to get on top of this issue and resolve it once and for all. It’s quite a well defined isolated project.

7. Work on our mobile apps

If you have skills in Android or Objective-C/Swift, we would also be willing to consider work on these also. The apps have been created by colleagues rather than the two of us who will be running the internship; accordingly we can’t provide training on the actual programming languages, but things like code structure and UI would be possible to be covered.

About the internship

This is an opportunity to get involved with a live and dynamic project that faces continual resource challenges. The successful candidates will have a choice of which projects to work on based on their own preferences and ideas. We’ll provide supervision and work together to define goals and help solve problems.

As an intern, you will be a proper part of the CycleStreets team, as a fully-paid employee over the summer period, with daily training and co-working.

The intern will be hired as an proper salaried employee, and we understand that a going rate in the area for an internship is around £400/week; we will also come to a flexible arrangement regarding working locations and/or expenses for public area working to ensure that the successful employee is never out-of-pocket.

The two/three -month paid internship will be based in Cambridge (UK). This is because we feel it is important that there is daily contact as this is aimed to be a two-way process providing lots of training.

As we work mainly from home, we’ll expect the intern to find their own workspace as we cannot provide an office environment. We’ll meet with you to discuss and plan your work schedule and ideas at internet cafes or meeting rooms in Cambridge, as well as online.

We are not expecting someone with many years of development experience, as such a person would be in a stable job, and the salary level is not intended to reflect this. What is more important to us is someone with the right mindset, a fast learner, who can work at a good rate. Being an internship, this will be a two-way arrangement, with us helping give the student knowledge of working in a large codebase and the challenges this brings – though we do want someone who is a self-starter that doesn’t need prodding constantly.

How to apply

To apply, drop us a line via e-mail by the end of Saturday 17th June 2017, explaining your interests, with your thoughts on our site (such as a critical analysis, maximum 2 pages at most), and point us to any code you have written (public code on Github is always a good sign).