Enduring a distasteful technology for the user's experience

Different browsers use different JavaScript standards. It is impossible to write cross-platform code with JavaScript.  Web pages that work in Firefox will fail on Internet Explorer, and vice versa.

For the web user, this means web pages may not load correctly.  For my software development operation, it means higher cost development and testing as JavaScript code must be tailored to each browser version and separate Selenium regression tests are required for different platforms.

We suffer JavaScript because it allows us to develop web pages that are easy to use. For example, the SOFIns project uses an advanced JavaScript library that has nestled tables where a user can move objects between different groups.  We achieve a multi-step data manipulation task with a single, simple drag-and-drop operation.

As distasteful as it is, a developer must still endure and understand JavaScript. This page holds various technical notes about the technology that I found to be useful.
[{"document_url": "http://jaroker.com/project/javascript/", "unformatted_src": "http://jaroker.com/media/2012/10/IMG_5162-exported-630x319.jpg", "src": "http://jaroker.com/media/2012/10/IMG_5162-exported-630x319.jpg", "formatted_filename": "IMG exported", "rendered_width": 630, "rendered_height": 319}, null, {"document_url": "http://jaroker.com/project/javascript/", "unformatted_src": "http://jaroker.com/media/2013/01/August-2003-Blackout-0006-exported-186x110.jpg", "src": "http://jaroker.com/media/2013/01/August-2003-Blackout-0006-exported-186x110.jpg", "formatted_filename": "August Blackout exported", "rendered_width": 186, "rendered_height": 110}, null, {"document_url": "http://jaroker.com/project/javascript/", "unformatted_src": "http://jaroker.com/media/2013/01/Puppet-Development-Environment-186x110.png", "src": "http://jaroker.com/media/2013/01/Puppet-Development-Environment-186x110.png", "formatted_filename": "Puppet Development Environment", "rendered_width": 186, "rendered_height": 110}, null]