12 ms·
> Doesn't every major app have to do this itself, in some container (document/mail folder/image definition/contact list and on and on)? It does, but it's also
by zrm 7y ago
> Doesn't every major app have to do this itself, in some container (document/mail folder/image definition/contact list and on and on)?
It does, but it's also something that can be provided by a library as easily as the OS. So e.g. Firefox uses sqlite, but it can use a portable library for that, and then it isn't different on Windows than Linux or Mac.
And then the application gets to choose something with an appropriate level of complexity. Sometimes all you need is Maildir or xattr(7) or JSON, sometimes you need a full on SQL database. One size fits all rarely does in practice.
- JoeAltmaier 7y agoExcept, the results are opaque. I can't operate on the data without using their tools, which might not be what I want. Imagine if the OS let you browse all the app data, see all the relations (that you were authorized to see), and write tools to operate over it. That would be a most Open system, compared to everything we have which is essentially walled off to us.
- zrm 7y agoIt's not really opaque as much as it is application-specific. But then how do you fix that? If you give applications the ability to tag things then one mail program uses a tag called "unread mail" and another uses a tag called "message read" with the opposite value and another uses a tag called "mail flags" with a bitmask where one of the bits is whether the message has been read or not etc. Smells like Windows registry. Either you somehow enforce a high degree of uniformity, which implies a pretty serious lack of flexibility, or everybody gets to make their own decisions and then everybody makes different ones. And the second one seems better as long as the individualized thing they're doing is sufficiently well documented.
- JoeAltmaier 7y agoThe alternative, right now, is nobody can do anything at all like this. There's not even the opportunity to create conventions in apps. Opening up application data to OS tools, opens up a whole new world of opportunities (and hazards) for app developers.