[haiku-development] Re: Working on Caya and Mail app for GSoC

  • From: Adrien Destugues <pulkomandy@xxxxxxxxxxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Wed, 30 Mar 2011 10:16:55 +0100



People files are already somewhat borderline (no file content !); using
these files in a remote FS would feel very strange (so, that's a file
with no content, that's not stored on my hard drive... what ?) and
confusing.

How so? Why do files have to have content in the data stream? It's just a means to store information. Think of a file as a persistent object of information, accessible on a system level. When multiple applications need to access the information in a synchronized fashion, a file system is a good choice. If you require apps to use a library to access the information, but it's still accessible via other means (like by directly accessing the files), then you will *always* face the issue of stuff going possibly out of sync. An FS is a neat solution.
A file with no data stream is ok, but a file with no data stream, that is also actually not stored on a disk drive, but a remote entry in a database on some server ; that's starting to feel strange for me.

One nice thing about people files is it allows to sync your local
address book with your GMail contact list automagically :)

I don't know what you mean by that.
If we do an FS layer for jabber contacts, this means the FS is mounted only when the jabber server is available, in order to stay in sync with it. This means I have to be connected to the internet to get access to these files. I think that's wrong, because I may want to look at my contact list when offline. A feature of GMail is to use the same contact list for jabber and mail ; this maps well to people files and what I would like is to keep them in sync, but I want the people file to stay on my computer, so I can use them while I'm not connected to the internet. Ok, a filesystem may be a way to solve that, but I think it doesn't feel natural. I like Haiku for the simplicity, I'm able to see how things work by just looking at the UI. And looking at people files in some folder of my home directory, I don't expect them to be "stored" on google's servers. This may lead to confidential information getting online by mistake, for example. It also makes the directory behave in a non-natural way : it will only be able to store people files/jabber contacts, nothing else. What happens if I drag some other file in this folder ? It can't be read-only, because I can still modify existing files, delete and create...

I think this is going to create problems. We need a different API, possibly in the service kit, and not exposed as a filesystem. This API would allow syncing between apps and keeping track of changes, and getting in touch with a server to store/get changes remotely.

--
Adrien.

Other related posts: