Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I've been exploring this concept a bit at my startup for our B2B offerings. Where I've landed is a robust set of feature toggles that Sales and Account Management configure. Within the confines of your Microsoft Word toolbars analogy; since the software we offer is similar to SaaS and delivered via a web browser this effectively means we can "hide" the toolbars that the client isn't interested in.

This is all pretty early days, but my hope is that we can iterate the core "have feature toggles" concept to the point where we have the ability to turn functionality and function accessibility on across many verticals. I hope that one day internally we can configure things a per-customer and per-user-persona basis. I also hope that one day we can expose some of those switches to admins and/or everyday users, possibly with paywalls or other strictures.

We'll see where it all lands :D



We've been doing this for 25 years in our desktop software. Every new feature is behind a checkbox on a "features" screen. This screen is in the program, so users can turn things on and off, but typically its set by one of our staff during the installation phase [1].

The upside is a clean interface which helps during training, support, and day to day use.

The primary downside is discoverability. Occasionally customer needs change and some assume "the software doesn't have that feature" rather than call us, or check online.

That's a problem best solved with good communication, but that can never be perfect.

[1] this is in the B2B space, and has a proper sales, install, support cycle.


It's not just about the users. As the software becomes more complex it's hard to change/iterate on, hard to find bugs/fix things, hard to reason about etc. And the difficulty seems to rise non-linearly.


How does that scale for enablement, training materials and documentation? Will be very confusing for users if the material shows things that are not in his UI.


tl;dr: giving users the ability to show / hide some features.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: