Donate using PayPal

Please use the comment form under each blog entry to give us feedback items on blog items.

If your comment is not related to a blog entry, please use the general feedback form.

CycleStreets blog

News from CycleStreets

Archive for the ‘Uncategorized’ Category

Quietly working away…

Monday, June 23rd, 2014

This blog has been a bit quiet recently, as we’ve been quietly working away very hard on a range of projects which are now being launched. We’ll have blog posts on each of these in the coming weeks:

  • The new Halfords cycle journey planner is live on their website, complementing their wide range of bikes and advice to help people get cycling. It includes map markers for easy directions to their stores.
  • We’ve created the Cycle Hackney app (iPhone and Android) for Hackney Council, which aims to provide information to the Council on where people cycle for their daily journeys, and where improvements to the street and path network are most needed. This combines crowsourced GPS traces to help create a heatmap of utility cycle journeys. The app was launched at the Hackney Cycling Conference 2014.
  • We created the Urban Cycle Parking website for London Cycling Campaign, which enables cyclists in London to pinpoint where cycle parking is needed and where it already exists, with all data being fed to Transport for London (plus existing parking data to OpenStreetMap)
  • We’ve created a batch routing system (with a job control web interface) for one of our app routing data users, which creates a matrix of all possible routes between cycle hire stations (e.g. the London Cycle Hire scheme) or within a grid of squares within a city.
  • We’ve supported the CTC’s Space for Cycling portal, whose photos also go into our Photomap, helping build on the fantastic library of over 50,000 locations (all fully-categorised) already present.
  • We’re finalising the launch of our API (data interface) Version 2 – this is a modern JSON-only API interface to the many parts of our system, and corrects many of the frustrations of our current API. As well as making things much easier for mobile and other websites to obtain routes and integrate with other facilities we offer, it adds new API calls, GeoJSON output for all geographical features by default, new  features, standardised error handling, and a fresh set of documentation complete with clear examples.
  • We’ve almost completed replacing all the code that powers our slippy maps from OpenLayers-based to Leaflet. Changes like that happen ‘inside the crankcase’ and give us more power and flexibility to develop the system while users are often unaware that there have been changes – which is generally a good thing. This will enable us finally to add long-demanded features such as multiple waypoints, draggable routing and leisure routing options, which our underlying data interface (API) has supported now for quite some time. This has been a large task, with much knock-on internal reworking, including the need to have GeoJSON output in the API while not disrupting other users of our API. This work is part of a project to overhaul and modernise our web interface, which has been partly funded thanks to a Cambridge Cycling & Walking Promotion grant. We’d like to thank Cambridge City Council for enabling this long-awaited project to move forward. We’ll shortly be seeking out a designer and blogging more about our aims with this large project.
  • We’ve added a user profile available to each user on the site, so all photos by a user are grouped together. This facility will continue to evolve.
  • Cyclescape, our toolkit for cycle campaigners [read more], has seen a range of improvements and fixes.
  • For Cambridge Cyclescape, we’re pleased to announce a grant from Cambridge Sustainable City who have kindly given a grant to fund some changes specifically requested by the Cambridge group – we’ll report on the Cyclescape blog soon about these developments.

Stay tuned to the blog for articles on each of these.

PS One of our lead developers, Martin, has co-written ‘Making Space for Cycling‘, a new publication endorsed by the whole spectrum of UK cycling advocacy groups. It explains to UK decision-makers how best to provide cycle infrastructure that will get more people cycling. Paper copies can be obtained from Cyclenation and Cambridge Cycling Campaign.

State Of The Map 2013 – Cyclestreets presentation

Saturday, September 7th, 2013

Martin giving our presentation - Photo by Alexander Kachkaev

State Of The Map is the annual conference of OpenStreetMap (OSM), whose fantastic data we make use of to provide cycle routing.

We gave two presentations at State Of The Map 2013 which this year was held in Birmingham.

It’s the annual gathering of people who collect street data as well as those who, like us, make use of it.

We gave two presentations, one on the range of websites and apps that use our cycle routing. The other was on a project within the OSM community that we’ve been running to encourage OSM members to merge in cycle route information from the Department for Transport.

You can view our two presentations here:

CycleStreets – more than a router (State Of The Map 2013):

