Showing posts with label TrailCentral. Show all posts
Showing posts with label TrailCentral. Show all posts

March 14, 2010

Spambots Suck!

Today I had the misfortune of having to deal with a spambot on TrailCentral. What a pain in the ass! This bot caused two pain points for me today. One, I had to spend the little time I get to work on the site fixing the local bike shop rating form instead of working on fun, innovative stuff for rlog. The second pain point was that I got an email every time the bot left a bogus comment, which wouldn't be so bad except the email account is hooked up to my Blackberry, so my phone was constantly notifying me of new mail. God that was annoying!!!

In any case, the problem has been fixed. A couple years ago I started allowing anonymous comments on the local bike shop rating form, which is what the bot exploited today. It kept leaving anonymous comments... So, to fix it, I simply added a captcha image which is required to submit the form. I'm glad to say that I haven't gotten a single bot submission since I added captcha to the form! WhooHoo!

Though I have the fix in place there is still some cleanup to do. I have several hundred bogus ratings I need to backout, but that will need to wait for another day.

I leave you with a simple message.... "Spambots Suck!!!!"

December 12, 2009

TrailCentral.com 2.0 Has Officially Launched Today.

Months and months ago I made the plunge and bought a dedicated server to bring TrailCentral.com out of the world of shared hosting and to breath some fresh air into a site that has been dormant over the past several years.

For months I've been plugging away at the upgrade, working in my basement in the middle of the night in hopes that one day I'd actually be able to launch it. Well, that day has finally come! As of today (12/12/2009) I switched the DNS from my old server to the new server.

Within hours of making the switch, the server crashed. Needless to say, there is a lot of work still to do and TC 2.0 is buggy. The server has since been restarted and even with the growing pains I'm currently experiencing with the new server I still love what I see. The site is cleaner, much of the code has been optimized, I've "End Of Lifed" many of the areas of the old site that I didn't have time to maintain, while adding new features such as rlog to the site.

I'm excited about the new era of TrailCentral and the launch today couldn't have been possible without the help of a couple of good friends: Zach, who without his operations expertise I never would of plunged into the world of dedicated servers and Matt who has really plunged in head first and helped out a lot with the new rlog feature. Thanks guys!

If you have a minute, stop by the site, post a message to the forum, or drop me a line and tell me what you think. You can visit the new site at http://www.trailcentral.com


August 12, 2009

TrailCentral.com Is Slowly Sinking... But There Is Hope.

It has been a while since I've posted anything regarding my website, TrailCentral.com (TC). The reason I've been quiet about it is because I haven't been working on it in over a year. Yikes! Well, that would be a true statement about 3 months ago. Let me explain.

About three months ago I had a hard decision to make because I noticed that the path TC was on meant one of two things: Continue to neglect it's operational needs and let it implode on itself or upgrade the server.

This was honestly a hard decision because my priorities in life have changed a lot to include family, work, fun, and much more. When I looked at it in terms of priority it seemed TC was always on the low end of the priority list. However, it is like letting go of a family member. If I think of all the lost sleep and energy I put into creating the site, it would be a hard pill to swallow to let it implode on itself and forget about it.

I know big time investors and business people would say, "Cut it loose and focus your energy on the next big idea." I agree with the statement when it comes to business, but TC has never really been a business. One of the most important things I've realized in my time away from TC is that it is not a business and honestly, I don't ever care if it becomes a business. What I care about is having a place where I can continue to play with new ideas. A place where I can explore the world of web development and system management. Most importantly a place where business need does not dictate what I develop, but a place where instinct and effort allows me to develop anything I want about a sport I am passionate about.

So after all that long winded rambling can you guess what my decision was regarding TC? Should TC sink or swim? I choose swim... but not an Olympic freestyle king of swim; more like a doggie paddle.

Three months ago I made a plunge and purchased a dedicated server. This single element (system management) has always been a black hole on my radar. In the past I've always developed code. If it worked... great! If it blew up my system... I always was able to call the 1-800 number and have an operations expert help me to get it rolling again. Honestly, I wouldn't have gotten a dedicated server without the help of a good friend I work with named Zach. He's an operations guy and knows his stuff. Plus, he is willing to let me ask really stupid questions and answers me with somewhat of a straight face.

Since I've started running the system I learned something; it isn't as intimidating as I thought. In fact, it has helped my development by allowing me to see how my code is running on my server. I no longer think in terms of getting it to work. I now think of it as getting it to work with performance and stability. Pretty cool!

I didn't make my decision a moment to soon. In fact, since working on the new server I've noticed that the old site has been acting up a bit, as if it knows I'll be shutting it down soon. I receive daily notices that I'm reaching the capacity of my current server. Each time I hit the ceiling it causes my database to lock up and at times takes down the entire website. It is ugly and I'm sure it isn't a pleasant user experience.

However, there is hope. I'm reaching the end of my development and hope to have the new server turned on in the next month or two. I'm making a lot of changes. I will E.O.L. several areas of the website that require a lot of effort on my part and I'm trying to enhance areas of the website that require community. This way the site will stay as fresh as the community that uses it and not look dated because I haven't updated it. While optimizing the performance I have also been updating the look and feel of the website, which was something I've wanted to do for a long time.

