At 15¢ per gig, Amazon S3 (Simple Storage Solution) is rapidly becoming an online storage standard, with companies like 37Signals and SmugMug storing information adding up to terabytes. On a slightly smaller scale, I transfer a few gigs on S3 every month, both to and from my Mac and server-to-server, and my bill is usually under $10. I'm always on the lookout for new ways to take advantage of this inexpensive yet massive storage system.
Several Mac applications have already added S3 support, including Transmit, Interarchy and Forklift. That's a cool step for such applications because it integrates your various file transferring tools (FTP, SFTP, S3, etc.) into one app, which I would love... if it worked reliably. But the only application I've consistently had luck with – as in not constantly crashing – is JungleDisk, which uses a webDAV system for filestorage that allows an S3 bucket (a subsection, or folder, in your S3 account) to be mounted as a local filesystem, but makes the filesystem on the web inaccessible to other programs. And you can't make files public outside of your local network. I've generally resorted to S3Fox - a very capable Firefox addon - and a command-line ruby script called s3sync.
However, I also discovered the JetS3t Java toolkit today. In addition to the toolkit, the JetS3t download also includes an application suite. Of primary interest to me was the Cockpit application, which provides an S3 browser with upload and download capabilities, as well as ACL control. There are also apps for setting up gateways and providing a secure, distributable client.
I'd like to begin by saying that I loathe Java applications on a Mac, not least because they're ugly. But Cockpit is one of the fastest S3 browsers I've ever used. Looking past the fact that you have to launch it from the command line (yes, you can fix that), it has no integration with other Mac apps, and its underwhelming aesthetics, I have to admit that it really does get the job done. It even has little extras, like the ability to generate Torrent URLs or a temporary URL that which allows people to download a file for a specified period of time. It probably won't replace my current tools, but it was worth a trip to the dark (Java) side. I hope it inspires some Cocoa browsers that are faster, more flexible and more stable than what we've got.