My application provides a functionality for the user to add, list & handle (remove/edit) data records which represent address data.

I just had a dispute with my trainer, who I have asked about his opinion on my "address record module".

Each record has 5 properties, each of them is set by the user:

  • ID
  • Name
  • Street
  • Postal code
  • City

Note that ID is not used to identify the record in the database. It's purpose is to identify the record in the users workflow.

I have made the module like this:

If a new record should be added, the user has to click a button that reads "Add new record". This will add an empty block of address data to the top of the list of records.

Each record provides a removal button on the bottom right corner.

I have neither implemented validation, nor a save button.

Whenever a change is made in one of those 5 text inputs, the record will update in the database and a small notification will inform the user of the succeeded saving of the changes he just made. To avoid annoyance, this message is quite discrete and will show up only when some time has passed since the last update.

My trainer argues that this is bad practice as the user will be able to insert empty records or such that lack "necessary information". He also told me that due to the lack of comprehension for such uncommon experience, the users would rage about the missing save button.

Though, I believe that my approach is actually improving the users experience. If one would add a record that is missing data, they should either have a reason for that (maybe they don't know the street name yet) or the could easily fix the issue by just adding the information or removing the record. Even a missing ID is not a problem, since the database uses an internal one.

The lack of a button to save the record should be no problem due to the visual provided information that a record was just updated.

Should I implement the oldschool method nonetheless?

  • 1
    You set the db ID from the form?
    – Franchesca
    May 20, 2014 at 12:52
  • Nope, the id is internally set, so I can remove even completely empty records May 20, 2014 at 12:53
  • You state that ID is one of the 5 properties set by the user, what ID is this?
    – Franchesca
    May 20, 2014 at 12:54
  • That ID is a value set by the user to identificate the record in his internal workflow. It could be anything from just an incrementing integer to a complex string. It depends a lot on the user (We are a shipping contractor, each of our customers do handle this differently) May 20, 2014 at 12:57
  • 2
    @Sprottenwels What benefits do you see in auto-saving compared to having a 'save' button? It's a significant departure from what users will expect - are the benefits worth the learning curve?
    – Matt Obee
    May 20, 2014 at 13:07

2 Answers 2


Should I implement the oldschool method nonetheless?

Consider both a save button and auto-save. If you look at this from the perspective of trust, some users want to be sure that the system accepted their input. The lack of a save button puts doubt in their mind.

This topic reminds me of the question "Why do people clear the screen multiple times when using a calculator?" It comes down to how sure the users are that the system did what they intended it to do.


I should add that Google Docs previously had both a save button and autosave. The save button was eventually replaced with this below text and corresponding hover state:

enter image description here

It's where you expect the save button to be for users looking to ensure their changes are saved. It's a compromise between autosave and save buttons to avoid confusion on the state of the system.

  • About the calculator issue, that is something I've done myself since ever, yet never have thought about the process. Thanks for that! I'd like to provide something that prevent's the user from having to do such stuff by clearly telling him that the work has already be done. Yet, I guess it won't harm anyone if I do implement both. May 20, 2014 at 13:21
  • 1
    Using both would be confusing though. Do I click the Save button even though the page just told me that my information was just saved?
    – Hynes
    May 20, 2014 at 13:47
  • @Hynes The designer would have to be careful to avoid confusion. See this answer for a similar discussion on placebo-like buttons used to make the user feel in control. May 20, 2014 at 14:19

There's two issues here, one is the fact that some users expect a SAVE function, and the second is the validation.

My thinking is that SAVE was a work-around from its beginning: When I write something with a pen on a paper, it's there. Without SAVE. Saving was invented for time-sharing terminals, more generally termed SUBMIT in these times. I guess the user expectation is changing quickly with the rise of mobile apps. And I really like if I don't need to care about saving. Be very sure to add an UNDO if you have no SAVE, however.

Validation depends on the usage of the record entered. If you want to send a parcel, the computer will be hard pressed to print a parcel label... So, yes, it's nice to let the user create drafts to be completed once the information is there, but this very much depends on the process behind the UI.

So my recommendation is to do validation (if any) and saving whenever the cursor leaves a field. If you can hold saving as long as the cursor goes to another field of the same record, you can do so to limit transitional messages.

  • I think that this is a nice approach, too. However, I am unsure about the the save on blur. What if the last fields doesn't get blurred because the user closes the window after typing the final property? Should I intercept the window close? May 20, 2014 at 13:38
  • Well... if you believe in the "no SAVE" principle (or, the pen&paper analogy), it's about the visible state of the UI being the state of the database, isn't it? The reasoning is to accept input as correct, until the user corrects it (that's why the UNDO is vitally important - the eraser). May 20, 2014 at 13:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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