So here's a neat little checklist management system that sure looks a lot like the original goals for the wftk back in 2000: Checklistomania. [github][hnn]
As usual, I have the inchoate feeling that none of this would be a tenth as challenging in Decl. I should work on Decl.
Showing posts with label workflow. Show all posts
Showing posts with label workflow. Show all posts
Friday, April 22, 2016
Sunday, January 4, 2015
Some thoughts on decisions and other things in workflow
So the general areas of functionality of the new wftk (pretty much the same as the old wftk) are: data, actions, events, decisions, agents, workflow, notifications, and schedules. That doesn't match up all that well with the rough functionality outline taken from the chapter headings of the old book, but these are kind of the things that make up business processes.
The data organizer is a nice piece of functionality that breaks off conveniently, defining and naming data in terms of stores, indexes, and documents. My declarative language Decl is taking shape as a document-based language (its syntax and semantics are governed by the metadata of the document in question), and so it's becoming clear to me that a business action is also a document-based kind of thing, which can be expressed in Decl, use various resources, consume input documents, and create a result document (as enactment) and a series of attached output documents.
Events are essentially input queues. From a technical standpoint they're not terribly interesting, but events drive the machinery of a process. An event source pushes flow.
Which brings us to decisions.
A decision in a workflow context can be as simple as a logical test of variables, or as complex as an entire subprocess that involves not only calculation but even the execution of experiments that cost money and the input of human decision-makers. Decisions are arguably one of the most important aspects of a business. They need to be given careful thought.
There are a number of different ways to present decision structures, including simply as logical combinatorics, tables, and flowcharts, and they can be learned as decision trees (categorization is a generalization of decision - a non-binary decision, effectively).
I don't think they're going to rise to the level of being a separate module like the data organizer, but I think it's still valid to put decisions into a separate chapter of discourse, as it were.
The data organizer is a nice piece of functionality that breaks off conveniently, defining and naming data in terms of stores, indexes, and documents. My declarative language Decl is taking shape as a document-based language (its syntax and semantics are governed by the metadata of the document in question), and so it's becoming clear to me that a business action is also a document-based kind of thing, which can be expressed in Decl, use various resources, consume input documents, and create a result document (as enactment) and a series of attached output documents.
Events are essentially input queues. From a technical standpoint they're not terribly interesting, but events drive the machinery of a process. An event source pushes flow.
Which brings us to decisions.
A decision in a workflow context can be as simple as a logical test of variables, or as complex as an entire subprocess that involves not only calculation but even the execution of experiments that cost money and the input of human decision-makers. Decisions are arguably one of the most important aspects of a business. They need to be given careful thought.
There are a number of different ways to present decision structures, including simply as logical combinatorics, tables, and flowcharts, and they can be learned as decision trees (categorization is a generalization of decision - a non-binary decision, effectively).
I don't think they're going to rise to the level of being a separate module like the data organizer, but I think it's still valid to put decisions into a separate chapter of discourse, as it were.
Tuesday, October 21, 2014
The semantics of event schedules
I seem to be stuck in survey mode tonight - and ran across this groovy little lightweight event scheduler from the Czech Republic, EasyTime. And really, event scheduling is pretty ramified if you start really thinking about it. When I was working out the basic feature list for the wftk, I sort of intuited that an event scheduler would have to be part of it - but seriously, you could do worse than looking at the feature list of EasyTime.
Saturday, September 27, 2014
Interesting simple workflow tool
I don't have much time to look closer, but tasklet looks pretty slick.
Wednesday, March 19, 2014
Writing a planner
Here's an article about a STRIPS-like planner that chains together different calls to utilities according to the starting situation - I'd like to do this in the general case.
Saturday, June 8, 2013
Friday, March 29, 2013
Context restoration
One of the things I have the worst trouble with, in programming, is context restoration. I suspect this is a large part of what makes an IDE valuable, honestly.
The context of a task is just that - it's workflow. It's all the files involved in an activity, where you are in them, your notes and insights, bookmarks to documentation involved, and so on. It's something a workflow engine would have to provide anyway for any longer-running task.
But it can also be seen as the semantic context of a given task. A semantic programming system should include not only just the current code that addresses a given set of needs, but the history of that code, why changes were needed, and the thoughts of human programmers as they addressed them. There should be rich context for everything.
If you have to laboriously write it all up, though, you'll never get anything done. A semantic programming system should be a sort of assistant that (hopefully) understands what you're doing to the point that it can explain it to others.
The context of a task is just that - it's workflow. It's all the files involved in an activity, where you are in them, your notes and insights, bookmarks to documentation involved, and so on. It's something a workflow engine would have to provide anyway for any longer-running task.
But it can also be seen as the semantic context of a given task. A semantic programming system should include not only just the current code that addresses a given set of needs, but the history of that code, why changes were needed, and the thoughts of human programmers as they addressed them. There should be rich context for everything.
If you have to laboriously write it all up, though, you'll never get anything done. A semantic programming system should be a sort of assistant that (hopefully) understands what you're doing to the point that it can explain it to others.
Friday, March 1, 2013
Saturday, February 9, 2013
A clever rethinking of email's purpose
Here's a pretty cool article written by a guy who's reconceptualized email as being a way to put something on his queue. You get an autoreply indicating his current probable response time with alternative ways to get in touch with him.
Generalize that to workflow and it makes perfect sense to me. I like it!
Generalize that to workflow and it makes perfect sense to me. I like it!
Wednesday, February 6, 2013
Spam aping workflow
Here's an oddly evocative spam I got today (but without any attachment, rendering it moot):
Pretty fascinating. Clearly a delivery mechanism for some sort of PDF exploit, but de-fanged along the way.This message is for the designated recipient only and may contain privileged, proprietary, or otherwise private information. If you have received it in error, please notify the sender immediately and delete the original. Any other use of the email by you is prohibited. Hello, Please find enclosed a record of invoice that could not be processed. We would like to ask you to assist us in resolving the noted rejection reasons
Sunday, January 20, 2013
Loggable
Timesheeting.
We can regard this kind of small service as a kind of "sensor" for an overall business process workflow.
We can regard this kind of small service as a kind of "sensor" for an overall business process workflow.
legit - git workflow for humans
First, this is a neat way of repackaging git functionality so that even I can grok it. More interestingly, the notion of packing up workflow like this is kind of what I'm working toward lately in general.
Sunday, January 13, 2013
Tuesday, January 1, 2013
CrowdFlower
I remember CrowdFlower from the HNN discussion of the Mechanical Turk last... uh, year before last. They appear to be packaging certain workflows and task breakdowns as API services (see the link - RTFM is Real Time Foto Moderator, kind of cutesy) and also doing various custom services along the same lines.
Where I think I might differ (maybe) is that I'm talking primarily about automation of arbitrary workflow that might have Turk-sized tasks or bigger ones, or none at all.
Where I think I might differ (maybe) is that I'm talking primarily about automation of arbitrary workflow that might have Turk-sized tasks or bigger ones, or none at all.
Thursday, December 27, 2012
Grunt
Grunt seems like an interesting JavaScript-based development workflow/build automation system. This is the kind of task automation I'm spending a lot of time thinking about these days.
Sunday, December 9, 2012
How to use git again
More and more I think a workflow tool for daily use is just about essential. Some curated git tips and workflows.
Monday, November 5, 2012
Target application: Bonitasoft
It says "open source" on the site's title - but I see no indication that it actually is.
Anyway, my throat still clenches when I see this stuff. I still want to finish the wftk, twelve years later.
Anyway, my throat still clenches when I see this stuff. I still want to finish the wftk, twelve years later.
Wednesday, October 17, 2012
Okapi workflow manager
Perusing my own blog over at Xlat-perl, I was reminded of Okapi's workflow manager. It strikes me that this is where I want to go with the "low-level business process language" thing of files and directories and FTP servers I envision. Tagged as "workflow" for lack of a better idea, although it's not really workflow without managing tasks for humans.
Wednesday, September 12, 2012
To-do lists
An interesting post on to-do lists and why they don't always work. Food for thought. Filed under workflow because workflow.
Then there's a post on cognitive load and flow - more or less germane.
Then there's a post on cognitive load and flow - more or less germane.
Friday, June 15, 2012
Andrew Cantino: personal outsourcing
Some lessons learned about outsourcing tasks. Filed under "workflow" as a kind of catch-all for automation of human tasks.
Subscribe to:
Posts (Atom)