The Thing Browser is a framework for loosely coupled components -- eventually, distributed objects -- that can be intuitively and securely composed by end-users. The project covers:
- An argument for object-oriented user interfaces to software components (and the corresponding end-user information model);
- A way for components to be accessible using the familiar Web browser user interface; and
- A plan to interoperate with "plain" HTTP resources, including HTML, both programmatically and in the user interface.
Between them, these concepts have precedents in Squeak and other Smalltalks; Self; OpenDoc; Cyberdog; the OS/2 Workplace Shell; and Internet Explorer extensions using COM components. It is also similar to a project called FavaBeans developed by Ihab Awad and the NakedObjects platform.
To the extent that casual composition of components from the Internet is hampered mainly by security concerns, and composition by direct manipulation (e.g., drag and drop) maps very well to capability security, the Thing Browser project is largely about security. The Open Source Google Caja project intends to bring capability security to JavaScript, and we would like to start thinking about suitable UI models.
The Thing Browser work, taken to its logical conclusion, would either adopt or invent a highly improved component model for the Internet. Since we hope to have buy-in from multiple vendors on such a model, it makes sense to do our work in the open.
Eventually, the Thing Browser project will rely on Google Gears and Google Caja.