Summary
I came into a company dealing with a pretty infuriating software vendor, but since there was no development in-house before I was hired, we are now married to this vendor (for now).  The following is a tale (one of many) of the Vendor from Hell.  Our software vendor tried to ream us on the price of a printer integration, either out of greed or stupidity (though we suspect the latter given their track record) and now ends up eating crow and getting nothing.  But the 3 month journey to the happy ending was like 90 Daily WTFs all in a row.

Story
We purchased a fairly expensive set of printers (like, $26K each) that are specialized to printing on small, close to 1"x1"x1/8", plastic cassettes which are used to hold bio-specimens in wax.  We needed the printer installed at the lab and needed the lab techs to be able to print to this printer for the cassettes.  There are 6 "magazines" for different colored cassettes, so like, say, breast tissue goes in pink cassettes, colon tissue in brown (gross but true..) and so on.  Really, let's just think about them as "trays" rather than magazines.
So 3 months after the printers were shipped to the vendor, they say "Listen, it's going to cost you about 25k to have this done".  We laugh our asses off.  After talking to the president of the company, we find out that they haven't even researched this, they were just throwing a number out there.  We say "well, you might be closer to getting this money if you were talking about 5-8k."  They tell us how hard it's going to be, how they can't even find any documentation for the printer, and so on.

We call our rep at the printer manufacturer.  We tell him what's up.  He sends us a giant PDF of SDK documentation, complete with sample code to print to the printer in any of 3 different ways.  It took 5 minutes to get this information.

Now, we send this to the vendor, and they look at it while we look at it.  Basically, the choices documented are 1)use the provided Windows driver, print to the spooler just like any other printer in the world.  Be done with it.  2)communicate via API to the driver so that you can programmatically control magazine selection and spooling.  3)write your own RS232 interface control driver for the printer.  Do whatever you want with it.
Now all three options are very well documented, with included C++ code.  The vendor looked at the code and had no idea what it was (they write *exclusively* VB).  Now I'm by no means a C++ jockey, but I understood the code because well...I can program in c-style languages...so...you know?  I don't think they have anyone there who has even seen a C language.  This isn't anything against VB programmers, I was one for a long time.  But a good programmer should be able to at least recognize the major languages on sight don't you think?  Maybe it's just me.

The vendor comes back with "okay, we looked at this, and it's going to cost closer to $40K for this.  But since we already said 25K, we'll do it for that." 

Us: "WTF??"  Them: "well, we got 2 weeks of development, 2 weeks of testing, 2 weeks of planning, 2 weeks to roll it out...." 

Us:  "So what, you're doing option 3?  The RS232 Interface?"

Wait for it...

Them: "No, we're going to do the Option 1".

At this point, I was asked by the vendor to leave the call (me and my IT director, their president and chief developer) because I just starting verbally tearing their dev guy to shreds.  Remember, Option 1 is the "Print like any other printer, no programming required" option.  Now if 8 weeks to do what amounts to installing a printer on the network, at a cost of 40K, isn't WTF, then I don't know what is.  It turns out they didn't even unpack the printer and plug it in to even see what was what.  Is it just me, or wouldn't everyone reading this have hooked the sucker up, thrown together a test app in about 10 mintues, and tried to print just to guage what it was really going to take?

Prologue
I got a chance to see these printers in action at a hospital in NY recently.  The lab tech there was nice enough to let me poke around her computer and check out the setup.  Upon further review, this will take me about a week to set up including doing a little custom interface to pick the magazine and what data to print.  Cost to my company, say around a grand.  That's quite the savings.  We called the vendor and basically said "Ship the damn printer right now".  Once they found out that I was going to do it, they backpedaled and said they would integrate the printing directly into their app, which would eliminate any double entry for our users, and they would do it for free if I provided the code for the printing.  We agreed.  And because they were either greedy or stupid or both, they're not getting jack out of this.

[Advertisement] BuildMaster allows you to create a self-service release management platform that allows different teams to manage their applications. Explore how!