These responses are based on how we've been talking about namespaces so far..
> I think that namespace is only needed when an user
> want to tell some application what data he want to
> work on, right ? (by data I mean an unit of data like
> an email, an image, a text docmuent, etc...)
It is a way for a domain which directly interacts with the user ( eg, a gui file selector, or a command line shell) to retrieve a particular capability, and give it to some other program.
> But data, is already represented by something, a
> capability to the memory space containing this data,
> no ?
In fact, this doesn't need to be so. The key could be to a dynamically created domain - the domain is created in response to the query. Eg a network connection
connection = namespace.get(/net/tcp/192.168.0.1/80)
(this is similar to how network connections were opened in plan 9.)
But most uses will I think be for existing capabilities.
> So namespaces are used by users to access their data
> stored in their accounts. (I see an account just as a data
> container, so it will be a capability itself, holded by the
> authentication process, which gives a copy of it to a
> shell-like application, after the authentication has
> occured)
>
> For me a namespace is a capability holder, in which the
> user choose a particular one to select some data.
>
This fits my idea of it, too.