<br><br><div><span class="gmail_quote">On 8/11/07, <b class="gmail_sendername">Jussi Kukkonen</b> &lt;<a href="mailto:jhkukkon@cc.hut.fi">jhkukkon@cc.hut.fi</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
keith preston wrote:<br>&gt; Please take a look and comment on anything else that we should add to the API.<br><br>This is not fully thought out, but I have had these ideas:<br><br>1. position_changed signals with resolution
<br><br>gpsd position provider emits lots of signals*, but I assume many (most?)<br>clients will not be interested in a change of a few meters... Would it<br>make sense to have<br>&nbsp;&nbsp; position_changed_100m<br>&nbsp;&nbsp; position_changed_1000m
<br>or similar that will only be emitted after a larger change in<br>position... (the method names are fictional and the implementation<br>probably would have to be fuzzier, but you get the idea)<br><br>&nbsp;&nbsp; * currently gpsd backend emits the signal everytime gpsd updates
<br>&nbsp;&nbsp; lat/lon, about twice a second with my device, but even if it emitted<br>&nbsp;&nbsp; only when lat/lon changes, there will the same amount of signals when<br>&nbsp;&nbsp; moving.</blockquote><div><br>I don&#39;t think we should add signals for this,&nbsp; however it would be easy to add a filter function on the callback that can do this for any resolution.
<br><br>&nbsp;</div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">2. last_position idea (you mentioned something like this already)<br><br>
However good our backends are, we should assume that it will be very<br>common to not have current position data available from any backend. In<br>many situations even older position data would do fine: A hostip<br>position is going to be just as accurate in 30 minutes as it is now and
<br>a gps position from 10 minutes ago is still going to put you in the<br>correct city...<br> One option is to have a last_position-method in the API, and an<br>accompanying last_position_error, which could rise over time. Clients
<br>that are interested in just getting an approximate position (that might<br>be a bit old) should always use this method.<br> Another option would be adding parameter to current_position that<br>allows sending &quot;old data&quot; (and make position_error behave as described
<br>previously).</blockquote><div><br>I think there are good reasons for this.&nbsp;&nbsp; Loggers and Trackers need good timestamps.&nbsp;&nbsp; I think this also incoporates a last position type attribute to the API, but I have quite got the semantics through my head yet.
<br><br>The biggest problem I see is with inaccuracy of backends.&nbsp;&nbsp; I think some information, even if old can still be useful to the application.&nbsp;&nbsp; We really need to think about how to best arbitrate through different types of backends.
<br><br>Keith Preston<br></div><br></div><br>