Sneak Preview - KnowledgeTree Explorer CP

Martin Kirsten's picture

When we sat down to architect our next generation KnowledgeTree Explorer, we agreed on several design and business principles that we regarded as must-have, fundamental cornerstones of our new product: cross-platform availability, component re-use, maintainability, Rich Internet Application (RIA), thin client architecture.

A sneak preview of our new KnowledgeTree Explorer (running on a Mac no less):

Platform independency
We realized very early that “desktop” is no longer synonymous with “Windows”, and saw from our diverse customer base that users require client (desktop) applications that run on Linux and Mac as well as on Windows. The most obvious choice of technology to deliver a truly cross-(OS) platform desktop application was Adobe AIR (http://www.adobe.com/products/air) since AIR applications run on any platform and operating system that support the AIR runtime (which includes Mac OS X, Linux, and Windows).

AIR implements WebKit (http://webkit.org), an open source web browser engine, which allows desktop applications to run in a scaled-down browser on the desktop. And since this browser is platform-independent, KnowledgeTree Explorer can run on any OS that supports the browser.

Rich Internet Application (RIA)
RIAs offer the user a richer, more engaging interface experience. Hosting the application in a scaled-down browser also allows us to incorporate JavaScript into the application, which opens up the use of AJAX as our client-server communication protocol. The advantage of this is a smoother, more intuitive interaction between the desktop application and the server. And of course more joy for the user :).

Desktop integration
By its nature, KnowledgeTree Explorer needs to interact with the user’s desktop and file system (downloading files from KnoweldgeTree to the local computer and vice versa), and ease-of-use demands implementation of standard and expected computer operations like Cut, Copy & Paste (including their standard keyboard shortcuts). Although most of these actions (and their keyboard shortcuts) are supported natively by Adobe AIR, some innovation was required by the engineering team to implement the full complement of actions. (I won’t give away all our secrets quite yet, but watch this space for some Derren Brown-esque (http://derrenbrown.co.uk) revelations ;) )

Drag & Drop from the desktop to KnowledgeTree Explorer CP in action:

And an upload in progress:

Thin client architecture
Moving the business logic from the client to the server is a good software design principle for a number of reasons, including: separation of business logic and presentation, code re-use, lightweight client install, ease of maintainability and updatability. However, this separation did introduce a couple of extra hurdles for the engineering team to overcome, especially overcoming AIR’s sandbox, which prohibited the server-side JavaScript directly invoking the AIR/client-side code that allows desktop interaction.

The solution was to implement a JavaScript “bridge” that manages the communication between the (server-side) JavaScript code and the code accessing the local file system.

Component re-use
A feature-rich JavaScript codebase had already been created for the KnowledgeTree Office 2007 Add-in; the majority of this code was reused (with some massaging) in the new KnowledgeTree Explorer. This has the added benefit that both of these client applications can be maintained in tandem. The integration into the existing server code was also reused, which meant that (other than for some code optimization), all current (and future clients) run off the same server code.

Ease of maintainability
AIR and KnowledgeTree Explorer updates can be centrally administered using AIR’s Update Framework, and can be configured to be updated over the web (which suits the KnowledgeTree Explorer version that will be released for KnowledgeTree Live - our SAAS offering), or from local KnowledgeTree installations (which suits the KnowledgeTree Explorer version that will be released for on-premise KnowledgeTree installations).

Comments

Hi, when will this client be

Hi, when will this client be available? We're desperate to use KnowledgeTree on an Apple Mac network, and the lack of a desktop client is holding us back.

Non Standard Port

Our KT server is accessed via a non standard port number: e.g. https//mycompany.com:12345
The KT explorer CP alpha doesn't seem to like it.
I use a mac by the way