England Cycling Data Project:

Season’s greetings to all our users

Tuesday, December 25th, 2012

Seasons greetings to all our users. Happy cycling!

Many thanks to everyone who has helped with coding and other ways with CycleStreets this year, or sent in a donation.

Lots of plans for 2013 :)

Mobile pages relaunched

Thursday, March 29th, 2012

We’ve refreshed the mobile section of our website, including new screenshots, updated feature lists, and a new page about our mobile web site.

CycleStreets apps are available for iPhone, mobile web (HTML5), and Android:

Apple Appstore    Mobile web site (HTML5)    Android Market

These apps would not have been possible without the enormous efforts of volunteers working on these open source projects. Thanks all! Do consider getting involved if you are a developer.

Have a browse around some of the refreshed screenshots:

     

    

Cyclescape update

Saturday, February 18th, 2012
We’re working on a major project, Cyclescape, a comprehensive online campaigning toolkit for UK cycle campaign groups, funded thanks to GeoVation. This blog post is cross-posted from the Cyclescape blog.

About three weeks ago we opened up Cyclescape to a test group, Cambridge. Their Committee have been using the system instead of the e-mail list they used to use.

On the right, you can see a planning application being discussed, with the location of the site marked out, and a list of the discussions.

In this three-week period there have been:

  • 78 issues (problem reports and things to work on)
  • 108 discussion threads (discussions connected to the issues)
  • 789 messages (individual replies within the threads)
  • 61 user locations (areas that people have set to be informed about changes in)
  • 22 campaigning deadlines and dates
  • 34 library items
  • 151 pieces of feedback about the system, some of which are about tiny fixes, others about more substantial issues (most of which we know about)

Although there are unfinished areas (which have caused some user confusion) and some missing features, the testing has given us plenty of useful feedback, which we’re working through before we open up the system for wider use.

Organising a group ride

How are people using the system?

“The use of maps at the centre of Cyclescape illustrates the point that if a picture is worth a thousand words, so is a map.  The maps really facilitate sharing issues and solutions to them. They also mean that you can easily filter which topics are relevant to where you work or live.

Cyclescape is also a big advance on email lists in the way in which threads can be followed and documents stored for future use in an easy to find location.”

- John


My locations

We’ve seen discussions on, for instance:

  • Various local planning applications – on which it’s been useful to see the location on the map
  • Smaller issues around a city
  • The Times “Cities Fit For Cycling” campaign
  • Administrative discussions (organising day-to-day things)
  • Organisation of a cycle ride – which again the geographical location provides useful context
  • Addition of some items to the resource ‘library’ which will be useful for future discussions

Items from the library (here 20mph guidance) have been automatically matched, and a user has added some to the discussion

There are signs that the ability for people to subscribe only to things they’re interested in, based on geographical location(s), should work well – so that people can be involved in things they care about – but not overwhelmed with issues.

We’ve seen some confusion over the difference between ‘issues’ (problems) and ‘threads’ (discussions of those issues), which further interface work will address.

Key themes

Some of the key themes, on things we need to fix, are:

  • The need to reorganise the various listings screens, which are currently not in their final positions. This is an area we knew would need quite a bit of iteration work.
  • Making sure that maps are viewable in a few places where they’re currently omitted.
  • Reducing the ‘friction’ between issues and threads. We want to encourage people to locate issues geographically when possible. To some extent this will be improved naturally as the listing screens get reorganised and as we fix up parts of the design that were not finished when we went live.

    

  • Various layout fixes to add some more polish and improve usability.
  • Further work on e-mail integration. Many areas work, but some kinds of notifications can’t be replied to by e-mail yet, and it’s not yet possible to start a thread by e-mail.
  • Very active campaigners have asked for an ‘opt-in to everything by default’ setting, so that they get told about everything, and can opt-out when not interested (rather than merely getting told about something new in their area). This would save them having to subscribe to each issue or discussion thread as it comes in.
  • There have also been some compatibility problems with a certain web browser… Internet Explorer!

An example problem that we need to fix – city-wide issues are overlapping and obscuring others, so a fundamentally different approach for city-wide issues might be needed, e.g. a separate listing screen or maybe a button to show these:

Usability testing

