Items in black have already been written, items in yellow I'm working on now, items in red are for the months to come.

Searching using Natural Language phrases Open documents using human language phrases
Using cutting edge tools and techniques from the Linguistics community, Storage allows document to be accessed using association with object attributes. Association is the object reference system understood to be at work in human/human conversation. We think of objects similarly to "My roommate's desk" not "earth.us.stanford.dorm5.room109.desk2", and it makes sense to enable access in this manner rather than the conventional filesystem hierarchy. Phrases are processed and a list of results fetched in real-time (about a quarter of a second) allowing fast iteration. Examples: Movies that were directed by spielberg, web pages where bgcolor is "#324575", messages sent to desktop-devel@gnome.org.

Network Transparent
Network topology
Searching, access, file change notification etc are all network transparent because the information store is accessed using SQL. Because the query set is restricted to standard SQL99, enterprise grade SQL servers such as Oracle could be used, providing a central information store for thousands of users. Using ZeroConf (aka Apple's Rendezvous) network-local information stores can be automatically detected and used. Thus Storage addresses not only centrally managed setups, but ad-hoc workgroup situations too [v2/3].

EOG opening an image from Storage Backward-Compatible with Existing Apps
Storage provides a GnomeVFS compatibility layer so existing applications continue to work. Translators decompose incoming "black box" files into a structured format when files are copied into the store (or saved from an older app), and build flat files again when they are copied out. If a translator is not available the file can be stored as a binary chunk in the information store, but many file formats will be supported just through the XML translator. Any format/file can be exported as XML, though of course it may not be readable by other applications at this point ;-)

Simple API
Meditating Man
libstorage's native API provides "Item" GObject's with a simple "getter/putter" interface, transactions, and child objects. Only two type of Items are available: a regular attribute based item (good for storing XML and similar formats) and an optimized binary item (good for storing large streams of binary data). Coupled with an improved component system, Storage items operate as full-fledged objects with orthogonal persistence [v4 or later].

The Alien Is ALIVE
Storage objects are "alive", not inert buffers
Change notification is provided on a per-Object basis allowing well written programs to perform minimal updates in response to other applications modifying the same file [v2]. Combined with transaction support this allows multiple applications (even by different authors or across the network) to access the same document at once, being aware of each other and where the other user(s) are working/looking [v2]. Data is constantly written to the objects by applications, and saving is replaced by the ability to mark points in the document history of particular interest [v3]. 

He who ignores history is doomed to repeat it A Timeline
A simple revision system allows users to drag a slider and quickly review their documents history from conception to the current date, the document unfolding as they drag. Logging of changes and actions on a desktop-wide level also allows the association function to be more context aware (for example, enabling queries like "open the spreadsheets I was editing last tuesday before I started playing quake" or "open the paper I added several paragraphs to yesterday") [v3]. P.S. Dear GNOME Hackers, in case you are getting nervous now... consider this: if Bowie said "don't jump off the cliff" would you jump just because he told you not to? ;-)

Cereal Bowl
A nutritious part of this complete desktop
Storage was not designed in a vacuum, but is a chunk of a greater design for a revised desktop system. We hope to assemble a system where (among other things) the barrier between "application" and "desktop" is indiscernable. Documents are 1st class entities in this design model. Rather than having applications the desktop is extended with capabilities that allow editing, viewing and creation of new types of documents, or add new features and abilities to existing document editing. Storage facilitates this goal by providing storage objects that are designed to be shared by multiple code paths simultaneously, and by providing documents as live objects.


Speaks your language A Timeline
Because information is accessed by content rather than by "location", items installed by the desktop or operating system can be localized. No more "Music" or "Desktop" folders, or funny hacks with .desktop files that cause item's names in the file browser to not match their path when you go into them