Wednesday 22 July 2009

A KIX use case: Agile Distributed Integration

KIX seems to be the first tool, which aims to directly support Agile Distributed Integration.


Open source Plone, Microsoft Sharepoint and Google Wave are in that respect all potential contenders to KIX. However, none of them are aiming at directly supporting agile distributed integration.

KIX has one unique feature which makes it stand out - it supports the activities and work flows associated with distributed live documents with dependencies between them.

The KIX support for distributed integration across dependencies covers cases when stakeholders
  • are geographically distributed,
  • are distributed in time,
  • or operate under distributed authority, i.e. belong to different organisations even when there are no formal arrangements.
The crucial question, when trying to achieve critical mass for KIX, is whether this special use case is common enough to support a break through for KIX. In principle the problem of distributed integration should be pervasive. However, in the past it has never been feasible to integrate complex operations without considerable centralisation. Thus there is bound to be a huge cultural resistance against any attempts to achieve integration in a decentralised manner.

Friday 26 June 2009

Growing interest in KIX

Last week a colleague of mine approached me on the subject of KIX - please describe KIX in 5 minutes. I tried along these lines:
  • KIX is a web framework for distributed integration and agile engineering.
  • KIX has a multiversion document repository - i.e. the document owners explicitly nominates one document version to be the current one. This is not the necessarily the last version.
  • KIX is a little bit like a distributed make system. It can be used to maintain dependencies between documents. However, KIX may do this even if the different documents are maintained by different stakeholders and the documents reside on different KIX servers.
  • Significant document events are notified to all dependent KIX documents - the KIX framework supports the configuration of plugins,[ Web of KIX documents on four different KIX servers] which may take automatic actions when such events arrive. For example a new version of a dependency document may result in the automatic creation of a new version of the dependent document. Thus changes to one document may ripple through a web of distributed KIX documents much like a spreadsheet, where each document taking part corresponds to a spreadsheet cell.
  • KIX also has a plugin point for bespoke document display; any KIX document can be viewed by any number of viewing plugins - one after the other - thus providing multiple specialised views of the same document (see e.g. this wiki view followed by a document review view).
  • KIX may also deploy the documents to the outside world; when for example a KIX document version is nominated as the new current version it may simultanously be exported as a file - with or without conversion. This is happening in the above example where the 'Exported page' link has been written as a static HTML file.
  • Moreover, KIX provide a document version comparison tool and a generic KIX site map navigational tool.
  • In order to support agile engineering KIX implements fast notified feedback from stakeholders in the form of threaded web conferences. A KIX display plugins may split a document in any number of document subject nodes, each available for individual threaded discussions.
Admittedly this interactive presentation took a little bit longer than five minutes. Despite the daunting scope of the presentation my colleague ended by asking how we could use KIX to improve integration and engineering at JET. In my view there are many potential possibilities, but a prime candidate is probably the JET Operating Instructions, which are used by Engineers-in-Charge when operating the JET machine. This is because of their formal nature and the many stakeholders involved in the review process and finally the latest approved version is used as requirements for JET operating support software, i.e. there are dependent documents.

Wednesday 17 June 2009

New versions of the Document Review plugin and the KixFw framework

Version 1.13 of the KixFw framework has now been released. The main upgrade is to allow 'open browsing' of KIX documents, i.e. web users may view KIX folders, documents and comments without having to login to KIX. The open browsing mode is a configuration option when you install an instance of KIX.

Version 1.6 of the Document Review plugin has also been released. It also supports 'open browsing' when this is configured. Otherwise the plugin has been reimplemented for much better performance.

After these releases it is easy to demonstrate some basic aspects of KIX and the related Document Review plugin:
  • The KIX document map for the SourceForge KixFw site can be seen here.
  • A document review with a comment example (at line 70) can be seen here. (The KIX document is a Server Side Include HTML fragment).
  • A KIX comparison between version 12 and 9 of this document can be seen here.