Technically this is nothing revolutionary. I worked on a project that included a jetty server and SQLite database as part of the download. For the user it was a single button click and updates were automatic. The purpose of the server was to supply services that are difficult with central servers, like watching your page views to see what you were interested in. The local server talked only to your browser and the central server, but it could have easily talked to your friends. The advantage it had over the cloud is that it was using free compute power and it could be an assistant without violating any privacy issues. Of course, generalizing the service raises other issues. You certainly dont want 50 or 100 servers running on your machine.