Jump to content
Mike Torrettinni

Good design for "file was just saved" message

Recommended Posts

One of the things that really annoy me is when applications don't allow me quick access to the file I just saved/exported/created/generated/print to pdf... Examples: Save attachment from Outlook, Save as in Word, Excel - in these cases and many more you need to manually go and locate the file you just saved. Annoying.

 

I'm thinking of redesigning my message for any file created with my application. Right now I have a few different messages using ShowMessage, like 'Action executed.', 'Done', 'File saved.', 'File copied', 'Project summary saved as PDF.' and others - all related to files begin saved - a mess.

I'm thinking of having a new message form with button 'Locate file' so that any file generated from my application is accessible right away.

 

How do others deal with this?

I'm interested in any suggestions on design, maybe extending my initial idea to something even more useful.

 

Thanks!

 

 

  • Like 2

Share this post


Link to post
Posted (edited)

If I get it right you have to present two options for the post file handling:

  • Open the file (if an application is registered for that extension)
  • Show file in Explorer

 

Edited by Schokohase
  • Like 1
  • Thanks 1

Share this post


Link to post
1 minute ago, Schokohase said:

If I get it right you have to present two options for the post file handling:

  • Open the file (if an application is registered for that extension)
  • Show file in Explorer

 

Yes, even better, thanks!

 

This looks good:

2019-06-02_09-52-49.thumb.png.8c18ce9104ee27877f5bf4e950a7285d.png

 

Share this post


Link to post
Posted (edited)

What about an optional Form with the recent last created files, where the user can open/locate these files? (Like the Download History we know from the browsers)

 

Then the File Info dialog could be optional too (some users do not like such dialogs) 

Edited by Schokohase
  • Like 2
  • Thanks 1

Share this post


Link to post
1 minute ago, Schokohase said:

some users do not like such dialog

This is interesting. I would think when you create file you want 'success' message to appear.

Share this post


Link to post
24 minutes ago, Schokohase said:

What about an optional Form with the recent last created files, where the user can open/locate these files? (Like the Download History we know from the browsers) 

Good idea, thanks!

Share this post


Link to post
20 minutes ago, Mike Torrettinni said:

This is interesting. I would think when you create file you want 'success' message to appear.

That depends: A transient message is fine, a persistent one that I have to click to get rid of it, can be annoying. If it provides the additional options you propose, it might be less annoying. But that's a matter of taste.

  • Like 2

Share this post


Link to post
4 minutes ago, dummzeuch said:

That depends: A transient message is fine, a persistent one that I have to click to get rid of it, can be annoying. If it provides the additional options you propose, it might be less annoying. But that's a matter of taste.

I agree. I've been trying to come up with a case where user would save multiple files in short time period (this is the case that the message could be annoying and obstructive), but I don't think my project is used like that.

Share this post


Link to post

Last thing I want to see from an application is a modal dialog telling me that the app just did what I told it to. 

  • Like 4

Share this post


Link to post
50 minutes ago, David Heffernan said:

Last thing I want to see from an application is a modal dialog telling me that the app just did what I told it to. 

Certainly a valid point, but my users already get a message showing success. Now they will get more useful one. Actually, I think I will add user setting 'Don't show file confirmation message' or similar and that should be useful. I hope this satisfies both user types.

Share this post


Link to post
20 minutes ago, Mike Torrettinni said:

Certainly a valid point, but my users already get a message showing success. Now they will get more useful one. Actually, I think I will add user setting 'Don't show file confirmation message' or similar and that should be useful. I hope this satisfies both user types.

Much more valuable is not to show any dialog at all and not to ask them to make a choice about whether they want to see it, and just have the program do the right thing.

  • Like 2
  • Thanks 1

Share this post


Link to post
14 minutes ago, David Heffernan said:

Much more valuable is not to show any dialog at all and not to ask them to make a choice about whether they want to see it, and just have the program do the right thing.

I agree with you in some examples, like I don't want to see 'Do you really want to Exit?' questions when I want to exit application. On the other hand, there is one Delphi component that checks for issues, and if it doesn't find anything there is absolutely no response and message/error window stays blank. So you don't know if it did its thing or not.

 

It's almost like saying progress bars don't need to shown. So, a strictly one or the other way is not user friendly, and it also depends on application. It's just a matter of finding right combination - but who develops perfect application, perfect user interface for every user?

 

I appreciate the different point of view- I might design things differently and not only my way 😉

Share this post


Link to post

Sure, if you ask for an audit, then you want to see the outcome no matter what. But a program that yaps when it manages the to successfully save a file is poor UI. In fact, I've never ever seen such a program. 

  • Like 1
  • Thanks 1

Share this post


Link to post

So far I have this design:

 

2019-06-02_20-03-39.thumb.png.f755bdfa3d5d6d4fe4715f93053c35e1.png

 

In my project some reports are not asking for filenames and are generated automatically, but most of the reports do ask for filename. So, this new message will provide more info for both cases. Esc key to close the form works, so it's easier to continue with workflow if needed. The checkbox 'Do not show message when creating files' provides an option for users to disable this message.

 

I'm quite pleased with result.

 

 

 

Share this post


Link to post

What does the enter key do?

Depending on the usual workflow (does the user usually want to view the report? Or does he want to copy or send it somewhere?) one of the other buttons might be a good option.

Another frequently required information for further processing is the full file name, so maybe there should be a fourth button to copy it to the clipboard.

  • Like 1

Share this post


Link to post
4 hours ago, dummzeuch said:

What does the enter key do?

Depending on the usual workflow (does the user usually want to view the report? Or does he want to copy or send it somewhere?) one of the other buttons might be a good option.

