What is i4?Impact4 (i4) is a flash-based framework built on nonlinear branching naviation and reusable components (modules and libraries). It consists of a client runtime environment, server-side software for DB access, and a GUI builder software.
Design Principles of Impact4:1. Rich client-side navigation.
To effectively utilize computer-based methods for gathering information, the navigation for an application must be flexible and intelligent enough to respond to user input, and query for more information accordingly. At the same time, traditional methodology involves branching logic: randomized groups, special sets of questions for a specific user demographic, and many other uses of conditional flow. The framework should be extremely flexible at both the time of design, and the administration of the intervention.2. Reusable components.
In developing computer-based interventions in a cost-effective way, it is important to maximize the investment into an application. To that end, an effective framework must allow application creators to re-use sections of their work in future applications. Two things are necessary for this level of re-usability: a standard, robust application interface (API) for the components to interface with, and an easy-to-develop environment for component creation, so developers can actually create the components they need. The framework should also include a suite of components for the most common types of user interactions, to save developers time and resources.3. Compatibility
A key issue in developing computer software is compatibility. For any piece of software, Operating-system compatibility will be an issue. For internet-based applications (a need this framework addresses), an additional issue of cross-browser compatibility exists. The framework must make null both of these issues. It must be cross-platform; Code to develop the application should work on any reasonably common platform. The application itself should run on all publicly available operating systems, with no additional burden to the user. It would be cross-browser compatible, so that issues with rendering inconsistencies, and varying support of standards are non-factors. Any user, on any platform or any browser should be able to use the software.4. Special populations
Finally, the framework should improve upon the usability of current solutions. Current frameworks are limited in their support for users with a variety of concerns: new computer users, users who use accessibility software, and users who may have various physical difficulties interacting with a computer. In addition, care needs to be taken in making the interaction for the "average" user simpler and more intuitive. Compounding the issue, a variety of interaction methods are available for human-computer interactions, such as a Mouse, touch-screen, keyboard, pen stylus, etc. The framework should support each of these types at no expense to the others.