Hacker News new | ask | show | jobs
by 0xCMP 1863 days ago
It's basically cause of mobile. Simple tools often involve using files. Using plain text files too. I don't think the pendulum will swing back the same. Files are a bad abstraction. Databases via HTTP APIs are far more reliable for using between all our devices. Syncing files without something like Git is very painful and for Git to be used the user themselves need to be able to handle the diff themselves correctly. And they'd need to do this all on Mobile. It basically kills plain files for anyone except the most advanced users and requires very complicated apps (e.g. the wonderful WorkingCopy on iOS). The problem yet to be solved for normal users is how do you take advantage of that convenience while still letting users own their data?

There are some attempts but basically at the end of the day it'll require more support from the various operating systems (mainly mobile). There needs to be some underlying open data format which can be synced easily that recreates a database locally that apps can query directly and optionally some way to proxy those requests to a central service when the device can't/shouldn't have direct access to that database (lack of storage, lack of compute to run the database or app, lack of privilege's to have possible direct access all of the data.)

If you can't solve encryption, syncing, and ability to easily use the same rich data between devices and operating systems you won't reverse the trends to move everything to these fancy tools which almost all end up being centralized and requiring the user to be online regularly even for data which only their own devices would ever be using.

3 comments

Files are a great abstraction. They give you ownership, actual one, not the kind sold by apple or Netflix. Files give you freedom to share informatiin instead of being held in a database by some third party with different intentions than your freedoms. Please don't spread FUD
The issues of control and whether the file abstraction is that good are orthogonal.

I personally hold the view that it could have been better and that a more general notion of persistent object (not in the OOP sense) would've been better from a user facing pov.

The filesystem is doing more than one job, holding multiple responsibilities and imposing a way to present data and how to store it.

Not perpendicular, just unaligned.
For storing bytes at a path on disk? Sure, but it's low level abstraction. Something which only developers and sys-admins should be concerned with.

Users would much rather work with logical items. A "photo" which includes metadata, photo files, photo edits, ratings, face/object detections, and etc. as a single "thing". A tweet thread. A blog post on Medium or in WordPress. A Google Doc or Sheet.

The question is how do you provide that seamless "anywhere, anytime" experience while keeping that data as local to the device as possible? Files by themselves just can't solve that. There needs to be a protocol, a data format, and mobile OS support.

You're basically describing Microsoft OLE[1].

There was also the open-source alternative, OpenDoc[2] that never got anywhere... this has been tried and just doesn't work.

The only thing that seems to work is media-types on the Internet... with the browser as the universal viewer/processor... but as it is currently, it's hard to make it better than what we have.

[1] https://en.wikipedia.org/wiki/Object_Linking_and_Embedding

[2] https://en.wikipedia.org/wiki/OpenDoc

I think it was just an observation, not a recommendation. If we can't defend a free lifestyle from within this new, messy, network, then the future is proprietary and rented from the cloud.
I agree with you completely. I love orgmode and I love emacs but using tool like TickTick or Things3 for my todos makes it so much better because without any hustle I have the same version everywhere and with nice UI. For stuff that I don’t need to sync, merge etc on many devices I definitely choose Emacs + Org. For stuff that I need on the go, updated on the spot - sorry, too much hustle for me
That's a fairly dystopian outlook. There's no (technical) reason mobile operating systems can't be just as open as desktop operating systems. The only reason why mobile platforms are locked down are business interests (we're lucky that IBM lost its iron grip over the PC platform early on, otherwise we'd still be stuck in the computing dark ages).

(apart from that: a filesystem is nothing else than a database, and text files are pretty much the most open data format imaginable, it's not like we arrived there by accident).

A filesystem is a hierarchical key-value database, which is not what many applications actually want, and plain text is not a data format for anything except structureless human-readable-only, well, plain text. While you could then put some textual format like JSON or ad-hoc space separated values or something into a text file, the tooling around text files may not deal with this very well. And it's slower than something like SQLite and lacks the aforementioned convenient syncing capabilities.