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:
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)
-
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, 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:
Three user interface options during installation
not important at all, for ordinary users, 99% of them, having one installation option is enough; KISS principle
Behind The Scene wrote:
Extendable vis plugins.
Not really important for 99% of the users out there; do not make the mistake of believing that ALL advanced users want to spend times extending an application; KISS principle
Behind The Scene wrote:
Keeping the user interface consistent.
One of the most important thing. IMO. ---- I, for one think that a software should be as simple as possible, limit to the number of options, settings and user customizations. You missing the need to have well written documentation, which is different than on-line help.
Maximilien Lincourt Your Head A Splode - Strong Bad
-
Nishant Sivakumar wrote:
Documents and Settings\UserFolder
More like
Documents and Settings\_User_\Application Data\_AppName_
. Or to be more exact,%appdata%\_AppName_
.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
-
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:
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
-
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 "Инст&
It seems that nobody has talked about the following: 1. Don't assume that everybody has the same 24 inch monitor that you have. Don't rely on huge resolutions. The corollary to this is test your application at multiple resolutions. 2. Put the common functions in easy to find locations. 3. Where possible, try to make it easy to get at options without having to use a mouse. 4. Don't reinvent shortcuts. I hate applications which use CTRL-C to do something different. 5. Don't nest menus too deep. 6. Make sure that your colours don't clash. 7. Give the user an option to reset options back to "sensible" defaults. 8. Keep your screens from being too busy. One of the worst applications in this respect is Caligari Truespace. That's an unbelievably complicated interface. 9. Don't assume that you know every option that we want to get at. I hate applications that have context toolbars that remove options that I want because they think they aren't appropriate. If I think it's appropriate to me, then it is. 10. Don't create a "cutesy" interface just because you can. Only do it if it's appropriate - this also applies to skinning applications. 11. Put enough information on the screen to let a user make an informed decision about what a command will do.
the last thing I want to see is some pasty-faced geek with skin so pale that it's almost translucent trying to bump parts with a partner - John Simmons / outlaw programmer
Deja View - the feeling that you've seen this post before. -
It seems that nobody has talked about the following: 1. Don't assume that everybody has the same 24 inch monitor that you have. Don't rely on huge resolutions. The corollary to this is test your application at multiple resolutions. 2. Put the common functions in easy to find locations. 3. Where possible, try to make it easy to get at options without having to use a mouse. 4. Don't reinvent shortcuts. I hate applications which use CTRL-C to do something different. 5. Don't nest menus too deep. 6. Make sure that your colours don't clash. 7. Give the user an option to reset options back to "sensible" defaults. 8. Keep your screens from being too busy. One of the worst applications in this respect is Caligari Truespace. That's an unbelievably complicated interface. 9. Don't assume that you know every option that we want to get at. I hate applications that have context toolbars that remove options that I want because they think they aren't appropriate. If I think it's appropriate to me, then it is. 10. Don't create a "cutesy" interface just because you can. Only do it if it's appropriate - this also applies to skinning applications. 11. Put enough information on the screen to let a user make an informed decision about what a command will do.
the last thing I want to see is some pasty-faced geek with skin so pale that it's almost translucent trying to bump parts with a partner - John Simmons / outlaw programmer
Deja View - the feeling that you've seen this post before.Pete O'Hanlon wrote:
Don't reinvent shortcuts. I hate applications which use CTRL-C to do something different.
Damn right! ^C should terminate the app, no exceptions... ;P
----
It appears that everybody is under the impression that I approve of the documentation. You probably also blame Ken Burns for supporting slavery.
--Raymond Chen on MSDN
-
Pete O'Hanlon wrote:
Don't reinvent shortcuts. I hate applications which use CTRL-C to do something different.
Damn right! ^C should terminate the app, no exceptions... ;P
----
It appears that everybody is under the impression that I approve of the documentation. You probably also blame Ken Burns for supporting slavery.
--Raymond Chen on MSDN
LOL! But it's not commandline =P
ROFLOLMFAO
-
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 "Инст&
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.
-
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 "Инст&
I know that these are probably not all that important in the grand scheme, but they became important to me just recently. 1) Don't store application information in the registry, store information in the application folder. 2) Same thing goes for DLL files, product keys, etc. I recenly had a hard disk crash in such a way that it would not boot and load Windows and I was unable to repair it. I was able to verify that the disk was still good and all of my files were still there. So, I bought another hard disk and installed Windows on it. I then proceeded to reinstall most of my software because most of the applications were looking for registry entries, product keys, or dll files, etc. There were, however, some software packages that still worked (mostly open source apps like FileZilla). I don't really know why they all can't do that. On a related note. A user ought to be able to drag a program folder from one place to another and the program should still work.
Gary Kirkham Forever Forgiven and Alive in the Spirit He is no fool who gives what he cannot keep to gain what he cannot lose. - Jim Elliot Me blog, You read
-
I know that these are probably not all that important in the grand scheme, but they became important to me just recently. 1) Don't store application information in the registry, store information in the application folder. 2) Same thing goes for DLL files, product keys, etc. I recenly had a hard disk crash in such a way that it would not boot and load Windows and I was unable to repair it. I was able to verify that the disk was still good and all of my files were still there. So, I bought another hard disk and installed Windows on it. I then proceeded to reinstall most of my software because most of the applications were looking for registry entries, product keys, or dll files, etc. There were, however, some software packages that still worked (mostly open source apps like FileZilla). I don't really know why they all can't do that. On a related note. A user ought to be able to drag a program folder from one place to another and the program should still work.
Gary Kirkham Forever Forgiven and Alive in the Spirit He is no fool who gives what he cannot keep to gain what he cannot lose. - Jim Elliot Me blog, You read
Gary Kirkham wrote:
A user ought to be able to drag a program folder from one place to another and the program should still work.
Yes. Oh, wow, that's sooo nice when it works. I had two harddrives (separate machines) fail in the past few months, making it necessary for me to re-install a lot of apps. I'd have gladly just included the apps in the backup, but know from experience that neither VisualStudio nor Office react well to that technique, and since those two apps together make up the vast bulk of the time needed to re-install...
----
It appears that everybody is under the impression that I approve of the documentation. You probably also blame Ken Burns for supporting slavery.
--Raymond Chen on MSDN
-
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
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
-
Gary Kirkham wrote:
A user ought to be able to drag a program folder from one place to another and the program should still work.
Yes. Oh, wow, that's sooo nice when it works. I had two harddrives (separate machines) fail in the past few months, making it necessary for me to re-install a lot of apps. I'd have gladly just included the apps in the backup, but know from experience that neither VisualStudio nor Office react well to that technique, and since those two apps together make up the vast bulk of the time needed to re-install...
----
It appears that everybody is under the impression that I approve of the documentation. You probably also blame Ken Burns for supporting slavery.
--Raymond Chen on MSDN
I still haven't got around to reinstalling VStudio 6.0 and .Net for just that reason. Not ready for mind numbing effort.
Gary Kirkham Forever Forgiven and Alive in the Spirit He is no fool who gives what he cannot keep to gain what he cannot lose. - Jim Elliot Me blog, You read
-
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:
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
-
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
Good job! THERE'S some stuff you don't see in the books. Gotta paste these away for later :) Am I crossing the lounge line asking for the "Open With" registry key? AND that's a :cool: sig
-
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:
My addition: Any app written for a specific task should start with a UI that clearly leads to that task being accomplished. A blank screen, with File->Open leading into whatever functionality is available... is not an appropriate UI for very many apps. If any.
And yet that's what I like. What I don't like is having to jump through hoops in order to have an app startup "empty"; Word, Excel, and Visual Studio each has its own method and the closest you can get with Internet Explorer is to make about:blank your home page.
-
I know that these are probably not all that important in the grand scheme, but they became important to me just recently. 1) Don't store application information in the registry, store information in the application folder. 2) Same thing goes for DLL files, product keys, etc. I recenly had a hard disk crash in such a way that it would not boot and load Windows and I was unable to repair it. I was able to verify that the disk was still good and all of my files were still there. So, I bought another hard disk and installed Windows on it. I then proceeded to reinstall most of my software because most of the applications were looking for registry entries, product keys, or dll files, etc. There were, however, some software packages that still worked (mostly open source apps like FileZilla). I don't really know why they all can't do that. On a related note. A user ought to be able to drag a program folder from one place to another and the program should still work.
Gary Kirkham Forever Forgiven and Alive in the Spirit He is no fool who gives what he cannot keep to gain what he cannot lose. - Jim Elliot Me blog, You read
Gary Kirkham wrote:
Don't store application information in the registry
Hear hear! The registry is evil.
-
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:
Kept all it's files in it's installation folder and not in the user's documents folder or desktop.
writing user data to program files\my app, instead of my documents or the user designated alternate has been against MS best practices for years, and will inflict UAC hell on any of your users running vista. Regardless of how much you, or other geeks may pontificate about how bad it is (just like we did with XP), 6mo from now 99% of new windows machines will be running it, which means you'll have to meet the minimum doesn't suck level of compatibility.
-- Rules of thumb should not be taken for the whole hand.
-
Shog9 wrote:
My addition: Any app written for a specific task should start with a UI that clearly leads to that task being accomplished. A blank screen, with File->Open leading into whatever functionality is available... is not an appropriate UI for very many apps. If any.
And yet that's what I like. What I don't like is having to jump through hoops in order to have an app startup "empty"; Word, Excel, and Visual Studio each has its own method and the closest you can get with Internet Explorer is to make about:blank your home page.
PIEBALDconsult wrote:
And yet that's what I like. What I don't like is having to jump through hoops in order to have an app startup "empty"; Word, Excel, and Visual Studio each has its own method
say what? All 3 of these open without an existing document from the start menu or quick launch bar.
-- Rules of thumb should not be taken for the whole hand.
-
Behind The Scene wrote:
Kept all it's files in it's installation folder and not in the user's documents folder or desktop.
writing user data to program files\my app, instead of my documents or the user designated alternate has been against MS best practices for years, and will inflict UAC hell on any of your users running vista. Regardless of how much you, or other geeks may pontificate about how bad it is (just like we did with XP), 6mo from now 99% of new windows machines will be running it, which means you'll have to meet the minimum doesn't suck level of compatibility.
-- Rules of thumb should not be taken for the whole hand.
I don't want to find a DLL, EXE, or any application component anywhere on my Desktop or My Documents. Anywhere else is fine — preferrably Program Files or Windows\System32.
ROFLOLMFAO