[cap-talk] [e-lang] File API taming

Stiegler, Marc D marc.d.stiegler at hp.com
Mon Mar 23 16:55:47 EDT 2009


> > Now the non-glib problems are, suppose someone managed to 
> characterize 
> > all uses so well you could put them in the api.
> 
> No-one needs to characterize all possible uses of path information.
> If all I do is select a file to be given to an app using a 
> powerbox file chooser, then that action is not authorizing 
> the app to know the path, and so it can't have it. Period.

Putting a period at the end only works up to the point where programmers and users are willing to put up with the resulting lack of functionality. We can argue about where that point is, but there isn't a really hardstop self-evident "period" here.

> 
> There may not even be a meaningful absolute path for a given 
> file, so if an app were to rely on knowing such a path, it 
> would be incorrect.

It's not the app relying on the path, it's the human users attempting to create coordination points to map between their diverse local contexts. "Incorrect" in this situation means, "the users did not have enough information to disambiguate all the possible shared references". Be careful protecting the users from successful sharing. 

SCoopFS actually sends the originator's absolute path to ensure a fully disambiguated coordination among users who may be sharing multiple files of the same name. Microsoft Live Mesh shares the full path from the shared-root to the specific file, which is probably adequate for full disambiguation; both of these are supported in the proposal I made earlier, enabling programmers and users to pick their solution. A file name by itself is not always sufficiently unambiguous.

I cannot for the life of me understand why people are fighting so hard against context-relative paths by default. They don't carry any authority. While I can imagine it, I've never seen one carry proprietary information. In practice they only carry the ability to enable people and programs to understand each other. We have so many problems so much more serious and difficult (look at chip's thread!), why does everyone get so maniacally wrapped around this one?

--marcs


More information about the cap-talk mailing list