Technology
Introduction
Dizmo is OS agnostic
. It will work equally well on Windows, Linux, MacOS, or Android platforms and is highly independent from the accompanying hardware; whether it`s a desktop, laptop, projector, mobile device, monitor, or digital panel of any type. Dizmo is abstracted from any proprietary underlying hardware interface technology (touchscreen, gesture or voice activated), supports legacy devices, such as mice or track-pads, and adapts to all types of display technologies and sizes.
Dizmo allows free, complete, and swift manipulation of digital objects in an infinite digital white-space, allowing users to pan and smoothly zoom-in/out. Dizmos can be instantiated multiple times and accessed concurrently, as well as: moved independently, rotated, re-sized, zoomed in/out, grouped and iconized.
dizmos
At its heart a dizmo is basically an HTML page packaged along with other resources like images, JavaScript libraries, style sheets and similar items.
A dizmo is installed into the dizmoViewer in form of a bundle
. A bundle is a directory that contains several files that together form the code and parameters necessary to run the dizmo. The directory is zipped and renamed to .dzm.
The easiest way to instantiate (install) a dizmo into dizmoViewer is to drag the file ending in .dzm from your computer desktop into the dizmoViewer window. You may do this repeatedly, each time creating a separate instance of the same dizmo. So there may be more than one dizmo in a dizmoViewer that has been created based on the same single dizmo bundle.
Once a dizmo bundle has been installed in dizmoViewer, a copy of the dizmo bundle will be stored in a local cache directory. This allows you to move or delete the original copy of your dizmo bundle after installation while dizmoViewer is still using the cached copy of the dizmo.
Connect to third party systems
Dizmo uses Webkit as its basis to render dizmos. This means it is possible to use Ajax to connect to other systems like you would do in any browser. Webkit is also able to set up Websocket based calls if more elaborate two way communication is needed to access a service.
The tutorials How to write a moon phase display dizmo with Ajax and webservices and How to write your own chat dizmo with socket.io each illustrate in depth how to connect with third party systems.