Introduction
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.
Features
JSDE has several unique features that are not offered by other 'Javascript desktop' platforms such as ExtJS.
- Lightweight - tested and working on a laptop with a mobile Pentium 3 CPU running Chromium.
- Workspaces - supports unlimited workspaces. Not offered by any other Javascript desktop solution.
- Resizable - windows can be set to be resizable or fixed-size. When set to be resizable, a minimum and maximum size can be configured per window.
- CSS-powered image-less design - JSDE was made to work without the use of any images. The entire base design is made using CSS (3). The only image in the demo is the background picture.
- Easy to use - requires minimal Javascript knowledge to use and implement.
- Intuitive - easy for end-users.
Limitations
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).
In some versions of Firefox, you will select elements on the page when you try to drag or resize windows. This is due to Firefox not using the same event names as some other browsers, and will be fixed in the next version.Fixed in 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.
Requirements
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.
Installation
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.
Demo
A functional demo can be found at http://www.cryto.net/jsde/demo/.
License
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.
Download
The latest version (0.2.1) can be downloaded here: jsde-2011-10-26-04-01-51.tar.gz
Changelog
0.2.1 - October 26, 2011
- Added close buttons to windows.
- Now uses a font from Google Web Fonts for consistent display across operating systems.
- Bug fix: All browsers including Firefox now prevent selection during dragging.
Old versions
- 0.2: jsde-0.2.tar.gz