Annoying bugs, easy fixes

All software has bugs. When the bugs are complex or difficult to reproduce, it’s understandable that they take time to fix, especially if you want an elegant fix. And sometimes bugs seem trivially easy but prove tricky to fix without introducing undesirable side-effects, or involve cascading changes throughout the code base which, because they may introduce instability, require substantial thought and extensive retesting. This takes time, too.

Good developers will fix those bugs, but it takes time. Users who believe that bugs represent a fundamentally flawed effort by the developer are unreasonable. Developers are human and software is hard.

But.

Some bugs are easy to fix, yet remain unfixed for ages. A new release comes out, you check to see if the bug still persists, and yep, there it is. When you know the bug is easy to fix, this can be annoying. Entire sites exist to document bugs like these.

Like the way Finder scales all icon previews to the selected icon preview size, even if the images are smaller than that size. Look at these three images, all identical except for their size. The image on the right is scaled up to the full 128 pixel height, rendering it unrecognizable. No one wants to see that.

finder.png

Or the way Finder displays this same quirk in Quick Look. Not terribly useful.

quicklook.png

Or the way Calendar displays multiple event alarms, no matter how numerous, in the same little cramped non-resizable window.

ical_alarm.png

Annoys customers, easy to fix. Good candidates for fixing!

Update: Reader Keith Lang suggested a possible solution to the Finder bug:

finder_solution_lang.png

I’d suggest an alternate solution:

finder_revised.png

Finder in Leopard uses what appears to be a simple algorithm to calculate the icon preview:

    if the icon is taller than it is wide
        set the icon preview width to 128 pixels
        set the icon preview height proportional to the width
    else
        set the icon preview height to 128 pixels
        set the icon preview width proportional to the height
    end

The fix would require only a preliminary check:

    if image width and height are both less than 128 pixels
        // no need to resize the image, so use existing dimensions
        set the icon preview width to image width
        set the icon preview height to image height
    else if the image is taller than it is wide
        set the icon preview height to 128 pixels
        set the icon preview width proportional to the height
    else
        set the icon preview width to 128 pixels
        set the icon preview height proportional to the width
    end

I’ve filed the bug at bugreport.apple.com, but it’s likely already been reported many times.

3 Responses to “Annoying bugs, easy fixes”

  1. Keith Lang

    Hi John,

    Would you see this as the best (?) solution:

  2. Keith Lang

    http://img.skitch.com/20090406-fw6neiuh5b55cubiwjsgkgdgj9.png

  3. Keith Lang

    Hi John,

    I should really embed images properly :-)

    Thanks for the Update — one addition I would add would be to increase the size of the border for really small graphics. In application design work, often there are little pieces not more than a handful of pixels across in dimensions — and it’d be hard to grab them if their icon wasn’t much bigger than they actually are.