Fund: Cross-browser Support

By dwhly | 6 June, 2014

We are very proud to announce the first award under our Open Annotation Fund of $7500 to the Open Gov Foundation for work by Chris Birk and Bill Hunt for cross-browser support in Annotator.

Their funded proposal is included below:


The OpenGov Foundation is dedicated to developing and deploying technologies that support every citizen’s ability to participate in their government, and hold it accountable.

As we learned at the I Annotate 2014 conference, Annotator is becoming one of the leading tools for online annotation. At The OpenGov Foundation we are using Annotator in our Madison platform, to allow users to comment directly on specific areas of legislation and have those comments go directly to legislators.

However, in aligning with our core mission, we believe in accessibility as a form of social justice. We need to support an audience of users with older platforms, but unfortunately Annotator has rather limited browser support currently. As a result, we would like to add support for older browsers. We will be publishing the ongoing results via the Annotator mailing list to gather community support, as well as in our OpenGov Foundation blog.

We expect the project to run 2-3 months, due to the complicated nature of dealing with older platforms. We are asking for $7,500 to complete this work.


The browsers we intend to target cover the last two years of releases, as well as extended support for Internet Explorer (to cover legacy Windows 7 users). We will only be including desktop browsers. We will be testing final (patched), major released versions only; minor releases will be skipped.

The following browsers will be targeted:

  • Internet Explorer: 8 – 11 (Current)
  • Firefox 10 – 28 (Current)
  • Chrome 17 – 34 (Current)
  • Safari 5 – 7 (Current)
  • Opera 11 – 19 (Current)

Not all browsers will have shims available for perfect support of Annotator. Likewise, some issues will be critical bugs that will be unable to be fixed (e.g., there are known issues with supporting text selection ranges in many browsers). Our goal is to fix what can be fixed reasonably, and document that which cannot – at least attempting to reach basic support for viewing, creating, editing, and deleting annotations.

We would also like to consider mobile support as a future phase of this project, but there are many items that need to be discussed first – most notably the wide field of old and carrier-specific Android versions that are still currently in use, and the current state of automated testing tools for these platforms.


To increase browser support, we must complete several phases of work:

Baseline Tests. We need to establish reasonable, testable metrics of what “working” means. To do so, we’ll need to create a more robust testing suite. All tests will be committed back to the Annotator Github repository.
Currently there are some unit tests, but adding integration tests and acceptance tests (via Selenium or similar) will improve reliability. We don’t expect to reach 100% coverage, but we do at least want to cover the primary functionality.
We will create a basic frontend testing suite using a tool such as Selenium, with test cases covering the most common usage paths.
We will integrate these tests into a Continuous Integration tool, such as SauceLabs.

Initial Assessment. Next, we must determine which browsers are currently not working with Annotator, by running the tests against them. All discovered issues will be documented in Github and discussed on the Annotator mailing list.

Make fixes. Focusing on critical features, we will fix whatever can reasonably be resolved to improve support in all browsers listed above. All fixes will be pushed back to the main Annotator Github repository.


Bill Hunt, Senior Developer
Bill has been building web applications for nearly two decades, and has been fixing bugs in these browsers since they were new. His experience in QA and software development are well suited to designing the overall testing strategy.

Chris Birk, Lead Developer
Chris received his BS in Computer Science from Purdue University in 2010, and has been developing apps ever since. He is currently the lead on the Madison project.

Share this article