Friday, October 28, 2005

From the Web to the Desktop

Ptl is supposed to help people write web applications to be used as desktop applications.

I want people to be able to write document-based GUIs (XHTML, DHTML, CSS, and ECMAScript,) which will run consistently on any platform. They'll also be in the same ubiquitous formats as web pages. Parts of the guis could be used seamlessly for other purposes, like in email, printing, and documentation. Developers might even reuse elements of existing web pages for their program guis.

The user interfaces for the programs are web pages in web browsers, but the web server is running locally, and programs in the server use the local computer like any other desktop program would use it.

We need to provide a run time environment (framework) to install on the user's computers. It will feature a locally running web server (like "jetty",) to serve up the user interfaces for the ptl programs.

We should also provide libraries for common tasks like persistent storage. I was considering using xml for all of the persistent storage, but now I'm leaning heavily more toward a relational database, which would mean also including a sql server (like "hsqldb") in the framework.

Another challenge is how the ptl programs might be able to communicate with each other?

Anyway, we should probably provide access to the filesystem, and other hardware devices like digital cameras, microphones, speakers, pen tablets, joysticks, printers, and things like that, which are usually not part of a web application, either on the server-side, or on the client-side (browser,) but are used commonly for desktop applications- and will be needed.