Mike Torrettinni 198 Posted June 2, 2019 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! 2 Share this post Link to post
Guest Posted June 2, 2019 (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 June 2, 2019 by Guest Share this post Link to post
Mike Torrettinni 198 Posted June 2, 2019 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: Share this post Link to post
Guest Posted June 2, 2019 (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 June 2, 2019 by Guest Share this post Link to post
Mike Torrettinni 198 Posted June 2, 2019 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
Mike Torrettinni 198 Posted June 2, 2019 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
dummzeuch 1517 Posted June 2, 2019 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. 2 Share this post Link to post
Mike Torrettinni 198 Posted June 2, 2019 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
David Heffernan 2353 Posted June 2, 2019 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. 4 Share this post Link to post
Mike Torrettinni 198 Posted June 2, 2019 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
David Heffernan 2353 Posted June 2, 2019 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. 2 1 Share this post Link to post
Mike Torrettinni 198 Posted June 2, 2019 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
David Heffernan 2353 Posted June 2, 2019 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. 1 1 Share this post Link to post
Mike Torrettinni 198 Posted June 3, 2019 So far I have this design: 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
dummzeuch 1517 Posted June 3, 2019 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. 1 Share this post Link to post
Mike Torrettinni 198 Posted June 3, 2019 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
Remy Lebeau 1436 Posted June 4, 2019 (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): Edited June 4, 2019 by Remy Lebeau 1 Share this post Link to post
Mike Torrettinni 198 Posted June 4, 2019 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): Great! I think I never actually used such button. I see the potential, let me try. Share this post Link to post
Mike Torrettinni 198 Posted June 5, 2019 OK, I went a little overboard with options... but it's still in design mode: Share this post Link to post
Martin Wienold 35 Posted June 5, 2019 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; 2 1 Share this post Link to post
Lars Fosdal 1793 Posted June 5, 2019 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. 1 Share this post Link to post
Mike Torrettinni 198 Posted June 5, 2019 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; 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
Mike Torrettinni 198 Posted June 5, 2019 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
Remy Lebeau 1436 Posted June 5, 2019 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. 1 Share this post Link to post
Lars Fosdal 1793 Posted June 6, 2019 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. 1 Share this post Link to post