Personal Server use cases

Some things you may want to use your personal server for, listed here as sort of my view on important research directions:

  1. I can use my personal server to synchronize files between my devices. On the filesystem level, this requires connecting all my devices to my personal server (probably: install the client app), and then just background sync. It's one main functionality of Dropbox or CouchDB. We can include the web view of your files, so you can see them there on your server when you're logged in.
  2. Same, but domain-specific. For instance: synchronize addressbooks, calendars, todo lists, photo albums. This requires compatible data formats and probably also smarter conflict resolution.
  3. I can publish something. This is pretty much what a webserver + blogging platform does for you, I think this is something all current personal servers are quite good at.
  4. I can share something with a limited audience. Cut-and-paste sharing URLs into emails and chat clients is pretty much the state of the art here, I'm sure we can improve that UX, but at least, it's working. I think the room for improvement here is mainly in making the cut-and-paste motion nicer (e.g. webintents are/were an attempt at that).
  5. I can comment on something that was either made public or shared with me. There are several protocols for this, Webmention is the main one to support currently, but as this is subject to fashion, I would recommend personal server implementation support as many of these protocols as possible.
  6. I can pro-actively send a message to someone who is already in my addressbook. Email solves this, as does xmpp. If two people both have a personal server, then there are probably several options for this. Sometimes the medium you choose signals the urgency.
  7. Contact someone with whom I'm not friends yet, that's to say, friend discovery. Usually: search engine + contact details on their home page. This UX could be made a lot better, faster to use, and more productive. Unless you know someone's domain name, then finding someone on facebook is easier than finding someone who has a personal server, because its search box can use bias to location, and to friends-in-common. This is one I definitely want to work on myself at some point.
  8. See if someone is online / what they're up to. With people who use a microblog this is easy, and if you're friends on jabber or on skype, you can see if they're currently online. On WhatsApp you can see when they were last online. We don't really have this for personal servers. It's one of the main reasons I sometimes contact people via skype chat or via facebook instead of via email.
  9. Multi-protocol clients. Inevitably, some of the people I communicate will use a different protocol from some others. One facebook, everybody uses the one tool facebook supplies, but the open web is inherently much more diverse. I communicate via email, irc, blogging (with POSSE-plumbing), and that creates a lot of context switches. If my irc messages was not sent, I want it to be immediately converted to an email without extra work for me. That's for sending, and the same goes for reading: I want to see rss feeds and xmpp chats and emails in one client. And I probably want this application to be offline-capable, so I can type while offline, and it will send it out later when back on wifi.
  10. I want this not just for myself as a techie; I want the best and latest personal servers to be easily available to the 99% of netizens who don't know what a DNS zone is, and who find this all much too complicated. That's why I work as an IndieHoster! :)