The popular arcade emulator known as MAME (Multiple Arcade Machine Emulator) has been ported to Google Chrome through Native Client (abbreviated NaCl, a reference to sodium chloride or common salt). The gaming emulator was previously available through Apple's App Store before being yanked from the shelves.
MAME allows users to play many classic arcade games that have been ported by loading a ROM file. Of course, the majority of titles are still copyrighted and considered illegal to possess or play unless you own the original title.
Native Client is essentially a sandbox inside the Google Chrome web browser that allows developers to create safe yet complex applications that might otherwise be restricted due to browser limitations or incompatibles. With MAME, this means you can simply play games directly in the browser without having to install them.
Google engineer Robert Muth has posted a case study that details the process of porting to Native Client. Topics include the overall strategy, how the team dealt with certain incompatibilities and how they handled binaries that were built and run as part of the build process.
Those interested in taking MAME for a test run can download Robby Roto from the Chrome Web Store free of charge. As PC World points out, this game was released by Midway in 1981 and has since become public domain and thus, legal to download and play. Those who already have a collection of MAME ROMs can simply upload and play them as well or pick up titles from the official MAME development team website.