Photo Storage and Serving Infrastructure
Building a Better Photo Uploader

Building a Better Photo Uploader

11/19/2009 · Chris Putnam

What this post added

Introduced a new, modern photo uploader that replaces the legacy ActiveX control and Java applet. This new uploader is asynchronous, allowing users to browse Facebook while uploads are in progress. It integrates seamlessly with Facebook's UI and allows for easy UI iteration. The core of the new uploader is a custom-built headless browser plugin that provides JavaScript APIs for filesystem browsing, background uploading threads, and thumbnailing. Security measures include binding the local web server to 127.0.0.1, using secure URIs with hashing, restricting the plugin to Facebook domains, implementing strong mechanisms against unauthorized access, securely signing and verifying all code downloads, and a remote "kill switch" for deactivation.

Read the original post ↗