As developers. we are responsible for creating the highest quality software products for our clients. That includes writing clean and maintainable code, thorough testing and QA, usability, aesthetic quality, and relevance to the business owner. It is what they deserve and expect from us as professionals by virtue of the fact that they are willing to invest money and faith in our ability to do so. But there are other implied responsibilities such as deployment and post-implementation support. This is where things start to get a little fuzzy.
Where does our responsibility really end and the user’s begin? For example, how far should we take testing for different operating systems and web browsers? I know the knee-jerk reaction might be, it depends on the business requirements, so let’s just say it is a public e-commerce site. Are we expected to test and support versions of operations systems or browsers that even aren’t event supported by their developers any more? Must we support Windows 95 and IE4? Or, put another way, how many versions of compatibility are we testing for?
Personally, I would suggest that it is the user’s responsibility to keep their machines up to date. With automatic updates and free downloads, it couldn’t be simpler to maintain the health of your computer. And for those enterprises that are afraid to upgrade to IE7, are you still using Windows 3.1? Technology changes and I know that as developers, always looking to use the latest new fangled whatchamahoozit, we are partly to blame; out with the old and in with the new. But, as a responsible “netizen”, people must realize that the computer of today is the computer of tomorrow the minute you take it out of the box. That is just a harsh reality of technological dependency.