[gmpi] Re: low level API - Abstract Factory summary

  • From: "Frederick Umminger" <Frederick_Umminger@xxxxxxxxxxxxxx>
  • To: <gmpi@xxxxxxxxxxxxx>
  • Date: Wed, 9 Feb 2005 17:15:12 -0800

>suggest they should be exposed to users anyway), but theres no content in
>a GUID, and they cannot be dereferenced, except through a central
>(well-known) resource, and thats far from ideal.

The fact that a GUID cannot be dereferenced is a feature. That means there is 
no reference to go stale and invalid. A URI that is designed to be dereferenced 
can go bad. Originally it was http://www.supercoolplugins.com/pitchwobbler, but 
then I could not afford to keep up the domain so it had to change to 
http://users.genericinternetprovider.com/~fumminger/pitchwobbler, but then I 
sold the plugin to MegaCorp and it had to change to 
http://www.MegaCorp.com/plugins/pitchwobbler. Then they went out of business 
and there no longer was any dereferenceable URI. Throughout all of this, the 
URIs of plugins in the field kept breaking. Furthermore hosts would try to 
instantiate a plugin identified as http://www.MegaCorp.com/plugins/pitchwobbler 
and fail, because the hapless user only had the plugin
http://www.supercoolplugins.com/pitchwobbler installed. Wait, they are the same 
plugin! Too bad the host had no way of knowing this.

Plugin identifiers should be immutable and in one-to-one relationship with 
plugins. URIs are neither.

Adding some kind of version tag into the URI does not fix this. 
http://www.supercoolplugins.com/pitchwobbler_VERSION_1.0 goes stale as quickly 
as the unversioned tag.

In terms of database theory, the URI solution commits two unfogiveable sins by 
conflating the identity of data not only with a location 
(www.supercoolplugins.com/pitchwobbler) but also with a method of access 
(http:).

Btw, an example of another project that attempts to use meaningful internet 
addresses in identifiers is GNU Arch, which uses email address in archive 
names. This has generated a lot of bitter complaint from users who need to use 
fake email addresses to protect themselves from spammers. See 
http://wiki.gnuarch.org/moin.cgi/Why_20not_20Arch. The result is that the 
"feature" does not actually work due to fake addresses and a lot of heat is 
generated about issues that are entirely extraneous to the problem domain of 
Arch, which is source code control.

Sincerely,
        Frederick Umminger


-----Original Message-----
From: gmpi-bounce@xxxxxxxxxxxxx [mailto:gmpi-bounce@xxxxxxxxxxxxx]On
Behalf Of Steve Harris
Sent: Wednesday, February 09, 2005 3:37 PM
To: gmpi@xxxxxxxxxxxxx
Subject: [gmpi] Re: low level API - Abstract Factory summary


On Wed, Feb 09, 2005 at 02:51:14 -0800, Frederick Umminger wrote:
> 
> I know what a URL is. I do not think the web has ignored localization issues.

Not all URIs are URLs.

It's true that URIs are not localised, but the resource that you retreive
by derefencing the URI /can/ be localised.

They can be versioned, if we specify it, eg. the local name part of the
URI can be speciifed to have a certain parsable form to extract the
version number.

Regardless, these are features that GUIDs dont posses, at all. You can
argue that some people can't read URIs in a human sense (and I dont
suggest they should be exposed to users anyway), but theres no content in
a GUID, and they cannot be dereferenced, except through a central
(well-known) resource, and thats far from ideal.

- Steve

----------------------------------------------------------------------
Generalized Music Plugin Interface (GMPI) public discussion list
Participation in this list is contingent upon your abiding by the
following rules:  Please stay on topic.  You are responsible for your own
words.  Please respect your fellow subscribers.  Please do not
redistribute anyone else's words without their permission.

Archive: //www.freelists.org/archives/gmpi
Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe


----------------------------------------------------------------------
Generalized Music Plugin Interface (GMPI) public discussion list
Participation in this list is contingent upon your abiding by the
following rules:  Please stay on topic.  You are responsible for your own
words.  Please respect your fellow subscribers.  Please do not
redistribute anyone else's words without their permission.

Archive: //www.freelists.org/archives/gmpi
Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe

Other related posts: