I quietly uploaded another update to the Ride Free Bike Map Creator last week. This update has been in the works for a long time and I’m glad to finally release it.

The biggest change is the complete removal of modes. Now when a waypoint is added to the map the directions are automatically printed below the main map exactly how they were in the print mode. To divide long routes into multiple pages click on the route where you want the division and the map below the main map will automatically split where the division was made. The division is marked on the main map by small white markers. The markers can be dragged to change where the route is divided or they can be clicked to remove them. Just like the waypoint markers.

Another noticable change is the new position of the elevation profile. The profile is now located below the map and spans the full width of the map for better display of the elevation. You can also click on the elevation profile to divide the route.

One of the side effects of the changes seems to be a slower load time for the elevation profile. I’m not sure how it will affect older computers so I’ve you’ve got one of those I’d love to get some feedback.

I’ve got several ideas for minor edits swirling around that I want to work on. On the list is an expanded selection of route stats, including total ascent/descent. I also want to change how the route is displayed when is is divided across multiple pages. I want to show the whole route with start and end markers for the section in focus.

It’s been a long time since I last looked at the site. Recently I got back into the swing of doing some updates and I want to give a quick rundown of the changes.

The most noticeable update can be seen on the Route Index page. I beefed up the index by adding the route description, author, and thumbnail to the index. I think it looks a lot better than it used to. The route author in the index is a link which will take you to a listing of routes by that author. Right now you will notice there are a lot of routes with the author “None.” The method I was using to save the authorship broke when I updated the page theme a while back. I’ve fixed that so routes created in the future will have the correct authorship.

I also fixed a bug dealing with loading routes outside of the countries where bike maps are supported. The bike maps wouldn’t load correctly because they weren’t being plotted with the plain directions. I’ve got that under control now so they should work as expected. If you find problems with the routes not loading try refreshing the page once or twice then contact me if it still doesn’t work.

Lastly, I’ve been doing some server side work as well. You will notice that the URL for the routes have changed from www.ridefreebikemaps.com/map-creator?route_id=59 to . This is a prelude to the next major update I’m working on. A lot of it will be under the hood things which will make sharing the routes on facebook or twitter easier and better. I think now is a good time to get that locked down because the season is approaching and I’d like to be able to share my routes with my friends. I [i]might[/i] even make a facebook or mobile app. I’ve never developed anything for those platforms so right now it’s a long shot.

You may have noticed that the elevation profile wasn’t showing up properly. The path used to calculate the elevation profile was only the last segment of the route. This was a hold over from the last big update where the route length limit was erased. Now the elevation profile is calculated over the course of the entire route.

In itself this update doesn’t really merit a post. I’m making the post because I wanted to point out the limitations of the elevation service. The elevation is calculated from 500 points equally spaced along your route. If the the points are very close and the profile will be very accurate. If the the points will be spread out and the route will be inaccurate.

According to signal detection theory you must sample twice as fast as the signal you are trying to measure. In other words, if you want to find the height of the peak of a hill you will need to take elevations that are separated by only half the width of the peak. So if the peak of the hill is only 50 feet across you will need to take elevation measurements every 25 feet. Given that there are at max 500 elevations taken from a route, that route will be only 2.367 miles long. This example may be a bit extreme but it illustrates how the elevations can be inaccurate.

Keep this in mind when bragging to friends. You can always say the hills were even taller because the app missed the true peak of the hill.

It’s been a long while since I coded something for the site. The other day in Bellingham was pretty cloudy so I started working on getting rid of the waypoint limit. Today I finally updated the site software so there is no longer a limit on the number of waypoints!

I got around the limit by chopping the route into sections and manipulating the sections individually. Prior to this I would recalculate the entire route if anything was changed. This also makes the directions results a bit better. In the prior version the route was calculated all at once and Google’s bike route finding algorithm would sometimes produce weird results. I don’t know why this was happening but I have a feeling that it was some effort to avoid bad streets for riding on and keep a forward direction. Now if you see weird routing going on you can just force the route by adding extra markers.

Even though I got this working really well there is still a couple of big bugs in the program. Most importantly the maps can’t be printed well. It has to do with the way that the map is displayed by the API so I can’t fix the problem. I can convert the printable maps to static images to get around the problem. I may do that, I’m not sure. Secondly adding pages to loop routes is pretty tough. When ever a route crosses out of and back into a page the app has difficulty with that. Especially if the route start and end points are in the page. I’m not sure how I’ll fix that guy but I am aware of the problem.

The weather up here in beautiful Bellingham, WA has turned really nice so I’ve been finding more and more reasons to get out and enjoy it. That means I’ve been working on the site a lot less lately. I did make a small bug fix a while ago that I just got around to posting.

