I've been trying to make the point for a while now that I think we really need to rethink the design of the Internet.
Not on the level that you might be thinking. You might be thinking about how the infrastructure is laid out, or revisions to TCP or IP standards, new languages to supplant CSS or javascript, or some other technical issue. Though those might be problems, that isn't what I'm referring to. I'm referring to the vertical integration of web services that make our information extremely fragmented and impossible to track.
Just to give an anecdotal example, right now, I have at least 4 different Internet data storage accounts. Dropbox, OneDrive, Google Drive, iCloud, and my web host's storage. That's because, if I want to share documents with someone using OfficeOnline, I need a OneDrive account. If I want to share documents with someone using Google Docs, I need a Google Drive account. If I want to use the features on my Mac and iPhone, I need an iCloud account. And then each of these services has its own authentication service, i.e. I have to create and manage separate accounts with separate passwords for each. The account names and passwords might have different requirements. The dual-factor authentication on each, if it's available, might work differently. And this is just talking about a small subset of the services that I use online.
If you asked me to list all of the websites that I've used over the years, and provide a list of what information I've had to provide to each one, I wouldn't know where to begin. A lot of these sites require security questions, which is generally a terrible idea. Each site requires that I pay for services by providing my credit card information. Lots of services online and in real life require a host of personal information to authenticate your real-life identity, but every time you provide your social security number as proof of identity (for example), you're increasing the number of people who potentially have access to that social security number, and therefore the number of people who could make unauthorized use of that number.
Without getting too deep into the solution I'd propose (hint: public-key encryption), I think we need to consolidate both the authentication and the data storage of all of these different services. Whether you use Google Docs or Microsoft Office Live or some other web-based document editor, you should be able to store and manage the documents in a consistent place, accessed through a standard API.
So why am I bringing this up here? Well, it related to the Internet of Things, also, in that all of that information should be able to be encrypted so that only you can access it, and then stored in a location of your choosing. It shouldn't matter which device or who manufactured it-- if it's your device, you should be able to control where the data is sent, store it with your own encryption key, and no one should be able to access it without your authorization.
Of course, none of this will happen, because it requires that we create a set of standards that everyone abides by. Meanwhile, Google wants to have their standards that serve their purposes and keep users in their walled gardens, Apple wants their own standards to keep users in their walled gardens, and Facebook wants their own standards for the same reasons. That's why we have all these different Messaging applications, and none of them can inter-operate, even when they're doing something as simple as passing text back and forth.