While on my seemingly endless airplane rides, I finished up a first draft of my bicycle reporting app, and made it available at the seemingly random address of http://www.barneyb.com/bicycle/. ; ) Yes, it's Flex, and yes, I chose that platform of my own volition. It's still a little rough around the edges, but it's all functional, and I used it to record this morning's ride. Much better than using the command line MySQL client. Of primary interest is the graphs of the stats. I haven't gotten very far into them yet (was having some issues – surprise – getting the charts to work right for the more complex cases), but they're there, and the average speed one has a positive slope (yah me!).
There's a couple "weird" characteristics to the UI, but they have sound backing. First, the entire UI is modal-free excepting the login form. I didn't want to be stuck editing something and realize that I hadn't created some related entity and have to cancel out to create it. I also wanted to be able to view the listings while adding/editing entities, so all the forms show up in tabs along with the listings so you can easily switch back and forth.
Second, the whole UI is publicly available. I didn't want to build a separate admin area, so the editing UI doubles as the detail view UI. The "Save" buttons are disabled unless you're logged in, and that's backed up on the server-side, of course.
Last, while not easily apparent, is the security of the authentication without using SSL. Part of the AS3 Core Lib is MD5 hashing capabilities, so when the password is entered client-side, it gets hashed before sending to the server. This provided a nice solution to password transmission that didn't require an outward facing self-signed SSL certificate (which isn't very friendly) but also doesn't compromise passwords.
Once I get stuff a little cleaner, I'll post source. I'm also thinking of making it multi-user, but there are some weird issues (like handling public browsing) that would need to be dealt with. Time will tell what becomes of it.
I also added contextual ride history to the single-entry pages on my blog. I'd added it to the listing pages a while ago, but realized that a large percentage of my audience reads my blog via the XML feeds, so they never see the listing pages. So rides within 24 hours of a given entry will now show up on the single-entry pages.
Neat!! What are you using to collect data? I know some folks who ride motorcycles and grab this kind of info using a GPS… I always thought it would be fun to build something like this to display that kind of stuff… I've looked at those small bike computers as well but don't know if they have any way of exporting the data….
I'm just collecting with a standard bike computer and manually keying it in. It's only four fields, so not a huge load. I'm trying to find a GPS unit that will do recording for me, but mileage at the very least really does need to come from wheel (not satellites).
Garmin makes a nice GPS cycle computer. Polar makes several that you can sync up with, too, but it doesn't do GPS.
Hey Barney,
Thanks for this – I've wanted to hack out an app like this for a while but haven't had the time.
I use mapMyRide.com (Google maps based) to map out routes – you can create a URL for a given route and make it public (ex: http://www.mapmyride.com/ride/united-states/nc/clayton/408947605). Might be a nice addition to the "Routes" editor/pane, or even a possible Apollo addition with the drop-in HTML control.
I'll download and install soon – would you want any mods submitted back? I may break down the reporting into different types of rides (mtn. vs. road, etc.).
-Joe
I'll see about putting that route stuff in there. I wasn't really sure how best to handle that, so I just ignored it. ;)
The chart breakdown by route and/or bike is what I was playing last week and couldn't make work with the dynamic series. I've got the machinery all working correctly, excepting the actual plotting of the lines. Didn't play with it over the weekend at all, but maybe tonight. Also need to add some time-based constraints, but my data set is currently small enough that they're not important yet.
Once I get source available, I'd be happy to accept mods back. I need to set up a public SVN repo for stuff like this. Maybe it'll be impetus enough. (ha ha ha…. ;))
I vote for the multi-user enhancement. This would be sweet for a bike club to have access to. Then that opens the possibility to do mileage, speed, etc. comparisons.
I'd be happy to contribute too.
What equipment do you use to record your rides? Is it the Garmin one?
I've got a Cateye Astrale 8. I picked that one for it's cadence sensor/display, though it doesn't do any sort of stats, just the current cadence.