So the short of it is I hope you hang in there with me. I realize the old server is sinking and nobody will be more pleased than me when the transition to the new server is done. There is hope... There is a light at the end of the tunnel... and thanks to all of you who have been a part of my journey with TC. I'm happy to say the journey is not yet done.

March 23, 2008

I'm On A Roll... Actually, A Mountain...

I'm on a roll. Actually, A mountain, but you'll get my point when I take the time to explain.

I've just posted the second Trail of the Month for 2008, which given my record over the past year is an amazing accomplishment. For some reason in 2007 I only posted one Trail of the Month. So I believe that makes it a "Trail of the Year," but lets not get caught up in semantics.

I have a New Years resolution to write one more write-up than last year. I'm not the type to set myself up for failure by expecting myself to write twelve even though that would make it a true "Trail of the Month."

Well, I've officially met my goal and the pressure is off. Anything posted beyond this is icing on the cake. Having met this goal and not having anything more to prove to myself makes it more likely that I'll continue to post future Trail of the Months. I don't know if you are anything like me, but I tend to perform better when there are no expectations to live up to.

Having said that, the roll will continue from here. But before I get ahead of myself I think it is important to bask in the glory of my accomplishment by letting you know what I wrote about this month.

A couple weeks ago I stood on the top of Mt Bierstadt with my buddy, Dwight. This 14er is located in Clear Creek County and is the subject of the March 2008, Trail of the Month.

As I said, by standing on top of the mountain I'm able to say I'm on a roll. A roll I hope will continue. Time will tell.

March 4, 2008

How To Join a Ride Proposal...

Yesterday I documented how to create a ride using the new ride proposal functionality on the TrailCentral.com trail pages. Yesterday I walked through the flow of creating a ride proposal from beginning to end. Today I'm going to pick up where I left off and document how easy it is to join a ride that has already been proposed.
Assuming a rider has previously submitted a ride proposal for Hall Ranch, a link labeled 'View Rides (x)' is displayed with 'x' representing the number of ride proposals currently active for this trail. By clicking on this link you will be anchored to the Ride Proposals section of the trail page, where ride details including the date, time, number of riders, and ride notes are displayed for each active ride. In addition, two new links appear for the ride and they are labeled 'Join This Ride' and 'View Rider List.'

If you choose to click 'View Rider List' link the page will expand and a list of all riders currently on the ride roster are displayed.

Ride roster includes the riders names, experience level, where they will be commuting from, the date they joined, and contact information. When you are done reviewing the roster, simply leave the page expanded or choose to hide it by clicking 'Hide Rider List.' The page then contracts and leaves only the ride details displayed. If you would like to join the ride, click 'Join This Ride.'

One of the benefits of being registered with TrailCentral and being logged in when joining a ride is that you are able to eliminate a step in the process, which collects the joining rider's information. Since you are registered with TrailCentral your information will be accessed and you will be quickly and painlessly added to the ride roster.

If you are not registered when clicking 'Join This Ride' the page will expand and you will see a form asking for necessary information before being added to the ride roster.

Non registered members will be required to add their name, experience, and email address. If they choose to 'Cancel', the form collapses from view and the roster is not updated. However, if the required fields are entered and 'Join This Ride' is selected, the form collapses and the rider is added to the ride roster.

When the rider is added to the list the leader of the ride will be notified by email if they chose to be notified when creating the ride proposal.

That is all there is to it. This functionality is extremely simple and whatever mystery their may have been I hope the previous documents have cleared it up. I hope the popularity of this feature increases with the new ability for non registered users to create and join rides. More importantly, I hope this functionality makes it easier for you to hook up with other riders who want to ride a trail with you.

March 3, 2008

How To Create A Ride Proposal...

Creating a ride proposal is now easier than ever and the intention of this document is to outline the process in which a non-registered user of TrailCentral is able to create a ride proposal. It is important to note that both registered and non-registered users of TrailCentral are able to create these and although some benefits are offered by being registered it isn't necessary. When differences do occur between registered and non-registered users I will note these differences.

The first major change is that the ride proposal functionality has moved to the trail pages. So, visit a trail page (Hall Ranch). If no rides have been submitted the top navigation will look like the image below where a link labeled 'Propose Ride' is available. If rides have been previously added, the link will be labeled 'View Rides (x)', with 'x' denoting the number of active ride proposals for this trail.


By clicking the highlighted link above labeled 'Propose Ride' the page will anchor to the Ride Proposals section of the trail page as seen below.


Click 'Submit Ride Proposal." The page will expand and a form will be displayed. This form automatically populates the ride date with the current date and the rest of the form fields will be blank. However, if you are logged in, your name, experience, location, and email will be pre-populated. Even though fields may be pre-populated it is understood that privacy may be a concern, which is why all fields are editable.

When creating a ride you have an option to be notified by email whenever a person joins your ride. This is defaults to 'No', but for those who are not interested in checking the website for their roster status should set this option to 'Yes.'

If clicking 'Cancel' the form will collapse and no saves will be saved. If 'Submit Ride Proposal' is selected the appropriate processing will be done and assuming all checks pass the ride will be added to the database. You will see a 'Congratulations!' message in place of the form

At this point your ride has been successfully added to TrailCentral and it will be visible to all those who visit this trail or subscribe to the RSS feed. If you wish to see your ride; simply refresh the page.

