Maybe it's time for personal servers?
scripting.com
scripting.com
- Nobody wants to be a sysadmin. Being a sysadmin sucks, and taking care of servers is hard. Sure, your content may disappear if the startup goes offline, but it will disappear if you have a hard drive crash, are hacked, lose power, or any of the million other issues that can happen.
- People have come to expect fairly good reliability. Having everyone host their own content will be a big step backwards in this regard. Dave's picture? They've been inaccessible for a week... Guess I can't check them out.
- Most broadband connections in the US are not symmetrical in bandwidth: They have much more download than upload bandwidth. That means that most connections do not have enough bandwidth to serve even a moderately popular image, let alone a popular video.
- Last but not least, the vast, vast majority of people are not even close to technical enough to take even the most basic steps involved. For this vision to become reality, the process would need to get much, much easier.
- Some sort of social-networking software that uses some sort of (xml?) standard protocol to communicate with others' instances of the software. Basically everyone runs their own Facebook profile page/wall and comments/posts are pushed between instances.
- some sort of OpenID-ish thing that integrates PGP/GPG keys for improved security
- ready to go software for running automated backups from the user's home computer (this could easily support all OSes)
If this was some sort of 'cloud server' or shared hosting plan that cost users maybe $10 or so it could work out pretty well. Though I'm not sure how the existence of current 'free' options would affect things. But I feel that such an option would be the best option for people in the long run. They would retain their own backups of their data, so it's not locked away on some company's server where they can't extract it (and the company will say 'tough luck' if all your data is lost).
I think that's the whole point.
The services provided by Flickr and Facebook used to be quite a bit more difficult to achieve, too.
For "personal servers", S3 is very cheap for backing up information (static web pages, data stores), and a once a week or once a month cron job does the trick. Anyway, good point on backups.
I have a couple of low end VPS machines with different providers. The liabilities include:
1) If it goes down, and you need it up NOW… there is nothing you can do.
2) It may become inexplicably slow as they move pigs onto your box.
3) Given your low rent neighborhood you may find yourself banned because of your IP range. (I live in hope that someday Comcast will lift their wholly unjustified ban on my email server and my daughter will be able to send email to her great aunt.)
4) Expect more outages than a simple PC. Sure they use "server grade"[1] hardware, but they also have insanely complicated setups. I generally reboot my physical servers when uptime goes past one year, just in case. That is not going to be an issue with the VPS machines.
5) Many packages have a predatory bandwidth overage charge. I've never triggered one, but it is a cause for concern.
6) Storage can be very expensive.
On the happy plus side:
1) When the server goes down, there is nothing you can do. Go have lunch. This beats the heck out of frantically diagnosing and fixing while the phone rings off the hook with people who want to tell you the server is down.
2) You automatically have two sites. Your house becomes "offsite backup".
3) Your VPS probably has much higher bandwidth than your house. (Except you lucky Koreans, and Finns, and Japanese, and.. well a lot of you people with real bandwidth to homes.)
[1] "server grade" means a 100% chance of a high price, and an X% (where X < 100) that it will be reasonable quality. I've purchased and installed batches of "server grade" machines from top manufacturers that had MTBFs under 12 months. By the time you know a model well enough to trust it, the vendor no longer sells it.
I keep MongoDB, CouchDB, Sesame, PostgreSQL+PostGIS, etc. "always on" for my personal and research projects - keeping my stuff separate and using customer's VPSs or EC2 instances, etc. for their work.
Would I want to have all of this stuff running all the time on my laptop? I don't think so.
I used to keep at least one server running on our home network but now I mostly use a really cheap VPS, and a small "3 year pay in advance" EC2 instance. Running a server or two in my house is something that I only do for special needs.
Anyway, I live with the network latency hit for the convenience of (usually) not having to run servers in my home.
i consider myself a developer along the lines of programmer and maker, even software engineer at times. i love extensible code. i love making things that work, are useful and have code that i can be proud.
code is TOTALLY different than configuration files and installing things. i only do system administration because i have to, and even then i consider it the worst "waste" of time (it's not actually a waste because yeah, it's nice to have a webserver and cron jobs, etc).
i'd much rather be writing documentation or even better, designing and diagramming how some neat pieces of code are going to work together.
i feel like people who figured out how to make allen wrenches keeping thinking it'd be cool if everyone else made allen wrenches. i just want to make bikes, including choppers and tall bikes and elegant fixies. other people just want to ride bikes, and that suits me fine because maybe i can sell my bikes to them, just as i don't mind buying allen wrenches.
maybe we each of us have a maker inside, but luckily we don't all want to make the same things. don't fight the business model.
My wife participates on a semi-private forum of mommies, and it concerns me that none of them have strong control over the data they generate.
There's some pretty good stuff in there, and it's dead simple to enable if you're using Google Apps for your domain.
I tried to get Gnucleus (John Marshall's Gnutella project) to incorporate full-text searches. He said he'd help but my code ended up - disabled - in Morpheus Preview Edition [itself based on Gnucleus] which was downloaded over 100,000,000 times (!). If anyone can be described as blowing a chance, that was me with MPE.
Then I tried Limewire, and wrote the code to interface with Lucene (a Java full text search engine), and they blew me off too.
Since then I've given up, but I did at least get a poster paper at HT03 about it!
Think newsgroup/forum style conversational threading, with a separate data channel for large transfers, and landgrab DNS based on popularity.
One can setup dynamic DNS to map one's physical home server into the cloud. This gives you all the advantages of a legitimate POP whilst also providing the security, redundancy, and local audit-ability of your own hardware.
I expect to see something like myopera / couchdb / ubuntu one type system where your personal machines are mirrored for full uptime, services like flickr should integrate with these machines instead of actually owning your content outright. I havent thought about how this would work too much but glad to see people like couchdb / ubuntu and mozilla try to attack it it
Not to mention that most ISP agreements forbid you from running a home server unless you upgrade to 'business level.'
I have tried writing to Verizon, politicians, the FCC, and the BBB on this issue. The only one that bothered to reply is the FCC to say, basically, "not our problem." I would appreciate any ideas as to who else I can contact to try to improve Verizon's language.
But I think we're 10 years away from having this because the hardware just isn't there yet. The idea will have traction when our cell phones can run as this "universal personal server". Then it can actually have the mass-scale adoption required for it to work. But the majority of end-users can barely operate an OS, they don't even know what the difference is between a browser and an app, and almost nobody understands what the Internet actually is. From the common point of view, the Internet might as well represent the highest achievement of magick rather than science. So until it's as ubiquitous as having a cell phone, personal servers will remain in the domain of geeks who will hack up, tweak and preen their own solutions.
It's interesting how the software industry is utterly craptastic at anticipating how the plummeting cost of better and better hardware changes the kind of software services which people will use. In short time spans too. Amazon, Google et. al. have spent billions going long on the bet that 12 years out, everything will be served from global super-computer clusters distributed across mega-datacenters around the world. It is interesting to ask if Amazon, Google and everyone else are about to get blind sided, and not only miss the boat, but fail to even see it.