Removing low-use features is a dangerous game; much of the best software out there (Excel, Photoshop, Viz, etc) is defined by an enormous feature set and a high skill ceiling.
Removing low-use features is a dangerous game; much of the best software out there (Excel, Photoshop, Viz, etc) is defined by an enormous feature set and a high skill ceiling.
Yes we developers and engineers as a class of human beings love being able to set things to the nth degree as can be seen by the comments here but that's not necessarily the right choice for the vast majority of projects.
Most normal human beings want simple tools that do what they say on the box and don't require much cognitive load at all.
Every setting, every "knob" introduces to the average user a feeling of frustration, confusion, complication.
To an engineering minded person they might find all those options exciting but to someone who just needs to GET SHIT DONE those extra options are hellish and anxiety inducing.
In a few rare cases an application is best designed with more knobs but it's very definitely the exception and almost always a clear sign of shitty design made by engineers for people who they imagine are like them and not professional designers who have actually worked with the general public and know what they actually want, how they think, what they need.
More knobs is almost always a sign of lazy thoughtless design.
I use photoshop maybe once every two months and have found that its interface is completely inaccessible if you don't use it full time.
I understand that it's great to have full control over everything, but there's a point where it's overkill in Getting Shit Done. Hell, it's gotten to the point with me where I'd rather use cv2 over photoshop/gimp for most things...
Really, I'm tired of being told "read the documentation" and "You just haven't used it enough" when documentation is given 5% of the energy it should be given.
I'm convinced that the only reason so many SV projects exist because of bad config management in OSS projects.
It doesn't make Photoshop a bad tool or overkill. It makes your choice in using it bad, and makes it overkill for your specific task.
A nail gun isn't a bad tool because a hammer is simpler and more intuitive, and a hammer isn't a bad tool because a rock is simpler and more intuitive. We don't expect roofers to use rocks, and we don't expect someone hanging a picture up to use a nail gun. Specialization is not a bad thing.
Every single function in Excel, or Photoshop, is there because someone needs it. Should we leave those people out in the cold? Should we fragment major applications into dozens of sub-versions, each with a single specialized feature set, and force people who need more than one to juggle multiple programs?
I can get behind the idea of a "lite" program and a full-featured program in any given category. And, indeed, there are plenty of simple image manipulation programs for people who don't need all of Photoshop. (I'm not sure if there's an equivalent for Excel, but I'm also not sure Excel needs any changes to be accommodating to very basic spreadsheet use.) What's the benefit in removing options that someone is using?
Other options can live comfortably behind buttons like "One Time Configuration Settings" or "PROBABLY NOT WHAT YOU WANT, DON"T CLICK" - there's no reason that Insert mode in word needs a bumpable hotkey. But they should still be there. There's nothing worse than a program that obviously supports an operation, but has removed your ability to do it any way except a few presets.
Of course, all of this conflates 'professional' software like Excel and Photoshop with 'casual' software, but even in the casual case there's a lot to be said for not actually removing features.
It is possible that these children might have some useful ideas about how to use their tools, which you did not anticipate.
I would encourage you to use this analysis to decide 'what to put on the basic config knob box', rather than 'what freedoms will I permit my users'.
It's absolutely true that "more knobs" is often evidence of laziness, or bad design, or sloppy thinking. Many (most?) programs should have fewer knobs than they do, and should elevate a few of their knobs while burying the rest. Knobs are distracting and confusing even for power users, and there's a lot to be said for putting 90% of the content behind a big red button reading "ALMOST CERTAINLY NOT WHAT YOU WANT".
I primarily objected to two things here:
One is the failure to differentiate general-use software from poweruser software; Photoshop and its ilk are hard to use, but their feature-rich approach is what makes them employment-worthy skills. Glibly applying usage statistics to Photo Viewer and Photoshop equally feels like a category error to me.
The other is bad statistics. "many features are used by <2% of users", well great. But that isn't grounds for hiding/removing them unless it's the same set of users! Most of the data gathered in this article overlooks questions like "will you break 2% of workflows, or 90%?" and "among rarely-used features, how many are one-time preference settings?"
I don't mean to imply that most software is good, we all know better than that. Fewer knobs should be a goal, when all too often more knobs is a goal. But that doesn't mean I'm especially impressed with this treatment of it.
I'll put forth an economic justification: specialization. Experts are happy to cope with the explosions of features, and so happy to take a tradeoff of less usable software if their one additional feature is in there that they're willing to pay a premium for it. They spend a lot of time with the software, learning the keyboard shortcuts and tuning knobs.
Conversely, novices like you and me don't like any of that. We want to get shit done, even if that shit isn't exactly what we wanted, or held to the high standards of a professional. The software they need is easier to write -- you don't have to implement obscure features, and you don't have to make the UI cope with all those features.
So the fact that Photoshop exists isn't a sign of lazy design, but of a market for professional users whose niche is being catered to.
Also, the dataset the paper in question focuses on is Apache httpd, MySQL, and Hadoop. These are not technologies for average users or the general public. These are clearly the domain of experts. It's not entirely clear to me that the fact that few people use given Apache config option means I shouldn't be allowed to change it. Sure, most Chef recipes don't use ModRewrite rules, but that doesn't mean I would be better served if Apache removed those knobs.
IME, people advocating for simple UI end up advocating for the removal of features. That's often fine, but it's also why people like Torvalds bounce between desktop environments as things are Simplified with no secret handshake to undo them.
Even the research suggests that over 50 percent of Apache config setting points can be removed without affecting more than 1 percent of the customer base. I'm not clear if that means each feature is 1 percent or 1 percent total. It's also not clear how they can feasibly disentangle people who use obscure features and don't need help with it. (Also, I'd love to see concrete suggestions for improvement from that pool to better understand what counts as obscure here.)
That said, the Apache config has plenty of room for improvement. Why do we have to write chef scripts to calculate MPM settings and avoid OOM'ing the machine?