Prior to the update saving routes in outside of the USA using the Members Only Map Creator would result in an error when one tried to load the route. The error had to do with loading biking directions in countries where it isn’t supported.

I also cleaned up the save message. Now the message is displayed with an infowindow on the map. The infowindow includes a success/failure message and a link to the newly created map. In the future I plan to make some sort of sharing happen from that window.

I’m not sure when I’ll get around to working on the site some more. I’ve got a few ideas kicking around but I’m also waiting for Google to fix some bugs on their end too. Specifically the 10 way-point limit and a printing bug. I haven’t mentioned the printing bug before. I just discovered it this weekend when I went to print out a route. The map now shows up as a background picture so most printers default to ignore the map when printing. I’ve read that you can get around this by changing some settings in the print dialog. While it probably works it isn’t a real solution.

I finally decided to add support for creating maps outside of the US. I heard feedback from a couple of users who wanted to use the program for routes outside of the US but were unable to. Today I found time to tackle the problem. The problem arose when I moved to the latest and greatest version of Google’s Maps API. I wrote the program so that it defaulted to using bicycling directions. Unfortunately this is only works for routes in the US, bicycling directions are not available internationally.

In effect this rolls back the directions to how the site used to function. The app asks Google for driving directions which avoid highways. The change in directions only occurs when the app asks for directions. If a route is already plotted you will need to change it slightly to get the new directions. This produces routes that are optimized for time and distance. The distance optimization is fine for cyclists but the time is not. The time is calculated using the assumption that one is driving a car so high speed roads are favored. This will create routes on roads that are undesirable for cycling. On the other hand, if you are a hardcore road rider this may work better for your routes. It will avoid all trails and put you on roads with the least amount of stops. I personally favor roads over trails but I have a good set of mental blinders for heavy traffic.

Lastly I’d like to thank April and Condor for the heads up about the problem. So go try out the new option and let me know what you think!

I just made another update to the bike map creator!

Elevation Profile: This is what happens when I don't have any good videos to watch on my computer.

I was thinking about using Google’s elevation service today so after work I checked it out. As it turns out it’s pretty easy to use. So after about 30 min. of tinkering I got elevation routes enabled! They show up when you move to print mode next to the overview of the route. Currently they don’t have a distance scale but I’ll add that in soon.

I’d also like change some of the behavior of the elevation profile as well. Currently you can click on the profile and it will tell you the exact elevation of that point. I’d like that point to also get highlighted on the map as well. I don’t know if this is even possible but if it is I’ll make it happen.

Hope you enjoy the new function!

Ever since Google announced that they added a bike map option to their popular mapping software I’ve been working on incorporating the new directions into my map creator. Today I’m happy to announce that I’ve finished updating my code and I uploaded a new version of the map creator!

Here’s a list of the changes:

  • Added support for bike there directions. The map creator will now plot routes according to Google’s bike there option. Prior to the update the routes were just based on shortest distance and fastest traveling time, for an automobile (without traveling on freeways). This prevented the map creator from plotting routes that used trails or back roads which are more suitable for biking.
  • I’ve gotten rid of the ‘Plot Mode.’ Now every time you click on the map it creates a new way point and plots directions to that way point. No need to click ‘Plot Route’ anymore.
  • Way point markers are now draggable. If you decide that the way point isn’t in the right spot you can drag it to a new location. Your route will automatically be re-plotted.
  • ‘Start Over’ has been moved along side the ‘Print’ button and won’t disappear when you change modes.


Additionally I changed the position of the ‘total distance’ text as well. This isn’t really worth making a bullet about it but it is an indication of a future feature: route elevation profiles! Shortly after Google released their ‘Bike There’ directions they also added an elevation service to developers. Eventually that boring white box will include a neat elevation profile as well!

As always I’d love to hear your comments about the map creator. There has been a lot of dissatisfaction with the biking directions in the blogosphere. If you find that my app isn’t giving useful directions let me know.

I got the idea to write this post after experiencing the awesomeness that is the bike maps update that Google rolled out the other day. I love the update, route creation is super easy compared to what it was and I’m working on assimilating those same changes into my web app. That said there is still one aspect where Google bike maps is lacking when compared to Ride Free Bike Maps and that is how the maps are displayed when printed.

