Online forms part one: Building your forms

Resources, Technology

I love the internet. It has provided me with everything from entertainment to freelance employment and it just keeps on giving more and more. Whilst internet enabled cookers might be a step too far (really, when is this ever going to be useful? Well, except for when it becomes this I suppose) we are inches from getting flying cars, nuclear fusion and real, ball-spankingly realistic robots, so internet enabling everything is going to be useful very shortly. Unfortunately in order for you to get a lot of this stuff you are going to have to fill in an angry Badger’s worth of forms, probably largely containing the exact same information.

I don’t love is forms (who does?). Forms are the dull, stultifying, stamp-on-your-dreams type, logistical horrors that every single internet site has. So the big data capture question is how does one get a bunch of form-hating, keyboard-shy, lazy, self entitled, tech junkies to fill in our forms so we can start charging them to live the Jetsons lifestyle?

The basic choices

You will be pleased to hear that it is not actually that hard to imagine a nice form; what is a massive headache is designing, validating and integrating that form into your website, CRM, newsletter etc. That’s where nearly all of the problems arise and then fester sullenly. You have three options when striding out into the field of custom forms…well, two and a half:

  1. Buy an off the shelf form creation package. There are a-feck-of-a-lot of good ones out there with a range of customisations, prices and styles to choose from. Do NOT assume that this is you done though. This kind of software takes much of the backbreaking (X/D)HTML/CSS/JavaScript/PHP/aspx/Ajax/etc. out of the equation, but it will leave some usability thinking and general designing.
    • Pros
      • A lot less coding (perhaps none!)
      • Ready made CRM & CMS integration
    • Cons
      • You have to pay, usually monthly
      • It probably won’t integrate with anything that is not uber mainstream, and those systems cost lots and lots…unless it’s Google, then I guess it’s free
      • You’re going to be bound by the app’s constraints. Most have customisation options, but several do this in CSS and code soooo…you’re back to it being not as WYSIWYG as all that flashy marketing made out
  2. Build your own form from scratch. This is pretty much only an option for the more intermediate to advanced coder. Sure, it seems simple enough, just a few <input> tags here and there, a big button, and Robert’s your mother’s brother. I have gaily skipped down that road, with happy bunches of JavaScript clutched to my eager bosom, trailing vast swathes of HTML as I went and let me tell you,  that is one seriously crappy road. There are no lights to illuminate the all-jam surface, everything is one way, parking is the worst and in the end it turns out that the road goes to Belgium. By that I mean it’s tough to see what’s going on, you get stuck a lot, none of the languages work together the way they’re supposed to, it’s frustrating and likely to end with lots of strong beer.
    • Pros
      • You are probably going to get what you want (assuming you have t3h l33t 5ki1z required)
      • Free – assuming you don’t buy images or something
      • Integration often turns out to be easier as you just have to POST to one place
    • Cons
      • A bare minimum knowledge of four programming languages (HTML, CSS, JavaScript, PHP or ASPX)  needed to do the job properly
      • You have to do everything. EVERYTHING
      • It takes a not insignificant amount of time to create, more time to manage and a yet more to support and keep up to date
  3. (Or 2.5 if you prefer as it is a halfway house) Copy someone else’s hard work and insert a modified version of it in your site. This one is a little from column A and a little from column B. It may get rid of some of the more thorny validation problems (as you can steal pay homage to that too) but they might well be replaced with fiddly variable replacement issues which can be a pain to debug. Reusing code has a long and storied internet history as much of it cannot be effectively hidden, but common courtesy dictates that you should certainly let the original author know with a rude hand gesture as a minimum. Real programmers are often really pleased with elegant solutions to age old problems and might actually want to share their work. It is also entirely possible that you can get all the code etc from a charitable blog, or free form builder, these have got a lot better recently but make sure you are prepared for pretty generic code and a lot of “but why is that” conversations with the ether.
    • Pros
      • Nearly exactly what you want
      • Less coding
      • Probably a fairly usable form as it appealed to you
    • Cons
      • If you are stealing someone else’s work wholesale: make sure that it is something that won’t get you sued/fined/imprisoned for (remember SOPA!). You will probably at the very least have to acknowledge the “homage”
      • It can actually be worse to try and dismantle someone else’s (invariably not annotated) code as there are subtleties and uniquenesses you may not spot, it may rely on other paid software, it may be too specific to its original purpose, etc.
      • 90% of the time this is actually a precursor step to option 2 as you gradually realise that whilst this form looks stunning, it was built specifically for use on llama-related websites and your mohair rating is too low to reuse it.

Now you’ve decided how you’re going to build your form. In part two I’ll look at roughly gloss over how to make it usable by your prospective clients no matter how technically challenged they may be.

Online forms part two: Usability