Jessie

Build your library now

Be cutting edge responsibly

What is Jessie?

It is a repository of cross-browser JS functions, primarily focused on the DOM, allowing you to conform to Progressive Enhancement principles.

It comes with a builder that you can use to create your own library, completely to your spec. That is, choose what functions you want, and choose which browsers that you wish to degrade gracefully in.

Why Jessie?

Jessie creates custom context-sensitive and cross-browser DOM libraries. These cross-browser libraries can be expected to work in environments that provide all required host objects in working order and to do nothing in other environments.

These other environments may be old browsers, may be new browsers, may be "current" browsers in a new configuration or may not be browsers in the current sense at all; it's a catch-all, "none of the above" categorization. You just don't know.

The only safe and expedient solution in the face of the unknown or unexpected is to do nothing and allow the content to be presented as if scripting was disabled by the user or admin, a firewall ate the script, some other plug-in or proxy ate it, the user is actually a search engine spider, etc.

This case must always be considered rather than dismissed in speculation about the availability and popularity of JS. Turns out this practice isn't just for search engines; it greatly simplifies the design and implementation of enhanced Web applications.

Why you?

Who wants to remember all of those browsers, versions, omissions, additions, bugs, etc. With cross-browser scripting and Jessie, you don't have to.

By the same token, who wants to keep track of versions, plug-in versions, etc. and who would want to send a lot of redundant DOM gibberish to battery-powered mobile devices anyway? Much of the bulk is to provide alternatives for old versions of Internet Explorer. You can bet your iPhone and Android users don't want all of that junk, particularly those that get charged for data overages.

With Jessie you can create libraries that take full advantage of all the latest advancements in browsers (e.g. HTML5 and CSS3, which are often marketed as one magic feature) and make it trivial for calling apps to bail out if one or more needed features is missing or broken.

This is how cross-browser scripting is done and you can't do it with monolithic, context-less, perpetually "maintained" scripts. Typically, those are multi-browser (at best) by definition. They can only be expected to work in environments where they have been demonstrated to work (which excludes all future browsers or browser-like things).

Over the course of roughly the last fifteen years, the multi-browser, get-it-done-now, show-me-where-it-fails, "pragmatic" approach has worked about as well as can be expected. The results are similar to most other time (or money) saving strategies involving fortune telling.

So again, why not? Try something different. It's the universal solution for things that don't work.