We're pleased to announce the launch of a major new section of our website: Points of interest that you can click on to view and select for your journey.
We've integrated OpenStreetMap location data so that you can now click on points on the map. Just go to our journey planner tab and you can use the presets like bike shops, cafés, pubs, and many more.
(Mobile app developers: This data is also available through our API – see below.)
For instance, stations:
If you select a point, it is clickable. A Google Street View picture of the location will be shown, if it's a roadside location:
There's a link in the popup to the place's website if it has one.
There are lots of different POI types available:
You can browse locations anywhere the UK, for instance to find these independent bike shops in London:
Or perhaps no-one's added a location's website yet? Click on the 'add it' link in the popup shown above. Follow the link, click on the icon, click on 'Advanced' and then enter 'website' on the left and the URL on the right, and click Save. You'll need to create an OpenStreetMap account if you don't have one already.
You must not copy things from other people's maps, however – additions and edits must be based on your local knowledge of an area.
API
This data is now all available through our API so that it can be integrated into your cycle routing app.
Built in jQuery Mobile and HTML5, this extends CycleStreets' mobile support beyond our well-received Android and iPhone apps to cover other platforms, including iPad and BlackBerry.
Just like the other apps, you can plan cycling routes while out and about, upload photographs you take along the way, and find photos others have uploaded nearby.
Features
The mobile HTML version has an experimental change from the native and desktop CycleStreets. Instead of tapping the map to add a draggable marker, we use fixed crosshairs in the middle of the screen. We hope this makes route planning a little easier, by reducing the possibility of accidental clicks.
Once you have a route planned, it's easy to compare the different journey types that CycleStreets offers – fastest, quietest, or balanced – and see individual turns.
In a somewhat alpha feature (as HTML5 doesn't yet offer brilliant phonecam integration), you can also upload photos you've previously taken of cycling problems nearby. And you can see photos that others have added to CycleStreets.
We automatically save your routes for future reference, and your preferences for cycling speed, route type, and preferred map type – OpenStreetMap, OpenCycleMap, or Ordnance Survey.
Technical notes
For me as a coder, this was pretty much a dream project: a meaningful application, a cutting-edge platform, and a supportive project lead, in the form of Martin, to manage it all.
My goal for the mobile HTML app was to create something easy to use and as accessible as possible – while being realistic about the fact that CycleStreets routing, with its maps and polylines, is inevitably going to work best on a smartphone as a native app.
To that end, technical readers may be interested in the following notes:
jQuery Mobile: As we were using jQuery anyway, I chose jQuery Mobile for its lovely look and feel, its clever Ajax page transitions, and its sensible graded browser support – plus a general good feeling about the project. Now in beta, it's perhaps a little slow (they're working on it), but definitely a project to watch.
HTML5: We use geolocation (ahem) plus localStorage to save user details – though the app should still function if neither are available. There's clearly also scope for offline route storage, which we hope to add in v1.1.
Responsive design: This would obviously have been nice (for an example, visit FixMyTransport in a desktop browser, and then resize it so it's really small). However, it would also have required changes to the CycleStreets desktop CSS beyond the scope of this project – though I believe it's still in the longer-term CycleStreets world domination plan.
Browser testing: Technically, the most challenging part of the project was not coding, but finding the emulators and real devices to test on. We've tested in Android, mobile Safari, iPad, and BlackBerry (led by the UK browser stats), plus Opera Mobile and Fennec on Android, but we want to hear more from Nokia and WinPhone7 users.
Help us improve!
This is still very much a beta. However, mobile HTML is a long-term play for CycleStreets, so we expect to add lots of improvements in the coming months and years.
You can help us by trying out the app on your mobile device, and reporting feedback on GitHub issues list. If you're a coder, free to fork the repo (GPLv2) and make improvements.
Happy cycling, and let us know your thoughts on the app.
Thanks to Cycling Scotland!
We'd like to thank Cycling Scotland for a grant to enable this project to come to fruition.
We've added a mini-feature to our website and mobile apps that some regular train-using cyclists may find useful.
You can now enter train station codes (e.g. KGX for King's Cross) in the search box, and the location of that station will be found. It just avoids lots more typing, and is useful if you use particular stations regularly.
LCC are the leading cycling advocacy group in London. Their work over many years has really helped keep up the pressure to improve cycling conditions in London – so you should certainly join LCC! (LCC is in fact the first NGO that Martin joined.) Most recently, LCC has led the charge over the Blackfriar's Bridge debacle.
Part of this project involved the creation of a new embeddable box 'widget' on the front page of the LCC website – a feature which we hope to make more widely available soon:
London is the most challenging area for us to provide routing for – the complexity of the network sometimes results in rather wiggly routes, which is something we are still working to address.
Congratulations to LCC on the launch of the new site and the clever new logo!
We hope to work again with LCC and many other cycling campaign groups around the UK as our campaigner toolkit (GeoVation) project is implemented in the coming 5 months.
We've added a few new features to our www.LondonCycleHire.org website, a version of the journey planner that includes the Barclays Cycle Hire ('Boris-bike') points.
We've added live availability data, thanks to TfL's new data feed – thanks TfL for making this data open! (Disclaimer: as a third-party site, it is not endorsed by TfL).
We've also added Street View images from Google so you can familiarise yourself with the area before making a trip.
The popup links for each location enable you to 'Choose this point' as a start or finish location.
And as with our main website, you get a choice of directions and photos-en-route, brilliantly detailed data from OpenStreetMap, plus other features.
which would allow someone at that postcode to put a link 'cycle here' on their website.
This is designed so that the user needing to plan a journey would just follow the link, type in where they want to start from, and click 'Plan'.
We've been working on some more formats lately (well, actually, last night until 3am!). This is a quick 'work-in-progress' post, and we'd welcome any ideas.
You can enter /to/ or /from/, can enter postcodes, lat/lon and can add an optional label at the end. Examples:
Today is our second birthday – CycleStreets was launched on 20th March 2009.
The last year has seen a huge amount of development work, leading to new features, speed improvements, and more. However, the next six months will be even busier as the project really ramps up!
In the first year, CycleStreets planned 67,000 routes. In our second year, around 437,000 routes have been planned, and the rate of increase continues to climb. By November we had planned enough routes to cycle to the moon ten times, and in February, we reached the milestone of half a million journeys planned.
A major challenge we faced a year ago was the technical challenge of generating the routes fast enough.
A year ago, CycleStreets used a routing engine written in PHP (!) that we created for the Cambridge-only predecessor of CycleStreets – the Cambridge Cycling Campaign journey planner. It was slow, taking half a minute to plan a route across London, and taking up most of the system resources. Effectively, it was the wrong technology and didn't scale to UK-wide routing.
We held our first Developer Day, which lead to very productive discussions about the routing engine and how we could provide routes to users of the site faster. A friend of the project, George, wrote us a new engine (using Python) which lead to a massive speed-up. Then Robin, another volunteer, took the Python engine and created an even faster version in C++. This has been in place for most of the year and has quietly sat at the heart of the system, planning routes in a few GB of RAM while barely challenging the processor.
The work on the routing engine meant that we have been able continually to increase the maximum planning distance, which is now 200 miles (320km), which is well above a day's cycling! The development version of the system can even now do Dover to Cape Wrath!
Improving the routing speed was a key requirement for mobile apps, several of which signed up to use our routing through the year. These include the leading app for the London cycle hire scheme – London Cycle: Maps & Routes, plus two other excellent 'boris-bike' apps, the briliant and world-first 3D bike satnav app, Bike Hub, BikeRoute for Android and, of course, our own CycleStreets for iPhone app.
Our own iPhone app was made possible thanks to two grants we successfully applied for.
Our Android app is nearing completion, and like the iPhone app is being developed as an open source project. Thanks to our mobile developers for their brilliant work on these.
Through the year we have given various presentations and got involved with various social enterprise -related activities., such as WhereCamp EU, CamTechNet, Cambridge Geek Night and Net2Camb amongst others. These events lead to interesting discussions and also resulted in useful new contacts, such as people helping out with our mobile apps.
It was a particular plesure to give a presentation to Net2Camb as it gave us the opportunity to speak about the challenges faced by us as a not-for-profit social enterprise, rather than purely talking about technical challenges.
We have launched a funding drive for £130k to raise funds for two full-time developers. Such funds would enable the project to move forward much more quickly.
The DfT has this year been collecting cycling data which we are keen to see added to OpenStreetMap. We have since had informal discussions with Cycling England about use of the data, and how conversion of the data might be undertaken and at what cost. Discussions have been positive, and we feel this data would improve the quality of routes that we can deliver to users.
Over the year, more and more governmental bodies have been linking to us. For instance, in April, Cycling Scotland linked to us, and we are keen to work with them to help motivate people to improve OpenStreetMap data in Scotland. Others, including some of the Cycling Demonstration Towns like Chester and Lancaster now link to CycleStreets, and we have just sent a new brochure to councils around England.
Increasing the flexibility of the CycleStreets platform has been an ongoing priority.
The year has also seen a few developments on the Photomap. This is an area we would like to do much more on, as explained in our GeoVation bid for which we have now been shortlisted.
We created, under contract for Cambridgeshire County Council, a site called 'Cycling Sorted' to help manage the shortage of cycle parking in that area. We are keen to create similar sites for other Local Authorities. We have also created a similar system to support the great work of London Cycling Campaign.
OpenStreetMap is the backbone of our project, and we have been pleased to promote OSM and encourage more mapping for it. Over the summer we helped obtain a database of all the bike shops in the UK, for use in OSM, from the Association of Cycle Traders. Much of this has been merged into OSM, but more needs to be done to complete this crowd-sourcing exercise.
CycleStreets' use of open data saw it being featured on the front page of the government's new data website – data.gov.uk.
Routing quality work, however, remains our highest priority. Our aim is to provide the highest quality routing possible for cycling, using our knowledge as cyclists. Various improvements have been made recently, and we are currently working on new routing attributes and reducing the wigglyness of some routes, which is proving a difficult problem to solve with limited hardware resources.
Simon and Martin, lead developers, would like to thank a range of people who have helped out in various ways, such as Andy, Shaun and David from OpenStreetMap, George and Robin for work on the routing engine, huge support from Chris in Edinburgh, George from Camden, our mobile developers – Alan, Neil, Jez, Theodore, Christopher and Jonathan, advice and a free dev server from our brilliant web hosts Mythic Beasts, our designer Ayesha, Jeremy for occasional advice on business matters, support from key individuals at the CTC, LCC and Cycle Nation plus others in our stakeholder group, Carlton and Bike Hub, helpful ideas and data from cycle campaign groups around the UK, and of course the amazing community of OpenStreetMap contributors whose mapping makes everything possible.
Lastly, we would like to thank our users, whose cycling needs provide us with the inspiration to keep going, and who provide us with much feedback and many great ideas.
We really enjoyed the January Net2Camb Meetup event, where one of our lead developers, Martin, gave a talk 'Our Story'. Thanks to Claire for organising the event and everyone who came!
It was particularly enjoyable as it was a rare opportunity to talk about the business and competition aspects of CycleStreets, about the challenges we face, and the future opportunities for the project.
We were also pleased that a couple of people came forward as new volunteers!
Plings is a great site helping young people (13-19 yr olds) discover amazing activities and inspiration.
They've added a great new feature to their site, which adds automatic but customised 'Cycle there' links to every one of their listings! (And of course, young people are exactly the kind of people we want to see getting on their bikes more!)
If you run a listings site of any kind, it's really simple to add this to your site too!
If your site uses the language PHP, this would be as follows, using $postcode and $placename as your content values:
<?php
// Cycle there link (to CycleStreets) - with postcode and place name shown when the user gets to CycleStreets site
echo '<p><a href="http://www.cyclestreets.net/journey/to/' . urlencode (strtolower ($postcode)) . '/' . urlencode (urlencode ($placename)) . '/">Cycle there (CycleStreets)</a></p>';
// or:
// Cycle there link (to CycleStreets) - with postcode shown when the user gets to CycleStreets site
echo '<p><a href="http://www.cyclestreets.net/journey/to/' . urlencode (strtolower ($postcode)) . '/">Cycle there (CycleStreets)</a></p>';
?>
The result is a nice, user-friendly page with the destination already filled in!
If you have any other kind of website, e.g. one for your organisation, you can also make a 'cycle to us' link or badge for its contact page – read more.
We're pleased to announce the availability of a new domain name to access CycleStreets pages via shortlinks – useful for adding to Twitter and other messages.
The shortlink for each page appears at the bottom-left of the page, so you don't need to remember these patterns.
We hope you find these useful!
PS We were planning originally to use cyclestree.ts but it turns out we'd have to wait for a new country to be founded – .ts doesn't exist as a country code!