The future of services may be distributed and embedded
One thing I've noticed over the past couple of months here on my web server is the sheer number of new feed readers which have appeared. Ever since news of Google Reader's demise started circulating, people have been finding alternatives. There's both a new assortment of reader programs and instances of them being used.
It seems a number of people have decided to start running their own hosted reader on something they control, like a dedicated server or perhaps just a virtualized instance somewhere. There are lots of new log entries where the referrer suggests a web server virtual host set up to do nothing but handle RSS and Atom. The way I see it, that's a fantastic thing. Distributing these services is a great way to ensure they live for a long time and can't be co-opted by some company which doesn't have your best interests in mind.
Still, I wonder about those folks who don't have and don't want to run a full-blown server. They should still have the option of having control over their services. I think there might be an option which I had overlooked for the longest time: the humble consumer-grade router. I recently had to replace mine, and the experience has opened my eyes.
A couple of weeks ago, my connection to the outside started flipping out. At first I thought it might have been my ISP, but then it seemed to have odd timing. It would mostly dump all of my outgoing connections from other machines when I woke up my laptop and it started connecting to the outside world. I figured it was maxing out some kind of connection tracking table in my dumb little router box and the rest followed from that.
At the time, I was running a boring little Linksys box and knew little could be done about any problems with it. It would need to be replaced. Some digging turned up a new vendor which ships ordinary residential type routers with a real Linux environment called DD-WRT. It had been designed to allow you to enable all sorts of useful things. I ran out and bought one before Frys closed one night, and my dropped connections disappeared.
This got me thinking about using this little router box for other purposes. It can see the outside world, and as a result, other things can see it. I could easily tunnel back to it, for instance. The more interesting thing is the possibility of running additional services. They'd have to be small and solid to fit in that resource-constrained environment, but that's why we have languages like C and C++!
While I don't personally need to host anything on my router since I have a real dedicated server out in the world, it seems like this could be an interesting opportunity for others who don't have that option.
Maybe there will be a renaissance of the personal BBS using devices like this. Imagine it: a device which keeps your favorite cat pictures and messaging with friends running even when your "real computer" is offline or not even at your house. It's a device you already have and already keep running continuously. It's just a matter of making it do a little more work.
I'll know this is finally a "thing" when I can walk into a store and buy a device which already has these features preinstalled. If that should ever happen, those behind "cloud" services might need to reconsider their business models.