| > I hate this modern trend of pretending that advanced software users no longer exist. I agree. Software should be designed for advanced users, and also be sufficiently documented (both of these are true (in my opinion) whether or not this involves adding additional options/features). A separate menu (or file, if it is documented) for advanced options would be OK, though. (These things are especially true of web browsers, but apply to all modern software.) It is true that adding options is not always the way to do it, but sometimes it is. There are other ways, including allowing users to specify external commands, using standard I/O with pipes, generalizing an existing option or feature, etc. Of course there are other considerations like the article mentions (and that you do, too), but I still think that it is better to include options if they would help. It is also good to, when adding features (or options), add good ones instead of bad ones. Additionally, apparently SQLite is commonly used in many programs. If that is the case for your program, then the capability for the user to use SQL queries will allow to do many things. |