<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: API stability? whazzat?</title>
	<atom:link href="http://vilunki.wordpress.com/2007/11/10/api-stability-whazzat/feed/" rel="self" type="application/rss+xml" />
	<link>http://vilunki.wordpress.com/2007/11/10/api-stability-whazzat/</link>
	<description>My weblog. Things I do, stuff I like.</description>
	<lastBuildDate>Mon, 14 Sep 2009 09:42:02 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: R. G. Newbury</title>
		<link>http://vilunki.wordpress.com/2007/11/10/api-stability-whazzat/#comment-314</link>
		<dc:creator>R. G. Newbury</dc:creator>
		<pubDate>Tue, 11 Dec 2007 20:31:13 +0000</pubDate>
		<guid isPermaLink="false">http://vilunki.wordpress.com/2007/11/10/api-stability-whazzat/#comment-314</guid>
		<description>OK. I misunderstood the &#039;direction&#039; of data-flow. So this is a &#039;middle-ware&#039; API to translate data from eg a gps daemon, to a client-side app...Cool.

NMEA is pretty generic. There are about a dozen types of hardware, each with a whack of &#039;sentences&#039;. Lots of them actually pass the same sort of data (speed, for example) but the source is part of the data (so that the meaning can be better understood). And since many units only export NMEA, you will have to translate those...

Following my misunderstanding of the direction of data flow, there really should be a &#039;Set.Position&#039; to mirror &#039;Get.Position&#039;. So the client app can input a waypoint to the hardware. One thing small GPS units cannot do (well), is input arbitrary waypoints. You can generally easily say &#039;Make *here* a waypoint&#039;, but it is very hard to input &#039;Make 43.36&#039;48&quot; N 79.20&#039;12&quot; W a waypoint&#039;. That is where the client app can help.

Regarding datum, maybe there should be an API to call for the NMEA sentence which contains the reported datum
GGDTM... and raise a flag if not WGS84 (allowing a plugin to further translate the data???).

Any thoughts on adding API calls to output data sets, eg to Mysql/sqlite etc? 

