The other day I bought a few bits of plumbing supplies for my new bathroom sink, and purchased the 1-1/2″ drain trap instead of the 1-1/4″ so I couldn’t finish my sink install. My life seems to be run by small mistakes, a 1/4 of an inch, quite insignificant when thinking of space in general, but quite large on a micro scale. The same thing goes with programming. A small minor mistake that is slightly overlooked can cause disaster.
I’m not just speaking about how easy it is to create errors in programming, I’m also speaking about creating a disaster of a web launch debut. Take for example the latest and greatest ‘Google killer’, Cuil. It was hyped up as this big thing, created by ex-Googlers and designed to index incredible amounts of pages at a scale that even tops Google. I couldn’t resist the hype though, so I had to take a look. I did a quick search for one of my nicknames online, just to see if there’s more out there than presented by a Google search. It did indeed seem to count a larger result set. The Google search resulted in 155 matches, Cuil resulted in 375 matches. That’s cool. Oh look, there’s me on the front page in a forum post from several years ago, neat-o. So Cuil presents me with 9 matches on the first page, in little boxes with a little bit of the page html. It’s not the context of where my name shows up, that’s a little annoying. Ok, lets see what’s on page 2. ‘We didn’t find any results’. What??? 7 pages of results, little links at the bottom. Hellooo…… Now that’s a programming error that someone should know about. Well, that’s the last time I’ll be bothering to search unless I want to just randomly choose one of the first 9 results for my search term.
What happens when you have all that wonderful information and people can’t get to it, or can’t use it effectively? They go away and never come back (unless something new provokes them and everything is fixed). In DDA’s programming department, and frankly all departments, we go through a series of checks. The programmer goes through their changes and looks for bugs, then one or more testers or proofers go through it, and then finally the client is expected to sign off that everything is correct. Now, this method still isn’t perfect, as no programming truly is without a large scale day-to-day beta test. Things will still be found during regular use and clients and end users will find other ways to accomplish tasks that need to be added. In the end, what we do is put out the best product possible.