What do you look for in a well-rounded application?
-
So, what do you look for? I made a list of the following, but I could be wrong.
- Three user interface options during installation: Novice, Standard, and Expert. Each level adds more control over certain details of the application. I'll talk about the standard mode from here on.
- Taking care not to reassign file associations if they've already been assigned.
- Being careful in naming applicatino files. (This includes not prepending every application name with the company and creating a program files folder that are not suffixed with a version number. e.g.: "Frontpage" instead of "Microsoft Frontpage 2003") I really this redundancy especially when the folder name makes this point.
- If a serial number is required, the installer asks for it immediately before any setup choices are made. That way, the serial number prompt doesn't have to [possibly] surprise the user after a long setup routine.
- Having a "never show this message again" checkbox for dialogs that are deemed annoying.
- Taking care to persist the application state in case there is a crash (much like Microsoft Word and Firefox's SessionSaver extention).
- Wording the dialog boxes so that the most novice end-user would understand. Dialog boxes with unexplained error codes are just confusing. In the case of an error dialog, make the error information selectable and copyable.
- Not placing unnecessary files on the desktop or the documents folder. (Adobe pissed me off by putting an "Updater5" folder in my documents. Deleting it didn't help. It just kept reappearing. I would've preferred if it were in the Application Data folder.)
- Using open standards as best as possible without resorting to proprietary formats and/or extentions.
- Making movable parts lockable in case the user wants to prevent mouse slips from messing up their customizations.
- Having context sensitive help throught the application.
- Making shortcut keys customizable.
- Extendable vis plugins.
- Tries to consume minimal resources.
- Attempts to keep all [possibly] sensitive data in encrypted form, even if it has to default to an application's key. The application should still prompt the user to provide their own key in place of the default.
- The language of the useri nterface can be changed. If so, the item that lets users change the language should advertise itself in a language-neutral way. I don't want to look for a menu called "Инст&
Behind The Scene wrote:
What do you look for in a well-rounded application?
I agree with lots of stuff that has already been mentioned. One thing I would like to add is about help files. I really dislike when the help system doesn't help the user at all (which happens waaayyy too often!). Usually, this happens when the help system does nothing but try to explain what the user interface elements do. Example: "To apply filters to your current selection, go to Edit - Filters and choose the filter you would like to apply". This doesn't help me at all. What will these filters do? Why should I use them? What is a filter? I prefer task-oriented help systems, where there are tutorials: "I have a picture I took with my digital camera, and I want to display it on my blog page. How do I do that?". The help program should then explain to the user how to do that. Users have problems they want to solve. They don't care at all about what options the program offers, they only care if their program helps them solving their problem. I realize that the program authors cannot possibly predict all scenarios which the user would like to get help about, but still: they should have some idea about what problems their software is designed to solve. The help system should explain how these problems should be solved.
Wenn ist das Nunstück git und Slotermeyer? Ja! Beierhund das oder die Flipperwaldt gersput!
-
Behind The Scene wrote:
What do you look for in a well-rounded application?
I agree with lots of stuff that has already been mentioned. One thing I would like to add is about help files. I really dislike when the help system doesn't help the user at all (which happens waaayyy too often!). Usually, this happens when the help system does nothing but try to explain what the user interface elements do. Example: "To apply filters to your current selection, go to Edit - Filters and choose the filter you would like to apply". This doesn't help me at all. What will these filters do? Why should I use them? What is a filter? I prefer task-oriented help systems, where there are tutorials: "I have a picture I took with my digital camera, and I want to display it on my blog page. How do I do that?". The help program should then explain to the user how to do that. Users have problems they want to solve. They don't care at all about what options the program offers, they only care if their program helps them solving their problem. I realize that the program authors cannot possibly predict all scenarios which the user would like to get help about, but still: they should have some idea about what problems their software is designed to solve. The help system should explain how these problems should be solved.
Wenn ist das Nunstück git und Slotermeyer? Ja! Beierhund das oder die Flipperwaldt gersput!
Agreed. For me, the most important question that I need the help file to answer is "Why?". Why did the application designer put in a feature? What is it for? Do I need to know about this feature? Giving a realistic scenario is one of the best ways to answer this question. Once I know what a feature is for, I may want to use it. So it is only when I understand the "Why" that the "How" comes into play. How do I use the feature? Naturally, the Help file needs to answer this, too. It is also useful to have an overview of the user interface. My Blog.
-
But it wastes time and resources; when I just tried it (with Excel) it took at least five seconds to create the new unwanted workbook which then had to be removed. There are times when I want to get into Word or Excel or whatever but have no intention of working with a file, just access the help or settings or something.
-
How about installers that default to c:\ something or other. Sometimes you can get away with telling a user where something must go[1], but if there is no c: drive then you have problems. [1] Where the user works for someone who doesn't care where you install stuff on the machines he provides for the strictly non-private use of his employees.
Yep, that is also annoying. Geez, my LaTeX editor always has to install in C:\ and the directory can't contain spaces or more than eight letters :doh: Furthermore, Maple software has to install an old C compiler, so happens the same: in C:\ directory and without spaces or more than eight letters :doh::doh:
A polar bear is a bear whose coordinates has been changed in terms of sine and cosine. Personal Site
-
Behind The Scene wrote:
Not placing unnecessary files on the desktop or the documents folder. (Adobe pissed me off by putting an "Updater5" folder in my documents. Deleting it didn't help. It just kept reappearing. I would've preferred if it were in the Application Data folder.)
Yeah, that's very annoying. In fact, I never used the "My Documents" folder because any new application I installed just started polluting it with crap. Now I store my files separately.
________________________________________________ Personal Blog [ITA] - Tech Blog [ENG] - My Photos Developing ScrewTurn Wiki 2.0 (2.0 RC is out)
Our company developed a document-administrator like program, and we use My Document to store indexing data an alike, because when a user decides to format, or reinstall his/her OS, generally saves all data in this folder..., that is why we use this folder, but i agree with this annoying stuff, but sometimes if we let the user decide where to put this data files, sometimes they just forget it;s location and lost big amounts of data because we use encryption and all files are in the folder mentioned.
-
toxcct wrote:
- do not enfore user datas in a system directory like Program Files (when a good place is My Documents for instance)...
:omg: My Documents is as bad as Program Files. Documents and Settings\UserFolder would be the way to do this in my opinion.
Regards, Nish
Nish’s thoughts on MFC, C++/CLI and .NET (my blog)
Currently working on C++/CLI in Action for Manning Publications. (*Sample chapter available online*)Never insist on a data directory. I want it on the server under the job number. Usually in a directory that varies depending on the app it came from. Yes, I can sort, I still want drawings, financial, documentation... in their own space. I also hate fixed size windows. dave
-
So, what do you look for? I made a list of the following, but I could be wrong.
- Three user interface options during installation: Novice, Standard, and Expert. Each level adds more control over certain details of the application. I'll talk about the standard mode from here on.
- Taking care not to reassign file associations if they've already been assigned.
- Being careful in naming applicatino files. (This includes not prepending every application name with the company and creating a program files folder that are not suffixed with a version number. e.g.: "Frontpage" instead of "Microsoft Frontpage 2003") I really this redundancy especially when the folder name makes this point.
- If a serial number is required, the installer asks for it immediately before any setup choices are made. That way, the serial number prompt doesn't have to [possibly] surprise the user after a long setup routine.
- Having a "never show this message again" checkbox for dialogs that are deemed annoying.
- Taking care to persist the application state in case there is a crash (much like Microsoft Word and Firefox's SessionSaver extention).
- Wording the dialog boxes so that the most novice end-user would understand. Dialog boxes with unexplained error codes are just confusing. In the case of an error dialog, make the error information selectable and copyable.
- Not placing unnecessary files on the desktop or the documents folder. (Adobe pissed me off by putting an "Updater5" folder in my documents. Deleting it didn't help. It just kept reappearing. I would've preferred if it were in the Application Data folder.)
- Using open standards as best as possible without resorting to proprietary formats and/or extentions.
- Making movable parts lockable in case the user wants to prevent mouse slips from messing up their customizations.
- Having context sensitive help throught the application.
- Making shortcut keys customizable.
- Extendable vis plugins.
- Tries to consume minimal resources.
- Attempts to keep all [possibly] sensitive data in encrypted form, even if it has to default to an application's key. The application should still prompt the user to provide their own key in place of the default.
- The language of the useri nterface can be changed. If so, the item that lets users change the language should advertise itself in a language-neutral way. I don't want to look for a menu called "Инст&
Yes, all that and then if you could make it clean the house and fulfill "other" wifely duties, we could all go on vacation :)
"Quality Software since 1983!"
http://www.smoothjazzy.com/ - see the "Programming" section for freeware tools and articles. -
Behind The Scene wrote:
Taking care to persist the application state in case there is a crash
Now that's a really Bad IdeaTM! What good is it to me to preserve the application's status - "crashing" - in that event. Better to take periodic snapshots when a change occurs, and revert to a state prior to the crash on restarting.
"...a photo album is like Life, but flat and stuck to pages." - Shog9
Yeah, I get pretty annoyed when I'm typing along and Visual Studio stops responding because it is "Saving Autorecovery Information..." for like ten minutes. Grrrr....
"Quality Software since 1983!"
http://www.smoothjazzy.com/ - see the "Programming" section for freeware tools and articles. -
Behind The Scene wrote:
What do you look for in a well-rounded application?
I agree with lots of stuff that has already been mentioned. One thing I would like to add is about help files. I really dislike when the help system doesn't help the user at all (which happens waaayyy too often!). Usually, this happens when the help system does nothing but try to explain what the user interface elements do. Example: "To apply filters to your current selection, go to Edit - Filters and choose the filter you would like to apply". This doesn't help me at all. What will these filters do? Why should I use them? What is a filter? I prefer task-oriented help systems, where there are tutorials: "I have a picture I took with my digital camera, and I want to display it on my blog page. How do I do that?". The help program should then explain to the user how to do that. Users have problems they want to solve. They don't care at all about what options the program offers, they only care if their program helps them solving their problem. I realize that the program authors cannot possibly predict all scenarios which the user would like to get help about, but still: they should have some idea about what problems their software is designed to solve. The help system should explain how these problems should be solved.
Wenn ist das Nunstück git und Slotermeyer? Ja! Beierhund das oder die Flipperwaldt gersput!
dabs wrote:
I realize that the program authors cannot possibly predict all scenarios which the user would like to get help about
Yeah you can. Anything the program is intended to do needs to go in the help file. Any other usage is not supported. Programs have a well-defined set of features, otherwise they never get finished. Providing help for all those features is pretty easy when you're the application designer. There is no excuse for undocumented features. You know what they are, you put them in there, document them.
"Quality Software since 1983!"
http://www.smoothjazzy.com/ - see the "Programming" section for freeware tools and articles. -
So, what do you look for? I made a list of the following, but I could be wrong.
- Three user interface options during installation: Novice, Standard, and Expert. Each level adds more control over certain details of the application. I'll talk about the standard mode from here on.
- Taking care not to reassign file associations if they've already been assigned.
- Being careful in naming applicatino files. (This includes not prepending every application name with the company and creating a program files folder that are not suffixed with a version number. e.g.: "Frontpage" instead of "Microsoft Frontpage 2003") I really this redundancy especially when the folder name makes this point.
- If a serial number is required, the installer asks for it immediately before any setup choices are made. That way, the serial number prompt doesn't have to [possibly] surprise the user after a long setup routine.
- Having a "never show this message again" checkbox for dialogs that are deemed annoying.
- Taking care to persist the application state in case there is a crash (much like Microsoft Word and Firefox's SessionSaver extention).
- Wording the dialog boxes so that the most novice end-user would understand. Dialog boxes with unexplained error codes are just confusing. In the case of an error dialog, make the error information selectable and copyable.
- Not placing unnecessary files on the desktop or the documents folder. (Adobe pissed me off by putting an "Updater5" folder in my documents. Deleting it didn't help. It just kept reappearing. I would've preferred if it were in the Application Data folder.)
- Using open standards as best as possible without resorting to proprietary formats and/or extentions.
- Making movable parts lockable in case the user wants to prevent mouse slips from messing up their customizations.
- Having context sensitive help throught the application.
- Making shortcut keys customizable.
- Extendable vis plugins.
- Tries to consume minimal resources.
- Attempts to keep all [possibly] sensitive data in encrypted form, even if it has to default to an application's key. The application should still prompt the user to provide their own key in place of the default.
- The language of the useri nterface can be changed. If so, the item that lets users change the language should advertise itself in a language-neutral way. I don't want to look for a menu called "Инст&
Also:
- Remember last used directory (I hate all progs which always returns to My Documents or its install dir)
- OK and Cancel buttons (or other similar ones) should be bound to Enter and Esc keys
- App should have working uninstaller (especially for larger apps)
-
So, what do you look for? I made a list of the following, but I could be wrong.
- Three user interface options during installation: Novice, Standard, and Expert. Each level adds more control over certain details of the application. I'll talk about the standard mode from here on.
- Taking care not to reassign file associations if they've already been assigned.
- Being careful in naming applicatino files. (This includes not prepending every application name with the company and creating a program files folder that are not suffixed with a version number. e.g.: "Frontpage" instead of "Microsoft Frontpage 2003") I really this redundancy especially when the folder name makes this point.
- If a serial number is required, the installer asks for it immediately before any setup choices are made. That way, the serial number prompt doesn't have to [possibly] surprise the user after a long setup routine.
- Having a "never show this message again" checkbox for dialogs that are deemed annoying.
- Taking care to persist the application state in case there is a crash (much like Microsoft Word and Firefox's SessionSaver extention).
- Wording the dialog boxes so that the most novice end-user would understand. Dialog boxes with unexplained error codes are just confusing. In the case of an error dialog, make the error information selectable and copyable.
- Not placing unnecessary files on the desktop or the documents folder. (Adobe pissed me off by putting an "Updater5" folder in my documents. Deleting it didn't help. It just kept reappearing. I would've preferred if it were in the Application Data folder.)
- Using open standards as best as possible without resorting to proprietary formats and/or extentions.
- Making movable parts lockable in case the user wants to prevent mouse slips from messing up their customizations.
- Having context sensitive help throught the application.
- Making shortcut keys customizable.
- Extendable vis plugins.
- Tries to consume minimal resources.
- Attempts to keep all [possibly] sensitive data in encrypted form, even if it has to default to an application's key. The application should still prompt the user to provide their own key in place of the default.
- The language of the useri nterface can be changed. If so, the item that lets users change the language should advertise itself in a language-neutral way. I don't want to look for a menu called "Инст&
One of my fave apps is Media Player Classic, which I would describe as clean, concise and effective. Recently though I noticed that it was messed up by my installing some newer motherboard drivers. So I updated it and its now fine again. I don't know if this idea is either sane or possible : Imagine if apps could make images of associated driver files they use, and allow the user to select / rollback the drivers USED BY THAT APPLICATION ONLY. I realise that this might cause horrendous crashes and eat lots of hard-drive but in some cases it might be just superb. Maybe it's an OS feature more than an app feature. Or maybe it's just a terrible idea and I should be shot for even suggesting it. N
'All there really is, is: virtue and vice' ...Black Crowes
-
Good thread mate.
Behind The Scene wrote:
hree user interface options during installation: Novice, Standard, and Expert.
I think that is one too many. Two at the most "Customise and Default."
Behind The Scene wrote:
Taking care not to reassign file associations if they've already been assigned.
That is a tough one. If I am installing a new graphics editor I want it to be the default editor for most graphics files. But it has to be smart about it e.g. Fireworks shouldn't try and handle PSDs and Photoshop shouldn't handle PNGs. I'm not sure what the best solution is. Asking the user during installation is complex but not asking them can result in bad defaults.
Behind The Scene wrote:
Having context sensitive help throught the application.
Make sure it can be easily turned off.
Behind The Scene wrote:
"Frontpage" instead of "Microsoft Frontpage 2003"
I often have to have multiple versions of the same app. So in the Customise version of the installer the app should let me structure the install dir as I want. I normally go Company\Product\Version.
Behind The Scene wrote:
Not placing unnecessary files on the desktop or the documents folder. (Adobe pissed me off by putting an "Updater5"
Oh yeah, good one. That Adobe updater is freaking annoying. Saying that many normal users love a billion installed shortcuts on their desktops.
Behind The Scene wrote:
Making private data (such as file history and caches) permanently deletable
But don't get in my way with that "feature." I very rarely need to clean up what I have done.
Behind The Scene wrote:
Attempts to keep all [possibly] sensitive data in encrypted form
But don't get in my way. I have never had to encrypt data.
regards, Paul Watson Ireland & South Africa
Shog9 wrote:
And with that, Paul closed his browser, sipped his herbal tea, fixed the flower in his hair, and smiled brightly at the multitude of cute, furry animals flocking around the grassy hillside where he
Paul Watson wrote:
I'm not sure what the best solution is. Asking the user during installation is complex but not asking them can result in bad defaults.
I think a good solution to this one is to post pone the question until the user double clicks on a PNG or PSD. Instead of associating the file with our application, associate it with a tiny application that just asks the user if they want to use the new app you just installed, or the association it had recently, e.g. Photoshop That way the user never get's pestered about things they don't care about, and only get asked when it is neceassary. Whatchya think?
-
Paul Watson wrote:
I'm not sure what the best solution is. Asking the user during installation is complex but not asking them can result in bad defaults.
I think a good solution to this one is to post pone the question until the user double clicks on a PNG or PSD. Instead of associating the file with our application, associate it with a tiny application that just asks the user if they want to use the new app you just installed, or the association it had recently, e.g. Photoshop That way the user never get's pestered about things they don't care about, and only get asked when it is neceassary. Whatchya think?
hmm yeah, that may work if done well. So before your app is installed App A is the editor for the file. Then the first time after installing your app. that they try to edit a file your app. can handle it asks "Use New App or keep using App A." I can see some people being annoyed by that but they'd get annoyed at naked dancing girls as there is no pleasing them (the people, not the girls.)
regards, Paul Watson Ireland & South Africa
Shog9 wrote:
And with that, Paul closed his browser, sipped his herbal tea, fixed the flower in his hair, and smiled brightly at the multitude of cute, furry animals flocking around the grassy hillside where he sat coding Ruby on his Mac...
-
Never insist on a data directory. I want it on the server under the job number. Usually in a directory that varies depending on the app it came from. Yes, I can sort, I still want drawings, financial, documentation... in their own space. I also hate fixed size windows. dave