Programmers are only as good as what their users can get

What matters for your users is that your software helps them get their job done efficiently, correctly and reliably. They do not care what language you used, how elegant your code is, that your new super-sort algorithm is faster than quick-sort by 1s in some corner case they may never encounter.

That is especially blatant if you use some lookups or reference data to produce their results and you got them incomplete or wrong, thus delivering incomplete or wrong results.
It’s wrong, you’re bad.

I have just been on the 2 sides of this issue today.

I wanted to add this WordPress plugin that can retrieve the country of a visitor from the IP address and display a little flag with the comments. It did not work out of the box and I had to dwelve into the PHP code and tweak it to obtain the flag icons and have them the way I wanted. I’m no PHP developer, so I was kinda happy when my hacking got me my little flags.

Leaving my developer’s hat to put back the end-user’s one, I went browsing the comments to see the originating countries.
And I found that a high number of them had the “none” icon, their IP address not being translated into a country. I did some Whois manually to check the IPs and got the expected countries without a problem. The reason the plugin could not, is that the free IPtoCountry table it uses is not extremely up-to-date and misses some complete IP ranges managed by APNIC, LACNIC or RIPE.

So, in the end, hacking the PHP code did not matter, some flag icons are still not there.
Or in users’ speak “this stuff doesn’t work!”

This entry was posted in General and tagged , . Bookmark the permalink.

2 Responses to Programmers are only as good as what their users can get

  1. Joshua Kehn says:

    Have you considered contacting the developer? I’m surprised that the database didn’t download a fresh one on install. Neat plugin though, looking forward to seeing it work.

    • François Gaillard says:

      It is actually a freshly downloaded database. It is just the free “lite” one, which is “less accurate”…
      And when I said the plugin did not work out of the box, I do not mean to imply that the plugin is buggy, it’s more due to the way my config is set up. I had to tweak it. But, hey, in the end, I was happy having the code doing what I wanted, just to find out that with the provided data … sigh!

Leave a Reply

Your email address will not be published. Required fields are marked *