[Design] Chandler enabling self-organising workflows

Keith Power power at cs.ucc.ie
Thu Jan 19 09:00:54 PST 2006


Hi all,

I'm new to Chandler, so forgive me if this has been gone over before. I've
read a bit about the architecture etc, and from what I've read this
certainly looks plausible, and useful, for me at least.

Last year in my spare time I started development of an application I
termed the Universal Organizer, and it seems Chandler is a bigger version
of it.

Some of the main features were:
* make as a component separate to GUI, so it can be incorporated into
non-GUI applications to provide simple, flexible message queuing with
actions/triggers
* allow user to add their own visualisation of data (standalone GUI, web
etc)
* multiple filings/views of data

All these are catered for by Chandler, but I'm not sure if the following
are:

1 ability to listen on socket and accept messages - ie. data can be
pushed, as well as pulled
2 User specified filing of data, using bit of script language attached to
views returning boolean true for a match for a view
3 allow user to attach some scripting language to each view so that when
an item is added, deleted etc from a view an action can be taken

Actually, in my reading I've discovered 2 & 3 are possible in Chandler
(this email was originally sent 2 days ago, I was advised to forward it
here).

I don't think 1 is currently implemented, but imagine it could be easily
using a Parcel.

These 3 features mean that Chandler as a platform will be capable of much
more than PIM and I look forward to it. For one, I could see the main
engine being used as the basis for websites that are currently bespoke
solutions. You would need to add components that can be pushed data rather
than pulling data, via web-services, HTTP, sockets whatever. Then in your
dynamic webpage you would just form a message, and send it to Chandler.
Chandler would sort out all your views etc, and carry out any required
actions based on the message. A blogging site would be a doddle. One
feature I had in mind for this type of scenario was autogeneration of the
web interface for editing an Item's Attribute's (please correct me if I'm
not using the terminology incorrectly) where possible. For instance, it
would be easy to autogenerate a webform for an email, provided the
structure is available in some format (could someone direct me to how an
Item's Atrtibutes are specified ? I haven't come across these details yet).

But, that's a bit off topic, sorry for wandering, I see a lot of
possibilities here. What I really wanted to raise was self-organising
workflows.

Current workflow solutions for enterprises typically use a central server,
where a workflow specified in some language (such as one of the XML
schemas for workflow) is executed. As the workflow executes, tasks are
scheduled, or executed, on various client machines around the enterprise,
resulting in the flow of documents, information etc.

An alternative approach to accomplishing the same task is to have each
user running Chandler, and specify their own actions/triggers based on
messages received, which would result in what I'm calling a self-organised
workflow (as opposed to centrally organised). For instance, I could have
the following rules, expressed here in English:

On Email from X or Y or Z then Make Email Urgent Until Replied

On Email containing "my subject" from All in ProjectTeam then Make new
note containing "Team Ready for my subject", carry out Action A (where
ProjectTeam a mail alias)

A more complicated rule could compose or forward an email, or mark it as
urgent, based on specific informational content, for instance, if I get an
email from someone with the heading expense claim, and there's a decimal
figure in it, then if that figure is less than 50 I might forward the
email to the finance department, but if it's greater I might keep it
locally, place it in my expense claims view, take out the sender address
and the figure involved and append them to a note summarising today's
substantial expenses requests. These triggers or actions would just be
little Python scripts, I imagine.

The point is, documents and information could be flowing about the network
(and I think this will be very useful outside the enterprise too), without
human intervention where possible, and these workflow systems can be built
  from an individual perspective rather than being pushed upon everyone from
some central authority. And if someone wishes to work just using plain
email they still can.

I currently have a couple of scripts that check my email against a
particular list, and send me an SMS if it's from someone important. This
should be easy to implement in Chandler, and would probably be of benefit
to a lot of people.

The holy grail of this from my point of view, is when the software can
learn the rules where possible (but allow the user to oversee and
customise them).

I appreciate this is probably not what Chandler is being designed for, but
as a platform I can see it's not far short of providing it, and it's
something I'm particularly interested in at the moment.

Regards,

Keith
-- 
Dr. Keith Power
Centre For Unified Computing,
Computer Science Department
University College Cork,
Ireland

email:   power at cs.ucc,ie
phone:  353-21-4903689


More information about the Design mailing list