Here's an idea which I think is great but really don't have time (motivation) to implement.
The trouble with social networks today is that they are centrally-controlled by a single organization, which means every user must put all of their trust in this company in order to use it for personal purposes. The company, being a company, expects to turn a profit somehow, and if charging users isn't an option then it needs to monetize them somehow. Facebook does this by selling your information to advertisers. One other problem with Facebook is that law enforcement can subpoena the company and get any user's private messages, usage, location, passwords or anything else they find useful, without the user's permission and for any reason the law sees fit. This can be done en masse and in secret. As a perk to employees, Facebook used to allow its people full access to anybody's data. I don't think it's true anymore but it's amazing the amount of trust we place in them.
The same, of course, is true for text messages, tweets, emails, phone calls and pretty much everything else (even, I think, Skype). You don't really have privacy, you just have trust in the organization to give you a reasonable amount of privacy, and allow that company to sit between you and your friends and deliver your most private thoughts to your friends.
So we need a way for people to talk to each other without any potential interception by a third party, right? We already have this, with PGP encryption, except it needs to be expanded to handle more than just email.
As I understand it, the way PGP works is this: I have a private key, which is a string of characters too long to memorize, and a public key, another long string of characters. I sign my emails with my private key, and people with my public key can verify that it's me with a simple check. People can use my public key to encrypt messages which only I can decrypt with my private key. I keep my private key safe, on my hard drive or on a USB key, so that no one can steal it and pretend to be me. The private key is so long that it would take even the most powerful computers several thousand years to guess it.
The way the new social network would work is this: everyone would have software on their computer/iphone/device/implant/whatever, let's call it CryptBook. When you first use it, CryptBook asks you to create an account. The makers of CryptBook don't make you pick out a password; instead, they ask for a $10 donation, and in return they send you two personalized USB keys. On these USB keys you encrypt a private PGP key. One key stays with you, and in case you lose it, the other one goes to your safety deposit box (or to a friend, or to a secret hidden bunker or wherever). If you lose both USB keys, your account is forever lost and you have to start over. But at least no one else can steal your key.
As soon as you sign on with your private key, the service allows you to connect to friends in a distributed fashion. Your computer connects directly to the "network," which is massively distributed, encrypted and cached, so that you can view your friends' profiles and pictures even when you're offline. Messages are sent client-to-client and cached on your friends' computers. Friend requests must be accepted by both people, so even though your data everywhere is encrypted with your private key, it is only stored on your computer and your trusted friends' computers. To add your first friend, you have to be on the same wireless network as them and they must accept the request; once you are part of the service, you can see your friends' friends and add them, too. Because of this, none of the network would need to go through DNS, which has the potential to be monitored by law enforcement in the future. Everything critical to the network would be P2P. Maybe to make it easier to add your friends, "edge" services would sprint up to offer up a directory of them, but users will have to trust these services in the same way they would trust a phone call from a "relative" to not be a scammer.
Some great things about this proposal:
- Security-conscious users are happy because they don't have to remember another password, they control where their data lives and that it doesn't pass through a single entity
- The CryptBook people earn a steady profit off of $10 USB keys, which should only cost them $1 once they hit an appropriate economy of scale. The reason for personalized USB keys is so they can be trendy (a standard USB drive would work just fine, too).
- The ecosystem of the Internet is happy because there is finally a way for users to identify themselves without having a relationship with some corporate entity which could change their terms of service at any time
- Liberty-conscious users are happy because a corporation can't claim rights to any of the intellectual property they share through CryptBook
Some not-so-great things about this proposal:
- Confusing to users ("How do I add all my friends?" "How do I set a password?")
- Law enforcement will hate it and will try to shut down the CryptBook company, stopping development
- Still possible to gain a non-friend's data by creating an account and pretending to be one of their real-life friends. (BTW, Facebook makes this easy; all of your friends' names and profile pictures are exposed for the world to see, no matter what your or their privacy settings are)
In addition, since Facebook already exists, nobody will want to join a social network with none of their friends on it, so compelling features would have to be added to CryptBook which would never exist on Facebook.
So that's where we stand right now with this idea. But I think some sort of distributed social network is coming, and probably already being developed by people smarter than me, especially if SOPA passes.