Sunday, March 9, 2008

How do i convert my email account(with a lot of storage space :-P ) as a filesystem like the GMail Drive?

Well,many people thought about doing this from the very day they saw the below line at the gmail homepage
"Lots of space Over 2757.272164 megabytes (and counting) of free storage so you'll never need to delete another message."
Now that the gmail storage has multiplied( 6501.217310 ...),the interest of people has also grown towards the concept.Many competitors also started providing huge email storage. One significant point to note is that you can convert any email account into a file system.Think about it for a while...Think about SMTP,MIME,IMAP & POP3 ..if you are familiar with those,you got the answer!!!.

Wait,think about what happens when you send an email to your self with a file as an attachment.
of course i agree that there will be an attachment size limitation.Suppose if a software automatically splits your file and sends multiple mails to your own account and retrieves them in a nice fashion and displays it to you in an explorer like window or like a FS mounted to your *nix box ???gotcha..cool idea!!!

It all started when Richard Jones thought about a Gmail Filesystem and implemented it in Python.It is a mountable Linux filesystem which uses your Gmail account as its storage medium. it uses the FUSE userland filesystem infrastructure to help provide the filesystem, and libgmail to communicate with Gmail.
A lot of other libraries and applications also came up on similar lines.Let me list out a few of them here.It will definitely benefit you if you are a developer.

libgmail - A Python based API for Gmail Access
gmail.py - A Python API for Gmail Access.
libgmailer - A Php-based API for the Gmail Access. Requires the php CURL extension.
Gmail API - A .Net Library for Gmail Access
jGmail API - A Java based Library for Gmail Access

The discussion wont be complete with out mentioning GMail Drive Shell Extension by bjarke.
It creates a virtual filesystem on top of your Google Gmail account and enables you to save and retrieve files stored on your Gmail account directly from inside Windows Explorer. GMail Drive literally adds a new drive to your computer under the My Computer folder, where you can create new folders, copy and drag'n'drop files to it.
If you are a windows C++ developer,he has some C++ source code and code snippets for various programming libraries for you.Have a look at http://www.viksoe.dk/
It is also nice to have a look at the gVault,a java implementation of a Gmail based cryptographic network file system.It was designed by a few guys from University of California, Irviney, Brigham Young Universityz, University of Bologna, Italy.They have also provided a nice pdf explaining their design & implemenation http://www.ics.uci.edu/~rjammala/gVault.pdf
Even i have come up with a generalized design & implementation of a mail file system utilizing any email account that supports IMAP & SMTP.It is basically is a windows shell name space extension allowing the users to have a virtual drive. It appears as a local hard disk drive & enables the user to use the standard Windows desktop file copy and paste commands to transfer files.When the user creates a new file inside the Virtual Drive(when he does a copy & paste), it generates an e-mail and sends it to the users inbox. The e-mail appears in the normal Inbox folder when using the normal webmail interface, and the file is attached as an e-mail attachment. The subject line will be having a special keyword "[MAILDRIVE]" for optimizing search. It periodically checks the mail account to see if new files have arrived and to rebuild the virtual drive's directory structures.It also provides access to the virtual drive from multiple systems simultaneously providing functionalities of a fileserver.The meta data about each file is also maintained inside the email.

No comments: