NewI\O

[Dreadnought] [NIOd] [NIO_lib] [Applications] [Blog] [Support] [Team]

Introduction

NewI\O is an internet application system. It is similar to many things, but it is, to my knowledge, not exactly like anything.

It is something like a Rich Internet Application system. So in some ways it would be a competitor to things like Sun's Java System (the system, not the programming language), Flash, etc. However, unlike these systems, there is no application downloading involved. The programs run on the server.

It is an Internet application system so AJAX could be considered a competitive technology, but NewI\O has nothing to do with the World Wide Web.

NewI\O is a Display Over IP (DOIP) technology, and in this way other competitors would be X Windows, VNC, Citrix and thin clients. However these solutions are typically aimed at remote desktop solutions, while NewI\O is aimed at running a single application across the net. It is not a remote desktop solution.

Basically, NewI\O is a system that consists of an application browser that handles the I/O (display, audio, keyboard, mouse, etc.) of a NewI\O program running on a server.

Project Justification

A web browser is basically an Internet Document Browser (or IDB). It was not designed to run programs across the Internet. For example, it does not keep track of program state (Read the NewI\O Blog for technical discussions about the current state of the art). Existing systems appear to me to be kludges to get the document browser to do something for which it was not designed.

What we need is a browser designed from the ground up to run programs across the Internet. What we need is an Internet Application Browser (IAB).

We need something with the remote display capabilities like X-Windows, but with additional multi-media cabapilities, wrapped in something with the ease of use of a web browser.

Advantages

1. Applications are portable. Only the browser needs to be ported. The server and applications can be a different computer architecture from the browser.

2. Server based. Applications and Data are available anywhere there is an Internet connection.

3. Data is on the server so the data can be backed up easily compared to desktop systems.

4. Applications can be easily updated and you can be sure all users are using the same version of your software, since the applications are not on the user's computers.

5. No viruses, since applications and data can be on servers that are not susceptible to viruses.

Project Goal

Set the Internet standard for network applications.

Currently there are many ways to run applications on the Internet. I believe the reason for this, is because no one way is superior. The goal of this project is to create a system that is so superior, that all other methods fade away to disuse.

Design Goals

1. Powerful - While remote application can never be as fast as local applications it should be as fast as possible, and fast enough to do the job.

2. Easy to Use - Users will have a familiar browser interface, so anyone can easily use the system.

3. Easy to Program For - Does not use any special computer language or proprietary interface. Everything is open. The programming library uses the standard "C" programming language, which can easily be used as it, or linked to other programming languages. The API will be as clear and easy to use a possible, so any competent programmer can quickly do useful work.

4. Secure - Access control and an encrypted channel by default.

Current Target Market

There are currently three target markets for the NewI\O system: developers, developers, and developers.

To be successful this project must attract developers. First to help improve the system, and second to write applications for the system.

Technical Overview

The NewI\O system consistes of 3 parts: the Dreadnought application browser, the NewI\O daemon (NIOd), and the NewI\O programming library (NIO_lib) that developers link with their applications to create NewI\O compatible programs.

Dreadnought is like a document browser, except that instead of using HTML to communicate between the server and the browser, it uses a custom bi-directional messaging system.

You type a URL like nio://apps.newio.org:32662/bounce.nio in the browser.

Dreadnought asks you for your login information.

Then dreadnought makes a call to the server's TCP port 32662 to start (in this case) the NewI\O bounce game application. The application is started and communicates on this same port back to the browser using messages.

NewI\O currently supports keyboard and mouse events, colors, drawing primatives, fonts, images, sounds, and music. Video is in progress. It works like a web browser does, by downloading resources. Therefore, the first time it runs it will take some time downloading resources. The resources are cached, so subsequent runs are much faster.

License

The NewI\O system is free software.

Status

Alpha. Very Alpha.

More Information

Blog: http://newio.blogspot.com

SourceForge.net site: http://sourceforge.net/projects/newio

Wiki: http://gnuzoo.org/newio/

Old Mailing List: http://groups-beta.google.com/group/newio

Presentation (OO): http://www.newio.org/newio2.odp

Old Presentation (PPT): http://www.newio.org/~cnystrom/Dreadnought.ppt

Meetup Discussion: http://entrepreneur.meetup.com/16/boards/view/viewthread?thread=1274745&pager.offset=0

E-Mail: cnystrom@gmail.com

NewI\O Domain Mail Login.


Updated: 12/11/06 ccn