I was a bit puzzled that a long time customer called me to come set up a scanner. My first thought was that this must be another one of those scanner/copier things and a complicated front panel had defeated him, so I offered to try to help him through it on the phone.
"No", he said, "It's pretty straight forward. A little unusual - you have to put an IP on the device AND into the program, but it's pretty obvious how to do that. It just doesn't work."
I was still reluctant. Maybe he picked an IP address already in use, maybe he had a bad cable, a bad switch port? No, he checked all that. Maybe it's just defective? He agreed that last was at least possible, but would I please just come look at it?
OK. I drove out there yesterday. The scanner turned out to be a Large Format type for engineering drawings - specifically a Paradigm ImagePRO Ci40m HD. As he said, there was nothing complicated about the TCP/IP setup - the device itself had a front panel that let you plug in an IP address and the accompanying software had a configuration utility where you could tell it what IP you had used. As he said, simple enough. And as he also said, it didn't work.
Okey-dokey. I double checked all the bad cable, bad port, ip conflict stuff. Nothing wrong there. The scanner would work if you hooked it up to a USB cable, but that had to be very short and where he wanted to put this was a long way from the desktops that would be using it. We needed TCP/IP.
I had sent my customer off to find a support number for the manufacturer. I was convinced we really needed an RMA, but you always have to start with support. While I was waiting, I stared grumpily at the software interface and its little window that told me once again, no, I can't see any scanner. Aaargh.
Because I had nothing else to do, I clicked on a tiny little "i" in the left hand corner of the window. To my surprise, this opened up to a connection window that was somewhat similar to the configuration utility, but obviously different. For one thing, this windows said that we were intending to use a USB cable. I'd already told the configuration utility that we wanted TCP/IP, but here this was apparently still set for USB. I clicked TCP/IP, saved it and tried restarting the software again. Still no luck.
I was just curious as to whether my selection had stuck, so I want back into the little "i". Yes, it still said TCP/IP. I decided to click on it's "settings" button. No point, really, as I'd already made the IP settings in the configuration utility, but heck, I was still waiting, right? So I clicked "Settings".
The IP address was blank.
Yeah, blank. I blinked twice. I blinked again. Still blank. I sighed and filled in the address. Saved it, quit out, restarted and.. scanner connected, working, ready to pull in documents.
Absolutely amazing. A hidden configuration utility that you need and a visible utility that does nothing. Excellent programming, guys!
Got something to add? Send me email.
More Articles by Anthony Lawrence © 2011-03-30 Anthony Lawrence
The real problem is that programmers have spent far too much time worrying about efficiency in the wrong places and at the wrong times; premature optimization is the root of all evil (or at least most of it) in programming. (Donald Knuth)