Writing third-party applications poses unique challenges. The best applications must adapt seamlessly to a wide variety of host environments. Browsers may not trust code served from different domains; JavaScript and CSS have to co-exist with other applications and there are some tricky security vuln[...]