NewI\O (Alpha Version 0.07)
What is NewI\O?
NewI\O is a system for running programs on the Internet. Instead of trying to kludge a document browser to run programs, it is an attempt to create something from the ground up to run programs.
The NewI\O system consists of:
1. The NewI\O application browser Dreadnought (http://www.newio.org/dreadnought.html)
2. The NewI\O daemon NIOd (http://www.newio.org/niod.html)
3. The NewI\O library NIO_lib (http://www.newio.org/nio_lib.html)
NewI\O currently supports keyboard and mouse events, colors, drawing primitives, fonts, images, sounds, and music. Video support is in progress.
How it Works
Type in a URL to the browser. An application is started on the server, and I/O is sent back to the browser using a simple bi-directional message scheme.
Resources such as sound or image files are downloaded just like a web browser would handle them. Therefore, the first time it runs, it will
take some time for the download. The resources are cached, so subsequent runs are much faster.
What is new?
Everything. This is the first general public release for this software.
Alpha, very alpha. Major sections, such as security, are still to be implemented.
The NewI\O is system is free software. It is released under the GPL. Libraries are released under the LGPL.
There are a few small applications written for the system, although most of the work to date has been in the lower level plumbing, and not in applications. Therefore the API is very preliminary at this point. Fortunately, it is very easy to modify or add to the API.
There are two reasons game programmers may be interested in this code:
1. Game programmers may be interested in programming for and using this system. Although it will probably never be adequate for the most advanced 3D action games, there are many other types of computer games where a system such as this may be adequate and even advantageous. One of the design goals was to create a system that is very easy to program for, and in my opinion, this has been achieved so far.
2. Game programmers may be interested in the code itself as an example. Since it is designed to be a general purpose client, it uses most all of the features of the SDL and associated programming libraries. It is written in straight C, and is hopefully fairly object oriented so sections could easily be pulled out and used in your own projects.
Sam Lantinga, Ryan C. Gordon and the rest of the SDL team
Bob Pendleton - Font and text routines
Ryan Mcguigan - SDL_prim library
We would be interested in any comments that you have.
The NewI\O Team
September 27, 2005