<< Backgroundinformation [37/117] >>

Backgroundinformation


Home / Projects / JSWins (JavaScript-Desktop-System) / Backgroundinformation

Visitstatistics in JSWins

Backgroundinformation



Originally i have developed the system for personal use, to display various visit-statistics-information of my homepage at once. So one can display information like most-visited-pages, used browsers, operating-systems, used search-engines and queries, and a lot more at the same time. Every of this information is displayed in one single window.
The state of actual opened window can be exported into a bookmark, so that one can restore the windows after exiting and reenter JSWins easyly and quickly. Through that, one must create the queries to the Visitstatisticsdatabase (HTML-formular) only once.
Development (Programming) While programming this project i had made the experience, that one uses best Firefox 1.5. He is relatively fast and produces good comments to JavaScript-errors. The errorwarnings on Internet-Explorer are so bad, that not even displayed in which JavaScript-File (if one includes many) the error lies.
As development environment i used Eclipse (http://www.eclipse.org/) 3.1.2 (later 3.2) with the Web-Tools-Platform (http://www.eclipse.org/webtools/) 1.0.2 (later 1.5) PlugIn.

Details
There are a lot of details in JSWins, which partly used by e.g. Windows XP, and thus first recognized on a second sight:
- Modification of the cursor (mouse) when hovering over window-components (e.g. titlebar -> movement-cursor, sizemodification -> size-cursor, etc.)
- Although a window-content focused, the short-cuts (keyboard-listener) works
- a clock in the lower right 
- Marking the window-state in the taskbar (e.g. lightgray -> window minimized, bold font -> active window, etc.)
- Switching between 2 languages. Following components have been borne in mind: adaption of menus (startmenu, windowmenu), selection for the behaviour when clicking on links in windows (lower edge of windows), all dialogs, tooltips, desktop-icons, HP-Explorer 
- Creation, deletion and moving of desktop-icons
- Tooltip on the upper left window-edge, when hovering over menu-entries
- Right-click with mouse does not open a browser-context-menu, when there is a corresponding action to a button (e.g. right-click on Minimize moves the window to back)
- Adjusting titlebar to current window-state (active and inactive windows
- Newly opened windows are placed a little bit shifted to another
- When creating desktop-icons they are not placed overlapped, unless the user drags them on top of each other
- Saving and restoring the state of the system when leaving and reentering by usage of cookies (opened windows (position, size, overlapping, etc.), desktop-icons (position), Order of taskbar-entries
- Displaying HTML-titles of loaded pages in window-titles 
- Displaying approximate HTML-size of each loaded page (total-size over all windows: upper right
- Balloon-popup-messages
- ...

Data-steal
Meanwhile JSWins is a very large JavaScript-project and had cost me very much time and troubles for implementation. Therefore i dont want that others simply copy the JavaScript-code out and use them on their homepages, public or private servers. To ensure this i had to spend time in a project, which i have developed a long time ago, namely a obfocusiontool JavaScrypt. This tool now copes with nearly all JavaScript-Codes. So i have extended it by a compressionmethod, which is relatively slow in compression (compression in Java) but decompresses very fast (because decompression in JavaScript). The Lempel-Ziv-algorithm is on large data and in JavaScript too slow.

Facts
Here some facts to JSWins (from JavaScrypt-Log):
- over 4700 JavaScript-code-lines (inclusive comments
- approx. 470 different variables
- approx. 240 different functions
- approx. 2000 different strings
- compressionrate through JavaScrypt: 40% smaller (before approx. 167 KB, after approx. 102 KB)
 


Visitors PageClicks Valid XHTML 1.0! Valid CSS!

CanciAbout meSite-MapRightsContactJSWins (JavaScript-Desktop-System)© 2004-2013 by Markus Krebs