I’ll back up a second and talk about why this matters. For an everyday rides getting to a destination, say a seaside park, you probably don’t need a map. If you don’t know the best way to get there looking it up online may be all you need. That all goes out the window when you want to ride someplace you haven’t been. A friend of mine posted this on one of my online updates: “You need a map to ride a bike? Ok…” I responded with a link to one of my experiments with the new Google bike maps, . I’ve ridden that. The maps I carried were absolutely essential to the ride. I had to know where I could stop to eat which I did, ravenously, every 15 miles. A more common use would be to create a map for a shorter in town ride, say riding around Lake Samish from Bellingham. In the end you may not need a map but when you do it can make a big difference.

On to the comparison!

This is a scan of the printed Google maps we all know and love. It gives directions, step by step, and allows you to add in small maps of every turn. In this map I plotted directions from Seattle, WA to Bellingham, WA. These first few turns are all in downtown Seattle. There is a lot of traffic down there and you have to be on top of making all those turns. Doing this with a print out of from google.com isn’t going to be easy. The space that a cyclist has to display a map isn’t very big. My map holder measures about 9 X 5 inches (23 x 13 cm for those of you who use civilized units). Those dimensions are about what is pictured to the left except for the section with distances. So if you slid those directions in your map holder you’d have to stop after 4 miles and change maps. I can live with that when you are riding in the city. Directions get more complicated and you really need those maps just in case you get turned around. However! There were only two map panels in the Google page. I could have added more but then I’d get a lot less directions on a single page. Using one map for multiple turns isn’t really great either because they are so small and you can’t see that much in them. You need something better if you are going to be using it in the saddle.

From the first line of code on, I built the Ride Free Bike Map Creator to be used in a printed form. The first thing I did was figure out the conversion rate of pixels on the screen to inches on the page (96 dpi) because that was most important to me. The second thing I did was get rid of most of the elements in the page that didn’t need to be printed (I know there are ads on the top, I’m gonna fix that soon). The whole design of the app revolves around that black rectangle that encloses the maps when printed. I could have made the map bigger in the non-printing stages of route creation. It would have made it a lot easier and faster to create way points. I didn’t end up going that route because I want users to think about how the map will ultimately be used in a printed form.

On that note let’s get into the features of my maps that work well with the printed form. The first page of every route is an overview of the entire route. Ultimately I want to use the blank space on the side for statistics about the route. I’m not super worried about it right now because I’m working on some more fundamental aspects of the app. Note the 9 x 5 size, fits perfectly in a Bike Map Holder! Wow! Note I printed using the traditional ‘portrait’ orientation of the page. This actually scales down the size of the maps. If you print in ‘landscape’ mode they will be printed full size.

Below the route overview the map shows about one mile of travling city streets in Seattle. My maps have a viewpoint that allows you to see your route and surrounding the area. The only limit on detail is how much you zoom the map. I designed my app this way so you could get back on route if you ever made a wrong turn or missed a turn. On the right side of the page I’ve got all the turns spelled out with the distance to the turn from the beginning of the page. That way you know when a turn is coming in two forms, distance and pictorially. The last distance on the page is the distance to the end of the page from the beginning. That allows you to reset your distance measurements when you change to a new page.

The last picture shows a page I created where the route goes into a long stretch of no turns. I printed this just to show the compromise of detail in action. You can see that this page shows 16 miles of the route. It runs from north Seattle to north Lynnwood, all of it along hwy 99. I opted for this view because I didn’t want to waste paper by printing a lot of pages just to ride a small distance. At the same time I still wanted a bit of detail because I’d be riding through the city.

When it comes down to it, this site is an add-on to Google maps. I’ve taken data from Google and massaged it into a form that is much more useful to cyclists. There isn’t anything unique about this data. That’s the whole point. Maps as content are public knowledge. What a good map does is take several sets of data, say street names, street locations, mileage, and combines them into pictorial representations with a high degree of usefulness. My aim with this site/app is to do just that.

Today Google announced that they added a bike there option when asking for directions in Google Maps. Needless to say many, many people were pleased to hear the news. I’s been covered by nearly all the blogs I read about these subjects, such as:

I won’t go over how cool this feature is except to say that I recreated my entire tour route from Blaine, WA to San Yisidro, CA using Google maps in about 20 min. It’s that good. Go see how awesome are for your self!

This has two big effects on my app. First, finding directions will be worlds better. Currently you have to add a bunch of way points to get a good route that follows bike friendly roads. With the bike there option for the maps nearly all of that will vanish. The directions service by Google will do that for you. Secondly, this will push me into another big round of development. My app uses the 2.0 version of Google maps and the bike there option is only available in version 3. That means I will have to rewrite nearly all of my app to get this to work. While I’m not very excited about the prospect of doing that the end result will definitely be worth it.

Until I get V3 working I’ll occasionally add more featured routes so keep checking back or better yet subscribe to the RSS feed.