Comment How to think about Fluidinfo (Score 1) 79
Probably the simplest way to think about Fluidinfo is by analogy to Wikipedia.
Wikipedia is not a storage system in & of itself. It sits on top of some form of storage and provides an alternate interface to information for normal people. Its most distinguishing characteristics are 1) that anyone can add information to any page, and 2) that there is a page for everything (you get to create it if it doesn't already exist).
Ten years ago if you'd said you were going to build an encyclopedia by letting anyone freely write on any page, it would have seemed, uh, optimistic (to say the least).
What if you wanted to do the same thing for applications (and their users)?
You could build something like Wikipedia, but there are 3 things you'd need that Wikipedia doesn't have:
1. A permission system on the information that was being added (on tags & their values, in Fluidinfo). That would stop applications from overwriting or even reading each other's data, unless they had permission.
2. Typed data. A number on a wiki page is just text. In Fluidinfo it's really a number.
3. A query language.
If you add those things to Wikipedia, you basically have Fluidinfo.
Fluidinfo gives you an object for everything (it has an 'about' tag, whose values are unique across the system), each with its own URL. Because the objects are not owned, anyone or any app can add to any object. No need to stop to ask permission, no need to be anticipated, no need for the structure of your data to be anticipated.
So in a trivial sense Fluidinfo is just a database, but that's like calling Wikipedia just a database.
The value that both Wikipedia and Fluidinfo get at is simple: information becomes more useful and therefore valuable when it's stored in context. Search engines illustrate the same principle: pulling together related but independent information (in HTML) into the same place and making it searchable.
In the digital world, most things are read-only or you can only add data when you've been given permission and when the underlying storage structure permits it. As a result, it's very common that when apps have new data (or metadata) about something (like a Twitter user, a URL, an email address, a zipcode, whatever), they have to put it somewhere else. This often means your own server, your own API, your own docs, etc. Instead of doing the natural thing of putting the new information with the old (making it searchable with the old and with future data), you've just made a new hoop for future programmers to jump through. And so it goes, independent but related information that could valuably be living together winds up spread all over the place and less valuable.
I hope that helps. Please feel free to send me a mail (terry fluidinfo com) or drop by #fluidinfo on irc.freenode.net