Tom Malone, et al. of MIT Sloan School addressed the long-tail of software some time ago (throughout the 1980's and then some). Their work resulted in more than a handful of useful papers and several generations of useful software written in a few dialects of Lisp (ultimately Macintosh Common Lisp). I wonder what happened to the software.
Demonstrating the range of software that could be addressed with little effort, one of the most ignored reports of all time in software has to be "Experiments with OVAL"...
This paper describes a series of tests of the generality of a "radically tailorable" tool for cooperative work. Users of this system can create applications by combining and modifying four kinds of building blocks: objects, views, agents, and links. We found that user-level tailoring of these primitives can provide most of the functionality found in well-known cooperative work systems such as gIBIS, Coordinator, Lotus Notes, and Information Lens. These primitives, therefore, appear to provide an elementary "tailoring language" out of which a wide variety of integrated information management and collaboration applications can be constructed by end users."Objects" in OVAL are essentially just like "objects" in JSON, i.e. they are name/value pairs. The main difference is there is a templating mechanism and one can inherit from another. There are no "methods" associated with objects, but rule-based actions are based on "duck typing", in this case the names and values an object has.
1 comment:
Interesting; since of course in a document-centric worldview "objects" (aka documents) have no methods. And if they did, there'd have to be a single way to express operations (i.e., programming), and a general-purpose programming language (required for any useful generic system) is rather too complex for most users.
Rule-based systems are much easier for most people to think about, especially in a localized fashion (which is what programmers like too), and tend to scale in a way data-plus-behavior doesn't (in terms of multiple contributors and development without any larger concept of design). Clever objects are nice, but they often hide in their simple elegance a lot of hard-won knowledge; and normal users only experience the hard part, usually stopping short of the winning ;)
I haven't had a chance to get so abstract as to deal with any of this stuff directly. But Yarn (http://yarnproject.org/ -- though sadly the web page is down) is a *really* neat looking system that I could imagine using for this sort of thing, simply as a message hub with the ability to transform messages (aka documents). I imagine "rules" being created as listeners, where each listener is really oriented to a specific domain, and users interact with those pieces in the most natural way for that domain.
Post a Comment