Posted by & filed under General, V3.

V3 Summary PageThe blog has taken a bit of a back seat of late as I’ve attempted to get as many of the pages migrated across to the new Strava APIs as possible.  The previous version of VeloViewer was around a year old and had grown slowly over that period and the replacement version will follow a similar path.  Currently only the VeloFlow screen isn’t able to be migrated due to a few missing options in the new API but the majority of the rest of the site (and more) will be coming back on-line over the next few months.  Where possible I will be improving those pages as I migrate them and also adding some interesting new features. As it stands I’m rather thankful that I have managed to get access to the new API as it seems a large number of people in a similar position to myself haven’t and it looks like that is how it will be for the foreseeable future.

Main things still to do:

  • Activity details page – more complicated now due to the many different activity types now supported by VeloViewer. Ideally the page will adapt to each different type to some extent in order to provide the best view of that data.  I’ll be after the help of the runners out there for ideas for the run details view as well as the views of other activity types.
  • Summary page charts – I need to add in the placing and position charts. Also I’ll also add a chart expanding your VeloViewer Score to show how it is changing over time.
  • Activity/Segment list pages:
    • Add the ability to configure which columns you want to see, which filters you want to use and allow the storing and recalling of these configurations
    • Add an extensive charts view based on the filtered data
    • Favourite segment column (to allow easy filtering). I’ve not seen the new Strava favourite segments in the API anywhere so you’ll have to set up your favourites in VeloViewer.
    • Initial position on segments. This is limited to what the Starva API provides me. I think it matches the achievements you see on your Strava activity details page so just top 10 placings and only for existing,  “popular”, unhidden segments at the time of upload to Strava. Done
  • Trophies page – bit of a maintenance pain for me but I will get it back up and running again.

I’m sure I’ve missed some things off of here and I’m sure you’ll let me know in the comments so I can add them in!

