Sunday, May 21, 2006

Using Cairo For Rendering


I have figured out how to use SDL with cairo, so pretty much the last major technical hurdle has been solved. You can see some documentation on there here. Now it is just improve, improve, improve. Fun stuff.

Monday, May 15, 2006

Solved SCP Issues

I have solved my scp issues and am finishing up integrating scp code into the Dreadnought Browser.

After this I should be able to start work on a MS Windows port so that I can demonstrate the cross platform nature of the concept, and also make it more accessible.

Web Services Not Living Up to the Hype

Here is a good article about how web services has not lived up to the hype:

http://www.informationweek.com/blog/main/archives/2006/05/reality_promise.html

Sunday, May 14, 2006

Messages Over SSH Subsystem Done!

I completed the low level transport on the access controlled encrypted channel, a big accomplishment. Now working on the built in scp file transfer, and am running into some little problems.

Thursday, April 27, 2006

ToDo List

I have a customer who is interested in a Windows port. Here is the todo list:

1. Convert pthreads to SDL threads - done.
2. Use libSSH2 for portable, low level, secure message transport and file transfer - in progress.
3. Finish MS Windows version.

After that I intend to

4. Finish the text editor example program.
5. Publish new version.

Friday, March 24, 2006

Saturday, February 04, 2006

SVLUG


I have been invited to discuss and demo NewI\O to the large and prestigous Silicon Valley Linux User Group on August 2nd. I feel like I am getting a little momentum now.

Thursday, January 19, 2006

Resource Information

When a program loads a resource like a font, or an image, the client should send a message back to the program with a data structure that contains information about that resource that might be useful to the program running. The program can wait for the return message, or not, depending on the needs of the program.

Currently NewI\O does not do this, but that is the plan.

Friday, January 13, 2006

Island Hopping Campaign

Do you know the strategy the U.S. used during World War 2 against the Japanese? The Japanese had many well fortified islands, and it would have taken a long time to take out each one. So instead what the U.S. did was to skip some islands and just take on certain ones. The islands left in the rear would be isolated and then wither and die on thier own.

Pointer events are difficult in a network context, because it is very difficult to make the delay not noticable to the user. Using TCP_NODELAY to disable Nagel's Algorithm, and UDP do not seem to make a significant difference.

On the other hand, the mouse is a relative newcomer in popular computing. Computers were used for years and years very productivly without a mouse. I am thinking of taking out, or at least de-emphasizing the mouse, and just pressing on in other areas. I can always re-visit the issue later when and if I have more resources than I do now. This way I will not get bogged down in one technical area.

Thursday, December 29, 2005

ToDo

To get ready to publish to the SDL list I need to do the following:

1. Fix apps from pointer experiments.
2. Add loading resource messages to apps that load alot of resources
3. Add screenshots to sample apps on web site
4. Add homepage fixes
5. Add team web page

Wednesday, December 14, 2005

Successful Demo

My personal blog has an entry about a demo I did for my programming class that went very well.

Wednesday, December 07, 2005

Ajax Backlash

The ajax backlash has already started. More comment on slashdot.org.

Tuesday, December 06, 2005

Outage

I apologize for an outage of about 26 hours that ended this morning to both the website and the app server. I lost a switch.

Build 50 added support for resizing the window. Build 51 added support for transparent image backgrounds.

I expect to finish porting Bob Pendelton's demo game next week, and release a new version of NewI\O at that time.

It seems to me that I need to improve the process of loading resources. I need to specify a slot for a resource to go into, and then send a message back the has information about the resource in that slot, information that may be useful to the program on the server.

For example, when an image is loaded I can send back information to the program about attributes of that information, such as its size, etc. This would be a seperate message, so that ap running on the server would not have to wait for the response, unless it chose to do so.

Wednesday, November 02, 2005

Build 49

Build 49 fixes a major bug. I was drawing in more than one thread and occasionally seeing errors. Fixed now. Also API additions. So we are bumping up the version to 0.09. All users of apps.newio.org will need to upgrade. Dreadnought should force you to upgrade anyway.

Friday, October 21, 2005

Mark Andreesen Hates Java

This [slashdot.org] post claims Mark Andreesen hates Java and thinks PHP is the answer. This brings out all of the comments detailing the problems with both Java, and PHP. Naturally I agree with all of the problems I read, and think NewI\O is the real answer.

It seems so obvious to me that the problem with Internet Apps is the web. Get rid of the web and make a system designed to do what you want. How can it be any simpler than that?

NEWI\O STATUS: I am finishing up adding video support and I want to fix the event system, perhaps even add a proper event queue, and then release again, hopefully this week.

After that I want to port Bob Pendelton's demo game Bounce to NewI\O. It is a more involved graphics app demo and would be an excellent and impressive test of NewI\O's capabilities. I do not expect it will be difficult to port.

Then I want to release NewI\O again, probably to the wider SDL mailing list.

Tuesday, September 27, 2005

[ANNOUNCE] NewI\O Alpha 0.07 (Build 043)

In accordance with the release early and release often principle, the NewI\O team is pleased to announce:

NewI\O (Alpha Version 0.07)
http://www.newio.org

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.

Status

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.

Acknowledgments:

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

Saturday, September 17, 2005

Scobelizer on Thin Clients

Scobelizer on MS Office and thin clients. Be sure to read the article this links to.

The thin client guys fire back. Be sure to read the linked articles here and this article, too.

I believe that the more powerful the thin client software is, the more right the thin client folks will be.

Older Thin Client Discussion

I constantly see articles that remind of the need for NewI\O. Here are several:

There is an older discussion of Longhorn being too fat here.

Be sure to read the article it links to here. HTML is as good as dead for apps, which is why I am working on something new that I believe to be far more powerful.

And the article this article links to here. The world does need a simpler Java, and I aim to provide it.

Sunday, July 17, 2005

Preliminary Report is In

I have completed my library that implements a dual threaded client server messaging system. At my work behind the slow firewall I was getting about 8 transactions per second. With this new library I am getting 800. It is even faster than I expected. Very exciting.

In fact, to do 20,000 messages (10,000 in each direction) takes about 21 seconds on my home machine. To do it through the slow firewall connection at work it take about 25 seconds. There is hardly a difference. It is amazing. I am thinking that you will hardly be able to tell that you are running an application across the network.

I can not wait to finish integrating it with my application browser and see what it looks like visually.