Almost as if in response to last month's column about desktop publishing, a lot of news items have come in lately relating to that field. For instance, no sooner did I jokingly refer to The Newsroom as the Commodore 64's answer to desktop publishing, when Berkeley Softworks announced a for-real desktop publishing program for the Commodore 64. As unlikely as it may seem—hooking up a big, expensive laser printer to a 64—before GEOS, a lot of people wouldn't have believed a mousedriven OS for the 64, either.
In another sort-of-64-related desktop publishing development, Ashton-Tate announced that it will ship its Byline desktop publishing program for the IBM PC at the end of October. The reason this story is somewhat related to the 64 is that the author of Byline happens to be none other than Ken Skier, of Ski-Soft, the author of the SkiWriter word processor for the 64. No word yet on whether owners of the 64 program will be able to upgrade.
One aspect of desktop publishing that's beginning to get more attention is the problem of "laser junk." In the right hands, a fancy desktop publishing system can produce beautiful, professional-quality documents. But in the wrong hands, the same setup can generate mountains of ill-composed pages with a riot of mismatched type styles.
We know of one software company, however, that's working on an ingenious solution to this problem. It's developing an expert system that works with desktop publishing software. Using this program, all you have to do to lay out a newsletter or brochure is to answer some questions about the document and tell the program where the picture and text files are stored. The program then composes the layout of each page and feeds the information to the desktop publishing program. Since the expert system was designed using a series of rules specified by publishing professionals, it is more likely than the average user to come up with a page design that's pleasing.
Expert systems are currently a hot area of artificial-intelligence (AI) research. The way these programs work is that they each use a large base of rules from which to draw inferences about problems, and then propose their solutions. These rules, sometimes numbering in the thousands, must be entered into the system by a human expert so that the program can, in effect, "learn" how that expert goes about solving such a problem. The best known examples of this type of program are those used for medical diagnosis. A program starts by asking general questions about the patient's symptoms and then asks a series of more specific questions which are designed to narrow down the possibilities.
Although expert-system programs have been available for micros for a while, such programs generally provide only an "inference engine"—the framework used for drawing conclusions based on a collection of rules. Unfortunately, it's up to the user to enter these rules. Since these programs are not geared toward the beginner, you almost need to be an expert in AI to figure out which rules to enter and how to enter them.
That's why this software company's approach is so interesting. It has identified a number of very specific problems and is tailoring turnkey expert systems to solve them. In addition to desktop publishing, the company is working on a program that writes complete resumes and cover letters, based on the user's response to a series of questions. It's also working on a Lotus 1–2–3 add-in program that analyzes financial statements prepared with the spreadsheet.
Perhaps the most interesting type of AI program in the works is the kind that watches the way the user interacts with another program. For example, an upcoming Lotus add-in program keeps track of all the commands issued by a user. If you make a mistake in using the program, the expert system can examine its record of your actions, diagnose the problem, and suggest a solution.
Work currently being done suggests that computer programs are going to get smarter in the very near future. For example, to download a program from an information service, you need to run a terminal program and go through a completely predictable series of steps to do so. If you had a really "smart" terminal program, however, you could just tell it to download the file and have it log on and do the busywork. It's possible to accomplish this task with current terminal programs, but only by first giving the program step-by-step instructions in its own special script language—more busywork.
Another type of smart program you may see in the near future is a control program that watches the way the user operates the computer. If, for example, the program sees that you always operate the same set of programs in the same order, it may ask if you would like for the first program to be run as soon as you turn on the computer. The others would then be run automatically in sequence. Such a program might even remind you to make backups of valuable data periodically, or it could automatically make the backups.