Why was tornado created?

Well, that's an interesting story. It all started off with a program called LegoCad (a rather personalised account of which is here). Essentially, I began to realise that RISC-OS was beginning to age, and I wanted to do something about it.

A short recap ...

This began with patches for RISC-OS ... and then progressed to being a multitasker ... and then the best part of an operating system. This was intended at that time to be implemented fully in ARM assembler and be made indigenous to the RISC-OS environment.

However, due to concerns of mine about the diminishing Acorn usership and the severe lack of direction of Acorn in general, I then tried to make tornado portable while still being written in Arm (to save the existing code). This worked, but took a lot of time as assembler writing does.

And then summer 1996 came wherein I worked at Colton software upgrading PipeDream 4 to PipeDream 4.5 and improved my C skills considerably. I also gained considerable knowledge about NT and the new Win32 subsystem - and learned how far it had come from the Win16 subsystem. NT and 95 also showed that Microsoft was a company finally producing some good serious products rather than the crap they were before and this did well impinge on me.

So, upon coming to Trinity College Dublin and finding an utter lack of Acorns here (and utter refusal of the university to house mine), and not wanting to forsake the tornado idea, I started learning how to program Windows and therein write tornado for windows.

An important change here was from Arm assembler to C - this was done because (a) C is much quicker to write than assembler and (b) C is portable. While I am well aware of my previous strong opposition to the writing of operating system components in compiled languages I now have realised that C code can be fast too - it just requires a good compiler and programmer.

This obviously meant that tornado did not need to be fixed to windows. No - tornado could be very portable indeed and could execute tornado programs on any environment with only a recompile. This was an exciting new development - but why bother in all this especially with the university against me, my course against me, time against me and worst of all my knowledge against me?

The reason why!

I feel that tornado has a lot to give current GUI environment methodology as use in the major GUI based OS's currently in use. Its focused methodology of productivity and frugality whilst retaining ease of programming is significantly different to the methodology behind current GUI design and I feel tornado offers a significant enhancement of current GUI's. Its ability to integrate tightly with the host GUI environment whilst retaining source code compatibility is also a good standing point - however, this is a minor one compared to the potential work rate increase allowed by tornado as compared with other environments.

In essence, tornado takes nothing away but adds everything. It is a bold brash new way of thinking and doing things on a computer - bringing more power to the user and allowing the user to get on with doing things rather than be hindered by flawed productivity goals. It's enabling enhancing technique as opposed to direct replacement allows significant code savings and also enables significantly quicker OS enhancement as host OS's are upgraded with new features.

This I feel is why I must write tornado. Tornado is potentially life changing for millions of computer users worldwide. While my classmates struggle with Windows 95 today, tomorrow they could see hear and feel the enhanced productivity interface tornado provides. That in my book is worth some effort.


For more information on the design, history and methodology of tornado:


© 1996 Niall Douglas (Last updated: 27th November 1996)