As expected, Facebook today open-sourced Ringmark, the company's mobile browser test suite, which it developed with open web technology company Bocoup. When Facebook announced Ringmark two months ago, it promised to open source it, publish it on GitHub, and donate it to the W3C. Today it has done all three.
Ringmark tests will be contributed to the Core Mobile Web Platform Community Group in the W3C. The group will now be selecting, augmenting, and prioritizing the tests.
You can view the code immediately by going to the GitHub repository at github.com/coremob and the tests at github.com/facebook/coremob-tests. You can also start to contribute by joining the Group discussions around the specifications over at w3.org/community/coremob. Additionally, you can submit feedback on Ringmark's Facebook Page.
The test suite for mobile browsers helps you, the developer, understand which mobile browsers support the functionality your app needs, such as orientation lock for games or camera functionality for social apps. Facebook says it is comprehensive, fair, and tests the feature sets which developers really need. The test suite's goal is to enable the mobile Web to be a viable platform for mobile Web apps, but operating system utility functionality, telephony, and niche apps like flashlight apps or battery monitoring apps are examples of what is currently out of scope.
The rings are similar to how software versioning works: each ring has a comprehensive list of tests in order to test the features in each ring. Ring Zero represents the base functionality that most mobile phones have today. Ring One represents what functionality is needed to unlock the most common apps that developers want to build: 2D games, music and video apps, and camera apps. From there on, each subsequent ring represents a slice of features that will unlock the next generation of mobile web apps, based on developer necessity.
The Ringmark suite already contains over 400 tests, and more will be added over time. These will include ones that measure performance under heavy use and improved functional tests that prove features really work as they should. Tests are grouped into modules by W3C specification, and written using QUnit's assertions, with a simple fixture if necessary. Tests for individual modules can be run atomically, and the actual Ringmark site is just a specially built flavor of output for the entire test suite.
"Ultimately, we believe that web technologies are important to the future of mobile and that we can help to make HTML5 a well-supported platform for mobile developers to build upon," a Facebook spokesperson said in a statement. "For those that are building with the web today, it's a major hurdle to learn native technologies like Objective-C and Java: and we hope that an improved mobile web can unlock a large contingency of developers that could, and will, be developing for mobile. Our hope is that that Ringmark becomes the canonical test suite for the group, with tests for the specs the specs and feedback of the group baked into Ringmark itself."
- Facebook: 60 million users access apps via mobile
- Facebook partners with Bango, mobile billing coming soon?
- Facebook for Android passes Facebook for iPhone (DAU)
- Facebook is now the most popular Android app
- Apple: Angry Birds, Facebook most popular iPhone apps of 2011
- Facebook: "We're going to become a mobile company"