CTC Technology And The Web

Author: Martyn Cutcher

email martyn@cutthecrap.biz

website www.cutthecrap.biz

The Internet is an incredibly recent development. It's viral invasion of almost every aspect of our personal and business lives has been met in the most part with unquestioning acceptance.

Right now is a good time to take stock of the various web technology developments and try to understand exactly what they are and how they might be more useful.

The point of good system design, if it is to have any point at all, is to actively reflect on how a system can be developed that makes best use of available technology where appropriate.

Approach

In developing the original CTC software the common problems and requirements of system and application development were analysed and this led to a number of specific componants.

Core CTC Software

The Generic Persistant Object (GPO) Model was developed to address the problems faced by developers to build and manage flexible data models. This hugely simplified the task, not only of storing and retrieving data, but also it's effective use in an application.

The Alchemist is a component that automatically generates a GPO Model from a minimal system description. The importance of this cannot be over-emphasised, since it enables a truely incremental development approach to rapidly introduce changes to a developing model.

Web Application

In 2003, when CTC Software was initially developed, it was already apparent how delivery using web technology provided huge advantages.

These advantages were in both systems architecture and also delivery scenarios using either standalone, intranet or internet based web servers.

A generic web application was developed that allowed an Alchemist generated model to be interacted with at a functionally useful level - in other words it could be practically used in a real business scenario.

Additionally, exploitation of customised browser-based interactions could provide more refined business focussed interactions and reports.

Communications and Business

In developing a number of applications for small and medium businesses, it became clear that some method of integrating notetaking with the application could be very useful.

After investigating the use of several internet forums, it was apparent that here was some interesting technology that users clearly felt comfortable with. However, it was also clear that a forum is considered a separate system from the business data. But need this be so?

Both the Alchemist and the generic web application were enhanced to provide the ability for any business object to be it's own forum. In other words communications from any system user could be easily associated with any object they had access to.

The Rise Of Wikipaedia

Recently a further enhancement has been made that enables any system object to have a Wiki information structure. This has created the possibility of informal user generated content to be utilised in a number of different scenarios.

Linked with associated forums this provides a close integration of business data with the informal process of business communication.

Integrated Browser Interfaces

This is a minor but significant detail. That the forum and wiki functionality should be accessible from within the same browser interface as the business application.

By convention, Forums and Wikis have been regarded as complete standalone applications, and thus their interfaces are designed accordingly. The CTC forum and wiki interfaces are designed to be functional and compact to enable embedding wherever appropriate.

Type Specific Reports

A mechanism is provided that supports refinement of the Wiki and Forum interfaces based on the type of the associated CTC object.

The implication of this is that it becomes straightforward to associate links to reports and other application functionality from the Wiki and Forum interfaces.

3D Content - Not Just For Games

All modern computers have incredibly sophisticated graphics capabilities. They are there to support the gaming functionality required for their successful marketing.

The capability for advanced graphics is now so expected that standard computer interfaces for Apple and Microsoft operating systems are filled with "eye candy" that will not function correctly without them.

But the use of 3D content in business is limited to very few areas - with the notable exception of Second Life where it provides a complete environment for business.

3D Application Scenario

We have identified several businesses where the effective integration of 3D content with web applications can provide unique functionality. An obvious example might be the management and access of technical documentation associated with a model subcomponant; where, for example, clicking on an object brought up some information that linked to further associated documentation.

The essence of this approach is to seek a genuine integration between a 3D model and links into web-based information systems.

This creates a number of technical challenges, covering the scalability of the production workflow, integration approaches and the delivery mechanism.

3D Model Delivery

An ongoing issue for the past few years has been the rendering of 3D content.

The traditional games deploymemt is built on a customised games engine. These engines were developed over several years and their licensing is frequently both severely restricted and prohibitively expensive.

Macromedia produced Shockwave3D in an attempt to kickstart web deliverable 3D games, but they had only limited success, and although a capable engine, they provide no ongoing support or development.

TurnTool can also be used to render and interact with a 3D model. However it is only suported on Microsoft Windows PCs, provides limited scripting, and a suspect workflow.

A Java-based technology called Java Monkey Engine has a lot going for it. As a java based system it is immediately cross-platform, it is open source and extendable (it has also recently been picked by Sun as the basis for a new 3D initiative). The downside is that it is not currently simple to develop an efficient workflow, integrating the efforts of model builders with other developers. So, while it might be a good choice for a new games development environment it is not necessaily suitable for a business that wants to be able to produce potentially many different products with maximum efficiency.

Unity Games Engine

The Unity games engine targets cross platform delivery with plugins for Windows and Mac OS X browsers.

Unity is a sophisticated games engine with excellent runtime scripting and a powerful development environment that can efficiently support a workflow to take modelling data into an interactive composition environment.

While we do not want to produce games, we are interested in the scalability and flexibility that is implicit in an environment that enables them.

The web players provide sufficient interaction to enable effective communication between the 3D and browser environment. This is the glue that allows the 3D environment to hook into the CTC functionalities.

The lack of Linux support is an issue for general website development, but is not an issue when the focus is on business systems where platform deployment may be specified.

Full Cycle Development

A key problem with developing complex web applications - or for that matter any software development - has traditionally been the problem of maintenance and enhancement.

This is where the previous CTC software developments are crucial, since they support the rapid reliable modification of the server-based model. This ensures that the user is able to describe the system via a sequence of feedback sessions, rather than needing to specify everything in detail from the beginning.

The efficiency and flexibility of the server development is able to match the flexibility of an advanced modelling workflow enabled with Unity.

Further Reading

For more information on CTC software, visit the main website: www.cutthecrap.biz where you will find a number of articles. To speed that process up, here is a selection of links:

The CTC Project Provides an overview of the various CTC Technologies.