onlyonemac wrote:
it doesn't really make sense to have anything in more than one place at the same time.
It doesn't make sense for a
physical object to be in more than one place at a time, but what about non-physical objects?
Let's say that you want to keep track of a list of "favorite" songs, per user.
User 1 has marked Song 1, Song 2 and Song 3 as favorites.
User 2 has marked Song 2, Song 3, and Song 4 as favorites.
How many "songs" are there? 6?
The problem is that all "objects" are not physical objects. And that objects have "relationships" to other objects, that don't necessarily fall under the "parent/child" paradigm.
User 1 has 3 favorite songs. Song 2 has 2 users that have marked that song as a "favorite". This is a "network" type of relationship, where "connections" between objects are transitory, or temporary. They can be added or removed over time. This is difficult to model using a parent/child relationship model... which is why your "media" folder on your machine where your media player application tries, desperately, to store and organize all of your movies, videos, music videos, pictures, and songs always looks like a train wreck. (And why they pretty much only work for a single user...)
The Files/Folders paradigm that we have all grown up with does a good job of "emulating" real world objects that can only exist in one place at any given time. However, the reality is that all of those Files and Folders are just table entries with pointers to addresses that contain raw bytes.
(A more accurate representation would be shredded pieces of paper scattered over a football field, some of which contain a description on how to find other pieces of paper, and what order the shredded pieces should be read in.)
At best, all you can really say is that User 1, User 2, Song 1, Song 2, Song 3 and Song 4 all exist somewhere in memory or on disk (or both), and that from time to time, they can be related to each other in some way.
Just something to think about...