Raising my hand. My trimble uses TSIP.

Also we're not just interested in postition, but also server signal strength, speed, quality of the location estimate, direction of travel. Some applications are more likely to work in a polling fashion while others might want to get notified as soon as updates are available. And then this information comes in different messages. It is important to know that the last position update was 10 minutes ago, but that we've seen a satellite in the past 2 seconds.

There are also different rules about when the information is good enough to use for instance to sync your local clock. And those rules do vary slighly on a per-gps basis. Also gps receivers don't supply all information all of the time, or only provide speed in knots instead of m/s, and somewhere a decision needs to be made which measurement to use. For instance on the trimbles, I'm getting notified of location updates as long as there is a 'fix', but have to poll the receiver for satellite information and to discover that we lost our lock and we're not getting realistic location information.
_________________________
40GB - serial #40104051 gpsapp