Tools for design: visual thinking
As we noted last April (Release 1.0, 90-3), visual tools are ideal for expressing both sequences of procedures and flows of work among people, whether or not you intend to automate them. (And you can’t automate them effectively unless you can express them clearly.) These are concepts that inherently have dimensionality and can easily be expressed visually. The precise actions taken and the objects they act on, however, are generally best represented symbolically: they are groups of things or variables, and procedures.1 By and large it’s not graphical curlicues and icons that matter in visualization of structure, but the relationships between items, which could just as well be labels in plain boxes – whether part-of or kind-of relationships for data, or follow-from, choose-among, lead-to, etc. for actions, or input and output boxes as with VPL’s Flex (page 8).
Programmers have been using such tools for some time, generating flow charts and data diagrams and state-transition diagrams, but end-users have mostly been baby-fed menus and programming-by-example tools: Draw your data in the windows, show what you’d like to see, and we’ll write the code for you. Or they write low-level step-by-step macros: Move 3 steps right, select item, display. Or, open file “c:todo.lis” – and let the user take it from there.
For noncoders, visual representations are a wonderful medium of communication: No, that’s not what I mean. This should go here,” is a more useful response than, “I guess it looks okay; I can’t understand all this computer code. We’ll try it out and let you know.” Kinks in a system get discovered early. Visual representations are sort of a simulation, with time transformed into a physical dimension on the screen (or printout).
The two new products described below make the transformation between visualized structure and words/code elegantly and simply, each in its own way. Calypso is a programming tool for workflows that lets you code and visualize or visualize and code as you prefer; AllClear is a thinking tool that helps both programmers and non-programmers to think clearly by automatically generating a flow chart or diagram of any set of procedures or decision steps from a clearly written description of a sequence of events and conditions.
CALYPSO: TASK BY TASK, PERSON BY PERSON
Groupware is an ideal application for visual programming. It’s intuitive (far more than rows and columns) to represent workflows as arrows and branches between boxes representing people or departments or decision points.
High-end workflow groupware, like mainframe software (and the financial planning systems of old) implies central control, but there’s also room for simple processes that could be modeled and “programmed” by end-users. While representing the flows is easy, it’s tougher to build a rigorous system that
1 “Procedures” can be refined into sequences of smaller procedures which can also be represented graphically. The trick is to have a hierarchical system that allows you to look at the desired level of detail, generally by It zooming” in and out. But you can zoom with a labeled box as easily as with a cute icon. can convert those flows into code, so that the representation becomes an executable expression rather than just a pretty drawing to guide a programmer in his coding. This capability, we believe, will drive the spreadsheet of groupware: a tool to enable workers and managers to mock up simple procedures as easily as analysts do simple forecasts.
For example: Juan gets the phone call and types the customer’s name and address into a form for entry into the database. Then he sends it to Alice, who does the actual work – usually sending out a letter or a free sample and records that action in the database. In some cases, she needs to tell Fred, who sends out a bill (and records the payable in the database). After this process takes place a few times, Juan might decide held like to automate the workflow, and construct a little program to do so. Call it “instructing” the system if you want to be extremely user-friendly. (You might wonder if Juan couldn’t do Fred’s job too by interacting with the database, but that’s another story, and a longer-term implication of the trend to automation of routine procedures that groupware implies.)
The success of groupware “spreadsheets” depends not just on visualization and ease of use, but also on the creation of appropriate sales channels and on control issues. Just as MIS wants control of data, so does it also want control of applications. “I start with end-users and network managers,” says Tony Kobine, “but invariably it goes to the MIS people.”
In the beginning
One of the first such attempts was Staffware, developed by Tony Kobine at a UK company called FCMC five years ago (see Release 1.0, 86-2). But the product lacked a visual component and it used its own proprietary database. Based on UNIX, it took over the user’s system entirely and didn’t effectively integrate with the user’s own tools.
FCMC is now benefiting from a new version of Staffware and greater penetration of UNIX in office environments. It is most active in the UK, although it sells in the US through Unisys. Kobine left the company in 1988 to found Systems in Concert and work on a successor product that would solve the problems of version one and address the much larger pc market that now exists by running on DOS and over pc networks.
In the present: Calypso
The new product, Calypso, works in DOS as a TSR (except in administration mode), so users can keep their familiar applications and perform a variety of tasks beyond the capabilities of Calypso itself. The system routes tasks according to user instructions, and can make decisions on the basis of user data, its own data, and factors such as the date and time. It keeps its own metadata — transaction-logging, routings, the files and data required for each step in xBASE (dBASE or a clone). It can load user applications and, with a little programming, move some data back and forth between the user’s applications or to and from itself – into a mail-merge file, say, or a spreadsheet, so that Alice can work on a letter that already includes the name of the customer entered by Juan in the previous step.
The programming (“instruction”) process overall begins either with the graphical layout of the steps or with the definition of each individual step – depending on your preferred approach. If you start with the sequencing, you build the sequence by placing boxes (from a palette) with a mouse in whatever order you like, and connecting them with arrows. A single box can branch into a number of steps (either concurrent or alternative), and multiple steps can converge to a single one.
For each box, you fill in a form to specify the content of the step: who does it, what applications and data files are needed (with variables for the file names, records or key indexes if you want to bind the step to specific data). This is the point where a programmer, or at least a DBASE expert, may step in if the routing is complex or the system needs to do more than just load an application and a file for the user. In addition, someone has to set up the network and the user IDs. But an ordinary user could probably figure out how to send an expense-account spreadsheet through an approval cycle, from the spender to the sales manager to the accounting department.
In the future: Improv(izational) groupware
Nonetheless, Calypso still doesn’t qualify as our spreadsheet for groupware. The fault lies not in the groupware tool, but in applications that are inaccessible except through cumbersome, cryptic APIs. Calypso is as far as anyone is going to get who doesn’t own the system – as Patriot Partners will, and as H-P’s NewWave, AT&T’s Rhapsody (based on Workhorse and NewWave and now also licensed to Xerox), IBM’s officeVision and NCR’s Cooperation do at least in part. (None of them has achieved it yet either; more on that in a future issue.)
Kobine is taking a pay-as-you-go approach to marketing. Right now, he’s selling direct to large customers, and hopes to expand his reach by using dBASE consultants to sell and set up Calypso systems for smaller customers. The system costs $5000 runtime and $10,000 for the developer version. For dBASE consultants, Calypso will be a good way to leverage their capabilities. For groupware, Calypso is a good way to enter the market without looking too “weird.” And for users, it’s a good way to increase not personal productivity, but office productivity – not more forecasts per hour, but more customers handled per hour.
COPYRIGHT 1990 EDventure Holdings, Inc.
COPYRIGHT 2004 Gale Group