After refreshing your screen you will notice that your ride details will be displayed on the screen. In addition to the 'Submit Ride Proposal' link you will now see the option of two new links labeled 'Join This Ride' and 'View Rider List', which will be covered in a different post.

You can add as many ride proposals as you wish to a trail. If you wish to add more ride proposals to other trails; simply navigate to the trail you wish to add a ride proposal to and follow the same steps outlined in this post.

If you do not see a trail that you want to create a ride proposal for you simply need to add the trail to the directory by uploading the GPS data to TrailCentral and creating a trail page.

Next, I'll document how to join a ride.

Stay tuned...

New Ride Proposal Functionality On Trail Pages...

For the past week this blog has been rather quiet, which can mean one of two things. I've been abducted by the cute, but sometimes scary gnomes that live in my garden -or- I've been nose deep in my code inspired to make TrailCentral a better place to surf. Lucky for me (Those gnomes can bite, you know?), I've been inspired to code.

I've been busy making improvements to the section of the trail pages that allow you to submit ride proposals. What is a ride proposal? Well, it was my attempt at making TrailCentral a bit more Web 2.0 before it was cool to say "Web 2.0." Truly, I had the idea of ride proposals years ago and it was simply a method to allow members of my site to propose a time and a place to meet for a ride. Other members would then be allowed to add themselves to the ride roster. Really, it is a simple way to organize a ride with others riders who may be friends or future friends that want to ride with you.

I always thought it was a cool idea, but I never truly implemented it correctly, which in turn never gave it a fair shake at being successful. Let me explain why.

First off, I use to only allow members of my site to create and join ride proposals. In hindsight, this was a big mistake and vastly limited the usefulness of the feature. I've changed that and I now let anyone create and join rides.

Plus, I upgraded the method in which a rider joins. It was once a clunky series of screens and drop down that you would have to navigate. Now, thanks to AJAX, I do everything on the fly and it doesn't require a single page refresh, which makes creating and adding rides a more efficient process.

Finally, ride proposals are available in a feed, allowing you to know whenever a trail on TrailCentral has a ride proposal submitted. I updated the code today and for some reason I was limiting the ride notes to 250 characters, which was nothing sort of a dumb thing to do. What was I thinking? The web is meant to be free and if you want the information, you should get all of it, right? Well, I fixed that and now when you subscribe to the feed, which I encourage you to do, you will be notified in your reader within hours of the ride proposal being submitted on TrailCentral.com.

So, this is actually just me writing for the sake of writing. I plan to write several more posts about the new functionality as a means of documentation. I hope you will take the time to read them because although the functionality is incredibly simple to use it is also nice to know exactly what it does.

Stay tuned...

January 29, 2008

Small Details Can Make A Big Difference

I never use to be a person who was patient enough to deal with the details. When I was younger I worked construction. I was a framer because when framing the only thing I needed to worry about was the measurements. If the the wall was a quarter of an inch off or a bit out of plumb it only took a few good thwacks with the hammer and it was good.

I'm getting older and the muscle is starting to be replaced with patience. I can no longer rely on brute strength to put up the wall. Now I must plan things and focus on the details before I attempt to start putting the wall together. In doing so I've learned something; it makes the work a lot easier!

All the time I thought I was getting it done quickly by using force, but I learned with a small amount of planning I'm now able to execute a plan in a fraction of the time with half the work.

For example...

Last night I spent a negligible amount of time converting my copyright information on TrailCentral. A month into 2008 and the copyright still read 2007. I could have done the quick fix and simply changed the hard coded copyright, but then in eleven months I will need to remember to do it again. No thanks.

By simply making my copyright year a variable instead of a hard coded value I am able to save myself from the hassle of dealing with this same change next year.

It seems like such a minor detail, but I'm learning that when you are building it isn't just the functionality that makes something great, but also the peripheral details which work together to enhance the experience of the functionality through the eyes of the user.

For this reason the details should be purposeful and not overused. Otherwise, the details will overwhelm the functionality and hinder the users experience; something I plan to address this year.


"God is in the details."
~ Mies Van Der Rohe (architect)

January 23, 2008

Trail Pages Get Right To The Point.

This last week I've been working on new functionality for the trail pages which will show point-to-point driving directions for most trails in the trail directory.

Previously, if there were trail head coordinates a form would be available on the trail page where a user could enter a starting address. Upon submission of the starting address I would redirect the user to Google Maps where driving directions were available.

Now, thanks to the Google Maps API team, I'm able to display those same directions on TrailCentral.com.

Let me break down the new functionality with the following example:

1) A user visits the White Ranch trail page. White Ranch is near Golden, CO. When they look at the driving directions they will now see two new links.

2) The first link will default to the nearest city to the trail. In this case it is Golden, CO. When the user clicks the link the page expands and shows both a map and driving directions from the center of Golden, CO to the White Ranch trail head.


3) Well, if the user is driving from Boulder, CO that isn't much help, which is why the user can then click the "Change Start" link. A form is then displayed for the user. Here they can choose to cancel or update their starting location.

4) If the user enters "Boulder, CO" and clicks the "Update Starting Location" button the page is reloaded and they are again able to choose between updating their starting location or showing driving directions to White Ranch from Boulder, CO.


5) When the user clicks on the link to get directions from Boulder, CO to White Ranch in Golden, CO the map and driving directions are again displayed. This time from Boulder, CO.


