Forward/backward compatibility

Several times on this list, people have suggested that semantics like 
civic addresses and privacy rules be delayed until release 2 of this 
API.  I'm concerned that there seems to be no plan for where those 
things might be added (i.e., where the extension points are in this 
API), and that this will make it difficult for v2 to be compatible with 
apps that depend on v1.

If we are going to put of civic and/or rules until v2, could we at least 
agree on where we might put them?

As a suggestion, I'll again refer to the structure that I posited in 
another thread, where geodetic position is one component of a richer 
Position object.  v1 might define a simple structure:
interface Position {
	readonly attribute Geodetic geodetic;
}
interface Geodetic {
	// lat/long/altitude etc.
}

Then v2 could extend this object to add civic and rules without changing 
the behavior of the API or breaking existing code:
interface Position {
	readonly attribute Geodetic geodetic;
	readonly attribute Civic civic;
	readonly attribute Rules rules;
}

You could also provide civic/rules access through separate API calls, 
but since the usage patterns for civic and geo are so similar, it seems 
a little silly to re-define the behavior instead of just the data structure.

--Richard

Received on Thursday, 13 November 2008 14:44:00 UTC