tools-yak
[Top] [All Lists]

[tools-yak@collab] Re: A Manifesto for Collaborative Tools

To: tools-yak@xxxxxxxxxxxxxxxxxxx
From: Eric Armstrong <Eric.Armstrong@xxxxxxx>
Date: Thu, 08 Apr 2004 20:54:48 -0700
Message-id: <40761E88.8010402@sun.com>
Eugene Eric Kim <eekim@blueoxen.org> writes:
> 
>  % I recently wrote an essay entitled, "A Manifesto for Collaborative
>>  % Tools," where I describe a vision for how tools can and should be more
>>  % interoperable.  It's available in the May issue of Dr. Dobb's Journal
>>  % and is also available on the web at:
>  % 
>  %   http://www.blueoxen.org/papers/0000D/
>  %     (01)

   "Researchers should be writing plugins for widely-used open
    source applications, such as the Mozilla Web browser, instead
    of developing prototypes from scratch.    (02)

Hmmm. Have to disagree here. Designers of tools, toolkits,
and frameworks that developers could use should be both
elegant enough and well documented enough to be appealing.    (03)

Java saw a rapid adoption curve, because it was sufficiently
elegant with respect to the languages of the day, and sufficiently
robust with respect to the web. That made it appealing.    (04)

Result: Many developers flocked to it.    (05)

I use Mozilla and love it for its functionality and (in general)
its interface. But I didn't see anything about the development
environment, tools, language, or libraries that was sufficiently
appealing to draw me in. It just wasn't sexy. I'm sure I could
get the job done, but I have much less confidence that I would
have fun doing it.    (06)

   "Being people-centric isn't just about user interface,
    however. It's about attitude...    (07)

Uh. It *is* an attitude -- an attitude that says "I want to make
it easy for people, I want to solve their problems". Selfishly,
so they'll love me and/or pay me, but it is that attitude which
produces both the functionality and the access to it (interface)
the results in sex appeal.    (08)

Long ago, when I was doing a lot of mathematics, it came to me
that
     Elegance = Simplicity + Power    (09)

There was something about fancy black dress shoes that made me
realize the connection between good taste and simplicity. After
all, it is gaudy, ornate shoes with bananas and grapes on the
tassels that seem gauche, compared to shiny black shoes. Or
consider golf pants vs. black slacks. And when I thought about
an elegant proof, the concepts of simplicity and power came together
in my head.    (010)

In an application, library, or framework, the same equation holds.
An *elegant* application is one that combines a powerful set of
functions with the simplest possible mechanisms for accessing them.    (011)

Which returns me to Mozilla. Elegant? Not from what I saw at the
time. (True, it was an early version.)    (012)

   "Standardizing backlinks...    (013)

Great concept, that. I especially like the concept of turning
Google into a backlink engine...    (014)

   "fine grained linking"    (015)

The paper has purple numbers. This would be a great place to
do a bit of self-referencing.    (016)

   "What's needed is a standard way to express and manipulate the
    fundamental constructs of a document, regardless of the syntax    (017)

Powerful thought. Have you done any preliminary thinking about
what it might be like? Can you put forth a strawman proposal
that hits the highlights? I love the concept. Can it be made
any more concrete, or are we starting with a blank page (and a
great idea).    (018)

   "we can express all kinds of data as graphs    (019)

It feels to me like we're substituting one kind of syntax for
another, here. To process the graphs, I'll need to know the
markup vocabulary and the lexicon of terms -- all of which is
syntax.    (020)

The problem could be attacked as a language, as well. These
days, I think in terms of structure (heading and body),
and content (text and inline markup), nested like this:    (021)

    inline markup --+-->body structure -+- heading structure -+
       ^   ^        |        ^          |         ^           |
       |   +--------+        +----------+         +------------
     text    (022)

I'm not sure if that's the kind of thing you have in mind. But
the observation that strikes me at the moment is the way things
recurse.    (023)

One reason I came to really understand the power of tree
structures was the fact that Data General's command line
interpreter (CLI) had no loop construct. All repetetive
processing was done with recursion. So I got pretty good at
it. And I had a tree-structured file system. It didn't take
long to put the two together.    (024)

But a theory of documents, or at least any practical use thereof,
runs into the recursion problem. Recursions can be expressed
algorithmically, but we have a much more difficult time working
with them using static equations.    (025)

(I don't know if I'm saying anything that is useful to you
here, because I don't know what sorts of things you had in
mind. Anything concrete would help.)    (026)

   "Creating a shared conceptual framework is a truly
    collaborative problem. It will not be solved by a
    single person in an ivory tower...    (027)

Actually, I have to disagree here, too. I think the conceptual
solution to the problem *will* come from one individual, or a
few who are collaborating closely -- if only because we do not
yet have the tools for effective collaboration! The implementation
and the aggrandizement of a sufficient quantity of things will
of course come from the work of many hands -- but the basic
framework, like the Web, Ruby, and Java, will most likely be
the result from an individual, or a couple of people who think
like one.    (028)



-- 
This message is archived at:    (029)

http://collab.blueoxen.net/forums/cgi-bin/mesg.cgi?a=tools-yak&i=40761E88.8010402@sun.com    (030)
<Prev in Thread] Current Thread [Next in Thread>