Another frequently required information for further processing is the full file name, so maybe there should be a fourth button to copy it to the clipboard.

There is no default action - I guess it could be 'Open file', not sure yet.

The most common next action, after creating a file, is to open it. As for the other actions, I will get feedback from users what would be a must, what is requested and what I can gather from general feedback.

 

I don't want to have too many buttons, but I like your suggestions - maybe I could have context menu on filename label:

- Copy File to Clipboard

- Copy full name to Clipboard

- Send to Email

 

All these options are already available just a click away - in Explorer.

 

Share this post


Link to post
Posted (edited)
On 6/3/2019 at 3:12 AM, Mike Torrettinni said:

I don't want to have too many buttons

What about using a single TButton with its Style set to bsSplitButton and a DropDownMenu assigned?  The button could default to "Open", but the drop-down menu could have other actions for the user to choose from.

 

Here is rough mockup of it (I don't have access to a working IDE at the moment):

 

image.png.6ab9291748664c9c70758084c7d1a85f.png

Edited by Remy Lebeau

Share this post


Link to post
5 hours ago, Remy Lebeau said:

What about using a single TButton with its Style set to bsSplitButton and a DropDownMenu assigned?  The button could default to "Open", but the drop-down menu could have other actions for the user to choose from.

 

Here is rough mockup of it (I don't have access to a working IDE at the moment):

 

image.png.6ab9291748664c9c70758084c7d1a85f.png

Great! I think I never actually used such button. I see the potential, let me try.

Share this post


Link to post

You can design a more native looking dialog using TTaskDialog.

Here is an short example and a few more tweaks can be found here Inofficial TTaskDialog Documentation, Andreas Rejbrand, 2011-02-13

  with TTaskDialog.Create(Self) do
  try
    Caption := 'File info';
    Title := 'File created';
    Text := 'c:\temp\Projections_Q3.csv';
    VerificationText := 'Do not show message when creating files';
    MainIcon := tdiInformation;
    CommonButtons := [tcbClose];
    DefaultButton := tcbClose;
    with Buttons.Add() as TTaskDialogButtonItem do
    begin
      Caption := 'Open file';
      ModalResult := 1000;
    end;
    with Buttons.Add() as TTaskDialogButtonItem do
    begin
      Caption := 'Locate file';
      ModalResult := 1001;
    end;
    if Execute then
      case ModalResult of
        1000: ShowMessage('Open file');
        1001: ShowMessage('Locate file');
      else
        ShowMessage('Cancel');
      end;
  finally
    Free;
  end;

 

TaskDialog.png

  • Like 2
  • Thanks 1

Share this post


Link to post

I'd make a generic "application log" where I would log the different actions, and for each action type - offer the possible options when viewing the log.
Whenever something is logged, I'd have a "New Item" counter (Think "number of unread") somewhere in the UI - f.x. on a button that opens the log.

 

I also strongly dislike modal dialogs, but when I need that file, I do need a mechanism to find it.

  • Like 1

Share this post


Link to post
3 hours ago, Martin Wienold said:

You can design a more native looking dialog using TTaskDialog.

Here is an short example and a few more tweaks can be found here Inofficial TTaskDialog Documentation, Andreas Rejbrand, 2011-02-13


  with TTaskDialog.Create(Self) do
  try
    Caption := 'File info';
    Title := 'File created';
    Text := 'c:\temp\Projections_Q3.csv';
    VerificationText := 'Do not show message when creating files';
    MainIcon := tdiInformation;
    CommonButtons := [tcbClose];
    DefaultButton := tcbClose;
    with Buttons.Add() as TTaskDialogButtonItem do
    begin
      Caption := 'Open file';
      ModalResult := 1000;
    end;
    with Buttons.Add() as TTaskDialogButtonItem do
    begin
      Caption := 'Locate file';
      ModalResult := 1001;
    end;
    if Execute then
      case ModalResult of
        1000: ShowMessage('Open file');
        1001: ShowMessage('Locate file');
      else
        ShowMessage('Cancel');
      end;
  finally
    Free;
  end;

 

TaskDialog.png

Thank you, for now I already have a form for this. If I need something similar in the future, will look into this. At the beginning I didn't know how the design will be, what I will need to show, so it was easier to design a form and see the controls.

Share this post


Link to post
1 hour ago, Lars Fosdal said:

I'd make a generic "application log" where I would log the different actions, and for each action type - offer the possible options when viewing the log.
Whenever something is logged, I'd have a "New Item" counter (Think "number of unread") somewhere in the UI - f.x. on a button that opens the log.

 

I also strongly dislike modal dialogs, but when I need that file, I do need a mechanism to find it.

 

Good advice for 'application log', will think about it. Right now I have 'recent files' for importing into the project, while content is completely different than the report files, so I will see if my imagination can put these two together and present as a general entry log.

 

So, a question for you: I assume you would use 'Do not show message when creating files' checkbox, when it first pops-up, knowing you can access any report file through another way, like 'View all created files' option?

 

Share this post


Link to post
11 hours ago, Martin Wienold said:

You can design a more native looking dialog using TTaskDialog.

When I display filenames in Task Dialogs, I like to put them in the ExpandedText section, so they are hidden initially but the user can choose to see them if desired.

  • Like 1

Share this post


Link to post
 
 
 
On 6/5/2019 at 11:45 AM, Mike Torrettinni said:

So, a question for you: I assume you would use 'Do not show message when creating files' checkbox, when it first pops-up, knowing you can access any report file through another way, like 'View all created files' option?

Yes, that could work well, IMO.

  • Thanks 1

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×