I'm working on an application that has a lot of CRUD functionality.

When creating an element, I have a button labeled with "Save".

My original thoughts were to bring this "Save" button across all update, edit and create actions.

Now I'm wondering, is there a preference on what should be used?

Actions like Create:

At the bottom of the form, both save and create could be used as a button.

Action's like Edit:

At the bottom of the form, both update and save could be used.

Or maybe I would be better of just staying consistent and using save across all of them?

What are you thoughts?

From a user (non-programmer's) perspective. There's a difference between creating something and editing (updating) something. It's probably better to show this difference in button labels.

This may be a stylistic thing, but if there's room for a longer label, I tend to use "Create Item" as oppose to "Create" so the action is crystal clear. This also makes the button slightly larger as compared to secondary actions like "Cancel" and Reset" so you have a clearer and easier to hit target.

For edits. I tend to use "Save Changes" instead of "Save" or "Update"

  • 1
    I would absolutely agree with making your button text as concrete as you are able. Using "Save Changes" during an edit makes it clear what the scope/context of the action is. – drbarnett Mar 17 '14 at 19:54

I made myself the same question a while ago while developing an android app which allowed the user some CRUD functions. What I decided finally based on user feedback was to use "save" when creating a new item and "update" when editing an existing one. However personally, I wouldn't mind. There should be other cues in the UI that indicate if I am creating or editing. My advice is to stick to user feedback and make it the easiest to understand for the users. Not everyone is as intuitive as you might think.

On the team I'm on, here's our thoughts:

Update and Save are largely interchangeable. The only difference is, Save typically implies a page-change event, whereas Update usually implies that changes will be applied to what you can see, immediately (technologically speaking, usually accompanies an AJAX operation.)

For instance, an app my team is working on has a form where you can change the date that some event occurs on. We have both an Update secondary button - which uses an AJAX call to immediately push changes to the back-end - and a Save primary button - which returns you to the workflow. This screen is unique in our app, because it's used to manipulate date ranges; you can add days to a range, remove them, and even reorder days (they're accompanied by a short description, so the user knows what's what.)

We could make Update the primary action, and Save the secondary action, but we've noticed that when users were done with this page of our app, they tended to gravitate towards the Save button; when they still wanted to do other things and were making a safety save, it was Update.

Finally, it's worth noting that if you're only providing one option, it really doesn't matter too much - both give a good impression of what's happening. You could argue benefits for either one, so I suggest using what seems clearer to your testers. Also remember to consider color cues - a green button suggests progress in your workflow, so if your save causes another page to load, use that constructive color to your advantage!

On the team here am working especially building Help section for applications.

I would see Update and Save are make difference on buttons. If we are going to collect the data from the user, we can use text on button as "Save" and if you are doing some action on existing data, then that should be "Update"

It sounds like you are looking for a word that works in the instance where you are queuing the actions locally and then cumulatively applying them to a database when a button is clicked.

If that is correct, I would use Submit Changes or Apply Changes, as programmatically speaking, that is the wording used in most entity frameworks and it covers all changes made to the database context since it was last retrieved.

Here's the code used by the aforementioned entity frameworks:

db.SubmitChanges();

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.