This document provides an overview and analysis of the state of in-browser application development. It begins with goals for web applications and an assessment of where browsers currently stand. It then examines the tradeoffs of different technologies for building applications, including HTML, JavaScript, Silverlight and Flash. A key theme is the tension between ubiquity and capabilities. The document also discusses challenges around browser monocultures and the slow pace of upgrading dominant browsers. It argues that competition is needed to drive faster innovation and ensure browsers do not become prone to natural monopolies.