User Tools

Site Tools


Rhizome "hidden" field

Every now and then a user or developer suggests adding a “hidden” field to the Rhizome manifest, so that certain kinds of files can be omitted (by default) from the Rhizome “Find” screen of Serval Mesh (app for Android). Some of the suggested “hidden” files to date have been:

A “hidden” field is BAD DESIGN and SHOULD NOT BE IMPLEMENTED, for the following reasons:

  1. It blindly perpetuates a design made decades ago under very different circumstances, namely the convention of hiding files whose names begin with dot . in the Unix time sharing operating system. The parameters of today's problem are very different, eg, there are no . and .. meta-files to deal with, folders and directories are much more widespread and well supported by applications these days, the user population is much larger and on average less technically competent and less well behaved.
  2. It is a one-size-fits-all solution, which ignores the very important design consideration of, “Which files are interesting to whom?”
  3. It complicates the Rhizome UI for file sharing by adding an extra feature that users must deal with, both at the point of sharing a file (another checkbox in the UI), and at the point of receiving (another option to show/hide “hidden” files);
  4. Rhizome content type will largely solve the problem of distributing files between applications without cluttering the generic “File sharing” application;
  5. Rhizome Groups will largely solve the problem of too many users sharing a single file name space;
  6. It is merely a temporary band-aid for the grave scalability problems caused by a single file name space, and implementing it will only delay work on the real solution, namely Rhizome Groups
  7. Once a Rhizome manifest field has been implemented, it imposes a backward compatibility burden on the software, and since the benefits of the “hidden” field are only temporary, this burden is not justified.
content/tech/rhizome_hidden_field.txt · Last modified: 26/05/2013 22:17 by Andrew Bettison