Donate using PayPal

CycleStreets blog

News from CycleStreets

TransportHack @ Smarter Travel LIVE!

March 14th, 2016

Matt Whittle writes:

This weekend we attended the Smarter Travel Live hack weekend. The aim of the hack event was to produce an output to support one of five challenges set by various organisations. We chose to tackle the Carplus challenge which was to try and find a way to reduce the use of cars as the primary transport means around the Lake District.

To begin the challenge we brainstormed several possible ways in which provisions could be made to facilitate the ease of switching peoples mode of transport, these included:

  • Increasing cycling space on trains and buses
  • Car sharing schemes
  • Bike hire and sharing scheme

It soon became apparent that as a group we felt that a hire and sharing scheme would work best for the area, therefore we set off to try and gather evidence of how popular the scheme could potentially be as well as providing evidence to where the scheme would best be suited.

We were provided with a travel survey which listed the origins and destinations of c. 8,000 visitors to the park, this listed the mode of transport as well as the number of people making the journey. From this data we were able to visualize the flows of people to the park as shown below.

flows

From this data we then began to summarize what the most popular locations were in the region. For this we set out a criteria that popular locations had to attract more than 100 visitors from the data. The results can be seen below.

loc.JPG

This then lead to the question, where do current cyclists cycle in the Lake district? By using the flow data and some clever use of CycleStreets API we were then able to allocate all of the current cycle flows to the route network.

The approach, using origin-destination data routed to the on and off road travel network using CycleStreets.net, is similar to that used in the Propensity to Cycle Tool (PCT). An early draft of a report describing the methods in more detail is available.

cycling

The analysis showed the the current popular cycle network had one main entry point to the lake the district, the thick red line flowing from Milnthorpe, through Kendal and out to Windermere. Beyond the corridor the data supported evidence that flows up to Ambleside, Grasmere, Coniston and Hawkshead were also popular.

The next question to answer we decided to answer involved trying to discover which car journeys could potentially be replaced by cycle journeys. Using the flow data and R code we managed to find all of the car journeys in the data set that were under 10km. Once again, using the CycleStreets API these were allocated to the road network and then visualized.

cars

This visualisation supports the idea developed in from the cycling data that cycling could be popular in the north Windermere area. A 10km journey would take an estimated 30 mins when travelling at a reasonable cycling speed of 12mph (19kmh).

These two visualizations therefore supported out idea that cycling could be a popular activity in the north Windermere/ Kendal corridor area. However what we had overseen was where should this system be implemented e.g. hire locations and how should it be carried out e.g. new infrastructure or rework existing infrastructure. Some research into cycle hire in the Lake District was carried out and we discovered that there was already a fairly large economy in the region, however the system does not support A to B trips, it is primarily for users to hire bikes from a location and drop off at the same location. Plans have already been suggested for cycle hire in Kendal. What we therefore propose is that a cycle hire system could work by working with the current bicycle hire network (see below, these are current e-bike cycle hire locations from electric bicycle network) to support A to B transportation by bicycle.

ebikes

Using all of this analysis we then created a ‘core’ cycle network based on the popular destinations, current cycling, car journeys less than 10km and the existing hire locations. This is where we suggest cycling infrastructure should be placed initially. Once this is built extentsions could be built to Grasmere, Coniston, Troutbeck and Grizedale in order to link up to other popular locations.

network

Our hack has therefore provided evidence to support a cycle hire network in the Lake District. The analysis has suggested that cycle journeys could replace a large amount of car journeys in the region, therefore reducing congestion. The initial brief stated that people wanted to get out of their cars when they were visiting the Lake District, this has provided a potential solution to that need.

We put all of our data, code and visualisations on Github.

You can view the map of all the spatial data created for the project.

Thanks to Landor and Transport API for organising such a great event.

Cycle North Staffs app created by CycleStreets

February 6th, 2016

We’ve created a new cycling app for Stoke-on-Trent City Council.

The Cycle North Staffs app, developed by CycleStreets, is here to help you to get the most out of your cycling. The app is packed with routes across Stoke-on-Trent and Newcastle-under-Lyme to get you to school, to work, or for leisure. It’s suitable for all ages and abilities.

The app is available for both iPhone and Android, and is available free of charge:

   

The app has a wide range of features:

  • Plan cycle routes from A-B
  • Gives a choice of routes: fastest, quietest, and balanced option
  • Browse leisure routes – fancy a pleasant hour’s ride somewhere nice?
  • Browse points of interest, such as bike shops or tourist attractions
  • Shows time, distance and quietness level
  • Shows how many calories you would use
  • Avoids hills automatically where possible, and shows the elevation profile
  • Calculates CO2 saving compared to a car
  • Browse photos and videos of cycle facilities in the area
  • Save your favourite places for easy access