We’ve also done some individual usability testing, which has thrown up 35 actionable issues. Around half of these were things known about and planned to be fixed, but the others provided useful insight.

Next steps

We’re busy working on fixes for the above, as well as creating more guidance on installing the system for coders who want to get involved. Technical people can watch progress in our Github repository.

Stay tuned to the blog in the coming month as we talk about the latest changes and showcase the system’s features. We’re working as fast as we can, within the available funds, to get the system ready for wider use!

We’re having an Android Hack Day!

Friday, February 10th, 2012

We’re holding a CycleStreets for Android Hack Day on Saturday 25th February 2012. Come along, because it’ll be fun.

Dive in

So what might you do with the Android app? Well, anything you like, but here are some suggestions – export a CycleStreets route as GPX, integrate a vector mapping library like MapsForge, add speech output, or simply poke around in the code and see what catches your eye. Learn some new things, ask questions, maybe have a beer in the evening.

What you’ll need

  • A Laptop. Linux, Windows, or Mac, whatever your preference.
  • The CycleStreets for Android source code. The source code lives up on GitHub, so grab a copy by forking it. If you don’t already have a Github account, you will need to create one. You’ll also need need a copy of Git itself. If you’re unfamiliar with Git, don’t worry because we’ll give you a primer. If you’re unfamiliar with source code control in general, you still don’t need to worry, we’ll teach you a valuable life skill.
  • The Android SDK. To build the code, you’ll need the Android SDK. Strictly speaking the SDK and a text editor are more or less all you need, but you will probably find this a little easier using it with the Eclipse IDE. The integration with Eclipse is very good, the code completion support will help you work your way through an unfamiliar API, and the debugging support is excellent. See the image below for the components you’ll need.
  • An Android device. Actually this is optional, as the Android SDK supports Virtual Devices you can run on your laptop, but it’s quicker and easier to run your code on a real device.
  • 3G dongle if you have one – there’ll be internet, but bring a dongle just in case we have problems.

What you won’t need

  • Previous Android Experience. Programming for Android is actually pretty straightforward, so you don’t need any specific experience. Familiarity with event-driven user interfaces is helpful, but if you’re keen you should be able to pick it up pretty easily.
  • Java Expertise. The language of Android is Java, but you don’t need deep, deep Java expertise. You can get by with a smattering.

When and where?

Saturday 25th February 2012 from 12 noon – 10pm.

Ross Street Community Centre. [Map showing the route from Cambridge station - green route is best.]

It’d be great if you could let us know if you can come so we can order enough fresh pizza!

The bits of the Android SDK that you need, shown ticked (click to enlarge):

 

Open-sourcing effort

Monday, January 9th, 2012

We’re working heavily at present on our open-sourcing initiative.

Already our mobile apps and the Cyclescape project are open-source:

If you can help with any of those, or find the code useful, please do get involved!

The main site is not yet open-sourced, but work is in progress.

Our key aim here is to make it much easier to get other people involved. Over the last year we’ve had a number of enquiries from fellow cycling programmers about getting involved, but there have been very confusing aspects of the codebase – mainly very old code that had not been upgraded, and the setup has been difficult to say the least.

So our work at present is focussed on:

  • Modularising the code much more, so that – for instance – people wanting to work on the interface don’t need to get a Python/C++ -based routing engine installed
  • Setting up and securing a journey planner endpoint for the same reason (so that a repository download can work without the routing engine installed)
  • Untangling key bits of code that have long been very problematic, even for us
  • Splitting up classes further to reduce dependencies (currently there are over 150 classes and this is growing by the day – see screenshot below)
  • Re-scripting various installation routines
  • Making things more self-documenting
  • Parametrising site-specific switches  in the code related to specific non-core sites that we are paid to run
  • Migrating to Git and then Github (we currently use SVN)
  • Deciding whether any sections should be closed-source

We’re doing these before open-sourcing because – realistically – we simply do not have the time resource at present to hand-hold people through an installation process that is currently more difficult than it should be. We know from our experience from our hack day back in 2010, that any barriers here will stifle involvement. This is also forcing us to deal with some of the nastier architectural design flaws that have constantly held back some work.

Much of the code is actually in a reasonably good state, however. It runs on Windows, Linux or Mac OSX without changes (though getting the core routing component running on Windows might be interesting!). It is mostly in PHP5 (error_reporting=2047), written in a traditional class-interaction format (not MVC), though there are many established design patterns such as front controller pattern, a central application resource, common data formats, common class extension principles, all database interactions through an abstraction layer, etc.

A few key issues for us, once open-sourced, are:

  • Whether we should aim to push people towards running a single, central installation, and encourage people from abroad to contribute funds and code towards that
  • The extent to which we can realistically give any support for other sites (given that we’re pushed as it is to get everything done)
  • The use of the name ‘CycleStreets’ if we give any support for sites we don’t control
  • Maintaining quality-control of hosted sites that we are paid to run
  • Ensuring that the Photomap isn’t closely-coupled with the journey planner
  • Addressing the lack of test coverage
  • Internationalisation work

We’d welcome any feedback (in the comments below) on these points. For us the key problem is time – and funding if the system is to expand to other countries!

We don’t yet have a timescale, but the code cleanup is going quite fast now, and in fact is accelerating, as the removal of hacks is making things quicker to deal with.

Screenshot of our current classes, where most of the code is:

CycleStreets in 2011 – a year in review

Sunday, December 11th, 2011

We’ve had a busy year, and we’d like to thank everyone who has helped out with the CycleStreets project – whether that’s helping with development, design, promotion and word-of-mouth, mobile coding, and more.

As you can see, since our launch in March 2009, usage has grown very considerably this year.

We’ve planned almost 1.4 million cycle journeys, covering some 23 million km as the crow flies, equivalent to cycling to the moon 60 times!

It’s been incredibly heartening to see so many great comments from users of CycleStreets on how it’s helped them find better routes or start cycling.

Major projects this year

The year for us has been dominated by a number of funded major projects.

Work for the bicycle industry to create a Leisure Routing mode for the great cycle satnav app, Bike Hub (which uses our routing). Leisure routing is a new kind of routing, exclusive to the app, which enables you to plan a circular route lasting a specified time or distance. Read more about this great new addition to an already brilliant app.

Work with the Department for Transport to open up their cycling data. We’ve been helping the DfT with their very laudable objective to open up the cycling data they collected as part of their Transport Direct system. This detailed cycling attribute data has the potential to enhance the quality of cycle routing, by adding things like surface quality, cycle lane widths, missing pieces of data. We’ve funded some development work on a merging tool for the main OpenStreetMap editor, Potlatch 2, which we hope will be of wider benefit for other datasets also. The data is now almost ready for release following a lot excellent work by the DfT and its main contractor – stay tuned.

Cyclescape, a comprehensive online campaigning toolkit to assist cycle campaign groups around the UK. We’re able to create this thanks to funding from GeoVation. Earlier this year we won a Dragon’s Den -style contest to create a website that would build on our Photomap of 30,000 images, and provide a way for cycle campaign groups around the UK to work more effectively to solve cycling infastructure problems in their area. The website will be launched shortly, and we’re moving into beta with it after months of solid work. You can read more about this on the Cyclescape blog.

Work with Cycling Scotland to improve cycle journey planning in Scotland. We’ve been undertaking a range of projects to help motivate improved data collection and usage. This work will be finished shortly, and will see a journey planner on the Cycling Scotland website and a new guide to assist local communities with data collection for OpenStreetMap.

Hosted journey planners for London Cycling Campaign, West Sussex County Council, Bike Hub and others soon to launch! Read more about our offering of customised cycle journey planner sites and see the brochure for Local Authorities we created.

Other projects

As well as these funded projects, we’ve been working on several other areas of our core offering:

Continual improvements in route quality: We’re continually tweaking the routing engine to make the routes better and better, partly in response to the great feedback we get from users. In the summer we added partial support for surface quality data (something we’ll be building on soon), and earlier we undertook some work to make routes more ‘sticky’ to the Sustrans and Local Authority cycle networks where they exist.

Faster routing: The routing engine is now much faster than a year ago. Even when we’ve had a load spike, the hosting has barely flinched!

Mobile apps on all the major platforms have been released. As well as our free iPhone app, which has seen many improvements over the year, we’ve released a well-received and fully-featured Android app and a Mobile web site which works on Blackberry and other platforms. All of these are open source projects, and we encourage people to join our brilliant volunteers who have been working on the apps so far.

