What do you look for in a well-rounded application?
-
Yes, installers should use %appdata% and other system files shortcuts like this one. It is annoying when an english program installs in Program Files, when it should do it in "Archivos de Programa" since my Windows is in spanish. Then I have both Program Files and Archivos de Programa. :doh:
A polar bear is a bear whose coordinates has been changed in terms of sine and cosine. Personal Site
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.
-
Whatever you do, don't make it like Lotus Notes. X| X| X|
Cheers, Vikram.
"...we are disempowered to cultivate in their communities an inclination to assimilate to our culture." - Stan Shannon.
-
I'd also prefer if the application:
- Did not use folders in the Programs menu at all, unless it served to group related applications.
- Installed itself in the standard location for the operating system in question.
- Kept all it's files in it's installation folder and not in the user's documents folder or desktop.
- Kept all dangerous functions tucked away from the novice users.
- Made everything clear to the point that any confusing terms link to a glossary in a help file. (That would've probably solved your wife's problem?)
- Keep the settings in the registry or a file in the "User\Application Data" folder.
- Conform to the operating system's look and feel. (Although Microsoft breaks this on many occasions, especially with Microsoft Office whose interface usually inspires some change in the next version of Windows.)
Come to think of it, I think many of Apple's application design guidelines would apply. One such example would be putting potentially irreversible functions away from the reversible ones (such as buttons for saving and discarding an unsaved document). I still prefer the novice/advanced interface options. Maybe I've been using Shareaza too much. :doh:
ROFLOLMFAO
Behind The Scene wrote:
Keep the settings in the registry or a file in the "User\Application Data" folder.
I really think it's a bad idea to store settings in registry. It's cumbersome to find your settings in the registry and most of the users have no idea of the registry. It's way better to use the %appdata% folder. IMHO
company, work and everything else @ netis
-
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
I think that is what he meant. So in Firefox's case it remembers what tabs you had open and what text you had entered into any textboxes. In Word's case it recovers the document you were working on. If it continues to crash then you can choose the "Don't Restore State" option (though worded better as my mom would think that has something to do with the government state and would happily click "Don't Restore".)
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...
-
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 "Инст&
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
-
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*)So seeing as you both disagree, and there will be other opinions, make it definable. :)
-
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 "Инст&
None of these comments has mentioned my two pet hates. (1) Tiny little windows for changing system settings - for example the XP "wireless network connection properties" and in particular the scroll box headed "this connection uses the following items" and (2) The need to go to several different tiny windows to get at all the related settings - for example some of the wireless settings require you to go to the "device manager" window. When people want to change settings they rarely need to see another part of the application, so why not put all the settings together on a full-size screen? Having said that, in the particular case of wifi I have learned through bitter experience that it works best if I don't fiddle with it - apart from changing the "obtain an IP address automatically". But even that requires stepping through 4 windows.
Robin2
-
So seeing as you both disagree, and there will be other opinions, make it definable. :)
-
Now we're talking :)
-
Behind The Scene wrote:
Three user interface options during installation: Novice, Standard, and Expert. Each level adds more control over certain details of the application.
I hate that. I read it as, "Would you like this new app to be hard to use, or would you rather it be missing some functionality?" Either way, i'm gonna be unhappy. And I practically never switch modes in an app - if i can't find the feature i need, i assume it isn't there.
Behind The Scene wrote:
Taking care not to reassign file associations if they've already been assigned.
That's key. As a corollary, it should take file associations that make sense if they haven't been assigned. Making sure the app shows up in the "open with" list in Explorer is good too.
Behind The Scene wrote:
Being careful in naming application files.
Also bad: Putting the shortcuts three levels down into the Start menu, when only one is needed.
Behind The Scene wrote:
Having a "never show this message again" checkbox for dialogs that are deemed annoying.
Meh. Not showing annoying dialogs is better. The checkbox solution reeks of punting (we know no-one's reading these, but someone says we have to keep 'em around...)
Behind The Scene wrote:
Taking care to persist the application state in case there is a crash
That's occasionally acceptable. But for most apps, i'm already thinking badly of them when they crash, so the recovery isn't gonna help a whole lot. It's better than nothing.
Behind The Scene wrote:
Using open standards as best as possible without resorting to proprietary formats and/or extentions.
This only matters if i can actually use the datafiles apart from the app.
Behind The Scene wrote:
Making movable parts lockable in case the user wants to prevent mouse slips from messing up their customizations.
To generalize that, disabling any customizations that don't make sense is usually a good thing. AFAIK, Office did the whole "movable toolbar" thing because they created too many toolbars to ever show on-screen at once. So they punted, and said, "let the user figure it out". Hence, I don't get the formula tracing toolbar in Excel unless i a
Shog9 wrote:
Behind The Scene wrote: Taking care to persist the application state in case there is a crash That's occasionally acceptable. But for most apps, i'm already thinking badly of them when they crash, so the recovery isn't gonna help a whole lot. It's better than nothing.
I think this was ment more for hardware crashes (or for instance when you updated Windows and it restarts by itself .. a very very annoying feature IMHO)
-
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)