Ron,
Thanks Much for the smoothing feedback. I have been trying for a while to come up with a way to make the smoothing more intuitive to use, but haven't found something that works better (for me.) I suspect there are changes that could be made in the controls that would make this much easier to use. I'd love more feedback or ideas.
I loaded your file and played with it. Slope in your file was computed from altitude. The slope is noisy because of noise in the altitude data. The smoothing acts on the altitude data, so should be able to achieve whatever you desire. Almost certainly the problem is with the controls and ui, so I am going to explain here.
I am just going to discuss altitude smoothing but everything is the same with route smoothing, except altitude data is 2d (distance, alt) and route smoothing is a 4d spline (distance, lat, lon, alt)
The altitude smoothing works in two passes. First it finds and discards outliers, second it rewrites all data so they live on a smooth line.
The first pass works by building 'a smooth line' with your data and then throwing away all points in your file that are 'too far' from the smooth line.
The second pass draws another smooth line and simply sets all the altitude data so it lives on it.
This means you can use a big wide smooth line for the first pass, throw out the outliers, then use a less smooth line to better fit the non-outlier data.
If you don't like the concept of outliers you can prevent any from being thrown out by increasing your criteria % to something huge like 10000, or set your first pass smoothing degree to something small like 3.
Here is the default smoothing menu:

The first thing to look at is the "Step Deviation" statistic. Roughly speaking, that is the distance between your activity's samples.
The 'pass 2 altitude smoothing degree' is the size of the window (in data points) that will be used to build the smoothing line for your data.
For example, a 'degree' of 100 with a step deviation of 2.25 means the smoothing window size will be about 225 meters. That means that points on our activity that are more than 225/2 == 112.5 meters away from a point will have no bearing on the smoothing of a point. Generally a larger degree means more points act to smooth and the resulting graph will be smoother. You can increase or decrease degree to make line smoother or less smooth.
The test button and the stats are there to help you pick good criteria. Usually I use the test button and iterate the parameters to get something close to what I want, then I apply and view the slope. If it doesn't look good I revert the edit and go back to the gps smoothing menu to try, try again.
Here is the original slope:

Close up of some spikes:
I tried the default settings, 500/100%/200, in the ui, pressed 'test' and go this:
See that the max slope is 36.3? That is much too high.
I tried 100/3%/200:
Max slope is 19.5, still too high.
I played more and ended up with 500/1%/500.
Can see the spikes in above closeup are gone:
If you want it even smoother try 500/0.5%/500.
Fundamentally smoothing is subjective so you must be the judge.
Issues I found when I was playing with the smoothing:
- there's a small region at the start (from 0-5 meters) where it looks like I'm getting 'ringing' from how the smoothing works at the start boundary. These artifacts are throwing off the stats. This is a bug and I need to fix it.
- % standard deviation isn't a great way to specify outlier criteria.
- window size in points isn't great either. I'd love to use meters but the problem is sample distance can be extremely variable which means window size is also variable in terms of meters.
Eric