Rant: If you sell hardware, give away a Visio stencil!

I'm trying to architect a system for a government department, and we need a few computers. This particular unit is partial to Gateway systems, and I guess he's had some phone conversations with a Gateway rep who was quick to recommend virtualizing at least part of his environment (cool), so I'm happy to spec Gateway systems in this architecture.
As I write the technical specs for this system, I come to the production deployment diagrams, and I've got this diagram that shows all Dell equipment (we started there because we had Dell stencils). Now, it's not the end of the world to have Dell stencils standing in for Gateway equipment, but it dosn't look quite right (and that bugs me). Besides, I figured that Gateway would have an interest in getting pictures of their products plastered all over this spec instead of Dell, so I decided to spend a couple minutes hunting down a new stencil.

This is where it started to get fun.

I searched Google for "Gateway visio stencil", and I found links to Gateway, and a link that would let me buy Visio from Gateway, and even some Cisco stencils that had network gateway equipment, but nothing for a Visio stencil.

Fine, I thought. I'll just go to Gateway's site -- they must have something like this available via search, right. Wrong. But they've got this "chat" link here - maybe that's worth a shot....

So I tried chatting. IE7 launched the window with a little security burp, and then showed what appeared to be a Java applet. But it was grey. I let it sit for a while, and once it was quite apparent that it wasn't going to do anything on its own, I tried to move it. Wait -- what's that?? There's something there -- it just shows up only when I moved or resized the window. It turns out that it wasn't accepting keyboard input either, so that was going to put the hurt on my chat session.

Next browser. Opera. Recent release. I got as far as loading up the chat screen on this one, but it just sat there. No life at all.

Now, in the mean time, I get an email from a Gateway sales rep who noticed that I'd signed on to chat, and I hadn't had much to say. Good for him, and good for Gateway. He asks if I still need help. "Yes," I say, " I need a Visio stencil, because I'm trying to spec some of your servers for a gov't project."

"A gov't project? You're gonna need to call 'major accounts'".

This is where I gave up on Gateway. I've seen "major accounts" groups in action, and I didn't have that kind of time on my hands. So I'm going to use the Dell stencils.

Now, can anyone seriously believe that no Gateway stencils exist anywhere at Gateway? Really??

And if they exist, which I'm quite certain they do, why in the *hell* wouldn't Gateway want to make them easy to get to??

How does any of this make the slightest bit of sense??

If you sell anything through any sort of channel, you're a damned fool if you don't make it easier for your channel to sell your product instead of your competitor's. In this case, I'm acting as an informal channel because I've got a lot of influence over the buying decision. Now, I mentioned earlier that this client is partial to Gateway for some reason, and I'd seen no reason *not* to use Gateway, but if I told him I was more comfortable with another brand, he'd drop Gateway like a hot potato.

My customer is buying a solution, and he's going to buy some hardware to run it on, too. The hardware is the tail in this case -- not the dog. This isn't unusual in VAR situations, and any vendor that sells through any kind of channel needs to understand this.

Finally, I'm picking on hardware here, but this applies to software, too. If you can get your customers to use Infragistics-branded grids & GUI components when mocking up UI wireframes, isn't that better than generic components, or worse, a competitor's screens. How about Oracle? I've already shown you how to make a Visio stencil, so you know it's not rocket science. How cool would it be to have little "Oracle"-branded red database icons start popping up on spec docs?

Is it just me, or is this a stupid-easy way to get closer to your channel and help them sell your product for you?

Why can’t the US government do this?

I was at a Labor Day cookout on Monday, and I was talking to a friend who's been doing some work for a construction company at a job site in Texas. At some point, he mentioned that a lot of the construction workers there are Mexican (not a big surprise), but then he went on to describe the adventures they've got in trying to verify their identities and right to work in the US, and I was dumbstruck at what's going on -- not because it's happening, but because it would be very, very easy to put a big bite on this problem. Read on to see the problem and how we could get on top of this.The scenario we're talking about, once again, is one where workers are showing up and the employer is trying to verify employment eligibility. The problems my friend was describing all had to do with Social Security numbers. I know this doesn't cover all employment eligibility scenarios, but let's start with SSN's and build out from there.

One of the things his company caught was a fraudulent Social Security card. A guy shows up with a card - everything looks just fine, and the guy starts working, in fact. When a second person reviews the paperwork, however, he sees a SSN with "00" in the middle -- an illegal number for a Social Security number. The supervisor calls the guy into his office and explains that the card's fraudulent, and that he needs to leave. The empoyee shows up at the end of the day with -- you guesed it -- a new card that has the numbers "fixed". The company knew what was up, so they turned him away, but he probably found employment somewhere else using his "new and improved" Social Security card.

My first reaction was that there surely must be a way to automate that sort of checking.

There is.

A little quick searching turned up a number of options:

  • Carnegie Mellon's SSN Watch Lab. This is an academic page that does some basic validation on an SSN to allow you to tell if it's a reasonable number, and to see some real rough demographic data about the person to whom it's been issued. The idea here is that you should be able to spot a person who's way too young for the card they're using, and so on.
  • SSN Validator. This site does even better - it'll tell you whether a number has actually been issued, and if so, whether records show the person to be alive or not -- a helpful bit of information when trying to find fraudulent SSN's, because a lot of bogus cards use recycled numbers.
  • Finally, the US government actually does have a facillity to check SSNs: Business Services Online.
  • The other problem my friend observed also sounded like one that should be pretty easy to stay on top of. Apparently, it's pretty common for these workers to claim *lots* of dependents, so that their tax witholdings drop to nothing. Now, if you've really got that many dependents, this makes perfect sense. But what if you're working under a fraudulent SSN, and you never intend to file a tax return? In that case, claiming a ton of dependents also makes a whole lot of sense.

    So, how do you check the number of dependents? If there's never been a tax return filed using that SSN, it's impossible to check. Even if there is a tax return, it will be difficult to tell for sure, but you can probably flag some "unusual" increases for follow-up when tax returns roll in. Worst case, you can watch for SSNs that rack up wages and then don't file a return (hopefully, this is already happening).

    But what about privacy? It's not really a problem as long as the only information you get back is "ok" or "not ok". All the information you'd send in is already known to you, since you collect it while starting a new employee anyway. Keeping the answer generic and compact keeps the answer private. If you go the route of the SSA's Business Services Online, the SSA can also track who's requesting information. You wouldn't want to have someone wrap a service in a loop and generate a list of valid SSNs!

    So, with a little investigation, it looks like most, if not all, of these checks are already available. Now, how about a little legislation forcing employers to use them? It sounds like the problems my friend described are pretty prevalent, and it also looks like a big chunk of them are easily prevented.

    Why in the world wouldn't we want that?

    Development Principles

    A while back, I read an article on a Joel On Software forum entitled Development Principles. I thought at the time that it made a great deal of sense to me - it seemed to strike a good balance between general and pragmatic. The responses to the article were pretty vigorous, and tended to come down pretty hard on it, I thought. I'll chalk this up to the audience, which has a strong "don't fence me in" contingency. In any event, if you've got a couple minutes, give it a read -- it's worth the time.