Personal Browser

The "Personal Browser" is a project designed to replace the current web browser with a browser with modern design that is more secure, easier to program and more flexible. To build this browser a number of sub projects need to be completed. Design specifications for user interface, security, programming language, virtual machine and communications need to be completed.

At its core the "Personal Browser" is based on Argot, a binary encoding mechanism which will be used for communications, virtual machine and programming the personal browser. The old concept of "data is code and code is data" becomes very important in this design. By creating a single encoding format for all levels of data and programming the browser, the browser becomes very flexible.

Another important aspect of the "Personal Browser" is security. The security model for the browser is based on the "Web of Trust" model. The web of trust model has no single point failure with all trust being managed by the user.

The byte code of the virtual machine used in the browser is designed to executed by a number of different environments, including desktop, phones and other mobile systems. For this reason the byte code is a high level instruction set which is either interpreted or compiled to a host virtual machine such as .Net, Java or directly to host CPU instruction set. This allows the design of the virtual machine to be simple and high level.

The language used by the browser is also encoded using Argot. Higher level concepts are used which are compiled to the virtual machine byte code. The language is based on aspects of Lisp, with heavy use of closures. It will also build on the concepts of HTML where data drives the purpose of the language. Using the data driven programming model should create a very accessible language which can be developed using a WYSIWYG development environment.

The communications sub system is based on Colony which is also based on Argot. Colony creates a Remote Procedure Call system which can be deployed onto different transport mechanisms. Users will need to specifically allow

The graphics & system environment will be based on cross platform libraries such as those used currently by mozilla (ie cairo graphics system).

This is a hugely ambitious project. Not something I expect will be complete anytime soon. For that reason the first step is to document the design in as much detail as possible before starting to build the application.

Related Links

Useful links relevant to the project.

Copyright 2005 © Live Media Pty Ltd
Legal Notice