Hi guys - Strabbaranks guy (Jerry) here. I'm glad you guys are having some fun with the data and appreciate the feedback - it will be useful. Some extra colour on the whole project:
- yes it's unfunded/fun work - started as a feature I recommended to Strava, and I made the 'proof of concept' when I realized I could put something together myself. They get lots of recommendations on the support board and I thought having something concrete would be more compelling than arguing with everyone else over what would be coolest. I designed the concept and how I could get/parse the data to make regional leaderboards, and then hit up freelancer.com to find someone to do the heavy lifting and setup the code framework since I would not have the time. I found a great University student in Greece (non-cyclist
) and he was able to do the initial framing at a cost I was willing to pick up. I had him put it together in a language with which I was familiar (PERL) so I could move it forward once he was done. I put the quick google sites frontend on it so I could publish some quick details, but as you may have noted I have to run the code and generate the files elsewhere for now. I still hope Strava picks it up one day since they could do so much more with it as an integrated component.
- I completely agree that the page size issue is a big one - the most pressing issue, I would say. I've been doing some research to figure out how I am going to add pagination so you can see something like 25 results per page, jump to different pages, and, ideally, search out your name. It was all fun and games until I added London, at which point the big file became untenable. I did make a change a couple of days ago to make a top-50 file in addition to the giant one; that should tide some people over.
- I hear the recommendation to be able to view specific groups/categories so you don't have to hunt out your mates among the thousands of results. I can't promise that quite yet but once it is in mind I can at least assure you it will bug me until I think of something useful.
Since this is totally unfunded and lightweight, there are a couple of thresholds I've avoided crossing that would significantly increase complexity with the promise of enabling some additional functionality. They pretty much fall into:
a) no database
- I've managed to do all of this with no database. This makes it super lightweight, easy to test from my home PC if I want, and portable to any host/server if appropriate one day. The only 'state' that is retained are results per day of week so I can do the "change v. last week" calculations. I'm willing to do a little more with flat files that should enable some more stuff, but avoiding a proper database will limit some abilities. For example, I think I will be able to add a "here is my rider ID, show me all the regions where I have a placing and what that placing is." What I can't do easily without the db is things like graphing changes with granular time details (changes each day), showing leaderboard history for various segments, etc. Veloviewer is awesome at this kind of thing.
b) no user context
- Since there is no authentication required and I don't pass authentication to/from Strava, I can't do contextual things like know your weight, age, clubs, mates etc. If I had that I could implement filters a la Strava. You'll note few API sites if any, however, are doing that right now, as the API calls involved in that are some of the newer ones and require a little back and forth with Strava to work. So that's a big lift, and is not on the radar straight away.
Since this is just for fun, I can only work on it on nights and weekends when life permits. I enjoy it, but I'm always wary of jumping into a 'point of no return' enhancement where the whole thing is cocked up because I did 2 hours of work and it needs 6 to come together. Instead I research and hover a bit, testing a few ideas out in little 'beta' snippets until I'm sure of how to implement something and have a few hours on a weekend to really get it done.
...and that brings us back to pagination... which is a bit complicated without a database, but certainly doable. I'll sort something out.
..oh and I need to add Kyoto!
So for now, my sagest advice is that you
a) only load the top-50 page to make it quick and
b) ride your way into the top 50!