Kemp’s Blog

A technical blog about technical things

Expanding Requirements

This is always something to watch out for. Requirements in a software project have a habit of expanding out of control. Someone thinks “feature x would be nice here”, someone else thinks “feature y would make my life easier” and before you know it they’re both coming back with “why does this run so slowly? And why are there all these extra confusing features? I only wanted a couple of those!”.

Take this quote (modified for clarity) from here:

So, I’ll say notepad is good but there is a lot more they could add to make it more useful, such as:
– Option to replace tab with x spaces
– ‘Open in new window’ command
– Auto-indent option
– Make file loading much quicker
Would be _very_ nice to also see support for regexp. in search and search&replace.

Ok, fair enough, a lot of other editors have those features, but notepad is meant to be the most basic editor for when you just absolutely need to open a file without wasting resources on fancy features. Inevitably these feature requests were followed up with

IMO it should still be lightweight

Ok, so lets take these feature requests, add the syntax highlighting, support for different line ending types, and god knows what else people want in an editor and suddenly it’s not the same program anymore, the resource use has grown by a substantial amount and people are moaning that the extra features get in the way.

Besides, anyone who wants to use notepad for anything that requires these features is probably doing that most famous of mistakes: deciding on their (inappropriate) solution and then asking for help on fixing that solution to allow it to solve the problem, rather than asking for the best way to solve the problem. My advice? Download notepad2 (yes, it’s freeware).