Just thinking out loud.. And still waiting for my new toy.. All I want for Christmas is my N810...</description>
		<content:encoded><![CDATA[<p>OK. I misunderstood the &#8216;direction&#8217; of data-flow. So this is a &#8216;middle-ware&#8217; API to translate data from eg a gps daemon, to a client-side app&#8230;Cool.</p>
<p>NMEA is pretty generic. There are about a dozen types of hardware, each with a whack of &#8217;sentences&#8217;. Lots of them actually pass the same sort of data (speed, for example) but the source is part of the data (so that the meaning can be better understood). And since many units only export NMEA, you will have to translate those&#8230;</p>
<p>Following my misunderstanding of the direction of data flow, there really should be a &#8216;Set.Position&#8217; to mirror &#8216;Get.Position&#8217;. So the client app can input a waypoint to the hardware. One thing small GPS units cannot do (well), is input arbitrary waypoints. You can generally easily say &#8216;Make *here* a waypoint&#8217;, but it is very hard to input &#8216;Make 43.36&#8242;48&#8243; N 79.20&#8242;12&#8243; W a waypoint&#8217;. That is where the client app can help.</p>
<p>Regarding datum, maybe there should be an API to call for the NMEA sentence which contains the reported datum<br />
GGDTM&#8230; and raise a flag if not WGS84 (allowing a plugin to further translate the data???).</p>
<p>Any thoughts on adding API calls to output data sets, eg to Mysql/sqlite etc? </p>
<p>Just thinking out loud.. And still waiting for my new toy.. All I want for Christmas is my N810&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jku</title>
		<link>http://vilunki.wordpress.com/2007/11/10/api-stability-whazzat/#comment-309</link>
		<dc:creator>jku</dc:creator>
		<pubDate>Thu, 29 Nov 2007 08:07:19 +0000</pubDate>
		<guid isPermaLink="false">http://vilunki.wordpress.com/2007/11/10/api-stability-whazzat/#comment-309</guid>
		<description>Hello R. G. Newbury,

The general design principle was &quot;be generic, be usable&quot;. Being generic means that GPS is not our only data source. Being usable means we try to look at this like an application developer would: we expect geoclue to be used in a wide variety of apps (most of which will _not_ be geoinfo apps in the traditional sense), and tried to make the API as unsurprising as possible from that POV.

I believe you are correct about bearing/direction. 

The whole API is for client apps, so GetPosition will tell the client the current position as it is known to the Position provider (e.g. a gpsd-provider). NMEA is not used because it&#039;s A) not generic and B) not really known to anyone outside the GPS developers&#039; small circle. Remember that we&#039;re not trying to write a gps daemon here (although Iain&#039;s working on that elsewhere: http://gypsy.freedesktop.org/index.html :)).

About datum: API is WGS84 and we expect data sources to be that also. So far, I&#039;ve seen no exceptions. If a data source is not WGS84 the provider/backend for that data source must convert before emitting the position to clients.</description>
		<content:encoded><![CDATA[<p>Hello R. G. Newbury,</p>
<p>The general design principle was &#8220;be generic, be usable&#8221;. Being generic means that GPS is not our only data source. Being usable means we try to look at this like an application developer would: we expect geoclue to be used in a wide variety of apps (most of which will _not_ be geoinfo apps in the traditional sense), and tried to make the API as unsurprising as possible from that POV.</p>
<p>I believe you are correct about bearing/direction. </p>
<p>The whole API is for client apps, so GetPosition will tell the client the current position as it is known to the Position provider (e.g. a gpsd-provider). NMEA is not used because it&#8217;s A) not generic and B) not really known to anyone outside the GPS developers&#8217; small circle. Remember that we&#8217;re not trying to write a gps daemon here (although Iain&#8217;s working on that elsewhere: <a href="http://gypsy.freedesktop.org/index.html" rel="nofollow">http://gypsy.freedesktop.org/index.html</a> :)).</p>
<p>About datum: API is WGS84 and we expect data sources to be that also. So far, I&#8217;ve seen no exceptions. If a data source is not WGS84 the provider/backend for that data source must convert before emitting the position to clients.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: R. G. Newbury</title>
		<link>http://vilunki.wordpress.com/2007/11/10/api-stability-whazzat/#comment-308</link>
		<dc:creator>R. G. Newbury</dc:creator>
		<pubDate>Wed, 28 Nov 2007 22:49:23 +0000</pubDate>
		<guid isPermaLink="false">http://vilunki.wordpress.com/2007/11/10/api-stability-whazzat/#comment-308</guid>
		<description>I&#039;m still waiting for my &#039;developer-discount&#039; N810 to arrive at the store, but I&#039;m starting to plan on how to develope the nav package I am thinking about.
One nit on your API..&#039;Geoclue.Velocity&#039; &quot;direction&quot; should really be called &#039;bearing&#039;...( 0 to 360 *true*) as that is what most GPS units deliver. (&quot;Climb&quot; could be called &#039;rate&#039; but I think most people will understand).

Any reason why in GeoClue.Position it is not called &#039;SetPosition&#039;? I presume that this method is intended to &#039;push&#039; a waypoint to the hardware. &quot;PositionChanged&quot; is ambiguous.

Any reason why the methods in GeoClue.Position and GeoClue.Velocity do not follow NMEA sentence output structures? All GPS units can output in that format (Garmin has their own format as well). The sentences are well understood and there is no apparent reason why the info the unit provides should be dropped...(For example NMEA sentence GGA provides more data than Geoclue.Position.

I also note that there is no mention of the datum being used..If you are attempting to match an external map source to a GPS input, the datum is absolutely necessary..including an error routine from when they don&#039;t. I read somewhere that the Clark datum used on South African maps is hundreds of metres different horizontally and vertically from the WGS84 datum. And the GGA sentence includes a local correction figure for geoid sea level to WGS84 datum.</description>
		<content:encoded><![CDATA[<p>I&#8217;m still waiting for my &#8216;developer-discount&#8217; N810 to arrive at the store, but I&#8217;m starting to plan on how to develope the nav package I am thinking about.<br />
One nit on your API..&#8217;Geoclue.Velocity&#8217; &#8220;direction&#8221; should really be called &#8216;bearing&#8217;&#8230;( 0 to 360 *true*) as that is what most GPS units deliver. (&#8220;Climb&#8221; could be called &#8216;rate&#8217; but I think most people will understand).</p>
<p>Any reason why in GeoClue.Position it is not called &#8216;SetPosition&#8217;? I presume that this method is intended to &#8216;push&#8217; a waypoint to the hardware. &#8220;PositionChanged&#8221; is ambiguous.</p>
<p>Any reason why the methods in GeoClue.Position and GeoClue.Velocity do not follow NMEA sentence output structures? All GPS units can output in that format (Garmin has their own format as well). The sentences are well understood and there is no apparent reason why the info the unit provides should be dropped&#8230;(For example NMEA sentence GGA provides more data than Geoclue.Position.</p>
<p>I also note that there is no mention of the datum being used..If you are attempting to match an external map source to a GPS input, the datum is absolutely necessary..including an error routine from when they don&#8217;t. I read somewhere that the Clark datum used on South African maps is hundreds of metres different horizontally and vertically from the WGS84 datum. And the GGA sentence includes a local correction figure for geoid sea level to WGS84 datum.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: links for 2007-11-18</title>
		<link>http://vilunki.wordpress.com/2007/11/10/api-stability-whazzat/#comment-304</link>
		<dc:creator>links for 2007-11-18</dc:creator>
		<pubDate>Sun, 18 Nov 2007 18:18:19 +0000</pubDate>
		<guid isPermaLink="false">http://vilunki.wordpress.com/2007/11/10/api-stability-whazzat/#comment-304</guid>
		<description>[...] API stability? whazzat? &#8220;I haven’t posted in a while, so some news first: I’ve joined the OpenedHand crew.&#8221; &#8212; Jussi Kukkonen has joined OpenedHand, and is hacking on Geoclue with Iain. Geoclue + Gypsy = ROCK! (tags: jussikukkonen openedhand gnome mobile gmae geoclue gypsy) [...]</description>
		<content:encoded><![CDATA[<p>[...] API stability? whazzat? &#8220;I haven’t posted in a while, so some news first: I’ve joined the OpenedHand crew.&#8221; &#8212; Jussi Kukkonen has joined OpenedHand, and is hacking on Geoclue with Iain. Geoclue + Gypsy = ROCK! (tags: jussikukkonen openedhand gnome mobile gmae geoclue gypsy) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jku</title>
		<link>http://vilunki.wordpress.com/2007/11/10/api-stability-whazzat/#comment-302</link>
		<dc:creator>jku</dc:creator>
		<pubDate>Sun, 11 Nov 2007 19:43:54 +0000</pubDate>
		<guid isPermaLink="false">http://vilunki.wordpress.com/2007/11/10/api-stability-whazzat/#comment-302</guid>
		<description>Hi Simon, thanks for the comment. I&#039;m a bit undecided myself (the original Address-interface was my work after all). 

The problem is that at the moment we have no data sources that would provide resolution like that... and more importantly I feel that we just don&#039;t know enough to get the data fields correct at this time. In other words there&#039;s a good chance that if we add a Building-name field it would be left unused and people would actually want another (yet unknown) data field...

I guess I&#039;d like to wait and see A) what kind of data we&#039;ll be likely to get from data sources and B) what kind of data applications would like to have...  There&#039;s still the text-field that can be used for unstructured data in the mean time.

btw, please comment on the mailing list too -- this is something I&#039;m not 100% sure myself.</description>
		<content:encoded><![CDATA[<p>Hi Simon, thanks for the comment. I&#8217;m a bit undecided myself (the original Address-interface was my work after all). </p>
<p>The problem is that at the moment we have no data sources that would provide resolution like that&#8230; and more importantly I feel that we just don&#8217;t know enough to get the data fields correct at this time. In other words there&#8217;s a good chance that if we add a Building-name field it would be left unused and people would actually want another (yet unknown) data field&#8230;</p>
<p>I guess I&#8217;d like to wait and see A) what kind of data we&#8217;ll be likely to get from data sources and B) what kind of data applications would like to have&#8230;  There&#8217;s still the text-field that can be used for unstructured data in the mean time.</p>
<p>btw, please comment on the mailing list too &#8212; this is something I&#8217;m not 100% sure myself.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Simon Pickering</title>
		<link>http://vilunki.wordpress.com/2007/11/10/api-stability-whazzat/#comment-301</link>
		<dc:creator>Simon Pickering</dc:creator>
		<pubDate>Sat, 10 Nov 2007 23:00:09 +0000</pubDate>
		<guid isPermaLink="false">http://vilunki.wordpress.com/2007/11/10/api-stability-whazzat/#comment-301</guid>
		<description>I&#039;ve just read the geoclue-developers post and follow ups and see that the very fine grained position accuracy has been removed from Geoclue.Address: 

&quot;We also removed the incredibly fine grained building
name, floor and room number, as we didn&#039;t think many services would be that accurate.&quot;

Although I don&#039;t yet know much about Geoclue, I disagree with this removal; if a company/individual had enough wifi access points (for example), it would be quite easy to do building, floor and possibly even room location. With future technologies then who knows how fine grained one could go. You are designing an API that will be used into the future after all.</description>
		<content:encoded><![CDATA[<p>I&#8217;ve just read the geoclue-developers post and follow ups and see that the very fine grained position accuracy has been removed from Geoclue.Address: </p>
<p>&#8220;We also removed the incredibly fine grained building<br />
name, floor and room number, as we didn&#8217;t think many services would be that accurate.&#8221;</p>
<p>Although I don&#8217;t yet know much about Geoclue, I disagree with this removal; if a company/individual had enough wifi access points (for example), it would be quite easy to do building, floor and possibly even room location. With future technologies then who knows how fine grained one could go. You are designing an API that will be used into the future after all.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
