Donate using PayPal

CycleStreets blog

News from CycleStreets

Archive for the ‘Uncategorized’ Category

Welcoming our new intern, Patrick

Tuesday, 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

Wednesday, 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 on Cyclescape

Tuesday, April 7th, 2015

We’re very excited to announce a major new feature on Cyclescape, our online toolkit for cycle campaign groups: 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.

Cambridgeshire Cycle Challenge

Friday, September 19th, 2014

This year the Cambridgeshire Cycle Challenge is running from Monday 15th September to Sunday 12th October and is a fun and FREE web based competition to see which businesses can get the most people cycling over the four week period. There’s still time to sign up!

The Challenge is open to all businesses in Cambridgeshire and aims to increase the uptake of cycling by encouraging more new people to cycle to work and spur on people who already cycle to do so more often. Following on from Le Tour de France’s exciting visit to Cambridge and South Cambridgeshire in July, the Challenge is a great way to continue the cycling spirit. Any member of staff can take part by initially registering on the challenge website.

Challenge partners

Cambridgeshire Cycle Challenge

Once registered participants record every journey they make (both to work and for leisure) during the four week period, on the website via computer, or on a tablet/smartphone. For tablet and smartphone users a PleaseCycle mobile app is available for free to download and includes GPS functionality so that journeys can be tracked as the user cycles and are automatically logged to their account.

There are lots of prizes for different categories of riders (e.g. novice, rusty rider, intermediate and advanced), awarded weekly as well as overall winners – so regular cyclists will not ride off with all the prizes! In addition prizes will be evenly distributed around the districts of Cambridge City, East Cambridgeshire, Fenland, Huntingdonshire and South Cambridgeshire.

CycleStreets is one of the partners, with our journey planner available within the website:

Cambridgeshire cycle challenge journey planner

The website also includes facilities to enable employer office locations, departments and teams to compete against one another as well as other employers. This is a great way to encourage friendly rivalry and at the same time promote cycling.

The Challenge is being run by our friends at PleaseCycle and Outspoken on behalf of Travel for Cambridgeshire (formerly the Travel for Work Partnership) and Cambridgeshire County Council.

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):

 

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

My comments relate to: *






Your comments: *
URL of page: * http://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.