The structure of Tornado II

Tornado I originally came about as an idea for improving Acorn RISC-OS all the way back in 1994 and migrated to a portable concept (Tornado II) in 1996. This transition has caused a huge number of changes, but fundamentally the design tenents of Tornado have remained the same:

  1. The foremost objective of tornado is to increase productivity
    Since the early eighties software designers have consistantly tried to make computers easier and easier to use for people who don't want to use them anyway. We feel that this trend has run its course, and that computers should now return to the course they were created for - as a tool to aid human productivity. And I think that making things condescendingly simplistic or worse, restrictively simplistic (eg; much of MacOS) does not help productivity much and saps resources better funnelled into developing computer<=>human interfaces.
  2. The secondary objective of tornado is to be frugal with resources
    Computer software nowadays is somewhat wasteful of resources. The traditional methodology of Core API <= Handy library <= code (eg; Win32<=MFC<=MFC application) is obviously unnecessary and it would be far improved to fully integrate all programs directly into the operating system so that as much code can be shared as possible and the operating system can optimise use of memory and processing time.
  3. The tertiary objective of tornado is to remove as much programming from the programmer as possible
    In today's cut-throat software industry, large pieces of software have to be output quickly and easily and to that end some very effective development tools have been developed. However, the one single lack of these tools is integration with the environment. Tornado has a visual method of interfacing with code, and the design of full applications is similar. However, because resources are shared and little code is required to write a tornado application, they are quick, flexible, and small unlike the tombs of code produced by other visual editors (whether in the executable or in shared libraries).

Traditionally, OS designers have always structured operating systems so there are layers of API with which you can get the computer to do things with the idea being that high level calls suffice 95% of the time but sometimes

(C) 1998 The Tornado II programming team (Last updated: 15 March 2009 19:01:53 -0000)