Future plans

  • Opt-in Segment Leaderboards – currently done on many sites (e.g. this one from Oslo) to provide local, combined leaderboards. Pick a number of segments (each with average grade > -0.25% to conform to Strava API restrictions), pick a start/end date and let VeloViewer do the rest. I’d want to provide an embed snip-it to allow you to embed the leaderboard on your blog/site.
  • Personalised segment explorer – I’ve always found Strava’s own segment explorer a bit frustrating to use due to the fairly basic filters on offer and the way it decides which segments to display.  Not sure if I can do a better job but I’m going to give it a go.  The plan is to give you far more options for filtering, using your own data to narrow down the segments returned e.g. “just give me category 3 climbs where I’m within 1 minute of the KOM”, or” just give me segments that will be most favoured by next Wednesday’s strong south westerly”.  Thank kind of thing.
  • Recommended segments – The ability to “Thumbs up” a segment to let others know (when using the the new segment explorer” that the particular segment is a must-do.  Not from a competitive aspect but more from a must-do piece of road/track/piste/etc because of the views/flow/points of interest/etc..  If you had an overseas friend coming to your area for a single ride/run/etc, these would be the sections of route you would have to take them on.  Purely selfish this one as when I go on holiday somewhere I might only get a couple of rides in and I want to make sure I’ve not missed out on the classic roads/tracks in the area and I want all you guys to have already told me where is best to ride!  I’m sure I’m not the only one and I’ve not seen any other site doing this kind of thing.  Once these recommendations have matured then the segment explorer will be able to just provide you with things like “just give me the best climbs in this area” which isn’t necessarily the most ridden climbs.
  • Route generation – Right from day 1 of VeloViewer this has been a goal of mine and I even managed to get the basics of it working last year.  The idea being is to pick a number of segments (using the explorer mentioned above), automatically join them up into a route and then export the route to your Garmin/GPX. This is my ultimate Nirvana for VeloViewer and hopefully will tick all the boxes for my future holiday planning!
  • VeloFlow races/sportives/etc – a request from a long time ago from the guys over at nyvelocity.com A more structured way of hosting a VeloFlow for a specific event with the potential to allow non-Strava users to upload their GPX files as well.  Lots of potential here for pre and post event details and banter but there is a lot in the to-do list above it!

Lots to do and very little time!

New hosting

The other main change for V3 of VeloViewer was the move away from a cheap but unreliable shared-hosting company to something a little bit more robust.  The whole site is now running on Amazon Web Services using all sorts of interesting technologies that I’ve had to get my head around which have also required substantial changes to the code to try and limit the costs.  The upside is that the site should no longer struggle to perform again, if the site goes donw then it is most likely my fault for pressing the wrong button rather than the hosting company pulling a plug which seemed to be the case before. The downside is that it has gone from virtually free hosting to a monthly cost I’m nervous to tell my wife about!

I’d like to thank all those who have donated so far as it has covered my costs to this point but if you are a regular user of VeloViewer then please help keep my wife from finding out by helping to cover the ongoing hosting costs using the “Donate” link in the top right of this page.  Thank you!

Share

21 Responses to “VeloViewer V3 is Alive and Kicking”

  1. Jim

    Recently returned to VeloViewer after months away from 3rd party sites following the API change. Is there a way to query:
    “Show me the segments __close__ to __position__ of type __pick__ and allow me to filter”

    Let “position” be a point, an address, a zip code

    Let “close” be a circle of user-defined radius, a bounding polygon, etc,
    AND let me select end-point in “close” or entire segment in “close”

    Let “type” be ride/run/etc

    “filter” as current on the segment page

    Then I could find all the running segments I can reasonably attempt at lunch for which I have not run dozens of times AND I am more than 20% off the leader and make an effort to improve on those. If I’ve run it dozens of times, then a second may as well be a wall – witness http://veloviewer.com/segments/4470411/athlete/188412 110 attempts, 1 second off Jose and tied with Rick. Rick, Jose, and I have each gone for that segment repeatedly; we may need to just go for it together and push each other to be a minute ahead of Andy.

    My cycling efforts are improving and I can foresee wanting similar search functionality there.

    • Ben

      You can do most of that now (I think):

      1. Go to your segments page.
      2. Expand the filters section and select which activity types you are interested in.
      3. Add the “Tries” filter and set the max value as required.
      4. Add the “% behind leader” filter and set the min value as required (20%).

      5. Turn on the map.
      6. Check the “Filter” box below the map.
      7. Uncheck the “Auto-zoom” box below the map.
      8. Zoom the map to the area you want (note that the whole segment needs to be in the map area for it to be included so the requirement of any segment that just starts or finishes in the area can’t be met as it stands)

      Here is a screenshot of what it should end up looking like: http://s3.veloviewer.com/blog/segment_filter_example.png

      • Jim

        Thanks, Ben. It was the [x] Filter piece that really made that work for me. Now I’ve got the close running segments for which I’m >=25% behind the leader and can focus some effort in those area.

        Not worried about the cycling ones yet, still improving with the T/Th lunch ride – one more 2009 PR to knock off on the regular route, then I can start looking for my other old segments to contest on.

  2. esmith

    I don’t see the button to export segments as CSV in the new interface. Is it not implemented or am I simply missing it? If it’s not implemented, is it in the plans?

      • esmith

        Cool.

        A couple more observations/concerns.

        (1) Having a map on the segment page is very nice, but it’s unpleasantly slow (especially when zoomed out). I’m seeing ~1 second response time to drag and zoom.
        (2) I’m not sure if auto-zoom should be on by default. I have a ton of segments in the area where I live (California) and a couple of segments in Europe. The map kept zooming out to planet scale on every change in the filters (and it takes forever to zoom back in because of (1)).
        (3) “Distance away” is likewise very nice, but it’s not working (displaying “n/a” for all segments) half of the time, and when it does work, it’s unclear where it’s getting my location. It seems to be reporting distances from the geographical center of the town near where I live. How does this work exactly?

        • Ben

          1) How many segments have you got? What device/browser/connection are you using? All pretty instantaneous for me with 1,400 segments.
          2) I need to add in the saving of your preferences for these fields so at least it remembers how you left it. That should avoid this for you.
          3) It just uses the browser (if it supports it) to provide your location based on your IP, if using a mobile device then it can use your mobile/gps signal for a better location. As long as you check the “Always allow” option in your browser then you shouldn’t get the n/a. This is displayed if the browser hasn’t returned the location within a couple of seconds in order to get the data on there.

          • esmith

            I have 1340 segments, a fast desktop processor (Intel Core i7), and it’s equally slow in Firefox 22.0 and Chrome 28.0. CPU usage goes up to 25% (one full core) during drag/zoom, there’s no network activity during drag but it’s slow anyway.

          • Ben

            Apologies if I’ve already asked elsewhere but what is your strava id and I’ll see how it performs if I impersonate you on VeloViewer? My wife’s netbook (which is pretty low spec) struggles a bit with my data, about a second to redraw on a zoom but none of the code running at that point is mine. It is using OpenLayers to do all the mapping side of things so probably nothing I can do to speed it up. What is your Windows Experience Index? My wife’s netbook is a lowly 2.8 with a very poor processor. That will be why it runs slowish on hers. It certainly runs faster when you filter some of the segments out.

          • esmith

            strava id 288580, Windows Experience index 5.5 (Processor 7.6, memory 7.8, desktop graphics 5.5).

  3. neurollero

    Excellent work, thanks for all the effort you’ve put into this. Looking forward to more charts!

  4. Fergus OLoughlin

    Good job with V3. One observation – the Your Summary chart doesn’t seem to work on Firefox (17.0.7 on XP) – it’s hugely truncated extending only as far as the start of the Activity Stats. Works fine if I use IE6… not tried Safari yet.

    • Ben

      Thanks for letting me know. I’ve got a fix and will apply it to the live site later.

  5. David Nunn

    Good job so far with the V3 changes.

    I’m really looking forward to the route generation. I hope that you manage to get that going.

    Thanks for all your efforts.

  6. John Bytheway

    Forgetting the fact that Strava should pay your hosting costs for all the good work you do to make their service better, i set up a gaming clan site and added a paypal group pay add on, it showed how much the hosting costs were each month as a target for users to achieve and then updated the figures after every donation, i found users were happier donating this way as they could see where their money was going and would dip in their pockets more when it was getting low, i just thought that option might help you rather than just a simple donate button that gives no indication of what is needed.

    • Ben

      Interesting. I’m still not actually sure how much it is going to cost each month to be honest as it comes down to how much the site is used to a certain extent. I’ll give it a few months to settle down and see how we’re doing.

  7. Ted

    Plans for a page showing KOM’s previously held, but have since lost?

    That would be handy.

    • Ben

      Added that in above. I’ve been storing those values for about a week now so will add them as a column to the segment list asap. It is limited to what the Strava API provides me so won’t include all your KOM’s/top 10’s. Always confuses me the way Strava do their achievements. I had a dig at a segment a while ago only to find that the segment was “hidden” when I uploaded the ride. So I unhide it but you get no achievement for it. the only way to get the achievement would be to delete and then re-upload your ride after unhiding the segment but then you’ll loose any comments/kudos you’ve gathered.

      • James Hartwright

        The other way of getting the segment in such a case is to change the type of activity to something else then back to a bike ride.

        • Ben

          So you can. I had a worrying few minutes with a Nordic Ski activity around Derbyshire (and looks like Strava then auto-created a bunch of Ski segments!)