>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