• 42 (unregistered) in reply to Jay
    Jay:
    There's a reasonable expectation that the product will actually work, at least in some basic sense.

    I suppose that's why EULAs have that bit about how the user shouldn't expect the software to actually work. Because it would be too reasonable.

  • Capt. Obvious (unregistered) in reply to Anonymous

    Because a circle is represented by a center and a radius. A square is represented by two corners (because they are drawn as rectangles. (Or a corner, width and height). Clearly, using circles represents a savings of 25%. Efficiency is job one!

    Also, figuring out the corners was probably too hard... the center point can just be the pixel coordinate, and a radius of 1.

  • Norman Diamond (unregistered) in reply to Buddy
    Buddy:
    These kinds of things used to infuriate me, but I've seen them so much, it kind of just wears off. You get these new EOs parachuted in, and they're all, "Cut costs, cut costs, let's offshore!", raise a dissenting opinion and you become one of the costs to cut.
    Indeed, that name Jarvis sounds like someone in an English speaking country. Someone named Baktar should have known not to outsource so far offshore.
  • Cheong (unregistered)

    I was half expected to see full page of "path" of single pixel (that's what you expect to see when converting raster/bitmaps to vector graphics.), but instead I find circles.

    Oh mine...

  • Norman Diamond (unregistered) in reply to Jay
    Jay:
    The same could be said of almost any product. There's a reasonable expectation that the product will actually work, at least in some basic sense.
    Guess why software licences contain disclaimers of exactly that.
    Jay:
    Trying to list everything that could possibly be wrong with a software product would be virtually impossible. Do we really need to specify that when you press the letter "a", an "a" must appear on the screen and not a "b"? That the data saved to the database must match what the user typed in and not be something generated randomly? That all data cannot be automatically deleted after 5 minutes, no matter how much space that might save?
    If you could list such things, back in the day you would have to prevent usage on Windows 95 or 98 (http://www.geocities.jp/hitotsubishi/w95_fdisk_format/) and sometimes Windows 2000. More recently, you'd have to prevent usage when Outlook 2003 and Internet Explorer are installed on the same PC. Etc.
  • Cheong (unregistered)

    Btw, I think Bakdar is the one who is responsible here for this hovac.

    It's pretty well known that when raster / bitmap graphics is converted to vector graphics, it's going to be multiple times bigger than the original. Not to mention that you want SVG which is in XML. That's pretty non-sensible considering the picture is some random graphics that uploaded by user and you don't know what is the original format.

    What Bakdar should ask is to preserve the original uploaded image file, or to ask them to save as higher resolution image.

  • QJo (unregistered) in reply to just me
    just me:
    deleted:
    QJo:
    Donny:
    TRWTF for me? A technical guy that doesn't review the technical specs for sanity first before liaising with the web devs...

    In his defence, it has to be pointed out that there exists an expectation of some sort of quality when liaising with a third party.

    I was in the embarrassing position once of being the customer-facing guy in front of a prestigious client, presenting a product upgrade that was in practice completely unusable. The problem was, there was nothing in the specification which covered the specific points of issue:

    a) Nothing which said: "When you try move the cursor off the screen, it will not beep and throw an error message, but simply stay at the edge of the screen and quietly not move, and most certainly will not beep-and-error for every single keypress in the input buffer, thereby going "beep-beep-beep-beep-beep ..." after someone has injudiciously held their finger down on the up-arrow key."

    b) Nothing which said: "In order to move the cursor one character to the right, press the right-arrow key. We do not want to have to press F1 then the right arrow key to move one character to the right. Similarly with the left hand key."

    c) Nothing which said: "Objects created in error must have a tool on the application which allows simple deletion of the object. It should not be necessary to open a text editor and edit machine-generated source code in order to delete something."

    What I did find in the spec, on inspecting it in some detail, was a clause which stated the exact programming standards that would be applied, such that in order to achieve those standards there was a two-page function which to increment its parameter and return it.

    How in the world did that update get past QA? Specs rarely call out that the solution should not blue-screen the clients machine, and subsequently drop the hard drive head on the spinning surface of the disk platter before shorting the line side of the switching power supply. It's generally assumed, and a good QA team would absolutely refuse to bless the product into release if it didn't meet certain basic levels of usability.

    Newly assigned QA here. When I recently pointed out that our new feature did not allow sort and stay - once you edited a record in the sorted list, the list then reverted back to unsorted state , I was told : that was not in the spec. I tried to explain expectations on basic usability, programming 101, but was voted down. System went live as designed - poorly.

    Reminds me of another example of a poor specification leading to an unusable product.

    A certain customer had specified a set of webpages including one where the user had to enter a phone number. Part of that required that the user enter the country code. This was to be done by selecting said area code from a drop-down. This was sorted in alphabetical order of country, but presented as the number (without the country to select from). So what we implemented was a drop-down containing a long list of numbers (how many is it? Of the order of 200 or so, I lose count nowadays) whose order was far from obvious. When we mentioned this to the customer, they insistedb that this was what they wanted.

  • Guestimate (unregistered) in reply to just me
    just me:
    ... once you edited a record in the sorted list, the list then reverted back to unsorted state , I was told : that was not in the spec.
    Neither was "The list must revert to its initial sorting state after editing a record" part of the specs. Nonetheless, they implemented it that way.

    *sswhipes, just there to squeeze the largest ammount of money outof a customer while doing the absolute minimum of work.

  • salamandra (unregistered) in reply to Neil

    Depending on how the SVG was created that's not unreasonable. if you needed to have the polygon cut out of the circle for instance. Plus programs like Inkscape don't use use circle elements, instead just storing metadata in a path element about the arc. And inkscape is terrible at making paths workable for programming, paths moved outside of node editing with be a matrix translation, you have to enter node edit and select all nodes to edit the path coordinates directly.

  • nmclean (unregistered) in reply to vt_mruhlin
    vt_mruhlin:
    TRWTF is that a developer is responsible for delivering graphical art. The bigger WTF is that anybody was surprised how that turned out.

    No it isn't. It would be if a developer's superior tasked him to produce the graphics, but that's not what happened. In this story Jarvis is the point of contact and a lead developer. It was his job to either pass the actual work on to someone appropriate, or to inform the contact that they weren't equipped to do it. Instead he wasted the contact's time and implemented something useless on his own.

  • just me (unregistered) in reply to QJo
    QJo:
    just me:
    deleted:
    QJo:
    Donny:
    TRWTF for me? A technical guy that doesn't review the technical specs for sanity first before liaising with the web devs...

    In his defence, it has to be pointed out that there exists an expectation of some sort of quality when liaising with a third party.

    I was in the embarrassing position once of being the customer-facing guy in front of a prestigious client, presenting a product upgrade that was in practice completely unusable. The problem was, there was nothing in the specification which covered the specific points of issue:

    a) Nothing which said: "When you try move the cursor off the screen, it will not beep and throw an error message, but simply stay at the edge of the screen and quietly not move, and most certainly will not beep-and-error for every single keypress in the input buffer, thereby going "beep-beep-beep-beep-beep ..." after someone has injudiciously held their finger down on the up-arrow key."

    b) Nothing which said: "In order to move the cursor one character to the right, press the right-arrow key. We do not want to have to press F1 then the right arrow key to move one character to the right. Similarly with the left hand key."

    c) Nothing which said: "Objects created in error must have a tool on the application which allows simple deletion of the object. It should not be necessary to open a text editor and edit machine-generated source code in order to delete something."

    What I did find in the spec, on inspecting it in some detail, was a clause which stated the exact programming standards that would be applied, such that in order to achieve those standards there was a two-page function which to increment its parameter and return it.

    How in the world did that update get past QA? Specs rarely call out that the solution should not blue-screen the clients machine, and subsequently drop the hard drive head on the spinning surface of the disk platter before shorting the line side of the switching power supply. It's generally assumed, and a good QA team would absolutely refuse to bless the product into release if it didn't meet certain basic levels of usability.

    Newly assigned QA here. When I recently pointed out that our new feature did not allow sort and stay - once you edited a record in the sorted list, the list then reverted back to unsorted state , I was told : that was not in the spec. I tried to explain expectations on basic usability, programming 101, but was voted down. System went live as designed - poorly.

    Reminds me of another example of a poor specification leading to an unusable product.

    A certain customer had specified a set of webpages including one where the user had to enter a phone number. Part of that required that the user enter the country code. This was to be done by selecting said area code from a drop-down. This was sorted in alphabetical order of country, but presented as the number (without the country to select from). So what we implemented was a drop-down containing a long list of numbers (how many is it? Of the order of 200 or so, I lose count nowadays) whose order was far from obvious. When we mentioned this to the customer, they insistedb that this was what they wanted.

    Are you sure we don;t work for same company ? Or use the same coders ? The app referred to above had an edit for the record and Country was a mandatory field. However, in creating the list for drop down, they used official country name rather than common country name. Had to look up "Republic of India".

  • Tom Payne (unregistered) in reply to Humble Programmer

    +1. A truly legendary WTF.

  • asdasczxasd (unregistered)

    Presumably Jarvis now works for a contractor servicing a government IT project? His next line is, "Although we've met your specification, you can put in a change request to produce high-resolution SVG's, billed at our additional out-of-spec work rates..."

  • v (unregistered)

    I imagine the initially provided rasters were exactly what the users uploaded, so asking Jarvis to magically summon from somewhere higher resolution or vector alternatives was the real WTF and the result was quite logical.

    And I knew what would happen from the first mention of using user-supplied images for print.

  • next_ghost (unregistered)

    TRWTF is ImageMagick. Because I've just learned the hard way that when you try to convert anything to SVG using ImageMagick, you get the exact same bajillion of single-pixel circles like in the article. The reasonable lazy conversion would be embedded bitmap, of course.

  • eric bloedow (unregistered)

    something on this page reminds me of a story on a different site: someone complained that his printer was broken, it wouldn't print his banner. the real problem was that he had badly messed up the printer settings or the graphics setup...he was essentially trying to make a banner 10 feet high and 100 feet wide! the printer tech tried to explain this, but the customer was stubborn and a rock and less smart, and he kept demanding to "make it work with my settings"...

Leave a comment on “Circle Around the Requirements”

Log In or post as a guest

Replying to comment #:

« Return to Article