The cool thing about updating a starting location is that the new location is stored as a cookie and is now the default starting location whenever the user loads a trail page that offers point-to-point directions.

6) Sometimes the user may be on a public machine and does not want their starting location stored in a cookie. In that case, they can simply click the "Forget Start" link. This will destroy the cookie and once again the default start location will be the nearest city to the trail.


It is as simple as that. In hindsight I did the best I could when writing the original directions, but even I get confused with my directions when looking at them months or even years later. This new functionality will eliminate that confusion for me and others since precise directions from any location you specify to the trail head will now be available.

I hope you will enjoy this new functionality as much as I do.

If you are interested, go ahead and give it a try by visiting the White Ranch trail page.

January 15, 2008

Sort Added To County Trail List

This past week I've added a rather simple, but much needed addition. Each county page (ex. Boulder County) in the trail section shows all the trails that are available. In the past the list of trails was not dynamic and the trails were sorted by Trail Type, City, then Trail Name.

Now the visitor is able to select what column they would like to sort by. The list will default to the previous sort, but now visitors will see links in the upper right hand corner of the trail list. By clicking a link they will see the trail list sort in order of their selection. Trails are now able to be sorted by Trail Name or City or Difficulty or Rank.

For instance:
If a user clicks 'Rank' the trail list will re-sort the trail list by rank from lowest to highest. If they click the 'Rank' link a second time the trail list will re-sort by rank from highest to lowest. In the upper left corner users will see the current sort that is being displayed.

I think this makes for a more interesting glance at the county trails and will help visitors locate trails quicker as well as offers a quick glance at how visitors have ranked the trails in the county from favorite to least favorite.

January 7, 2008

Cleaning Up Trail Pages With AJAX.

As I mentioned in a previous post; the 2008 season will be all about website usability. As a baby step I have revamped the way the user is able to post comments to trails on TrailCentral.com.

Here is a breakdown of the changes I have made to the trail pages:
  • Comments are now paginated.
  • Visitors are required to login before posting a trail comment.
  • If the user has previously rated the trail they will be unable to rate it a second time.
  • Users are able to edit comments previously submitted.

Now for a bit more detail...

Comments are paginated:

Previously, all comments were displayed when loading the screen. If their were a lot of comments the page would be pretty long. I changed it so only the 10 most recent comments are displayed when the page is first loaded. If visitors would like to see more, they simply need to select a link to the next page. The cool thing is that this doesn't require the entire screen to reload. Instead, only the section of the web page that displays comments is reloaded with the next 10 comments. This makes for a much more compact and efficient method of viewing trail comments.




Visitors are required to login before posting:

Visitors are able to view any comment in the trail directory. However, to ensure that we continue to receive the best reviews possible, I am requiring visitors to be logged in to post a comment. Once they login, they will then be able to see the form that allows them to add a comment.

If the user has previously rated the trail they will be unable to rate it a second time:

The purpose of this is simply to keep people from rating the same trail and skewing the results. Once the form is used once to submit a comment the form will not be seen again. However, some people will change their mind about a trail rating, which is why I allow comments to be updated.

Users are able to update previously submitted comments:

If a user has previously submitted a comment for a trail they are now able to update it by simply clicking on a link that appears under the comment, which is labeled "Edit My Comment." By clicking the link the comment is replaced with a form pre-populated with the previous comment (page refresh is not required). The user is able to modify any part of the comment and submit it again. The page rank is then recalculated and displayed in the comment list. The comment is updated with the current date and the next time the first page of comments is loaded, the updated comment is displayed as the first comment.

These changed have been implemented using a new method of coding that Google made popular called AJAX. This allows only certain areas of the web page to be modified without causing the entire page to reload. This makes for a much more efficient and usable means of leaving trail feedback.

I look forward to many more changes as I clean up TrailCentral using AJAX.

January 2, 2008

Usability Will Be The Focus in 2008

When you are the only person working on a website you are required to wear lots of hats (i.e. Webmaster, Product Manager, QA, Customer Service, etc.). When you wear all these hats at the same time it is very easy to get off track in terms of development.

Coding is done by the seat of your pants and what gets your precious few hours each day is usually decided by what sounds cool or what you feel like working on at that moment. This means that areas truly needing your attention can easily be overlooked. For years I've added a lot of new areas to TrailCentral, but it has come to a point where the number of hours I dedicate to the site does not allow me to properly maintain them all.

Well, in 2008, that is going to change a bit.

During the winter months I will be spending a lot of hours on TrailCentral. That time will not be dedicated to new development. Instead I'll be looking back at what I've created and work to make it better.

Making it better may come in different forms. In order to make some things better I may need to re-write the code or it may mean that I have to remove an entire section of the website. Don't worry, I won't be doing this willy-nilly, but with a close eye on usability.

For instance, when looking at TrailCentral analytics I can easily see a trend. Visitors really enjoy the trail information on TrailCentral.com. However, uploading photos does not interest them much. So my initial reaction is to spend time making my trail pages and GPS maps as usable as possible and possibly removing the photo gallery. Truth be told, I've had this goal for a while and I have already started to make changes.

I'm taking a much different approach to my development this year and I'm really looking forward to the end result. I truly think by the end of 2008 I will have a paired down version of TrailCentral, which is incredibly interesting, and more importantly; relevant and usable.

