I like to follow quite strict rules when it comes to coding MySQL queries. Unfortunately, a lot of developers seem to disregard the need for readable and maintainable SQL code which becomes a problem when working with joins across multiple tables and nasties like sub querying.
I’ve just had an interesting discussion with one of my accounts managers which raised the question: when do you say ‘no’ to a client’s request?
The client in question was asking if their main navigation could stay anchored to the top of the browser window when a user scrolls down the page. I said that, it could but the effect might not work in older, browsers. It was then mentioned that the client had an alternative solution: An internal scroll-bar, (iFrame style), on the content. I pointed out that that was stupid because anyone on a low resolution, (or anyone who resizes the browser window, for that matter), would probably see two scroll bars – one for the page in the browser and one for the content on the page. That’s just dumb.
I could see the manager trying to think of a way out of the situation, without saying ‘yeah, but it won’t work for everyone’ but it begs the question: Why not just tell the client that keeping the menu at the top of the page and not having crazy scroll bars everywhere is pretty much the norm. We are after all employed by the client to advise as well as acquiesce to their wants.
Sure, we’re likely to keep a client sweet if we do everything they ask for, but if what they ask for is stupid and potentially detrimental, isn’t it up to us to draw the line?
I’ve also seen the same situation with client-led ‘design tweaks’. This cartoon illustrates the dilemma, perfectly.