Probably the most common and yet mundane office application has to do with forms. I am something of a forms freak: I love the whole experience, from ordering them at the corporate forms factory to filling them out. I appreciate their austerity of line and purpose, their almost painterly aspects. Forms have definite boundaries, a beginning and an end. Forms are also part of the corporate lifeblood and culture: the way a form is routed displays the office pecking order and can chronicle its shifting political winds. (I do have some persepctive, please -- there is one set of forms I hate with a passion, as you might guess, the 1040 series from Uncle Sam. But don't get me started on that.) Givien this prominence, you wonder why the whole office automation industry has had such a hard time with forms and automating their flow around the corporation. I am not talking about just reducing the pile of paper but understanding how forms are used in corporations and figuring out how to better automate the various underlying business processes involved. While there are lots of products available, they aren't very popular with end users, most of whom don't share my enthusiasm for filling out forms. However, I sense a large change in the electronic forms business, and it has to do with what I call roll-your-own-forms. A handful of tools that enable you to design and distribute e-forms (as they are called) have reached a certain maturity, and with these tools you can begin to do some powerful things. I got a taste of the future of forms at the offices of British Petroleum Oil Company in downtown Cleveland Ohio. I found BP Oil is very much on the cutting edge these days when it comes to e-forms. The company has standardized on Windows along with a variety of Microsoft Office applications to run its business. They also are extensive users of Lotus Notes and Xcellenet's RemoteWare to keep connectivity high among their many service stations around the country and to connect their rather far-flung empire around the world. Forms travel far in this company. My contact at BP was Matt Willard, an IT analyst that has spend the last 18 months specializing in forms, largely self-taught. He did this by reading magazines (Fawcette publishes a monthly VB Programmers' Journal, which is the bible for this industry), subscribing to several Usenet newsgroups (send the message subscribe VISBAS-L to LISTSERV@LISTSERV.TAMU.EDU), and purchasing several add-on VB products once he knew the kinds of forms he wanted (see the product box below). He also recommends two books: "Windows 3.1 Programming for Mere Mortals" by Woody Leonhard (Addison-Wesley, $34.95) and "Visual Basic Programmers Guide to the Windows API" by David Appleman. "I've had lots of on-the-job training, too," he says. Willard didn't start out as a forms kind of guy -- he did a little COBOL and PASCAL programming in college, and then came to BP to work on its help desk after getting a degree in accounting. "Ironically, my main objective was getting a job that didn't require any programming," he told me when I visited him this past April. If you are trying to automate your paper forms, you'll need to have a mix of various skills: part programmer (especially if you choose the roll-your-own route), part graphic designer, and be a good listener. Willard had an aptitude for the first two and his help desk experience was good preparation for the last item. The programming skills are essential because a good e-form is nothing more than a well-written computer program. Underneath those blank lines and empty boxes is something that looks very much like any other piece of software. The trick is to abstract the visual design of the fom in such a way to make it easy to program and more importantly, easy to modify to suit the ultimate end-users' needs. The graphic design skills are obvious: a poorly-designed e-form isn't going to motivate anyone to use it, or worse, users won't fill it in properly. And being a good listener is essential, because the design of a form follows from the functions its masters require. This is one piece of software that has to have extensive usability testing, and you need to listen to both the people requesting the e-form and its users to develop the best possible form. Many programmers of the old school (write requirements, write code, then get end-user feedback) won't cut the mustard when it comes time to developing good e-forms. There are two important parts of any e-forms project: the design and distribution of the forms. Design is both programming the appearance of the form as well as how the form will collect data and what parts of the form will change over time as your business changes. You really need to understand the nature of your company's business needs and plan accordingly. Distribution is the second stage: once you have an e-form, how are you going to get it to the right users and how will they get a completed form routed to the right recipients? I'll talk more about this next week, along with the products BP chose and the process they used to develop their forms. Col 22 If you want to develop your own electronic forms quickly and with some good tools, one of the best places to start is with the Visual Basic (VB) family of products from Microsoft and others. VB is Microsoft's lingua franca for its applications. Just about every piece of Microsoft software these days has it as an underlying macro language or front-end applications tool. If you have SQL Server or Access, chances are high that you will end up writing VB applications and designing screens for front-end pieces to these databases. The VB market itself is huge and growing like kudzu: there are hundreds of vendors developing various add-ons and tools to make VB programming easier. Most of these are relatively small companies, and the whole market reminds me of the good ole days of PCs in the mid-80s, when a good idea and a warm garage were all that was needed to make a killer product and some money. Recently our sister International Data Corporation research outfit estimated the VB add-on market at $2 billion and growing. VB is relatively easy to learn compared to other programming languages. It is very graphical, which fits in nicely with Windows and graphical applications. But its real power is that VB is very extensible, so that you can do all sorts of things besides just e-forms once you get going. Microsoft's own catalog (which add-on vendors have to pay for the privledge of inclusion) lists hundreds of companies providing all sorts of things, from image compression utilities to 3270 development tools. I got to see how one company developed its e-forms first hand, when I visited this past April BP Oil's headquarters offices in downtown Cleveland, Ohio. My host was Matt Willard, the IT e-forms specialist who had developed several forms using a variety of Visual Basic utilities. Since BP's standard email software was Microsoft Mail, VB was an easy choice. Willard knew next to nothing about VB when he started his e-forms project, and became largely self-taught. He used Microsoft's own Electronic Forms Designer, "which is itself a VB program that you can customize and do all sorts of things," he said. The fact that he has come so far is a testimonial to VB's flexibility and power, and that someone who has done programming in other languages can learn it relatively easily. Willard started out by doing mock-ups of the paper forms on the screen, and doing as little as possible in the way of adding what he calls "smarts" to the form (things like error-checking and other data validation steps, adding list boxes with fixed choices and so forth). "There are two schools of thought to e-forms design. Make it look like the paper forms. Or don't." He is firmly in the latter camp, although many of his clients inside BP start out believing that the e-form has to look like the paper form. Breaking from that mold makes for a better looking form as well as one that is easier to fill out. "You have to design the form from both the sender's and recipient's perspective," he says. Part of the design process is picking the right set of VB tools that can help you create the visual elements that you need without having to write all the code from scratch. Willard found several products for most situations, with one notable exception: doing nine-digit ZIP codes. "I didn't have any edit controls for a 5+4 ZIP code format, so I had to write my own. It wasn't that tough, though." The next stage is to get the e-form in the hands of the requesting department to shake it down. At this point, Willard would install the e-form on his network and give a few test users access to it, via Microsoft Mail. A pull-down menu lists the forms that are available to each user. Granting access to the form is done via changing an entry in two .INI files that Mail uses. This stage is critical to getting a good form: the test team needs to manipulate the form and understand its underlying logic and how data is being collected from the form. The only real way to do this is to continually change things until it feels right for all concerned. This is a time-consuming step, and it helps to know your business and how the form is being used. Willard also draws on his help-desk experience and asks lots of questions: "I ask if anything in any list box is going to change, and then I put that information in the .INI file. That way, I can easily change the text without having to recompile the form." Next week, we'll talk about how well things worked with BP's e-forms. Products [These are the actual products BP used to do their forms.] Mail for PC Networks, $695 and up depending on number of clients Electronic Forms Designer, $395 Visual Basic Library and Software Development Kit, $495 Microsoft Corp. (206 882-8080) Redmond, Wash. VSVBX, VideoSoft, Berkely, Calif. (510 704 8200) $45, notebook and tab controls Spread/VBX, FarPoint Technologies, Richmond, Va. (804 378 0432) $245, spreadsheet-like controls VBAssist, Sheridan Software Systems, Inc., Melville, NY (516 753 0985) $179, alignment and forms tools SourceWorks/VB, View Point Technologies, Sherborn, Mass. (508 655 9595) $295, version control system Col 23. If you are going to begin making the transition from paper-based forms to electronic ones, you will need to think carefully about how to develop the appropriate distribution system for your e-forms. This isn't completely obvious, especially when you first tackle a forms automation project: a lot of effort goes into the design of the e-form and how it works to collect data. Distribution is almost as important as design: how a form moves from sender to recipient is critical to capturing the business process, the corporate culture, and the political necessities of moving information around a company. Paper is easy to distribute: you pop the form into the corporate mail, you copy them, whatever. But when it comes to e-forms, it takes some careful planning to do distribution right. In the past two weeks, I've written about the efforts at BP Oil to develop several e-forms. These columns have covered the design issues and how a variety of Visual Basic products worked together with Microsoft's Electronic Forms Designer and Mail software. Matt Willard was BP's forms maven. Over the past 18 months he created several forms for BP, including one to distribute information on BP product price changes to the field, one for automating expense reports, and several for the help desk to use to create new end-user accounts and request for telecommunications equipment. One that really impressed me was the form that documented a trouble ticket that an end-user in distress would fill out. He was able, using Windows programming interfaces, to capture all sorts of data about the state of an end-user's machine, including Windows arcana such as free system resources, the user's network login name, and other machine configuration. The user sees nothing of this, and the help desk gets all sorts of useful information that can help debug the user's problem. Many of these forms took just a few weeks' worth of work, once the requirements were ironed out. Using VB and Microsoft Mail weren't without their problems, however. One major complaint is execution speed. Willard tests all of his forms with a 386/33 or a 486/25, either of which is the minimal machine at BP. He occasionally has to make adjustments for these machines so that the time to load a form into memory is more acceptable to users. Another problem Willard had was a conflict over one of VB's support files, THREED.VBX. His forms used a more recent version than SmartTerm, a popular application at BP. Their help desk gets an occaisional call, which is easily fixed by copying the right version of the file to a user's hard disk. When it came to distributing their forms, BP decided to use their existing email system, based on Microsoft Mail. Mail extends to most nooks and crannies of the corporation, and had an existing support infrastructure in place that the e-forms could piggy-back on with little incremental effort. That's the good news. The bad news is that email isn't the best possible distribution mechanism for BP. The biggest drawback is that Microsoft Mail doesn't have the necessary firepower on its own to handle anything but the simplest work flow for forms. "Once a form leaves my workstation, I have no idea what state it is in," says Willard. "For monitoring expense reports, this is critical. You'd like to be able to know who has approved it, and when you can expect to get your reimbursement. That is something you can't do with Microsoft's forms product. It is very limited because you can only transport a form from one place to another sequentially." There are a variety of products on the market that can handle these more complex forms workflows, including products such as Workman's Reach, several products from Action Technologies and others. However, they are more or less closed systems -- in other words, they require a developer to subscribe completely to that company's product line. Willard had taken the approach to build his own e-forms using a variety of tools, and liked the ability to pick and choose his products from a variety of sources. Willard looked at other forms software packagets besides Microsoft's. For example, "Delrina has a good forms product, I liked it alot. It incorporates support for various workflow features and you can monitor who has seen which form during its flow around your company. However, you have to pay a fee per user while Microsoft is royalty-free." BP decided to stick with Microsoft for the time being as a corporate standard, however. That left Willard with one remaining issue: "Remote mail users are still the weak link with regard to Microsoft's e-forms. Each user has to have the actual form on his or her laptop, so right now we only have 30 or so users remotely using forms." He is in the process of writing a setup routine that will copy the forms to the laptop. This will be needed, because "once we put the expense reports up as e-forms, every laptop user will have to use the electronic versions."