Back in the nineties when Yahoo was the search giant and all websites tried to bake all the possible features in the same place we felt that something is wrong and that more focused websites are better, we learned a lot during those years and people started building applications on the internet that focus on offering its core value through a single focused idea.
Take Yahoo as an example, I usually call the nineties by the Yahoo decade, the single website that you can check your email, news, weather, stocks, and almost anything. Yahoo was trying to keep its users by adding more scopes to their websites, it was like their ultimate goal is to replace the entire internet with Yahoo.
It's quite visible to everybody that this plan didn't play very well, it was also very hard to compete with companies that were entirely focused on building a great news services for example. Nowadays, reading news is even a different app than publishing news, service fragmentation across apps is the norm and everybody is trying to build focus apps (Dropbox, timely, etc.)
While on the other face of the universe social networks – in the year 2014 – are trying again to replace the internet for you, it's promoting for a totalitarian internet for me, you, and everybody!
Late in the first decade of the Y2K, we learned that APIs is a great idea, you build micro services, single-focus websites, and apps and offer APIs for developers to integrate those services into more sophisticated services and applications. Although we didn't have the awesomeness of having standard APIs for services, so we couldn't replace services offering the same core value with others. For example, take Dropbox as a storage service, if it was offering an agreed-upon API that is considered a sort of standard, then you would have been able to replace dropbox with Amazon S3 or Copy seamlessly. The user eventually may decide which service he wants to put his files to and you as a service provider integrate with whatever implements the API, you basically give the power of choice back to the user. Modern applications should be designed in layers like an onion but with the ability to replace the inner layers if you want.
I always thought about this thing specially for photo storage, I don't want to have several copies of my photos in different services, I want my photos to be stored in one service that I trust – say Dropbox – then I want to give Facebook, Google+, and etc. access to those photos and if I want to change the storage service, I can. If I want to revoke access to Facebook, I can.
I loved YouTube back when it was outside Google+, it was built as a great free video sharing and hosting service, you can link your YouTube videos anywhere (it's a kinda of API, the embedded player I mean). Now it's still great but I feel that it's baked more into Google+. Same for Facebook, it tries to replace the internet for me, I find lots of videos that exist in Facebook and YouTube as duplicates. That's really bad.
I understand that commercialism is about maximising profit and companies think that locking users to their service is the right way to go, but I still believe that giving users the choice shall be a greater benefit for everybody.
I would love to see the internet as a Lego, where I chose to use different pieces with standard programming interface and eventually everything fit together. I want freedom through choice, not just open source software but also open and standard application programming interfaces, as of today, this is going to the opposite direction as far as I see it.