Cryto Coding Collective

Projects / JSDE


JSDE is a Javascript Desktop Environment, developed specifically as a framework for web applications that deal with a lot of data. Example use cases are database management applications, information aggregration engines, and dataset explorers.


JSDE has several unique features that are not offered by other 'Javascript desktop' platforms such as ExtJS.


JSDE also has some limitations. The base design, for example, makes use of several CSS3 properties, and as such will not work in older versions of Internet Explorer, or other browsers that do not support CSS3. While the current Javascript part of JSDE should work in all version of Internet Explorer starting from IE7, no guarantee is provided that this will be the case in the future.

The current version has some serious limitations, simply due to not being finished yet - for example, there are no close buttons yet, and moving windows between workspaces is not yet possible. These limitations, however, will be overcome in future versions.

Known bugs

The following are known bugs that will be fixed in the next version(s). If you find a bug that is not listed here, then PM joepie91 on IRC with an explanation of what went wrong, when it happened, and what version you are using (the current version is 0.2.1).

Current status

The current version of JSDE is in a usable state, however some important functions are still missing. Also read the section on Future Support for instructions on proper implementation that will not break when the framework is updated. It is currently NOT recommended to use JSDE for large-scale applications unless you are willing to mess around with the code if it breaks.


There are no server-side requirements for the usage of JSDE. The entire framework is clientside. The only client-side requirement is that Javascript is enabled. To function correctly, JSDE needs jQuery - this can either be included from a file hosted on the server where the framework is used, or from a public library provider like Google.


To use the framework, you can simply include jsde.js as an external Javascript file, and style.css and base.css as external stylesheets. The style.css file can be safely renamed. Full documentation for JSDE is not yet available, but the demo (which comes in the package) should give you a basic idea.

Future support

It is possible to already use the current version of JSDE and simply plug in future updates. Functionality that is present in the current version should not break in future updates. The 'functional' and 'styling' parts of the CSS have been split up into base.css and style.css. In the future, it should be possible to simply plug in a new base.css, leave your custom style.css intact, and have the entire framework still be functional without losing your custom style. For this reason, you should do all custom styling in style.css. The aim is infinite backwards support, so that it would technically be possible to update from any version to any later version without breaking an application. Be aware that 'manual hacks' such as implementing titlebar buttons yourself, may break compatibility in the future. This 'compatibility guarantee' only goes for functions introduced by JSDE itself.


A functional demo can be found at


JSDE is licensed under the WTFPL, and as such can be used freely without the need for explicit permission, and free of royalties or licensing costs. It can be used for both commercial and non-commercial applications, and attribution is not required. In other words: you can do with it whatever the fuck you want to.


The latest version (0.2.1) can be downloaded here: jsde-2011-10-26-04-01-51.tar.gz


0.2.1 - October 26, 2011

Old versions