The Year in Review: W3C Web Performance Working Group

Fast HTML5 Web applications benefit consumers who browse the Web and developers building innovative new experiences. Measuring performance characteristics of Web
applications and writing efficient applications are two important aspects of making
Web sites fast. Browser manufacturers can rapidly address developers’
needs through interoperable APIs when collaboratively partnering through the W3C.

One year ago today, the W3C announced the formation of a
Web Performance Working Group chartered with two goals:
making it easier to measure and understand the performance characteristics of Web
applications and defining interoperable methods to write more CPU- and power-efficient
applications.

Together with Google, Mozilla, Facebook, and other industry and community leaders
who participate in the W3C Web Performance Working Group, we designed the Navigation Timing,
Resource Timing, User
Timing
and
Performance Timeline specifications to help developers accurately
measure Web application performance. The first three specifications, Navigation
Timing, Resource Timing, and User Timing, define interfaces for Web applications
to access timing information related to the navigation of the document, resources
on the page, and developer scripts, respectively. The Performance Timeline specification
defines a unifying interface to retrieve this timing data.

Resource Timing, User Timing, and Performance Timeline specifications are
all in the Last Call phase of specification. Last Call is a signal that the working group believes
the spec is functionally complete and is ready for broad review from both other
working groups and the public at large. This Last Call period extends until
September 15, 2011. The Navigation Timing specification is already in the Candidate
Recommendation phase and has two interoperable implementations, starting with Internet
Explorer 9 and Chrome 6. Together these APIs help Web developers create faster
and more efficient applications by providing insights into the performance characteristics
of their applications that just weren’t possible before.

Over the last four months, the Web Performance Working Group defined interoperable
methods to write more CPU- and power-efficient applications by producing the
Page Visibility, Timing control
for script-based animations
, and
Efficient Script Yielding specifications. The Page Visibility specification
is in the Last Call phase until September 8th and has two implementations starting
with the second IE10 Platform Preview and Chrome 13. The requestAnimationFrame API,
from the Timing control for script-based animations specification, has three implementations
starting with the second IE10 Platform Preview, Firefox 4 and Chrome 10. This specification
is very close to entering Last Call. For more information on these two APIs, see
the blog posts on using PC Hardware more efficiently with these APIs (link
and
link). IE10 is the first browser to implement the emerging setImmediate
API from the Efficient Script Yielding specification.

It’s encouraging to see how much progress we’ve collectively made in just one year. These
APIs are a great example of how quickly new ideas can become interoperable standards
that developers can depend on in modern HTML5-enabled browsers. Thanks to everyone
in the W3C Web Performance Working Group for helping design these APIs and to other
browser vendors for starting to implement these APIs with an eye towards interoperability.

—Jatinder Mann, Program Manager, IE Performance