Friday, December 25, 2009

Searching for Files

Here'some scenarios:

A user visits a webpage and wants to attach a picture. The user clicks upload and is shown a copy of pictures which have already been uploaded (perhaps only the ones which are recent or which haven't been attached to a document) and the option to upload from the local computer is also available.

A user wants to find a picture on his local computer. His computer has geo-location. He types in New York 09 and all of the pictures which he edited, added, or downloaded from his camera (eyefi geo tags searched as well) took while in New York in 09 appear alongside other photos tagged both New York and 2009.

A user searches for a file and the search is federated across all computers on his local network to which he has authorization to view (I believe Microsoft already has something like this) in the same fashion listed above.

Searches should be context sensitive (search tags also have tags such as Holidays, People, Dates, and other themes) according to file type.

Friday, December 11, 2009

MediaBox

A device which stores media and versions of media, referred to in this document as 'mediabox'.

Media may be music, document, video, picture, art, etc.

"Media" content refers to, but is not restricted to, files, folders, streaming content, and webpages.

Media may also refer to application binary code, however, by and large it refers to binary or non-binary non-executable material.

All devices on a network (such as a home network) use software (such as ssh and rsync) to transfer files in an encrypted or unencrypted fashion as per convenience and or security settings set by the user.

When new media are changed on or added to a node (such as a pc, laptop, phone, ipod, or other device capable of storage and or network access) the media may be cataloged locally and or remotely (with a checksum or other unique or non-unique identifier) and then transferred to a mediabox with or without notification or intervention. Such transfers may be permanent and may be cancelled. Certain transfers may be prioritized, queued, and or federated.

In the case that the media is determined a version to another media, it will be added to a version control system pertaining to that media, as well as all media as a whole (such as svn, git, partition snapshot, or global snapshot).

Media can be 'tagged' with arbitrary metadata. Such metadata may be represented physically (creating hard linked copied in folders on a storage unit) or virtually (abstracting a database to appear as a more traditional form of storage unit).

Tagging allows for searching and for throw-away hierarchy representations (such as a hard linked or virtually abstracted collection of folders and files which when deleted or modified do not affect the original media's data destructively).

A mediabox may also be used as a 'private cloud', 'federated cloud', or as part of 'the cloud' on a per-user and or per-application basis. As such a mediabox user may access media and representations of media over the internet.

A mediabox may connect to non- or commercial services to deliver and or retrieve content.

Client applications may access a mediabox (such as a node's local media player) as a service.

A mediabox may make purchases on behalf of the user (such as by using an automated browser to purchase songs or videos with the user's account and automatically sort and store them for the user)

A mediabox may have an array of storage units (i.e. local disks, flash, or remote networked storage) and keep backup copies of all media, metadata, versions, and representations as well as all application and data content required to run mediabox, access its media, as well as non- or commercial applications.

A mediabox may notify its owner and or users when storage units have reached an arbitrary capacity and it calculates that it is in the best interest of the users to upgrade the capacity.

Storage units may be hot-swapped and or upgraded without interruption of service. One or more storage units may fail without interruption of service.

What's mine is mine!

Since I have a lot of ideas, but I don't have an array of patent and copyright lawyers (or even a company at the time of this writing) I'm creating this blog so that as other people who have similar ideas to mine create companies and patent ideas and copyright code I can avoid being sued by showing that I had the idea before they had the patent / wrote the code.