I wrote this several years ago for the kind of system that I wanted Kontinuum to be and has grown into today. I am including it in the blog because it may be of some interest and it is a slow news day.
Web and Flo Kontinuum Philosophy
1) All data is best held in a database where ever possible.
a. Within a database data is structured
b. Within a database data is easily searched
c. Within a database data is easily manipulated
d. Data within the database should be in Boyce-Codd Normal Form.
2) All Functionality should be extensible by third parties
a. How users answer questions (Answer Box Types)
b. What functions can be performed by Gates/Activities
c. How answers grouped together can be represented to the user and stored in a table (Sub Form Types)
d. Input Masks
e. Template Files for Drawing outline HTML
f. Style Sheets
3) Kontinuum must be able to be customized to fit any business process
a. Configurable and Embeddable Workflows (For any circuit/Petri Net you can design you can design a Kontinuum Workflow)
b. Configurable Forms
c. Configurable User Management and Organization Structure
4) Admin users need absolute control over who can view/edit/delete/add anything in the system based on any criteria
5) Users should not have to enter in the same information more then once
6) Every new version of Kontinuum will have increased functionality
7) Every new version of Kontinuum will run faster then the previous version
8) Every new version of Kontinuum will aim to reduce the new of clicks necessary for navigation, and creation of records
9) Every new version of Kontinuum will allow the end user greater ability to customize their own user experience
10) Every new version of Kontinuum will operate on more platforms/browsers then the previous version
11) Every new Version on Kontinuum will interact with a greater number of industry standard applications.
As a side note looking back we appear to have delivered on all of the goals we set out on, although I am sure that luck must have played a part somewhere along the line. To this list I should have added:
12) Every new version will be backwards compatible
13) Every new version will provide greater ROI for our clients
14) Every new version will look better then the previous version
15) Every new version will have a higher version number then the previous version 😉