Leisure routes   Local area information

Points of interest   Photos and videos of the area

The app makes use of our open-source iOS and Android codebases, helping lower costs to the Council and providing a well-tested codebase.

We are able to create custom cycle apps and embedded cycle journey planner websites for Local Authorities, companies and others. Do get in touch if this might be of interest to your organisation.

The apps have been possible thanks to the great work of our developers Neil and Jez.

Cycle commuting analysis of Bristol

December 19th, 2015

We love it when our API comes in useful for academic purposes. This is a guest post by Richard Thomas.


Average time to cycle commute

Bristol: Typical cycle commute time

For my MSc dissertation, I investigated determinants of the proportion of people who choose to cycle for their daily commute. Specifically, I wanted to see whether an analysis of realistic cycling routes of a representatively large sample of a city’s population could give improved predictors over existing models.

From 2011 Census data, I extracted commuting origin/destination data for everyone in the Bristol built-up area in its most detailed form of aggregation (typically accurate to within 500m). I wanted to generate plausible cycling routes for these commutes, then for each of these routes to evaluate metrics (distance, hills, cycle paths, traffic). As census data is available giving the proportion of commuters living in each small area who cycle, multi-variate correlation could then be used to estimate the influence of these routing metrics, together with other known influential population measures taken from the census.

So how best to perform this cycle routing and evaluate suitable metrics? On both these counts the CycleStreets Journey Planner API proved invaluable (and made my MSc dissertation a feasible proposition!) I had considered using an existing open source routing engine (such as pgRouting or Graphhopper) operating on an extract of the OpenStreetMap database as this would allow me to directly query tags on each node of a route. However the complexity in interpreting OpenStreetMap cycle-related tags is quite daunting (as documented here on CycleStreets.net).

