Thursday, July 8, 2010

Software Development Pressure: An Analogy

Any developer working on a client system understands the pressures to deliver. There's your scope, time, cost, quality and effort considerations hanging over your head permanently. You also feel as if you're the only real contributor to the team, always clocking out the latest (and long after the analysts have gone home).

What makes it worse is you often find, particularly during your first release or demo to the users, that instead of a feeling of reward, you leave with a feeling of "this is not worth the effort". This stems from the reaction of your users or clients - because instead of admiring your perfectly working functionality, they focus on how it looks. "Why is that button off-centre?" becomes a 10 minute discussion, rather than admiration for the effort on the mind bogglingly highly optimised and complex financial calculation you managed to pull off.

This comes, I believe, from a fundamental misunderstanding between users and developers. To a user, the feel of the system is top of mind. It's easy for them to see visual progress, and non technical people often attribute looks with excellence, regardless of whether something works or not. The fact that your back end has a perfect architecture means nothing to them. If it looks like crud, they'll think the whole thing is crud.

I've personally tried a few analogies to get users to understand the concept that you need the foundation correct before you can make it look pretty. The one that has worked well is an analogy with building a house, and goes:

When you build a house, do you dig the foundation, lay a brick, cement it, plaster it, and paint it before adding the next brick? No, you complete the house first, and then you make it look pretty. Otherwise your house won't be very stable, or pretty.

And software is the same. Get the architecture and functionality right first, and then focus on the interface.

Monday, June 7, 2010

Testing IE7 on Windows 7

IE7 cannot be installed on Windows 7. If you have a bug that needs to be testing on IE7, do the following:

  • Install Windows XP Mode for Windows 7
  • In Windows XP Mode,
    • Install IE7 Standalone
    • Place a shortcut to IE7 in the following folder: C:\Documents and Settings\All Users\Start Menu
    • This creates a shortcut in your Windows 7 Start Menu as such:

:projects:llo001:ie7_win7_shortcut.png

:projects:llo001:ietab2_options.png

  • In Firefox, when you right click on a tab, you should have the option to Switch Rendering Engine - you’re now testing in IE7 :)

Thursday, February 11, 2010

Apache and php on Windows 7 x64

I've been having some joy this evening getting these two to configure correctly. Firstly, I downloaded the following files:

  • apache_2.2.14-win32-x86-openssl-0.9.8k.msi
  • php-5.3.1-Win32-VC6-x86.msi

I installed Apache, no problem. I installed php, no problem. php updated Apache's httpd.conf as expected. However, when I restarted Apache:

The requested operation has failed!

And here I thought Microsoft gave unhelpful error messages. Some time Googling later, I found this post which seemed to be much the same issue.

So I uninstalled the php msi, downloaded the same file in zip format, and extracted to the same folder (in my case, C:\PHP). Restarted Apache and there were no issues.