About Bajan

Bajan was first created at San Francisco State University as a research project to investigate software development using a distributed computing model. The idea for combining end-user development with network computing emerged as a result of observing the relative difficulty of doing such work. The original goals were:

Bajan is now being evaluated for use in several projects for both commercial and academic purposes. Development efforts will continue to try and provide new and improved features that allow interested developers to adopt and integrate Bajan into their own technology. Additionally, it is a principal goal of the project to provide usable tools for end-users to create and deploy compelling applications to a variety of devices, and to address specific developer community and market needs.

One example of how Bajan can be used to address the needs of a specific end-user community is the TiVo plugin. Currently it is possible to create applications using Java that run on newer models of TiVo's connected to a network. The applications are difficult to create unless you are an experience Java programmer, however it is the ordinary TiVo users that are coming up with creative ideas for how the technology should be used. Bajan addresses this problem by allowing users to easily create applications that seamlessly run on TiVo devices. This was done by extending the Bajan framework in just two places. First, a plugin for the editor was created that specifies a runtime profile for the TiVo device. The profile simply provides information to the editor about which Bajan user interface objects will work on the TiVo. Second, a custom client (windowing toolkit) was created to communicate between the TiVo and the Bajan application running on the server.