I remember thinking about this long time ago and even asking some hackers about it to get blank stares back. Basically, there are multiple problems around data access.
Take the simple scenario of a unfriending. Let's say you have 12 friends, but Susie turned out to be a real bitch and you unfriended her. You don't want Susie to have access to your photos, messages, and basically anything anymore! That means the encryption key has to change -->
Where is all the data hosted and who is going to reencrypt all the entire history from the point Susie became your friend until you unfriended her? The most secure would be that you have all your data and that you re-encrypt it. Great, you are data-frugal and have maybe 10MB you have to re-encrypt. But Karl, your photography pal paid for gigabytes of storage and now has to rencrypt a good chunk of that if he unfriends somebody.
You could of course say "fuck it, the asshole friend probably made a copy and re-encrypting is pointless", but then your ex-friend can just share the private key with the world and TADA, everybody has access to the files you shared with said friend.
And that's just one problem I can think of right now. When you take more time to think about it, you'll run into more and more stuff.
I'm not saying it's impossible, but it definitely isn't easy. Add to that that many people don't care and it's less likely. The closest I get to that is Signal.