Wanted -- better tools to fill out, sign forms

Topic: 

I get forms to fill out and sign in electronic form all the time now. Often they come as PDFs or word documents, every so often by fax, and more and more rarely on paper. My handwriting is terrible and of course I no longer have a working typewriter. But none of the various tools I have seen for the job have had a nice easy workflow.

Now some PDFs are built as forms, and in Acrobat and a few other programs you can fill out the form fairly nicely. However, it's actually fairly rare for people to build their PDFs as fillable forms. When they do, the basic Acrobat tools generate a form which free Acrobat reader will let you fill out -- but bars you from saving the form you filled it out. You can only print it! Adobe charges more, on a per form basis, to make savable forms. However, some other readers, like Foxit Reader, will let you save what you fill into forms, even if the creator didn't pay Adobe.

You still can't sign such forms in electronic fashion, however. And as noted, many forms of all types aren't enabled this way. Forms that come as Microsoft Word documents can be filled out in MS Word or the free Open Office writer or abiword. And you can even insert a graphic of a signature, which gets you closer to the target.

Often however, you are relegated to taking a fax, scanned paper document or PDF converted to bitmap, and editing it in a bitmap editor. Unfortunately the major bitmap editors, like Photoshop or GIMP, tend to be aimed entirely at fancy text and they are dreadful and entering a lot of text on a form. They don't even make it so easy as quickly clicking and typing.

I encountered a commercial package named "Form Pilot" which is for Windows only but appears to run on WINE. It's better than the graphics editors, and it does let you click and type easily. However, it has some distance to go. Here's what I want:

  • Be smart and identify the white spaces on the form, and notably the lines or boxes. Figure a good type size if the default isn't right.
  • When I click in one of those boxes, or above a line, automatically put me at a nice position above the line for typing. This is not a hard problem, hardly even OCR, just finding borders and lines. Let me use a different click if I want to do precise manual positioning.
  • When I hit TAB or some similar key, advance to the next such box or line in the form.
  • If I type too much in a box, do an automating shrinking of the text so that it fits.
  • Of course, let me go back and edit my text, and save the document with the text as a different layer so I can go back and change things.

Signing

Now the interesting issue of signing. For this, I would want to scan in a sheet of paper which I have placed many signatures on, and have it isolate and store them as a library of signatures.

When I wish to apply a signature, have it pick a random one. In addition, have it make some minor modifications to the signature. Modifications could include removing or adding a pixel here or there along the lines, or adjusting the aspect ratio of the signature slightly. Change the colour of the ink or thickness. There are many modifications which could generate thousands of unique signature forms. If you run out, scan another sheet.

Then make a log of the document I signed and the parameters of the signature that was added, and record that. All this is to assure the user that people who get the document can't take the signature and copy it again to use on a different document and claim you signed it. You'll have a log, if you want it, of just what documents were signed. Even without the log you can have assurance of uniqueness and can refute fake signatures easily.

(Refuting forged signatures is actually pretty easy on electronic documents.)

When done, let me save the document or print it, or hook up with a service so that I can easily fax it. The result should be a process of receiving a document or form, filling it out and signing it and sending it back (by fax or email of course) that's even easier than the original method on paper.

I was surprised, by the way, at how bad all the free bitmap painters I tried were at typing. Gimp and Krita are poor. xpaint and kolourpaint seemed to have the easiest flow even though they are much older and primitive in UI. If you know of programs that do this well, let me know.

Comments

My group has been developing a family of applications somewhat along these lines
for several years.
ScanScribe (http://www.parc.com/scanscribe) is a document image editor. You can load a bitmap and easily type into it, select and rearrange material, and cut and paste image objects from elsewhere (e.g. your signature image). Our mission is perceptual document analysis, so we play tricks like make white background transparent so you can position foreground material without occluding things behind.

We haven't specifically designed ScanScribe to recognize fields on forms, but if this were in sufficient demand, our image analysis tools would enable us to build a reasonably effective "tab to next field" function. The other bells and whistles you mention could follow easily.

As a free download that runs in Java, this is a research prototype, not a product! So don't expect a polished application. But I myself use it for filling out forms, among tons of other things structured bitmap editing is useful for, and it works quite handily.
-Eric Saund

If an electronically modified version of your signature is treated as a unique instance of your signature, then what's to stop someone else from copying your signature, making a few modifications, and using that as a unique instance of your signature on a different document? Is there some way of modifying your signature that would only be available to you, and not to anyone else with a raw copy of your signature?

And wouldn't anyone with a paper copy of your signature be able to scan that in and use it as a unique instance of your signature?

Are funny things, legally. The signature isn't really the bond as far as I understand it. It is the act of signing which bonds you to the agreement. Making an "X" can be a signature, after all. If somebody hands a document with your signature on it you can say, "I didn't sign it" and if it's just an exact copy of another signature from a different document, you can certainly create doubt about it. Then, in a court, a jury will have to decide if you signed it or didn't.

So the real goal of putting a signature on a document digitally is to get the other person to accept that it bonds you to the contract. So far, people seem to be accepting this. Keeping a log of the varied signatures you put on documents would give you a very well documented course to prove you signed certain things and didn't sign others. You could tamper with your own log -- though there are way to make logs that even you can't tamper with -- but you would swear under oath that you didn't.

Of course, keeping a log makes it harder to repudiate a signature when you really did sign, and that's both bad and good for you. Bad because you can't lie if you feel the need, and good because people will trust your signature more. An "ideal" solution is one others trust readily but doesn't bind you very much -- but that's an ideal that depends on the others being foolish.

What's more important is documentation of the act of signing. "I emailed the document to him, and 1 hour later he mailed it back with a signature in place" is very good documentation of the act. The actual signature isn't so important.

One could design a system that allowed you to tweak a physical signature in cryptographically unique ways nobody else could generate. But you could also just print out the digits of a digital signature and that would be easier and clearer, so there is not much point.

My goal is to make a system that's easy for *me* but satisfies the people who want old world signatures. The variation is actually less important as a feature, and is just a simple way to foil people who would dupe your signature (in identity theft).

Add new comment