The Stack Overflow podcast is back! Listen to an interview with our new CEO.
    Post Made Community Wiki by psr
3 added 436 characters in body; edited body; added 5 characters in body
source | link

Don't make the user lose their work.

This is harder than it sounds... work is more than just "data in a file"... it's any time that the user has spent with your software.

For example, if the user filled out your 30-field form with 29 valid items and 1 invalid one, don't clear all his valid data to complain about the 1 invalid one (heck, don't even clear the invalid one... maybe it's long and just requires a minor correction, or the user won't remember what it was before if you clear it)

A non-obvious but important example is what Windows and practically every other "file manager" software gets wrong.... if I spent a half hour carefully Ctrl-Click'ing to select a set of files and I accidentally do Click instead of Ctrl-Click, it should not clear all my previously selected files, making me start over.

Another one that they got wrong... if I accidentally hit Ctrl-A (instead of Ctrl-S right next door), it should not lose my place in the file and put the cursor at the beginning.... I call finding the right place in the file "work" which the program has "lost".

Yet another: TortoiseSVN's "commit" dialog has a long list of files. Before hitting "Commit", you can go down the list of files, double-clicking on each one to see its changes in a 2nd dialog. To do this quickly I sometimes use the keyboard only, hitting <Esc> to close the 2nd dialog and go back to the 1st. If I accidentally hit <Esc> twice, it also closes the 1st dialog, which results in me forgetting which file I was up to.

Don't make the user lose their work.

This is harder than it sounds... work is more than just "data in a file"... it's any time that the user has spent with your software.

For example, if the user filled out your 30-field form with 29 valid items and 1 invalid one, don't clear all his valid data to complain about the 1 invalid one (heck, don't even clear the invalid one... maybe it's long and just requires a minor correction, or the user won't remember what it was before if you clear it)

A non-obvious but important example is what Windows and practically every other "file manager" software gets wrong.... if I spent a half hour carefully Ctrl-Click'ing to select a set of files and I accidentally do Click instead of Ctrl-Click, it should not clear all my previously selected files, making me start over.

Another one that they got wrong... if I accidentally hit Ctrl-A (instead of Ctrl-S right next door), it should not lose my place in the file and put the cursor at the beginning.... I call finding the right place in the file "work" which the program has "lost".

Don't make the user lose their work.

This is harder than it sounds... work is more than just "data in a file"... it's any time that the user has spent with your software.

For example, if the user filled out your 30-field form with 29 valid items and 1 invalid one, don't clear all his valid data to complain about the 1 invalid one (heck, don't even clear the invalid one... maybe it's long and just requires a minor correction, or the user won't remember what it was before if you clear it)

A non-obvious but important example is what Windows and practically every other "file manager" software gets wrong.... if I spent a half hour carefully Ctrl-Click'ing to select a set of files and I accidentally do Click instead of Ctrl-Click, it should not clear all my previously selected files, making me start over.

Another one that they got wrong... if I accidentally hit Ctrl-A (instead of Ctrl-S right next door), it should not lose my place in the file and put the cursor at the beginning.... I call finding the right place in the file "work" which the program has "lost".

Yet another: TortoiseSVN's "commit" dialog has a long list of files. Before hitting "Commit", you can go down the list of files, double-clicking on each one to see its changes in a 2nd dialog. To do this quickly I sometimes use the keyboard only, hitting <Esc> to close the 2nd dialog and go back to the 1st. If I accidentally hit <Esc> twice, it also closes the 1st dialog, which results in me forgetting which file I was up to.

2 added 159 characters in body
source | link

Don't make the user lose their work.

This is harder than it sounds... work is more than just "data in a file"... it's any time that the user has spent with your software.

For example, if the user filled out your 30-field form with 29 valid items and 1 invalid one, don't clear all his valid data to complain about the 1 invalid one (heck, don't even clear the invalid one... maybe it's long and just requires a minor correction, or the user won't remember what it was before if you clear it)

A non-obvious but important example is what Windows and practically every other "file manager" software gets wrong.... if I spent a half hour carefully Ctrl-Click'ing to select a set of files and I accidentally do Click instead of Ctrl-Click, it should not clear all my previously selected files, making me start over.

Another one that they got wrong... if I accidentally hit Ctrl-A (instead of Ctrl-S right next door), it should not lose my place in the file and put the cursor at the beginning.... I call finding the right place in the file "work" which the program has "lost".

Don't make the user lose their work.

This is harder than it sounds... work is more than just "data in a file"... it's any time that the user has spent with your software.

For example, if the user filled out your 30-field form with 29 valid items and 1 invalid one, don't clear all his valid data to complain about the 1 invalid one.

A non-obvious but important example is what Windows and practically every other "file manager" software gets wrong.... if I spent a half hour carefully Ctrl-Click'ing to select a set of files and I accidentally do Click instead of Ctrl-Click, it should not clear all my previously selected files, making me start over.

Another one that they got wrong... if I accidentally hit Ctrl-A (instead of Ctrl-S right next door), it should not lose my place in the file and put the cursor at the beginning.... I call finding the right place in the file "work" which the program has "lost".

Don't make the user lose their work.

This is harder than it sounds... work is more than just "data in a file"... it's any time that the user has spent with your software.

For example, if the user filled out your 30-field form with 29 valid items and 1 invalid one, don't clear all his valid data to complain about the 1 invalid one (heck, don't even clear the invalid one... maybe it's long and just requires a minor correction, or the user won't remember what it was before if you clear it)

A non-obvious but important example is what Windows and practically every other "file manager" software gets wrong.... if I spent a half hour carefully Ctrl-Click'ing to select a set of files and I accidentally do Click instead of Ctrl-Click, it should not clear all my previously selected files, making me start over.

Another one that they got wrong... if I accidentally hit Ctrl-A (instead of Ctrl-S right next door), it should not lose my place in the file and put the cursor at the beginning.... I call finding the right place in the file "work" which the program has "lost".

1
source | link

Don't make the user lose their work.

This is harder than it sounds... work is more than just "data in a file"... it's any time that the user has spent with your software.

For example, if the user filled out your 30-field form with 29 valid items and 1 invalid one, don't clear all his valid data to complain about the 1 invalid one.

A non-obvious but important example is what Windows and practically every other "file manager" software gets wrong.... if I spent a half hour carefully Ctrl-Click'ing to select a set of files and I accidentally do Click instead of Ctrl-Click, it should not clear all my previously selected files, making me start over.

Another one that they got wrong... if I accidentally hit Ctrl-A (instead of Ctrl-S right next door), it should not lose my place in the file and put the cursor at the beginning.... I call finding the right place in the file "work" which the program has "lost".