TopoFusion's website describes this software's process for "Simplifying" a GPS track as follows: "The point which when deleted will yield the smallest error from the original track is selected and deleted. This process continues until the desired number of points is reached."
As an engineer, a pretty fair mathemetician, and a computer programmer, I say this is a far more useful track simplification process than offered by some other software, where a track is simplified by merely eliminating points according to their time or distance proximities.
One very easy to implement addition would make this process significantly even more useful: a user option to select the largest acceptable error from the original track rather than the desired number of points after simplification. This would be easy to implement because the algorithm would not change, only the program's test for process completion would change. In other words, instead of stopping when the desired number of points has been achieved, the process would stop when the next logical point removal would cause an error, from the original track, greater than the acceptable error.