At VizAR, we were faced with the problem of how to create a single, unified codebase that would run across all the major platforms. Once upon a time, this meant supporting Windows, possibly Mac OS X, and compatibility with IE and Firefox. Today, it's not just Windows and Mac OS X, but add two additional browsers (Chrome and Safari), a couple of versions of iOS, a couple of versions of Android, iPhone and iPad interfaces, numerous potential Android device interfaces, and the looming threat of a third mobile player in Windows Surface/Windows Phone, plus Windows 8 compatibility.