The way I figure it; I can create a good website that covers many areas or I can have a great website that focuses on a couple areas. I choose the latter and will post to this blog many of the changes you will see in the days/weeks/months to come.

Happy 2008!

December 14, 2007

Collaboration Is Key To Revival Of Extra Dirt!

Over the course of the past two years a section of TrailCentral.com called Extra Dirt! has undergone several identity changes. At first it was a news and review section, then it was kind of a catch all for any trail write-ups that didn't fit in the Trail of the Month, then it had several great reviews and interviews written by Kyle Henley. However, it never produced enough content on a regular basis to make it interesting for visitors to TrailCentral. As a result it has hit rock bottom in terms of the number of views it receives on a daily basis.

I hope to change that and I believe that collaboration is key to the revival of Extra Dirt! I would like to collaborate with several other authors who have a passion to write about mountain biking or have a strong personality that mountain bikers would find interesting to read.

I've already spent time revamping Extra Dirt! this past week and I've made it easy for anyone who wishes to contribute!

I know what some of you are thinking, "What's in it for me? Sure, you get content, but what do I get?" Over the past several months TrailCentral has again become my passion and more importantly a hobby. I'm able to handle the costs of hosting and I love to develop it, so I'm not interested in the business side, which requires that I make money from the site. In fact, I'm proposing that I don't make any profits from your content. Instead, I hope you make profits from your content posted to Extra Dirt! on TrailCentral.com and this
is how I propose to do that.

Those who submit content will need to have a blog and a Google AdSense account. When visitors click on your article in Extra Dirt! they will view your glorious written words as well as dynamically generated ads by Google. When those ads are click, you (not I) will get credit since it is your AdSense ads being served. In addition, links to the original article and the blog from which it came will be included.

This seems like a win-win situation for the author, doesn't it?

So let me recap in super simple bullet type formatting.

All you need:

  1. Blog with an RSS Feed (Blogger, WordPress, TypePad, etc...)
  2. An AdSense Account
  3. Written Words: reviews, write-ups, news, personal training log, industry thoughts, whatever!

