Being able to use a wide number of existing "server side" libraries in the browser could be a huge win.
And this has interesting server side applications too, where one can use the same Node.js code but target diverse & interesting backends & overlayed systems. Having a virtual-fs is an incredibly powerful and useful concept.
"Everything is a file!" still sounds like a great idea.
Alas BrowserFS lacks Streams support. Given how async oriented and streams based a lot of new JS tends to be, that is a huge sticking point for me, and a glaring exception that will rule out using a very sizable number of existing packages that otherwise would benefit greatly from BrowserFS. Issue 124, Support streams: https://github.com/jvilk/BrowserFS/issues/124
As an alternative: it lacks the flexible, pluggible/mountable backend of BrowserFS, but level-filesystem does do streams, and can be run in the browser (when combined with level-up): https://github.com/mafintosh/level-filesystem
Final aside, I always thought it would have been cool if the virtual file abstraction that the Gulp build tool built - Vinyl - had started getting used outside Gulp. Theres no file-system model, just a file model here, except for implicitly in that files have paths, but with some mapping one can imagine making something like BrowserFS or other with the Vinyl model. That said, I think John has done a great job with his rigorous, TypeScript-ed object model in BrowserFS. https://www.npmjs.com/package/vinyl
Here's to hoping #124 - Streams Support - sees some progress. Great library John!