One of our web developers reported a bug with my image api that shrunk large images to a thumbnail size. Basically looked like this img = ResizeImage(largeImage, 50); // shrink the image by 50%
The 'bug' was when he was passed in the thumbnail image and requesting a 300% increase, and the image was too pixelated.
I tried to explain that if you need the larger image, use the image from disk (since the images were already sized optimally for display) and the api was just for resizing downward.
Thinking I was done, the next day I was called into a large conference room with the company vice-president, two of the web-dev managers, and several of the web developers.
VP: "I received an alarming email saying you refused to fix that bug in your code. Is that correct?"
Me: "Bug? No, there is no bug. The image api is executing just as it is supposed to."
MGR1: "Uh...no it isn't. Images using *your* code is pixelated and unfit for our site and our customers."
MGR2: "Yes, I looked at your code and don't understand what the big deal is. Looks like a simple fix."
<web developers nodding their heads>
Me: "OK, I'll bite. What is the simple fix?"
<MGR2 looks over at one of the devs>
Dev1: "Well, for example, if we request an image resize of 300, and the image is only 50x50, only increase the size by 10. Maybe 15."
Me: "Wow..OK. So what if the image is, for example, 640x480?"
MGR1: "75. Maybe 80 if it's a picture of boots."
VP: "Oh yes, boots. We need good pictures of boots."
Me: "I'm not exactly sure how to break this to you, but my code doesn't do 'maybe'. I mean, you have the image from disk.
You obviously used the api to create the thumbnail, but are trying to use the thumbnail to go back to the regular size. Why not use the original image?"
<Web-Dev managers look awkwardly towards the web devs>
Dev3: "Yea, well uh...um...that would require us to create a variable or something to store the original image. The place in the code where we need the regular image, it's easier to call your method."
Me: "Um, not really. You still have to resolve the product name from the URL path. Deriving the original file name is what you are doing already. Just do the same thing in your part of the code."
Dev2: "But we'd have to change our code"
Mgr2: "I know..I know. How about if we, for example, send you 12345.jpg and request a resize greater than 100, you go to disk and look for that image?"
<VP, mgrs, and devs nod happily>
Me: "Um, no that won't work. All I see is the image stream. I have no idea what file is and the api shouldn't be guessing, going to disk or anything like that."
Dev1: "What if we pass you the file name?"
<VP, mgrs, and devs nod happily again>
Me: "No, that would break the API contract and ...uh..wait...I'm familiar with your code. How about I make the change? I'm pretty sure I'll only have to change one method"
VP: "What! No...it’s gotta be more than that. Our site is huge."
<Mgrs and devs grumble and shift around in their chairs>
Me: "I'm done talking about this. I can change your code for you or you can do it. There is no bug and I'm not changing the api because you can't use it correctly."

Later I discovered they stopped using the resize api and wrote dynamic html to 'resize' the images on the client (download the 5+ meg images, and use the length and width properties)

  • 12
    wtf? o_O
  • 19
    Ouch. Seems like a terrible day. Have a ++!
  • 9
    I feel for you, I really do. And I consider myself super fortunate that I haven't had to work with people as inept as that! Ugh...I don't even want to think of that, lol.
  • 4
    I feel your feels... Here is my ++
  • 3
  • 11
    Enhance! Enhance!
  • 13
    Please tell me this is a clever fiction
  • 4
    Wow. Yeah you earned my ++! Holy shit. Here, pass this through and see if it enlarges it enough to see it:

  • 9
    Seriously though, are they writing code for CSI: Miami?
  • 4
    Failure on 3 company levels. Impressive. Especially good showing from the "developers".
  • 2
    ...that is astounding.
  • 3
    ++ great story, but you made me suffer a little bit lol
  • 2
    By dynamic I'm assuming they used something like JS. This is going to kill user experience :O :O
  • 6
    Perhaps make it throw an exception with a reason when you attempt to upsize with the API. Since that is clearly not what it is designed for. That way they see the error and know that it isn't a bug and is purposefully designed for downsizing.
  • 4
    So is your company full of total retards?
  • 2
  • 2
    I would have resigned from that company
  • 4
    Am I the only one who finds this post depressing? 😞
  • 2
    @anonSky nope, please kill me if this ever happens to me
  • 0
    This post made me sad :/ also been in a situation like that
  • 0
    Oh god. Then it would even be better to keep the original image around so you could serve the idiots an "upscaled" version. It's just plain wrong but at least it saves the end users from having to download the full size images.
  • 1
    i'm surprised someone didn't drop a line like: "but in the movies the enlarged images are so sharp!"
  • 2
    This rant reads like a script from an Adam Sandler movie or something. Utter sadness.
    @PaperTrail, I wonder what would have happened had you renamed the API call to getThumbnail or shrinkImage instead?
  • 1
Add Comment