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?