A lot of work on resilience: Simon has worked extremely hard since the summer to improve the resilience of the system in many ways: Backup, fallback, easier importing of data, scripting various administrative tasks and so on.

Points of Interest: We’ve got a new set of webpages and an API for points of interest (shops, cash machines, leisure locations, etc.). We hope to integrate this much more closely with other parts of our offerings in coming months.

Lots of other little changes: Addition of CO2 and calorie counts, an increase in the journey planning limit to 200 miles, little usability fixes, reworking of the Photomap pages, railway station codes in searches, new Photomap listing modes, promotional flyers you can order, clickable icons for the London Cycle Hire website, a ‘cycle to us’ link facility, an integrated map editor installed, etc.

Photo of the day: We hope you’ve enjoyed our Photo of the day feature, if you’ve been following us on Twitter!

What about next year?

The main areas we’re going to be working on are:

  • Support for advanced routing data (work in progress) according to an advanced ruleset we’ve been considering
  • Drag routing (waypoints in the interface)
  • Expanding to other countries
  • Open sourcing (the main barrier at the moment being lack of modularity in older parts of the code)
  • Reworking the feedback system so that we can get lots of OpenStreetMap volunteers involved

OpenStreetMap – a solid foundation

CycleStreets wouldn’t have been possible without the brilliant OpenStreetMap (OSM) project, whose data we use. OSM has gone from strength to strength, with many areas of the country seeing far more detailed data than this time last year.

It’s a volunteer project which anyone can contribute to. So whether there’s a newly-added cycle lane near where you live, a bike shop has opened, or whether the surface of a path is unsuitable for cycling, you can contribute that information – just edit away.

If you’ve appreciated the work of the people who’ve created the map, please donate to OpenStreetMap to help keep it running fast.

Calories burned and CO2 saved

Thursday, June 30th, 2011

The main reason I got into cycling was that it was simply the best way for me to get to school. As I grew up I discovered that it was also the best way of getting around Hinckley, Central London, the villages of southern Cheshire, Milton Keynes, Georgetown (Guyana), and of course, Cambridge (England). I was never bothered about how much fat I burned, or even that I was saving the planet along the way (apparently). For me it has always been the 'obvious' way to get around the place I live.

But other people are interested in these things, and now that I've added them to the journey planner calculations, I'm getting more interested in them too.

Calories and CO2 in route listings

The 'calories burned by cycling' calculation was added to a customised cycle journey planner for West Sussex County Council a few months ago. They have enjoyed a period of exclusivity with that, but we are now making that calculation available to all. The calculation takes into account the speed of cycling and any hills going up or down, but ignores any head or tail winds. It assumes a rather typical roadster bike aerodynamic, and a combined rider and bike weight of 90kg. The full calculation is explained on the help pages.

The Carbon Dioxide (CO2) saved figure has been included in our route listings for over a year now. It was part of a series of improvements to our site covered by a Sustainable City grant from Cambridge City Council in 2010. The calculation is explained on the help pages.

The amount of energy used in riding the route, and the amount of CO2 saved compared to an equivalent car journey are now also included in our API so that future versions of our mobile applications can use them too.

We hope this extra information adds to your enjoyment of the site and perhaps helps you more appreciate some of the physics of cycling.

Back in June 2006 …

Monday, June 27th, 2011

 

CycleStreets, you may not be aware, was based on a Cambridge-only cycle journey planner that we created as members of Cambridge Cycling Campaign.

The Cambridge Cycling Campaign journey planner went live in the early hours of 27 June 2006, some five years ago today. Back then it based its routes on a network which was traced over satellite photos of the streets of Cambridge. That network started off with only around 2,000 streets, and that provided a way for users to join the project and add their own traces to the map network.

Tracing Routes over Satellite Images

By the time we switched to OpenStreetMap data, these hand-traced maps covered some 5,000 streets and it was no longer practical to support that behaviour and it gave rise to a range of issues. Now the CycleStreets system uses a map of millions of streets!

Auto-generated route signs from the Centre of Cambirdge

The journey planner evolved from a program that was written to work out where to place helpful signs on cycle routes, and which also worked out what text should appear on them.

CycleStreets continues to develop daily, and more and more new ideas are coming forward that we want to include.