earlier today I was having a discussion with the front end guys in the office, and our little brainstorm gave me an idea that I think is worth sharing and getting your comments on. I’ll keep it short as I need to get back to work/sleep.
Obviously a SAFE app can be the conservative equivalent of a normal program; with your data securely stored on the network: ie storing your data under your MAID account and the application needs your permission to access your data.
We have Drive to reconstruct a (cross platform) file-system for your files, but at it’s heart the SAFE network does not have a filesystem. It only has recursive datamaps that point to hundreds, thousands of chunks that make up your data in a MAID account. Those chunks live in XOR space and the datamaps are just big indexes to help you find them again.
Private data only allows you to do so much, so public data (under MPID) and privately shared data (under MSID) are where a SAFE application really starts outperforming what a traditional application could never so easily do: a user does not need to make a ‘private copy’ of data in order to have it usable. In some sense the SAFE network combines all hard drives into a single giant virtual hard drive used by everyone simultaneously.
Take a simplified example of a contact address book. On your MAID account you do not need to store your contacts. rather you could (minimally) only store the public IDs of the contacts you want to have, and the actual contact information is retrieved from the MPID (or MSID) contact details. Your contact changes some details, and they are automatically reflected in all contactbooks that have him.
Of course, the simple contact book is not the interesting point, I just use it to illustrate my general point: what is a SAFE app? what is different from any type of application we had before ?
A SAFE app is a filter. A SAFE app is a piece of code that indexes / maps / relates different public, shared, or private pieces of information. From all the chunks that are collectively stored on the full XOR network, an app builds a specialised type of datamap that pulls together pieces of information to make sense out of them.
Importantly this pushes strongly for open source data types: different applications with similar or overlapping purposes should be able to collaborate. Afterall, they want to read public data from countless different owners and those owners might have written that public data with a different app.
Secondly, realising that this inherent structure of the SAFE network should be reflected in the way SAFE apps are designed, helps us all (community included) to prevent repeating our old mistakes: if we build the SAFE network and then populate it with apps that try to fence data in private MAID accounts, it’s both more expensive (every user has to pay more safecoin), and it would miss out one of the essential goals of MaidSafe. That is to make apps/services secondary to the data. We currently have an internet filled with services that try to claims as much of your data as possible. We should not repeat that mistake on the SAFE network !
So food for thought!