Does a Tag-based Operating System Exist?
Does anyone know of an Operating System which has abandoned folders for tags? It would be my dream come true.
Answers (8)
Jorg W
Network & System Engineer at DNX Network
Best Answers in: Computers and Software (5), Enterprise Software (1), Software Development (1)
I think BeOS used to have something like that. However, file systems like NTFS have the ability to store meta-data, but it is alas it is never used. WinFS (a feature dropped in Windows Vista) was going to use metadata more extensively.
Anyway, what stops you from using the poor mans tags? Just name your files like this: "Report 2007 - Sales - Quarterly - Company Name.xls". With long file names this is entirely possible. Enable the indexing service of your operating system and use the "search" feature instead of browsing through folders. You want all "tags" for Sales? Just search for Sales. That's it.... The only cumbersome part is that you can't "tag" multiple files at once (which you could for example in GMail) However, this could be fixed by having a utility that does that for you and 'lo and behold, a Google search on "Poor man's tagging file systems" gives us exactly that: "WinFSJunior" Note that I did not try the software and I'm not related to any development on it. However, since it's open source, you can't have much risks, now can you?
Remark: This is more a question about file systems than about operating systems. Most operating systems can use more than one filesystem.
Links:
Lars Ivar I
Consultant and D advocate
Best Answers in: Computers and Software (1), Software Development (1)
Although a tantalizing thought, it does ignore the fact that there needs to be an internal structure such that the file system can work at all. Assuming that you still want to store data in discrete parts (maybe not as files, but still you wouldn't want your images to be one huge blob of data - using tags for such boundaries sounds like a highly inefficient process), the current file systems do very well (and are getting even better) at finding your data on the disk. Putting tags on top of that is an entirely different matter, and is implementable in an efficient enough manner independent from the filesystem itself. Even if _you_ don't know where to find the data files on your disk, these links would reside somewhere in the tag system. You search your tags, which then point to your files.
Many projects exists to help you as a user to make use of a tags based interface, see the example in the links for how this is likely to look in the coming KDE 4 range of desktops. It is enough called the "Semantic desktop".
Links:
If I’m reading Tara correctly I believe she’s driving at something else here. It’s not the question of how you physically organize things, into folders or whatever (agree w/ Lars). It’s a question of access, searching, categorization (so not just ‘reading’ but the ‘storing’ too) – and redundancy I’d say. So yes, I’d say we need something else…
Take for example your favorites – w/ folder-like organization you soon end up w/ a mess, unable to find things and multiplying links under different folders (while e.g. FF tags help, they don’t solve it fully).
With folders (as underlying ‘file system’) the problem is that you can have any desktop-search or tagging ‘on top’ – but when storing files you have to decide “where to put it” as folders are still in the very core of OS – as most often you need things stored in 2 or more places, or under.
And no matter how fast the machine or good/optimized the desktop-search/tagging of any kind – it’s still not efficient or fast enough, consumes resources.
Second, you need to manually tag things – as additional work – instead of just doing it in the first place, storing under ‘tags’ (let’s use that to simplify, but it’s rather a form of categorization, semantic organization), changing tags etc.
Third, you inevitably have redundancy as a consequence – and even though discs are big nowadays – then you have multiple versions of the same file and so on and so on. Whoever is doing backups on a daily basis and has lot of data around knows that this is a huge issue – and it all starts at the file system. Lot of people get their paychecks thanks to this but that’s different story…
And then there is an issue of backup & read-only media – which is also part of the same story. That was on the question side…
As for the answer, there is no straight one as far as I know…
a) Tags are the simplest solution and most often used to organize things – however it’s not the ultimate one, still doesn’t solve all the issues, just some,
b) It’s a fat chance that any OS is going to be there soon, the major players are known already and how they operate. MS will eventually come up w/ something similar, but not on the horizon yet,
c) For desktop - I believe you’re more looking after tools and other initiatives at this point – so e.g. Google desktop (win-search etc.) and tools that help you organize your content,
d) There is also web – even though that was not your question I believe it’s where the answer is – as a major share of files/links is now online instead of on local machine – so we’re probably looking at a new generation web-based system that’d revolutionize this – Google, semantic web – which would then follow to desktop? Who knows…
Links:
While I don't know about an operating system that have completely abandonned the hierarchical filesystem model you can implement a "tagged filesystem" on top of pretty much any modern filesystem/os.
For example in the case of Linux's ext3 you can use extended attributes [3] to set tags to files then do whatever you want with them. Depending on what you want to do you might need some kind of index to speed things up though. Real implementations of this design include Beagle [0], Tracker [1]. An interesting alternative design exist in the Plan 9 operating system [2].
Now, the real problem of course is not how to store/manipulate these tags but rather which tag to which file. While on first impression you might think the user should just set the tags himself it becomes clear this is not practical when you start using such a scheme. Nobody wants to manually set the "music" tag to every MP3 and OGG files on his system. This example can be easily solved but more complex cases arise when you think about setting tags for music genres for example. This is the kind of prob
lem Beagle and Tracker are trying to solve.
But if you want to automatically tag files properly (even partially) you need a notification system on file change. In Linux this is called inotify [4]. In *BSD it's kqueue [5] (which is a more generic notification system).
Another problem is the nomenclature of tags. If you want a minimum of interoperability you have to agree on a common naming scheme. This is one of the task that the Free
desktop project has undertaken [6].
To sum it up, tag-based filesystems are being developped and some of them are already quite usable. This post details some of the design issues of such a system and a few Free Software implementations. However they are not meant to replace hierarchical filesystems any time soon. They are meant to hide the limitations of hierarchical filesystems to users but I am willing to bet that the underlying operating system will keep using the hierarchical model for quite a while.
[0] http://beagle-project.org/
[1] http://www.gnome.org/projects/tracker/
[2] http://plan9.bell-labs.com/sys/doc/names.html
[3] http://en.wikipedia.org/wiki/Extended_file_attributes
[4] http://en.wikipedia.org/wiki/Inotify
[5] http://people.freebsd.org/~jlemon/papers/kqueue.pdf
[6] http://freedesktop.org/wiki/Standards/shared-filemetadata-spec
Andy L
Technical Project Lead at Home Properties, Inc.
Best Answers in: Personal Taxes (1), Computers and Software (1), Web Development (1)
Every file on a MacOS system can have Spotlight Comments applied to it which will, as the name suggests, be indexed by Spotlight (the system-wide search facility) you can then create "saved searches" and store them as virtual folders or items on the sidebar of your Finder window.
Links:
Chris S
Systems Manager at VPAC
Best Answers in: Enterprise Software (2), Quality Management and Standards (1), Starting Up (1), Computers and Software (1), Information Storage (1)
KDE 4 is getting to that with its Nepomuk and FolderView integration that's currently being worked on. See the blog by Lydia called "Folderview is the Awesome" where she speculates on such integration after introducing what it can do already, and then the update at the end of the entry with a screenshot (linked below) demoing the integration with two folders, one showing items matching a tag and the second with music files matching specific metadata picked out automatically by Nepomuk.
Links:
- http://blog.lydiapintscher.de/2008/06/14/folderview-is-the-awesome/
- http://nhnfreespirit.kollide.net/Nightrose/folderviewnepomuk.png
Clarification added 11 months ago:
It's worth also pointing out that KDE4 is designed to be more portable than previous versions, and so ports to Mac and Windows are in progress, as are ports to Solaris, etc.
Tagging can be implemented in any filesystem which implements metadata. One example could be Apple's OS X since 10.4, along with Spotlight (for searching). Example application and more verbose description in web resources.
Links:
David G
Data Rat and BI Specialist at WorkSafeBC
Best Answers in: Facilities Management (1), Planning (1), Software Development (1)
As far as I know there is no OS to do this, but a few database designs have surfaced overtime which seems to be tag based. This could be regarded as a vanity speil :)
Would you be interested in sponsoring such a development? Or anyone else?
As to the use of tag based OS and the storage of information it would be very useful, as tag clouds could be used to define objects, instead of the fixed OO design for objects. If a reader needs such and such tag collection it would filter out all without the relevant tags and operate only on the objects which have the correct info. I have done some design but have yet to take it beyond the concept/prototype stage, my other career always gets in the way.
In application to CRM systems this would solve the large fat table design and still allow flexible process.
David