I have this strange idea about making a generic and very simple database server that will store nothing more than key/value pairs. Keys will be strings, and values can be anything serializable (the server won't interpret the values). It's enough for many applications - synchronizing RSS feeds "read" status, share bookmarks, short notes, application settings, etc. In general, applications that require synchronization by sharing small "blobs" of data.
The key is to be extremely simple (for clients). Connections can be done over HTTP (with the server written in PHP), since HTTP libraries exist for just about all languages under the sun, and should be stateless (efficiency is not a big concern here). Authentication could be done using challenge-and-response, but I don't see how it can be made stateless. Maybe not even that (just hashed password).
There would just be a store(key, value) function, and a retrieve(key) function.
And of course, each server can only support 1 user, but a server is no more than a directory on a HTTP server, so it's easy to run 1 "server" for each user.
This is a very simple idea, and I'm guessing I'm not the first one to think of it, but I can't seem to find anything like that on Google.
Many applications don't need the complexity of relational databases, and this can make life easier for many programmers.
Thoughts?