I just don't get it, why doesn't Amazon's S3 service help simple file sharing apps?
Requirements
I'd like about 5 gigs of movies and pictures. F T P and regular Web browsing of directories is sufficient. Simple web based authentication would be nice but not necessary as security through obscurity will work.
S3 Documentation
The docs were suprisingly poorly laid out. The S3 home page leads to the Resource Centre. This is a confusing page that lists 4 featured resources (the unuseful for me c# library, running Hadoop MapReduce on EC2 and S3, Automated Server Pool Management in Java, and S3 from Amazon EC2 with Ruby), 3 buttons for Getting Started, Latest Release Notes and Latest Tech. Docs, a sidebox with latest resources containing 4 items, another sidebox for Popular Resources that had 4 items that seemed to be dups of the featured and the latest resources, and finally a strange browse bottom box. What's with all the confusing links?
Browsing
Browsers can retrieve files if they are given the exact URI for the file. Web browsers don't work well with browsing S3. You have to create a page that lists all the files in the bucket. It seems silly to have to write a script to do this.
I'm quite surprised there's no Ajax clients for uploading or browsing the files, either supplied by Amazon or 3rd parties. Maybe it has to do with security of storing the secret key..
Applications
Super Flexible File Synchronizer, one of my favourite programs, worked perfectly with S3. Only problem is that it required purchasing a pro account.
S3Fox, a plug-in for Firefox, is the best of the programs available. Works very well and intuitively.
Jungle Disk Monitor has a decent interface. The architecture of making the S3 bucket look like a drive is pretty cool. Some big downsides though. It can't work with a precreated bucket as it has it's on bucket naming convention. Why does it have to duplicate all the data that is uploaded? umm, I want to remove things from the hard-drive, not add them.
Bucket Explorer has a confusing interface. It was very powerful though.
REST API
The REST API was clearly not intended for Browser-centric interactions. You really need to use the provided class libraries. The eclipse plug-in worked like a charm.
I understand the need for security, but why not use SSL + regular HTTP Authentication? A simple upload form like every photo or movie site seems very simple. I imagine it's security and SSL cost concerns but I'd pay for SSL upload and regular HTTP download.
Update: I just found a post on using ajax and dojo to do file upload to S3
Leave a comment