Because the API returned not just the route, but details of routed distance, duration, “quietness”, estimated calories required and spot heights, useful metrics could be derived quickly from the JSON data using just Python scripts. It would have been good to more directly quantify dedicated cycle infrastructure along routes: although the “quietness” measure included this, it also included road traffic expectations. Given more time, this could have been done by using the actual route coordinates to interrogate the OpenStreetMap or CycleStreets databases, though this was complicated by API-returned points being only in latitude/longitude format rather than database node/segment numbers. In order to limit the amount of data to be processed (and the load on the CycleStreets API server, routing was limited to the 4 most popular routes from each area, although this still required nearly 16,000 routes to be generated and analyzed!


Summed routes (detail)

Summed cycle commute routes (Overview)

The most notable results of these new routing-based metrics (i.e. beyond the key predictor of crow-fly distance) were as follows:

  • Directness (Crow-fly / Routed Distance): strong indication that cycling was less popular if a reasonable (“balanced”) cycling route was particularly circuitous.
  • Max Height Increase (Maximum of sum of all hill climbs for outward or return direction): strong indication (as might be expected) that hills were a strong detractor. This metric was only developed after the MSc was completed; interestingly, in the MSc analysis, the related metric of Effort Ratio (calories / distance) was not a statistically significant indicator.
  • Traffic Exposure (Inverse of “Quietness”): Although this metric visually gives a good indication of cycling routes along busy roads and/or away from dedicated cycle infrastructure it was not a statistically significant predictor of cycling. Although not conclusive, this supports other research showing that cyclists are more sensitive to time taken than to pleasantness or safety when it concerns their daily commute (priorities may be different for a leisure ride).

Summed routes (street level detail)

Street level detail (OpenCycleMap)

 

More details of the analysis are available in the full dissertation (or short synopsis). Detailed 2011 census origin/destination data (table WF02 for OA/WZ) was only made available after the end of my MSc (and then only to academics for specific projects). Thus for the MSc, synthetic data was generated based on (publicly available) census data. However, a later reworking of the full analysis using the new WF02 census data gave very similar results showing that lack of public access to detailed statistics need not be a serious impediment to analysis.

Beyond the key MSc analysis, an interesting spin-off of all the cycle routing was the development of maps (see right and below) that sums the 4 most popular commute routes from the centroid of each census Output Area, giving a good indication of the number of cyclists along individual streets if all these people were to commute by bicycle.

Thanks again to CycleStreets for making the API available to enable this research project. Data processing was done in Python and SPSS with additional processing and map rendering in the open source QGIS package.

Richard Thomas

Editor’s note: We now have a batch routing system available which we’re keen to encourage for academic use like this. It can handle millions of combinations happily – not just the 16,000 combinations noted above!

New features added to Cyclescape

December 16th, 2015

Lots of new features have been added to Cyclescape, our toolkit for cycling advocacy groups.

Our developer, Nikolai, has been busy, working on piles of improvements and bugfixes.

As featured on the Cyclescape blog, the latest updates include:

Street View message replies: While it’s of course possible to navigate off-site, get a Street View link, and return, we’ve taken out that extra stage. The Street View button also tries to find a sensible default location. In a thread, just click on Street View in the reply box, position the map where you want, add a comment and press submit.

Privacy improvements:  Some groups have told us that it is important to them that they are able to operate on the basis of member discussions using real names, so that members know who they are talking to. However, we recognise that this could be in conflict with the entirely reasonable desire not to have one’s name on the public internet if wished. Accordingly, we have worked to implement a solution to this, whereby you can set your real name which people in your groups will see, but set a display name for everyone else. Previously the display name was always used.

Improvements for groups: If you didn’t already know, cycling groups are able to create their own Cyclescape space, giving a custom web address and various personalisations. You can now create a group using the ‘Request new group’ form in the top-right of the groups gallery. Groups can now add a photo to help personalise their page, alongside information about the group.

Search system overhauled to give much better results: We’ve replaced the search result system with a completely new engine that gives much better results. After a week of tuning the results, we think this now seems to find what you’re looking for pretty consistently. Secondly, we’ve added pagination, so you’re no longer limited to one page of results. Another long-awaited improvement is that searches within a group’s area will only return results from that area. So if you’re in, say, Camden Cyclists’ Cyclescape area, you won’t get results polluted with issues from Cambridge, Sheffield, Leeds, or wherever.

Getting discussions by e-mail now better: Did you know that you can also get Cyclescape discussions by e-mail? In fact, Cyclescape can be used like lots of mini e-mail lists, which you can choose to subscribe/unsubscribe to on a per-thread basis. We’ve made a number of improvements. Firstly, you can now enable digests, so you can read what’s happening by getting a single e-mail a day. Next, e-mails are now properly threaded. Also, we’ve added deadline reminders, so you’ll get a reminder a day or two before a date in a thread you’re subscribed to. So fewer excuses for missing deadlines now! A further improvement is that new users, and users newly-subscribed to a group, now receive a welcome e-mail to confirm each of these.

Deadline management improvements: In case you didn’t know, your ‘My Cyclescape’ page has a listing of all the deadlines/dates in the threads you are subscribed to. So it’s easy to get an overview of what’s coming up. We’ve added an iCal feed, so that if you use a calendaring system like Apple Calendar, Google Calendar, Outlook, etc., you can have these events appear automatically in your calendar. Also, if you have e-mail enabled, each deadline/date e-mail will now include an iCal attachment for that deadline/date. Another improvement is that you can now specify a time, rather than purely just a day, when replying in a thread.

Patrick reports back

October 1st, 2015

Back in July we introduced our summer intern, Patrick. Here, he reports back on his achievements over the three-month period.

Patrick

This summer I worked for Cyclestreets as a paid intern for three months. During this time, I became acquainted with the large codebase the site runs on, and made several structural changes to the organisation of the code. After my work at Cyclestreets I feel much more comfortable working with sizeable codebases, and the focus on refactoring and identifying optimisable code has made a huge change in the way I approach coding my own projects.

One of my main tasks as intern was to refactor the existing codebase into an MVC-style layout. Building on a similar structure designed into Ruby on Rails, we set out to create classes with distinct personalities; views, models and controllers. Establishing rules that govern class content contributes to building a strong framework that isolates code into functioning categories. Once an MVC structure has been implemented, crosstalk between classes can easily be analysed and anomalies can be identified.

Cyclestreets runs two main environments (contexts) – a GUI environment and an API environment. These two systems had become merged over time due to feature development, so re-establishing the functional dichotomy between these entities became a priority. This was a long process, as a long period of development had led to a proliferation of technical debt in the codebase.

The concept of refactoring, or changing code structure without altering the code function, reverses this process. It is risky, as refactoring can introduce subtle bugs. It is also very easy, as I found out on several occasions, to dig yourself into a hole as one alteration leads to another, and another, until it is extremely hard to finalise the series of sequential refactorings. To avoid this, refactoring must be done systematically.

Design patterns can be identified that provide targets for refactoring, and over the summer I became familiar with identifying duplicated code, contrived complexity, over-large classes, and long methods, to name a few of the ‘bad smells’ I learned to identify in the code.

Rolling out my changes to the main servers was always a nail-biting moment. I didn’t want to be “that guy” that brought down the system while users in London were relying on the excellent CycleStreets app to get to work during the Underground strikes that went on during summer. [Ed.: Don’t worry, we deploy in dev first :) ]

