The old adage, “If it ain’t broke, don’t fix it,” doesn’t necessarily apply in the case of technology. Projects continually require alterations, updates, and enhancements. This chapter outlines the nature of code change, and suggests some of the challenges to be faced when making these changes.
Changing Software and Legacy Code
2005-01-18 General Development 4 Comments
I don’t think developers or users should be quite as terrified by change as they are. Constant changes are annoying and the prospect of updating my desktop every month or year isn’t very appealing. Especially if things change too drastically as they often do FOSS.
However niether change nor regressions are the complete anathema they are made out to be. Quite often if people don’t want changes then they shouldn’t have to upgrade.
How many System 9 Mac users are there. How many people are still using ICQ 2003 instead of the godawful ICQLite with extra Bloat. How many people use FVWM, Office 97 etc. I’m stilling running RH9 (Gnome2.2)
Developers should focus as much on usability as functionality. Assuming their software becomes more user friendly and functional then changes shouldn’t rock the boat to the extent people fear.
“We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more”
dont want to upgrade, dont upgrade, its as simple as that. but then you run into the “problem” of a app wanting some new version of a lib or similar, while what you are useing requires the older version.
still, most updates are transparent. some people i know have stayed updated with mandrake by useing urpmi for atleast the last 5 point releases or so. and debian have “allways” had the ability to be compleatly updated by useing one command.
its only if your thinking windows style that you have to continualy check 101 websites for a new installer and so on…
Software that requires “optimization” was designed in a faulty matter to start with. PROPER design allows for alterations in the platform or dispenses with them in an orderly manner – whichever is more appropriate. Too much software sold or distributed for free is nothing more than beta software.
There will always be minor issues that are simply not to be foreseen, but too often they are addressed unecessarily. Fixing one thing has the potential to break ten others, either on the program itself or on other programs. The propensity for change should be limited to *essential* change.
Radio’s come and go, but the “user interface” of the average radio has changed little. Oh sure there are digital controls instead of analog, but the *function* is the same. Those changes came about gradually as the market could grapple with them.
Software designers change “features” with the wind. Versions change annually in most cases. Must I remind people that quick OS changes in MS-DOS caused major errors, and then MS did the smart thing. It went back to the drawing board and came up with DOS 5. Long term development yielded a stable OS used for years (and still in use by die-hards!).
I fix machines for people every day who fiddle with features they don’t need or want but are curious and want to play with everything offered. I would too, if I payed the outrageous price for an OS or an app, only to find I was buying into more problems than I could handle.
Could I take a class? Sure. Does the mass market want to take a class – NO! I taught CS classes for fifteen years. I saw lots of students. 30% were there because they wanted to learn. 50% were there because they wanted a job they could do with little effort – and many of these failed. It is within our capability to make computing simple and we want to add features? Ridiculous. Find out what people do and offer the appropriate apps that do *those* tasks for the mass market. It works in the game console world, it’ll work for Mr. Average and his computing needs.
I’m here. Let the flames begin. The delete key is working just fine. – JP