JSDE

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.

            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE 
                    Version 2, December 2004 

 Copyright (C) 2004 Sam Hocevar <sam@hocevar.net> 

 Everyone is permitted to copy and distribute verbatim or modified 
 copies of this license document, and changing it is allowed as long 
 as the name is changed. 

            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE 
   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 

  0. You just DO WHAT 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

Version Date Changes
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

Version Download
0.2 jsde-0.2.tar.gz
projects/jsde.txt · Last modified: 2012/04/22 23:48 by joepie91
Back to top
CC Attribution 3.0 Unported
Donate Valid CSS Driven by DokuWiki Recent changes RSS feed Valid XHTML 1.0