Talking Point: Could Linux Abandon Directories In Favour Of Tagging?
For a fairly scruffy looking guy, I have a surprisingly healthy approach to organising my files. However, I'm constantly pushing up against the limitations of a system that is based around directories. I'm convinced that Linux needs to make greater use of tagging, but I'm also beginning to wonder if desktop Linux could abandon the hierarchical directory structure entirely.
Why is it that web based technology such online bookmarking makes far greater use of tagging than the Linux desktop does? Directories for files are based on the way that humans have always organised items in the real world, using categories and sub categories. Thanks to powerful computers and cheap, plentiful storage, tagging now offers a method of storage that isn't based on placing files in one place or another.
The word processor file that makes up this article is stored /documents/articles/linux_journal/ but it could be even more efficiently organised if I could easily tag it as “documents”, “articles”, “linux journal” as well as “op ed”, “daft ideas”, “tagging”, “linux” and “web posts”. That way I could find it by browsing through alll of the web posts I've made this year or all of the op-ed peices I've ever written.
Some organisational situations illustrate the weakness of the hierarchical approach. For example, if I download some independent electronic dance music, where do I place it within a hierarchical system file system? Does it go in /mp3/dance/electronica/independent or /mp3/independent/electronica/dance? Which system works best depends on whether the significant factor is that it is electronica or independently produced. This is where tagging comes into its own as it allows objects to be placed in more than one category at once.
When dealing with files, there's a distinction to be made between the files that I normally care about and those that I only care about when I'm fiddling around inside Linux's innards. The default setup of most Linux distributions acknowledges this distinction as the files are stored either:
- outside of the /home directory (files that I don't care about most of the time)
- inside the /home directory but hidden (more files that I don't care about most of the time)
- inside the /home directory and visible (these are the files that I care about)
It's this last category of files that is ripe for being moved over to a tagged system. Abandoning the directory system outside of the /home folder would mean not only designing a new operating system but also designing a new set of applications.
Application awareness could make tagging more useful, because as it stands, when I'm opening files or saving them, I can't use tagging most of the time. For one thing, application awareness could reduce the tagging workload. A word processor could set the tag of a file as a “text document” and perhaps offer me some pertinent tags from the system tag cloud to go with it. When I download a file within Firefox, I bet that it would be fairly easy for the developers to make it tag the file as “downloaded”. That way it keeps that information when I also decide that it belongs in the “video” and “trailer” “film” “science fiction” “have watched” categories.
Most people probably have a fairly fixed idea of what they think a file browser is, but a large proportion of applications are actually specialised file browsers. Why couldn't a tag-aware file browser suddenly switch into music browsing mode as soon as I select the music file tag? If it automatically switched to the details view, added an extra pane on the left hand side for an album view, gained a time elapsed counter in the status area along with some transport controls, you'd have a fairly good music player. Email clients are also specialised file browsers. In the classic three pane layout, the left area represents the folders, the top right hand pane shows the files, and the bottom right pane is a viewer. Click on the message and it opens a slightly specialised text editor.
Ubiquitous tagging for normal desktop use would be a way for desktop Linux to get ahead of the competition, and I have an idea that it would particularly appeal to people who weren't computer experts. Bear in mind that non-experts don't have any difficulty understanding tagging on the web.
I see the two main barriers to greater adoption of tagging on the desktop as the lack of a unified standard for metadata and the aforementioned lack of application awareness. I wonder which will be the first mainstream distribution or desktop environment to experiment with removing directories and going 100% tagging for end users?
The tagging image used as the icon for this article was created by Salvatore Vuono. Downloaded from Free Digital Photos.
UK based freelance writer Michael Reed writes about technology, retro computing, geek culture and gender politics.
Getting Started with DevOps - Including New Data on IT Performance from Puppet Labs 2015 State of DevOps Report
August 27, 2015
12:00 PM CDT
DevOps represents a profound change from the way most IT departments have traditionally worked: from siloed teams and high-anxiety releases to everyone collaborating on uneventful and more frequent releases of higher-quality code. It doesn't matter how large or small an organization is, or even whether it's historically slow moving or risk averse — there are ways to adopt DevOps sanely, and get measurable results in just weeks.
Free to Linux Journal readers.Register Now!
|A Project to Guarantee Better Security for Open-Source Projects||Aug 27, 2015|
|Concerning Containers' Connections: on Docker Networking||Aug 26, 2015|
|My Network Go-Bag||Aug 24, 2015|
|Doing Astronomy with Python||Aug 19, 2015|
|Build a “Virtual SuperComputer” with Process Virtualization||Aug 18, 2015|
|Firefox Security Exploit Targets Linux Users and Web Developers||Aug 17, 2015|
- Concerning Containers' Connections: on Docker Networking
- Problems with Ubuntu's Software Center and How Canonical Plans to Fix Them
- My Network Go-Bag
- Firefox Security Exploit Targets Linux Users and Web Developers
- Doing Astronomy with Python
- Build a “Virtual SuperComputer” with Process Virtualization
- diff -u: What's New in Kernel Development
- Django Models and Migrations
- Three More Lessons
- Calling All Linux Nerds!