← Back to team overview

ubuntu-phone team mailing list archive

Re: Potential to replace files/folders with tags

 

As someone who has worked with the "tags" vs "files and folders" problem
quite a lot via the Novacut project, I thought I should chime in here.

The problem with the traditional files and folders system is that it
conflates two very different concepts, location and description.
Applications need to know where a file is in order to work with it, while
humans need a readable description of the file in order to understand what
it contains and how it relates to other files.  The problem with tradtional
file systems is the same hierarchical structure is used for both purposes,
and this can become a problem when the user's understanding of a file or
set of files changes over time.

Human understanding of what particular files mean and how they're
interelated can and will change over time.  And if you've strongly coupled
location with description like we tend to do with traditional file systems,
that means the location changes and all the interconnections between files
break if the description is ever updated.

If I start a new project, I might start it out with a given working title
or perhaps no title at all because it started with just a flurry of writing
at 2 in the morning.  I can change it later.  This is fine as long as
nothing else relies on being able to find that particular set of files, but
say I had needed to use some bits of it in another program, suddenly I'm
either locked into all the assumptions I'd made about file structure or I
have to start forking separate copies into a bunch of different places.

Fortunately, we don't have to ditch all the great work on file systems that
has been done already.  They do work great for storing and locating files.
What we have to do is let the user find and interact with their files
without caring about exactly where they are in the hierarchy or what their
true name is.

The way Novacut handles this is through a database that keeps track of its
set of files and stores metadata about them.  Every file has a unique ID in
the system and even though files are read-only in our system, it's quite
trivial to indicate relations between the raw files with metadata, so
applications can simply point to the most up to date version of something.

While we probably shouldn't hide the underlying file system from the user,
I do think a way to search and organize one's files based on metadata
rather than traditional folder hierarchies and file names is a great idea.
Moreover, applications should be able to relate to files using either the
traditional route or through unique location-independent identifiers.


On Mon, Feb 25, 2013 at 2:30 AM, darkdragon <darkdragon-001@xxxxxx> wrote:

>
> On Mon, Feb 25, 2013 at 12:06 AM, Matt Richardson <
> m.richardson.1990@xxxxxxxxxxxxx> wrote:
>
> My idea would be that the tags would operate as follows:
>>
>> When saving/creating a file any number of tags can be selected as well as
>> a name. By default the 'username' tag would be selected.
>> The actual filesystem would place the file in /home/username/tag1/tag2/
>> Tags beyond tag 2 would not be included in the folder hierarchy. A
>> database (similar to zeitgeist) would also be updated to contain the full
>> list of tags and files
>> When selecting files (file manager or open dialog) all of the available
>> tags would be listed. When a tag is selected, the list updates to show tags
>> which contain files matching the first tag
>> In order to show root files the "system" tag would have to be selected.
>> The file manager would then switch to standard file/folder view, since we
>> can't easily update the root filesystem
>>
>> Further, you could allow tags to have tags themselves. This would give
> the possibility to have a tag (e.g. "ProjectXY") - with all its tagged
> files - to reside inside /myprojects/currentprojects and /work/2013/ tags.
>
> But I think this is only good for user files and not system (since then
> system would depend on the working tag system). Therefore you would need to
> write a whole new file system to have it working stable enough...
> Further, I think putting your files into sort of randomly named folders
> would be better than using your tag1/tag2/ structure since it is not
> clearly defined which tag would be tag1 and which one tag2.
>
>
> On Mon, Feb 25, 2013 at 2:02 AM, Mike Sandman <mike@xxxxxxxxxxxxxxx>
>  wrote:
>
> Couldn't you achieve this using a user space file system? That seems quite
>> a bit less drastic. Keep in mind that we still want there to be 1
>> underlying operating system running across different hardware including
>> desktops and servers
>>
>  I also think that it's no a good idea to really kind of replace the
> operating file system due to compatibility between devices (including your
> desktop ubuntu).
>
> Since I like the tagged file system idea, what about a special file
> manager (user space only)?
>
> Or why not implementing this into Ubuntu One? This way you would have a
> private synchronized user space. To make syncing easier you nevertheless
> need some sort of table and there you could store further information like
> tags. What do you think of that?
>
> cheers, darkdragon
>
> --
> Mailing list: https://launchpad.net/~ubuntu-phone
> Post to     : ubuntu-phone@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~ubuntu-phone
> More help   : https://help.launchpad.net/ListHelp
>
>

Follow ups

References