What you get:

  1. Your Google AdSense ads displayed whenever your article is read.
  2. All money generated from your articles goes into your pocket.
  3. Links from Extra Drit! to your blog, thus increasing your blog traffic (read: You are potentially making money to attract visitors. The more you write the better chance you'll make money.)
  4. A filtered look at your blog. You can write about your pet dog on your blog and not worry about it showing up in Extra Dirt! However, write about cycling and it will appear in Extra Dirt!

What I get:

  1. A revitalization of Extra Dirt!
  2. A repository of some of the best sport specific content in one location.
  3. A collaborative effort that will introduce me to new people and friends that love the sport.

If you are interested (And I hope some of you are) in becoming a contributing author, please let me know by contacting me at [trailcentral at gmail dot com].

December 11, 2007

Tour Trails Live Using Google Earth

A couple weeks ago I read about a new mashup Lijit had created called Lijit Live 3D. This mashup place marks searches done on the Lijit Network and flys you to the location on Google Earth. I downloaded the KML file and it was indeed entrancing for a couple minutes. I honestly thought, "That is cool! I don't understand why they did it, but it is cool." I envision it being one of those cool ways to display your success in an office foyer.

Much like Google would project all the searches currently being done on a wall. I imagine this to be a 2.0 version where those same searches are now being represented geographically. A cool approach to display information that is otherwise pretty boring.

While reading the blog post (Lijit 3D Live With Google Earth), it stated that development of this mashup was "trivial." That intrigued me. I don't necessarily know why that sparked my interest. I consider Google to be masters of simplicity. I've never known them to over-engineer the apps they allow hack developers like me to play around with.

After I closed the KML file for Lijit Live 3D I didn't expect I would revisit the mashup.


Throughout the next week it was business as usual, but every now and then I would think of the word "trivial" as used to describe the ease in which the mashup was created. Oddly, the term "trivial" turned into "How did they do that?" Finally, curiosity got the best of me and I decided to sit down on my computer and figure out how they did it.

A couple trips to the Lijit website, a few minutes reviewing the Google KML documentation, 2 cups of coffee, and 1 hour later I had it figured out and working on TrailCentral. I then spent another 5 hours making it pretty.


So would I call it trivial? Yeah, I think that was a good choice of words. The amount of work done for the amount of "cool" you get makes the development "trivial."

So imitation is the highest source of flattery, but in today's world you need to not just imitate, but build upon. Obviously my website is a directory of trail information, maps, and local bike shops, which is much different than what Lijit does.

Lijit has a large user base which makes the Google Earth map zip around the globe. TrailCentral is Colorado based and focuses on mountain biking. During the month of December it receives about 1/17 the visitors it gets during the peak seasons of Spring, Summer, and Fall. So currently it lacks the zippity-zip-zip that entrances visitors of the Lijit 3D map, but there is a silver lining.

The live map I created basically allows those who view the map to take a tour of TrailCentral, while being guided by visitors currently browsing the website. It will lack the zip, but in its place I've added information about the last trail or bike shop visited on TrailCentral.

This currently isn't live on my website (meaning not everyone can access it). I'm currently only giving those who read this blog the ability to take it for a spin. (read: Aren't you special....)

However, I can talk about it all day or you could just download the KML file and check it out yourself.

For those interested, here are a few details:
  • When you click to download the KML file you will be asked how you want to open it. Open it with Google Earth. If you don't have Google Earth, download it here.
  • You will be automatically taken to the last trail, map or local bike shop that was visited on TrailCentral.com
  • Google Earth will check for an updated location every 60 seconds. Remember, this is a tour, sit back and relax. Nobody likes to be rushed while touring a place.
  • While you are viewing the last location, click on the place marker. This will give you "Facts at a Glance." The most important information about the place mark as well as a link to go directly to that web page to learn more.

Don't believe it is real time? Have Google Earth open in one window and Visit TrailCentral.com in a second window. Visit a couple of the trail or local bike shop pages and within seconds you will be flown to that location. Here are a couple links to make it easy for you.

Finally, I gotta give my kudos to Lijit for making such a cool mashup. Cool enough for me to want to imitate it. For those that view the TrailCentral Tour, I'm sure you will enjoy it for a couple minutes and then never visit it again.

I on the other hand love to have the ability to view what is happening on my site in semi-real time while grounding cyberspace to specific place marks on Mother Earth.

December 7, 2007

Terrain View on GPS Maps!

A couple days ago I wrote about how much I loved the new Terrain view offered by Google, but I misspoke when I thought the view wasn't yet integrated into the Google Maps API.

A simple comment posted by Pamela Fox revealed a single line of code needed to implement the Terrain view on my GPS Maps.

5 minutes later (it took 4 minutes to login to my server) and the change was made, making all my maps in the GPS Maps section of TrailCentral default to the new Terrain view. It looks great! Thank you Pamela!!!

Check out some examples:
Monarch Crest - Multiuse Trail
14ers - Grays and Torreys Combo - Hiking Only

Update: For those that don't read the comments, I wanted to draw your attention to a good write-up ( v2.94: Terrain and a New MapTypeControl to show it off!) regarding the terrain view via Google Maps API, written by Pamela Fox.

December 6, 2007

Local Bike Shop Directory Overhaul

About the time I posted that I would be taking a break from my computer, I got a huge flow of creative juices that I have captured and used as midnight oil to burn into the wee hours of the night.

To be honest it started with this email, which got me to thinking about my site and the experience I would like others to have on it. TrailCentral has always been a place where visitors could come and post their feeling about trails and bike shops freely and anonymously. The email I refer to was from a visitor that felt a shop was being unfairly reviewed and felt a need for users to be registered before allowing them to post reviews.

My initial reaction was, "Hell No!" Mostly because I felt that TrailCentral was a small website and part of the charm was that visitors could leave anonymous feedback. Matter of fact, I still do think that, but I must say my initial reaction changed a bit.

When I responded to the email, I stated that I believe visitors of TrailCentral could easily spot poor reviews. To prove this I wanted to implementing a way for users to rank comments.

When I started panning out the details on how to do this I found that my general attitude changed a bit. I did some coding and as a result I came to the conclusion that I would only allow registered users to submit reviews. However, my dilemma was that I wanted them to still feel "safe" by posting anonymously... Hmmm.

The answer was pretty simple. I opted to omit the form to non-registered users and only display the form to review a shop to those who are logged into the system. When submitting a review users are able to change their username and instead use an alias.

This would give a certain degree of credibility to the review since they are only submitted by those registered with TrailCentral, while giving them the sense of anonymity if desired when posting a review. If a review is submitted with an alias, there is no way to backtrack to who submitted this review.

Back to the original reason I started to work on the code in the first place. I wanted to add the ability for visitors to rank reviews based on how useful they are.

I truly feel that those that visit TrailCentral are intelligent individuals that are able to spot bogus reviews. To ensure this, I wanted to add a comment ranking system that wouldn't require a lot of coding while still being powerful. Most importantly it needed to be seamless to the user. Basically, I didn't want to cause a refresh each time a visitor ranked a review because I didn't want the load on the server and I wanted it to be extremely usable. Thankfully, I was able to use AJAX and the result is a kick-ass rating system that works similarly to the rating stars you would find on big sites like NetFlix.

So, once I got that working as I wanted I started looking around the rest of the local bike shop directory, which lead to a waterfall of ideas and motivation to fix things that I've been working around for a long time. Many late nights later and I think the local bike shop directory has been sufficiently overhauled... for now.

If you get a minute, please take the time to visit the Local Bike Shop directory and rank a view reviews, click around the directory, and most importantly let me know what you think. I'm all ears.

Major changes to the Local Bike Shop Directory:
  • Visitors or logged in users are able to add bike shops.
  • Visitors are no longer able to give a review until they register or sign in.
  • Visitors are able to rank any review.
  • Google Maps API was updated to include more features on State, County, and City search pages.
  • Google Map added to each of the shop pages for better visual representation of the shop location

December 5, 2007

Terrain View Added To Google Maps

I'm going to go tech on you for a couple posts...

About a week ago I started reading posts about how Google Maps has added a "Terrain" option to their lineup of map views. I took a look and instantly fell in love. This is what I've wanted for TrailCentral since I added their API a couple years ago. The only way they could make me happier is if they added topographical information to the terrain view. Then those of us that use the Google Map API for outdoor sports (specifically trail information) such as my website,
TrailCentral.com or a much bigger website, MotionBased.com will be able to offer the best level of trail detail to our visitors.

Unfortunately, the terrain view option is only available on Google Maps and has not yet been integrated into the Google Maps API. When it does, I assure you that the default map setting of the
GPS Maps on TrailCentral will be updated from satellite imagery to the new terrain view.

Here is an example of the terrain view centered on Boulder, CO:

View Larger Map

November 26, 2007

Newest MTB Trails In Boulder County

Distance (mi ) 17.32
Moving Time (h:m:s) 1:29:27 at 7:02 pace
Moving Speed (mph) 8.5 avg. with 25.1 max.
Elevation Gain (ft) +1,160 / -1,481
Temperature (°F) 39.8°F avg. and 42.8°F high
Wind Speed ( mph) SSE 9.6 avg. and SSE 11.5 max
Link:
Trail Information
Photos:
Images of Trail
GPS Map: High Plains - Doudy Draw

This past weekend I felt as though I needed a ride. The temperature was kinda cold for my thin blood, but unfortunately my road bike is currently out of commission, which meant I wasn't able to ride my trainer. My mountain bike needs a lot of work and I've made a decision that before I ride that bike again I need to put some money and elbow grease into it. This meant my single speed would be my steed for the day.

Riding my single speed proved to be a good choice. A recent snow storm had left the Front Range trails covered with snow or mud, which were not ideal conditions for a bike with gears. However, a couple Boulder County trails recently opened to mountain biking stood the best chance of being clear. High Plains Trail and Doudy Draw Trail both cut through the meadows of the Boulder County land mote.

I started my ride on the High Plains Trail and headed west towards the Green Belt Plateau trail head. This single track is a joy to ride, complete with rolling meadow terrain. The only challenging part of the trail was convincing the occasional cow to move off the trail so I could keep riding.

Once I reached the next trail head I crossed Highway 93. This was a safe crossing since there is a light at the intersection. Once I crossed the road, I opened up a fence and a wide section of trail connected me to the Doudy Draw Trail.

At first I was a little disappointed with Doudy Draw Trail. It was a wide dirt road. Sure the views were nice, but I was curious why it had been closed to mountain bikers. I thought if it was only a dirt road then what damage could we cause?

Well, about a mile later I got to a fence and a small patch of trees. From this point on the Doudy Draw Trail turned into a single track descent. The descent was on a north face and packed with snow. As I got further down the hill the trail got muddier and muddier.

On a side note, I wouldn't want to ride this trail any time this week as the snow is melting and turns into mud. The trail isn't hard packed dirt and where it is muddy there is a good chance it is deep mud, which could do a bit of damage to the trail if not careful.

After the descent I reconnected with the Community Ditch Trail and rode that back to Highway 93, were I took my life in my own hands and crossed the road. That road scares the hell out of me! People drive so fast on it and I felt like Frogger as I leaped across the road, dodging speeding vehicles.

I safely made it across the road, continued on Community Ditch Trail to the connector trail, which connects Community Ditch and Green Belt Plateau. I connected with Green Belt Plateau Trail, and rode the dirt road back to High Plains Trail. I then rode the High Plains Trail back to my vehicle at the trail head.

All in all I got 17.32 miles of riding on two new Boulder County trails. Both trails were very enjoyable and I'm certain that both trails will be part of my regular training. Even when most of the other Front Range trails were covered in snow these two trails were relatively dry and ready to be ridden. The only thing I would do differently next time would be to ride the Doudy Draw trail in a counter-clockwise direction. Doing it in this direction would put a single track ascent into the ride, which is far more fun than the short descent it offers if ridden clockwise.

November 25, 2007

Is it a job or a hobby?

I ask that question because sometimes I forget. At times the fun and joy of TrailCentral becomes work. Recently I received an email that turned it into work. I received the email on Friday and I let it stew for a couple days before I responsed.

Let me summarize very quickly. Allegedly there are some false comments being made about a shop and it touched the nerve of a visitor to TrailCentral who wanted me to remove the comments.

Email From Visitor

(I've removed the shop name, name, and username so you could understand the email without knowing who it was from)

In the reviews, you should remove the two reviews about (name) who is referred to as the owner...there has never been a (name) that has been an owner...i believe these are malicious reviews attempting to bad mouth the shop...same with the comment from (username) ... (username) works at the shop down the street...there have been numerous attempts on various sites to leave negative feedback which was all traced back to the bicycle shop down the street and a terminated employee. Thanks for looking in to this. I think some sort of more secure sign on system/registration is needed to keep this from happening more. Malicious and made up review are very easy to spot.

My Response

Hello,

Thank you for taking the time to send the updated address. This has been changed on TrailCentral.

I appreciate your feedback and I did look into the reviews you brought to my attention and I have some good and bad news.

The bad news is that I won't be removing the reviews. Unfortunately, there is no way I can validate that the comments you made are true anymore than I can validate the comments on the shop listing are false. (I did try to validate your comments by searching google and looking at the shop website. I came up empty handed) The shop listings are an open forum for comments and I can't get into the business of censoring peoples opinions based on the opinions of others. That being said, I do have some good news.

I would recommend several things.

#1 You have the ability to review the shop. In your review, I would point out your argument that a person named doesn't own or work at the shop, while adding good points as to why you rated it as you did.

#2 Tell valid customers of the shop about this rating tool. Maybe link to it from your website. Allow them to rate your service and get a very good idea of what the customers think of this store. Soon these "bogus" reviews, which seem to happen about once a year will quickly not matter.

#3 Your comments did bring up a good point and although I don't think that a registration system for reviews is the answer, as it will not make it any less likely for stuff like this to happen, I do now see a flaw in the system. Many other sites allow people to rate the reviews in terms of how helpful they are. Your comments have put that ball in motion and I will do the same. Obviously this will take some work on TrailCentral and I can't deliver an ETA on when that functionality will be added, but I will save this email and when it is complete I will notify you of the new functionality.

Finally, I ask that you have faith in those that visit TrailCentral.com. As you said, "Malicious and made up reviews are very easy to spot." I truly believe that visitors to TrailCentral have the ability to spot and weed out the bad reviews.

Thank you and I'll be in contact,

www.TrailCentral.com
Colorado's Online Mountain Bike Resource

September 28, 2007

Tour de Front Range - Jersey Ceremony

This past week 23 riders showed up at the White Ranch trailhead near Golden, Colorado to begin an urban epic coined The Tour de Front Range. Of those 23 riders (many of who where part of the A-list of mountain bike racing) only 7 persevered and finished the ride. These seven riders pedaled over 52 miles, climbed 9,209 ft, and they did all of it on a sunny day with temps in the 90 degree range.

All Grand Tours have special jerseys that symbolize special achievements. Well the Tour de Front Range is no different. This year we are providing virtual jerseys to our finishers.


The Tour de Front Range, unlike other Grand Tours, does not have a yellow jersey. Instead, All jerseys have a yellow stripe. The yellow represents the spirit of the Tour and no one person can harness that. All riders that are honored with a jersey have the spirit and for that reason all jerseys have a yellow stripe.

The Jerseys:

Red Polka Dot - Richard Eddy: The climbs are what make the Tour de Front Range a challenge. The steep, loose rock trails make the Front Range a suffer fest. The hill climbs are difficult when you have a support system of other riders. Take that support system away and it is just the rider and the mountain, which is enough to make grown men cry. After lunch, Richard rode the final climbs solo, determined to finish the Tour. Richard took on these solo ascents in 90 degree heat, and a full face mask helmet. Richard was driven to finish and he did so with great style; earning him the Polka Dot jersey.

Green - Chris Plesko: Aggressive riding is what the color represent. However, Chris was not aggressive in the sense of bumping elbows with fellow riders. His aggression took the form of doubling the number of miles he rode. At the trailhead before the ride, I asked Chris how many miles he had already ridden. He casually replied, "Forty miles and I plan on riding all of this." At the lunch break Chris had a stifling 60 miles and over 10,000 ft of vertical climbing. And in Morrison he was only ten miles short of a century. He opted to ride to the restaurant in order to hit the century mark. By the end of the day, Chris rode over 100 miles and 13,000 vertical feet of elevation. Chris, you deserve this jersey!

White - Bill Henderson: The white jersey represents the best performance by a first time Tour de Front Range participant. Bill gets this honor due to a comment that he made at lunch. When asked how he was feeling, he said, "I feel great! This is the longest ride I've ever done." When asked if he meant the longest ride this year, he replied, "No... Ever!" Bill has cycling in his genes and even when the Tour finished in Morrison, Bill kept on riding his bike and rode to the restaurant to enjoy Mexican Food. Well done, Bill!

Blue - Scott Zarret: The Blue jersey is worn by the man who puts down the most amount of liquid. The heat was a big factor and Scott complained about a headache during the lunch break at Matthews/Winters. Filling up his camel back, he hit the trail again to ride Red Rocks and Morrison Slide. By the time he started the base of Mount Falcon his camel back was again empty! After the Tour, Scott was unable to join us for the post ride Mexican food because of a concert he was going to attend, where he would put down even more liquid libations.

Gray - Jim Bergman: The Gray jersey is worn by the rider with diesel like commitment to the ride. Once the engine is wound up and running smooth, Jim did not want to take a break. Jim finished the Tour with a diesel like pace that he could have maintained for another hundred miles if he wanted. Even when stopping for lunch, Jim did not dismount his bike. He stood there, straddling his bike, ready to ride for 15 minutes. Like a diesel locomotive, there was no slowing Jim down once he gained momentum.

Black - Steve Sieders & Tony Shouse: Two riders share this jersey. This rider represents those riders that with stealth like ability finish the ride without me getting a chance to know them better. These dedicated riders flew under my radar, attacked the Tour de Front Range course, and came out smiling at the end. Before going into Stealth mode Steve could be heard at the white Ranch trailhead encouraging the men into battle by blowing on the duck call that was attached to his bike. Tony, only came out of stealth mode long enough to introduce himself at lunch. Without lunch he rode towards the finish with the same diesel like determination as Jim. To both these stealth riders, I salute you! You did a great ride!

To all the finishers, wear these (virtual) jerseys with pride! You have earned them and you will forever be immortalized in the annals of the Tour de France history as men that took on the challenge and made it look easy...
"Pennies do not come from heaven. They have to be earned here on earth."
~Margaret Thatcher