How can I 'hide' ('minimize'? not sure of correct terminology), or otherwise de-emphasize a certain action? I'm working on a desktop app that has code management features and we want to make pushing code to a shared remote repository 'hard' to do (we are still making it obvious/easy to pull or commit code however)
First of all: Do not hide features
This will frustrate people and make them angry
The feature is normally accessible where you want to find it (For example Main database settings when deleting a database or Account-Settings if deleting an account)
You can use a red Button and other visual clues to make clear that the decision the user needs to make will have great impact.
You can also redirect the user to a page where there's no visual clutter so the user can solely concentrate on the decision
Tell the user what impact his decision will have using clear and short text.
If you have an Account-System and the Account will be affected by the task ask for Authentification throu password.
Lock with Cooldown
Based on how destructive the bahaviour is, add an cooldown to the Button.
The Button will be unpressable while the cooldown. Most of the time the cooldown is above the Button so it's clear that they're related.
This gives the user time to think about his decision.
Be really careful when adding cooldowns. A cooldown of 5 seconds is a really long time if you consider that the whole purpose of the page is to press the blocked button or not.
Reddits guarded Button
Ok,let's get skeuomorphic over here
You know these Red Buttons in facilities that do something horrible such as launching a rocket or resetting the facility computers?
These guarded Buttons have barriers above them so noone can accidently press them.
Sometimes you even need to unlock this plastic case (or the button itself) before usage
Reddit used this method on their 2015 April Social Experiment.
They had a Button on their website that everyone could only press once. Every Reddit iser only was able to press this single button once in their lifetime and thus they did something similar to the real-life behaviour I just discribed:
They made a Layer over the Button, that will dissaper once clicked. After you remove the plastic cover you're able to presd the Button.
The Layer didn't just dissapeared - The Layer had an opening-animation that the user will notice and will raise awareness of the destructive-ness of the Button
Reddits Button wasn't destructive. It just was a social experiment on how the community would behave
Some features gets locked by the request of entering a keyword.
For example you would need to type "delete" before deleting a database or an account.
By letting the user type his command you'll drive the awareness from the user towards the action he's doing. Maybe he'll reconsider.
This will also prevent the user from using the function in a case that of beeing in a rush.
Let's assume you have some content you want to protect. Both "new" and "delete" are locked by this method. The user rushes in and accidently presses "delete" instead of "new". He types in the keyword of "new" and the function fails and thus prevents him of doing a mistake.
Please note that you should use this way of making a Button inaccessible for features that won't be called often. My previous example of "new" might be out of place while this method seems appropiate for "Delete Account"
You could delay the process with things like captchas or delayed submit buttons (unlocks after x seconds), password confirmations, email confirmations (link in email).
EDIT: whoops, you want to hide it? Maybe put it in a drop down or make the user select it then use another menu and combine the above.