folksonomy   12608

« earlier    

Designing better file organization around tags, not hierarchies
"Computer users organize their files into folders because that is the primary tool offered by operating systems. But applying this standard hierarchical model to my own files, I began to notice shortcomings of this paradigm over the years. At the same time, I used some other information systems not based on hierarchical path names, and they turned out to solve a number of problems. I propose a new way of organizing files based on tagging, and describe the features and consequences of this method in detail.

Speaking personally, I’m fed up with HFSes, on Windows, Linux, and online storage alike. I struggled with file organization for just over a decade before finally writing this article to describe problems and solutions. Life would be easier if I could tolerate the limitations of hierarchical organization, or at least if the new proposal can fit on top of existing HFSes. But fundamentally, there is a mismatch between the narrowness of hierarchies and the rich structure of human knowledge, and the proposed system will not presuppose the features of HFSes. I wish to solicit public feedback on these ideas, and end up with a design plan that I can implement to solve the problems I already have today.

This article is more of a brainstorm than a prescriptive formula. I begin by illustrating how hierarchies fall short on real-life problems, and how existing alternative systems like Git and Danbooru bypass HFS problems to deliver a better user experience. Then I describe a step-by-step model, starting from basic primitives, of a proposed file organization system that includes a number of desirable features by design. Finally, I present some open questions on aspects of the proposal where I’m unsure of the right answer.

I welcome any feedback about anything written here, especially regarding errors, omissions, and alternatives. For example, I might have missed helpful features of traditional HFSes. I know I haven’t read about or tested every alternative file system out there. I know that my proposed file organization scheme might have issues with conceptual and computational complexity, be too general or not expressive enough, or fail to offer a useful feature. And certainly, I don’t know all the ramifications of the proposed system if it gets implemented, on aspects ranging from security to sharing to networks. But I try my best to present tangible ideas as a start toward designing a better system. And ultimately, I want to implement such a proposed file system so that I can store and find my data sanely.

In the arguments presented below, I care most about the data model and less about implementation details. For example in HFSes, I focus on the fact that the file system consists of a tree of labeled edges with file content at the leaves; I ignore details about inodes, journaling, defragmentation, permissions, etc. For example in my proposal, I care about what data each file should store and what each field means; I assert that querying over all files in the file system is possible but don’t go into detail about how to do it efficiently. Also, the term “file system” can mean many things – it could be just a model of what data is stored (e.g. directories and files), or an abstract API of possible commands (e.g. mkdir(), walk(), open(), etc.), or it could refer to a full-blown implementation like NTFS with all its idiosyncratic features and characteristics. When I critique hierarchical file systems, I am mostly commenting at the data model level – regardless of the implementation flavor (ext4, HFS+, etc.). When I propose a new way of organizing files, I am mainly designing the data model, and leaving the implementation details for later work."
tags  tagging  design  folksonomy  files  filing  computing  organization  via:jslr  hierarchy  hypertext  complexity  multiverse  search 
april 2018 by robertogreco

« earlier    

related tags

2004  2015  351  551  644  853  analysis  annotation  api  archive  art  article  audio  bernardo_huberman  bibliography  bibtex  blog  blogfodder  bookmark  bookmarking  bookmarks  brentsimmons  brettterpstra  browser  brucesterling  categorization  cheap  china  classification  classify  clay_shirky  collaboration  collaborative  collections  collectionsonline  collectiveintelligence  commons  community  complexity  computing  construction  consumerbehaviour  controlledvocab  corydoctorow  course  crowdsourcing  cumulative  data  datacuration  davemessent  davidsparks  deeplearning  delicious  demo_request  democracy  design  dev  digital_humanities  digitalassetmgmt  diigo  discourse  discoverability  discussion  doctorow  documentation  economics  education  enterprisebookmarking  epistemology  evernote  fan  fanfic  files  filing  flickr  folksonomies  freesoftware  freetagging  frequency  from:delicious  genre  georgeoates  gis  greatefuldead  greatfuldead  hashtag  hashtags  hastags  hiearchy  hierarchy  history  html  hypertext  ia  ifttt  inboard  indexation  indexing  information  informationdesign  internet  joshuaschacter  katiefloyd  kay  keyword  knowledge  knowledge_graph  link-aggregation  linkfodder  links  mac  machinelearning  memory  meta  metadata  metadatagames  metatags  ml  ml_graphicalmodels  movies  mt  multiverse  museum  music  naming.scheme  naming  netflix  news  newsmedia  nlp  omnifocus  onlinecollections  ontology  openstreetmap  organization  organizing  osm  paper  payonce  pinboard  podcast  podfodder  presentation  productivity  projects  public  quora  recommendations  recommenders  reference  research  resource  scheme  search  searchenginemarketing  security  self  semantic  semantics  semanticsimilarity  semanticweb  server  shirky  snsannobib  social  social_tagging  socialbookmarking  socialsoftware  socialtagging  socialtechnology  software  startup  steveproject  structure  sysadmin  tag  tagcloud  tagging  tagging_star5  taggy  tags  taxonomy  technology  text  text_analysis  text_tools  textmining  thomasvanderwal  thoughtvectors  timekl  todo  tooled  tools  tumblr  twitter  use  vanderwal  visualization  waste  web  web2.0  webdesign  weekly  weightedlist  wired  workflows  writings  yahoo 

Copy this bookmark: