Over the last few weeks, I’ve spent most of my time working on browser extensions for Opera, using the extensions API available in 11a. In between times I’ve been working on an update to CodeBurner for Firefox, our popular reference tool for web developers.
In both cases, the work is strong on standards-based technologies. Opera’s extensions API uses many features from HTML5, such as cross-document messaging and web storage. Firefox’s extensions system is based around XUL, which is of course an XML vocabulary.
And yet, the one thing that really defines the value of standards-based technologies is nowhere to be seen in all of this — interoperability is a total non-issue, when you only have to deal with one browser.
And you know what? It’s a relief!
Don’t get me wrong — I enjoy working on projects where accessibility and interoperability are key considerations. I appreciate the challenge of producing functionality that works irrespective of the device used to access it.
But at the same time, I sometimes wish that web development could be simpler and more predictable. To only have to program for one browser, one set of idiosyncrasies, or one list of supported features; to only have to run one set of tests and then know whether it works or not!
Of course, I could hardly be ignorant of the irony in what I’m saying here. Because if all vendors and all clients ran by the same open standards, then our jobs would be that simple, all the time. But we know that’s not how it is; and probably never can be — if HTML5 has taught us anything, it’s that sometimes you have to ignore the standards before you can advance them!
But either way, I think it’s okay to enjoy the respite, and confess to those
And that when we’re actually lucky enough to be in that situation — like when writing browser extensions — it’s okay to take pleasure in the straightforwardness of it all!
Thumbnail credit: internets_dairy
If you want to read more from James, subscribe to our weekly tech geek newsletter, Tech Times.
Jump Start Git, 2nd Edition
Visual Studio Code: End-to-End Editing and Debugging Tools for Web Developers
Form Design Patterns