The team at CycleStreets were extremely supportive, and I thank them for the time they took to broaden my knowledge of PHP and good coding practices. It was a very enjoyable summer, one I will look back on fondly as in the years to come I design my own apps and come across the issues I learned to rectify during this internship. Thank you Martin and Simon!

Martin and Simon thank you back, Patrick – the codebase has moved forward significantly over the summer, with several long-running problems resolved. You were a pleasure to work with, arguing your case well when there were difficult decisions to take in the code, and taking on feedback.

Cambridge recognised in upcoming cycle planning awards

September 10th, 2015

The efforts of several local organisations and companies to get more people cycling in the Cambridge, the HQ of CycleStreets, has been recognised in the inaugural Cycle Planning Awards.

The awards ceremony is being held in Walthamstow, London on 14th September.

CycleStreets is a finalist in the ‘Best Innovation’ category for its free-to-use journey planning website. CycleStreets runs the UK-wide cycle journey planning website and provides data feeds for a wide variety of journey planning websites and apps, as well as crowd-sourced data collection and collision data viewing systems. They aim to help encourage new people to cycling, by giving them information on where it is convenient and pleasant to cycle, as well as helping existing cyclists find good routes that improve on their existing journeys or help them through unfamiliar areas.

Simon Nuttall from CycleStreets said:

“We are very pleased indeed to be shortlisted for this award. It validates the work we have put in to build a system that helps find effective cycle routes and to inform the debate about what constitutes practical infrastructure that will encourage more people to consider cycling as a viable option for some of their journeys.”

Outspoken Training based in Cambridge are a finalist in the ‘Best Behaviour Change’ category for their work on a project called Bikeability Plus, which has operated in both Peterborough and in Cambridge. The overall aim of the project was to help build a better cycling culture within five primary schools and to encourage children, parents and teachers to cycle more often. The overall target was to increase those cycling to school at least once per week by 20%. The actual result was a 263% increase with more than 200 more children cycling to school each week.

outspoken-trainingRob King, Director of Outspoken said “To have transformed the cycling culture of a school in such a short period of time is amazing. We were particularly proud of our team of staff who made this happen through a whole host of exciting activities and challenges” One of the teachers commented: “Over the six weeks, all of our reception children learned to balance and then ride a bike. Some reduced their mums to tears having struggled previously.”

Finally, Cambridgeshire County Council’s Mike Davies is a finalist in the ‘Cycling Champion of the Year’ category, for his work on leading innovative cycling projects. He was nominated for the award by Cambridge Cycling Campaign. He shares the final in this category with the Mayor of Leicester, the Deputy Leader of Waltham Forest Council and the Regional Development Minister from the Northern Ireland Assembly. Mike said “I’m delighted to be a finalist in this award category. The work of many people including Council officers, Councillors, campaign groups, local businesses, cycle shops, schools and colleges, has all contributed to the success of cycling in and around Cambridge, and this is vital to ease traffic congestion and improve people’s health, independence, and ability to access employment and training in a growing city area”.

Beautiful new galleries page unveiled

July 27th, 2015

We are pleased to unveil the new Galleries front page, which brings your beautiful photos and content to the front and centre. Galleries is a really neat feature to group cycling-related media for presentation or campaigning.

There is also a lot more flexibility available while adding a new gallery – you can now navigate away from the Create Gallery form to find more photos to add, and when you return all the fields will be exactly as you left them. You can even close your browser window and come back later, and the gallery creation form will still show your data as you left it.

As well as the graphical front end, our intern Patrick has been busy developing a new Galleries API for developers, which enables API calls to list and show the content of Galleries, and create and update Galleries.

We hope you enjoy browsing and adding to the Galleries.

Screen Shot 2015-07-27 at 17.13.12

Welcoming our new intern, Patrick

July 21st, 2015

Please join us in welcoming our new intern, Patrick, who is working over the summer as a paid employee on the CycleStreets code. He’ll be working to add new API calls, add new features, refactor older code so that we can move the codebase forward, templatise sections so we can redesign them, and more.

Patrick, intern at CycleStreets, cycling through Parker's Piece

Patrick, intern at CycleStreets, cycling through Parker’s Piece

Patrick, tell us a bit about yourself.

I’m a post-grad student at Cambridge University, studying Education and Choral Studies.

What are some of the programming projects you’ve worked on before?

I had a great time in Germany connecting a massive pipe organ to a MIDI enabled interface, and playing that huge instrument from my computer. More recently, I programmed a music generator in PHP which creates random pop music.

What interested you in getting involved in CycleStreets?

I’ve always gotten around by bike in Cambridge and Düsseldorf, and I used the CycleStreets app quite a bit before seeing the blog post advertising the summer intern position.

What are you most keen to improve in our system over the summer?

Adding API calls is quite satisfying work, because it’s very exciting to see how developers implement these calls in their apps.

What have you been working on in your first week, and how is it going?

I’ve been focusing on splitting some functions into page, model and api classes, which facilitates templating the layout of the site and cleans up some messy code. I’ve also added some new functionality to Galleries.

Patrick will be posting over the summer on the fruits of his labour.

Summer intern sought to help develop our codebase

June 3rd, 2015

CycleStreets is seeking a Cambridge (UK) -based intern over the summer, to help us improve our codebase quality.

Over many years we have built up a very large codebase, which runs our Journey planner and Photomap. There are also other sections, such as a collision data viewer, points of interest pages, a (somewhat out-of-date) help/about section, geocoder, user profile system, information pages, etc. This codebase primarily consists of over 225 PHP classes, averaging about 500 lines of code each. Interactive elements of the site are underpinned by a stable API.

We are in the middle of a major redesign (hence our quietness on this blog lately!) to solve various usability issues, modernise the look and feel of the site, add new facilities such as drag-routing/waypoints, and fundamentally unify the many sections of the site into a coherent whole. We have a powerful API under the hood, but we feel this is not reflected positively in our user interface.

We are sometimes slowed down in development by older code, pointing to the need for refactoring in several key areas. For instance, we want to complete our migration to a fully-templatised MVC structure. We want to deprecate our current mobile website by making the new design responsive while retaining the mobile site’s current innovations. We want to replace direct database calls with new API-based calls, so that the site effectively becomes a fairly independent consumer of its own API.

The two-month paid internship will be based in Cambridge (UK). We consider that regularly in-person discussions are likely so that the code can be understood properly before commencing with refactoring.

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 £380/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 position would be suitable for someone with:

  • A passion for refactoring, continual code quality improvement, and with an eye for detail;
  • Experience of writing good-quality object-orientated PHP code, based on traditional class structures, which runs without any notices/warnings;
  • Interest in user interface design, particularly with reference to mobile interfaces;
  • Some javascript knowledge would be helpful, as this needs some improvement, but this is lower priority than solid object-PHP skills;
  • A desire to promote practical cycling and support the cycle advocacy movement – we want someone who believes in what we’re doing, rather than just seeing this as a general coding job.

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.

To apply, drop us a line via e-mail by the end of Wednesday 17th June 2015, 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).

(Edit on 6th June: We’ve extended the deadline slightly; previously 15th.)

Photo from a developer day, 2012

Planning application integration now live

April 7th, 2015

Cross-posted from the Cyclescape blog.

We’re very excited to announce a major new feature on Cyclescape: integration of planning applications, which we pushed live last week after much work over the last 18 months.

Cambridge Cycling Campaign is the group we’ve been testing this with and where the work has mainly been undertaken.

The feature means that group members will be able to know about a new planning application within a day of it being submitted to the council. This gives potentially an extra 6 weeks of time to study a planning application, so that the group can see:

  • how it could affect cycling conditions in an area
  • whether measures are needed (Section 106 / CIL funding) to mitigate any problems
  • whether cycle parking is sufficient
  • whether it could create opportunities such as a new route

This is 6 weeks of extra time to talk to the developers, and the Council, rather than deal with everything last minute – e.g. just before it goes to Planning Committee, as has happened in the past!

List of planning applications, from the ‘My Cyclescape’ page:

Planning applications

Click on ‘Convert to an issue’, and this pre-fills the usual issue form:

Cloned planning application

As there is no way for us to determine automatically (yet) whether a planning application is relevant – and there is a lot of irrelevant stuff like tree works – we have provided a button to enable an application to be hidden. If enough users in the group vote to hide the application, it will be hidden for all. In this way, group users can crowdsource relevant applications, and make it faster for others to work through to find relevant things.

Al this has been possible thanks to work by our contact Andrew who is working on a new planning application data portal, PlanIt (building on an earlier system by Openly Local), which we in CycleStreets are hoping to collaborate on and support formally.

Not all areas of the country are yet covered – Cambridge, featured above, has been specially funded. We’d like to thank Cambridge Sustainable City for their grant support.

Get in touch with us if you are interested to have coverage in your area in future.

We’d like to thank our developers Andy Allan and Nikolai Berkoff, as well as Andrew Speakman whose work has made this 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/footer.html
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.