Organize every bit of data that relates to you, and keep track of it so it is accessible.
Information is stored as a bunch of documents. Documents can be text, images, data, etc... Maybe it is structured, maybe it isn't. The information is put into a universal information map, which tracks how each bit relates to each other. This global index is what is used to find stuff.
For instance, email. An email is a header plus a body. The body may have a text part, an HTML part, and attached documents. The text or HTML part may contain some kind of structured data -- a table, or some text or something. They may have hyperlinks, etc...
The header has information on where the email came from and where it's been. It also introduces the email.
With just a single email, there could be hundreds of bits of data created, and the relations between them could number in the thousands.
With multiple emails, why you have emails that refer to other emails, you have conversations including questions and responses. There should be some sort of structure deducible from all of this, making it a lot easier for the user to organize it.
And then emails may be tagged or categorizes. Some emails will be in the inbox. Others will be put into special groups, based on who is sending it or if it's part of an email list. An email can exist in multiple tag groups. The relations here, too, are enormous.
But on the surface, what the user sees is a simple interface. He asks questions, and gets instantaneous responses.
Over time, the email system will have to grow smarter. What does that mean? That means you teach it how to recognize certain emails. You add rules that tell it how to categorize things.
See OE Email
If email can be handled this way, then other kinds of data can do better.
Not just data local to the disk, but data on the internet as well. Of course, you may keep a local cache, as needed.
Why keep your categorization private? Share it with others, and soon you have an intelligent growing web of categorized information.