Treebolic is a Java component (widget) whose purpose is to provide a hyperbolic rendering of hierarchical data.
A tree is rendered with nodes and edges but display space is subject to a particular curvature (hence the name) : more space is allocated to the focus node while the parent and children, still in the immediate visual context, appear slightly smaller. The grandparents and grandchildren are still visible but come out even smaller. As we move away from the focus node, less display space is allotted to the nodes, which gradually disappear towards the disk's border, as though the whole hierarchy were seen through a fisheye lens.
Wrapped as a Java applet, the Treebolic widget can be embedded in a web page. Nodes may then contain hypertext links and the browser to other web pages.
The tree is dynamic (animation brings the focus node to the center) and responds to user interaction.
The Treebolic Generator, included in the package, is an application that allows the XML description to be generated.
The Treebolic Browser, included in the package, is an application that hosts the Treebolic linking it to various data providers. Unlike a web-hosted applet, it is not subject to security limitations.
The widget core works regardless of the data-feeding mechanism (or provider). one such provider is a standard XML module that reads XML files.
Treebolic understands the XML description of a tree, which makes it rather easy to write and peruse. This description has to conform to well-documented XML schema. Treebolic Generator does the job of generating such a file.
A number of providers are available:
Treebolic runs with Java6 and thus offers cross-platform and cross-browser compatibility (Windows, Mac, Linux, Unix, IE, Firefox).
It is extensible through the data-provider mechanism that offers simple well-documented interfaces.