Intellog Application Organization
The diagram to the left (click for larger image) illustrates the overall conceptual organization of Intellog applications — it is based on the assumption there will be multiple applications in the Intellog product suite (shown as the symbols numbered 1 through 6), and these applications will eventually serve multiple markets (shown as the rectangles A through C). A given market may have need for all the applications, or a subset thereof.
Applications can be described in terms of their properties*, each of which will fall into one of the following categories;
Application Consistent Properties (ACP) The properties of a given application which are consistent, regardless of the market being served by the application. Example: In the case of a search-type application, the search terms will always be entered in a simple, Google-like box in the middle of the form.
Market Consistent Properties (MCP) The properties of the application suite which are consistent within a given market. Example: For a market which manages a lot of information geographically, specific buttons would be dedicated to selecting information by lat/long, and they would be consistently implemented for all the applications for that particular market.
Universally Consistent Properties (UCP) The properties of Intellog applications which are consistent across the entire application suite, regardless of market. More than any other type of property, these will establish the ‘brand’ of Intellog applications. Example: The Intellog home page, which illustrates fixed header and footer, with a scrolling region in between them.
Application Unique Properties (AUP) A property which is truly unique to a specific implementation of an application within a given market — which is to say any ‘intersection’ of the market/application matrix as shown in the diagram. Example: A button to file a well license would be available within a single application for the specific market to which this license is related.
It’s assumed there will be a relatively high probability of customers within a given market using more than one Intellog application. At the same time, there is a relatively low probability a given customer will use a given application in two different markets. Example: If a given customer is using the Intellog energy-industry version of the search application, there is a pretty good chance that customer will use the Intellog energy-industry data exchange application. The chances of that same customer concurrently using the Intellog search application for the automotive industry if fairly low.
As it relates to the above, any implementation inconsistency within a given market is going to impact customer experience quickly, whereas inconsistency between industries is not likely to impact any given customer for a considerable period of time. As a result, the category of a given application property will have a direct bearing on technical implementation. This is so characteristics of the property can be efficiently managed. If a trade-off must be made, it is more important for MCP to be managed from one central location, as opposed to ACP. Example: Colours and fonts would be managed from a single css for a given market. Change the one css, and it instantly changes the colours and fonts for all the applications for that market. Conversely, the PHP code implementing the search application may have be copied from one application directory to another. As a result, it is acceptable for it to take some time for these latter changes to propagate out.
*The term property in this context should not be confused with the like-named object-oriented terminology. A property is simply a characteristic or feature of a given application.
Posted on 24th September 2008
Under: Developers' Journal | 1 Comment »