This morning I was woken up two hours before my alarm by this message from Amazon.

You can use CORS support to build web applications that use JavaScript and HTML5 to interact directly with resources in Amazon S3 without the need for a proxy server. You can implement HTML5 drag and drop uploads to Amazon S3, show upload progress, or update content directly from your web applications. External web pages, style sheets, and HTML5 applications hosted in different domains can now reference assets such as web fonts and images stored in an S3 bucket, enabling you to share these assets across multiple web sites.

This long awaited feature is finally here!

The most frustrating part about re-designing this website was deciding how to serve static files, especially fonts. In the past I stored the files on the server. Since the fonts are not going to change for a long time it makes sense to host them on S3 to take advantage of caching and cheap storage. Firefox and IE prevent many cross site files from loading, specifically JavaScript and fonts. Until this morning hosting static files on S3 required setting up a proxy, at which point hosting directly on the server makes more sense for small sites. Now, I can have the best of both worlds.