Related
I just made my first super simple honey pot and am wondering if it will even work:
An input field floated -9999 left won't be visible to most humans. And there's a note saying "Don't write here" if they do see it.
An "onChange" event listens for change to that field and when it changes, it alerts ('You're spamming me!') and then redirects to Google.
I am wondering if this is too designed with a human in mind. Do bots fill the entire form out at one instant? Would a bot still be able to fill the form out if there's an alert on the page? Can I force the entity that's using the page to click the "OK" on the alert, effectively causing the bot to wait forever?
I am sure there are hugely robust systems that are out there but I'm looking for something very simple. I don't get so much spam that I can't handle it...just am frustrated winnowing through 300 spams each month trying to find the one or two new users who actually signed up.
Thank you for any help/suggestions!
Well, yes and no. Some bots will maybe fall for it and fill out everything, but others won't.
Redirecting with JavaScript doesn't sound like a very good idea, because most bots haven't got a JavaScript engine. You could use this fact to filter them - although you could also filter legitimate users.
You may also check how long it takes to get the user fill out the form - if it's too short, it's probably a bot.
Don't expect a 100% success rate, but a combination of techniques may already help a lot.
I have an application that displays a dialog when the user needs to enter information. The reason for this, is to keep the main form readonly, and only when you need to add/edit data will a dialog appear.
The problem I'm wrestling with is what to display for the label names in the dialog. The application is a WPF desktop app and traditionally desktop apps are very short on label names (usually one or two words). I want to make the dialog user friendly and be more descriptive about the information that is required. Web developers seem to be catching on to this and are much more descriptive with their label names, but most of the forms I've looked at are forms that are only filled in once, whereas I will have data that can be edited.
An example: If I had a label that asked a user if an employee smoked, in most a destop apps the label would normally be something like 'Smokes?' with a checkbox, whereas I want something like 'Does the employee smoke?'. My issue with this is, that the first time you come across this dialog and enter the data, then it seems OK, but what about when you are editing data that is already there. Does this label now make any sense. Past tense and present tense seem to be getting in my way and I was interested in what people think or ways they have approached this. The application I'm writing is a WPF app and I feel that traditional label names are a bit old in the tooth now.
Another example would be entering contact details for a person. Do I just have labels that say Phone, Fax, Email or something more descriptive. i.e. a label that appears before the textboxes stating 'Enter the contact details below' and then the single word labels?
Maybe I'm just being pedantic about all this, but I would like to take a step forward so that my application contains more than single word labels that are sometimes unclear to the user about what is required.
Why not make use of the concise labels and use Tool tips for a longer explanation.
The longer explanation is only required when a user is unfamiliar with the application anyway.
Also, you could re-word a label to make it sound more like a question such as "Is a Smoker?"
Since you are using Stack Overflow, take note of their use of tooltips, I think Jeff Attwood has a blog post or comments in a podcast about the use of tooltips in SO. I can't remember where I heard / read it.
Have you thought about creating a "quickstart" flow or wizard for entering data for the first time? This would give you the opportunity to guide the user through the process, using labels with descriptions, so that they learn to associate the description with the label you've chosen (hopefully something succinct but intuitive). Then when they need to edit data, they have learned the application taxonomy.
If you are running into issues with tenses, steer clear of using verbs or only use the present tense. I would try using nouns - "smoker?" instead of "smokes?"
When you're asking for common data like phone numbers, email addresses, you can probably assume that the user will understand what you mean. Just be clear as to whose contact information you are asking for - using a title for the field set that is explicit is a good idea ("Employee Contact Details"), adding a short description above the field set will help too.
Of course, you should always do some level of usability testing on your application before you launch it to uncover any issues with the interface.
In a project I'm working on, we have a nav menu where items are colored when the relevant section has information beneath it, or faded when there's nothing available to the user. In the case of an admin, these items may have no useful information but may still be clickable (since things like "Add news item" or "Add file" are implemented as sub-menus).
The call from On High has come down to make these admin items stand apart somehow. Since we're already using the faded text for unclickable items, I was wondering if there's an established UI convention for denoting that an item is clickable, yet contains no information.
And yes, I've already asked why we're bothering to show items that aren't available to the user. The short of it: because On High wants to.
Short answer, no I don't think there's a convention for this. Lots of people would say if its not applicable, don't show it. However, there's some debate on this. One of the reasons Microsoft started using The Ribbon in MS Office is because they wanted to get away from dynamic menus where options hid and showed 'intelligently'. Users couldn't figure out the rules for what appered where, and when.
Maybe separate the concerns here: 1) how to indicate the item is clickable, and then 2) how to indicate the item contains no information.
The first one is relatively well established -- blue underlined text. You can also make it look like a button Of course, if you've got a site-specific look for your hyperlinks, use that. Basically don't break the users' expectiations of what things are clickable.
Second, how to show there's nothing there worth clicking on. I think what you want is some visual indication of the priority/utility of these admin links relatively to others. Some options:
Can you move the admin links to the bottom of a list?
Add a number indication how many things are on the other side of the link?
Strikethrough on the text?
Since there are no hard-and-fast conventions on this sort of thing, just remember that anything you do which is consistent will work. Some things will just work better than others.
No matter what you choose, the user will learn after a few tries what the new method of empty indication is.
If it is well thought out and consistent, they will probably get it after a couple of clicks.
Also, remember that too many highlights, colors, fades, and underlines will wash out any amount of effectiveness at visually organizing your menu so it is easy to use. At some point it can actually get harder to use by over-organizing things.
Think about it this way: There are two boxes sitting on a virtual shelf. One is red and the other is blue. The selected box is identified by a differing color than the other box... Now, which is the selected box?
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
On a web contact form, is the reset button really required? Is it really used by anyone? If I don't put it in a page, is there an usability fail?
10x!
Well, it's very useful to erase that textarea your customer just took the time to write, because they press the wrong button -before they lose it anyway because the session expires, and have to retype-
No, I really don't think it's useful.
It's actually sometimes useful for web forms which will be accessed from public terminals - a good example would be a search form for a public library card catalogue.
Imagine if the search form has a lot of fields (author, year, keywords, topic, publisher, collection, title, series, whatever). This lets you do very specific searches (all books by authors named John published in 1987), but once you've found the result you (or another user) may want to do a new search using a very different set of terms (all books about fish published by Random House. A reset button can help a lot here, because you may otherwise find yourself manually clearing a large number of fields.
(Depending on implementation details, a reset button may also be useful if a user doesn't want the next user to see what they were searching for. Again, this is useful in the context of a library, where privacy is a concern.)
I honestly don't think so in the general case, but you should talk to your users or otherwise examine how they use your system to make sure.
General rule of thumb: If you aren't sure that it's a requirement and you have no way of knowing, don't include it. You can always include it on a later iteration.
The reset button must be the safe winner in any contest measuring a uses/usefulness ratio since it's omnipresent and fully useless.
I think it's a) completely useless to 99% of users; and b) requires far too much work in a typical LOB application. Often business analysts add requirements for the Reset button without giving any thought as to why this feature is required.
add it to the webform and log it whenever a user clicks it. that will provide information for your specific page if it's needed or not. we cannot guess if people want it or not.
just use simple analyzing tools of users need it or not.
I don't think it's necessary in most web-pages. If you're entering information, and you enter it wrong, then you'll need to go through every wrong text-box and re-enter it. The reset button is, at minimum, one extra button click on top of that.
If you don't want to enter information, you just don't click the submit button.
The only time I see a reset button being useful is if you have a multi-page workflow, and need to be able to start from scratch. Even then I would suggest re-designing the workflow.
In my opinion the reset button is completely useless on the majority of forms. I mean think about it... Can you ever imagine a time were you would want to complete remove all of the information you typed in? Not likely. Most users tend to make edits to specific fields not the entire form.
In the case that you have to have such a secondary action like a reset button it's better that that button is a little smaller as well as colored a little differently. Let the user know "this button is different" and apply Fitt's Law to make it a little harder to click on.
Absolutely NOT required. In fact, it's a bad idea to use it if you have a long form and have a RESET button at the bottom because you could make some people really angry if they find out that they accidently hit "RESET" and their data is deleted.
Required. Make sure you swap the position of the reset and submit buttons on some of your forms. Better yet, write code to randomly swap their position once in a blue moon.
In all seriousness, I've never used one. When I removed it from the forms on my school's registrar's site that I was working on when I was a student, nobody said anything. So I say leave it off.
Not only on the contact form. I can't also find the benefit of reset button in any type of HTML form, IMHO. But I tend to put it every time I create a form :)
Only reason I could think of is on a preview & confirm scenario, where a user might modify part of their entry before hitting the big bad send button, and actually decide itt made more sense the first time around
I usually leave out the reset button, because I've never seen anybody use it.
I often use the free space for a cancel button which returns the user to where he came from in the first place (the page linking to the form). Makes much more sense to me.
What if I says it IS useful? But not in every form.
I use it with the "UPDATE" part in a CRUD application sometimes.
Say SO for example, I hit an edit link on a question.... and made some edits and reread it... but then I decided it is not a good edit... I have to reload the page or go back to the last page and hit the edit link again to get the original text.
Whereas, if there is a reset button slapped there, it'd be easy.
And there is always CTRL+Z.. so why not?
There are some good uses but just don't slap it in silly like what most ancient HTML books would teach you to.
It can be useful for clearing radio buttons without using Javascript.
In the form below either zero or one radio button may be selected:
Select any one option for any Item(s):
Option 'A' Option 'B' Option 'C'
Item 1 o o o
Item 2 o o o
Item 3 o o o
Item 4 o o o
If a user changes his mind or accidentally clicks on an item's button he didn't want, a reset button will clear the whole form, which seems to be only way to get rid of the selection without using Javascript.
I guess it depends on how large the form is and how big the chance that you actually want to do this. TBH, i've been developing websites for years and never really added one to forms.
It is useful on a form that repeats your previous information. I have had cases in admin interfaces where the users want what they typed in last time, so they don't have to remember. However, on those occasions when they want the form to reset, they simply press the "clear" (or reset) button.
On a one-time form a reset button would be silly.
A reset button should be used only when there is default information. An example is this form. What if I make changes to most of the values but then would like to get it back to it's original state? I guess I could reload the page as long as it doesn't resend my POST. Or I could just hit a simple reset button. The button was never intended to clear all information entered by the user but to reset preset data.
I would suggest the usability fail will present itself if and when a user or business owner complains about the absence.
Definitely not required as a "standard" feature and usually a very bad idea with the exception of the special cases given above where the functionality seems to add value. However the most of the cases offered as examples above could be dealt with in different (and I would suggest, better) ways than with the, often awful, reset button.
Reset is for use with HTTP status 204 only
Destination of the form can send 204 No Content response, which causes browsers to leave the current page unchanged.
In that situation reset button is most reliable way to reset form to original state (page reload could re-send the form).
However I can't come up with realistic use-case for it anyway.
I'm currently working on a program that has many of those "the user SHOULD read it but he'll click OK like a stupid monkey" dialogs... So I was thinking of adding something like a captcha in order to avoid click-without thinking...
My ideas were:
Randomly change buttons
Randomly position buttons somewhere on the form
The user must click on a randomly colored word within the text he should read
add captcha
add captcha that includes the message for the user
Has anybody made any experience with such a situation. What would you suggest to do?
Well, you asked for opinions and here goes mine, but I don't think this is what you would like to hear...
Users like programs that they can depend on. They don't like when things change and they don't like to do extra work.
Randomly change buttons and Randomly position buttons somewhere on the form will only make them either press the wrong button or become annoyed with your application, because as you say, they don't read the text, and if you think about it, neither do we. As an example think of an Ok/Cancel dialog, you allways expect the ok button to be on the left, and most times i press it without reading it. It Will happen exactly the same with your users.
The user must click on a randomly colored word within the text he should read
add captcha
add captcha that includes the message for the user
With these 3 option you will add extra work to your application, your users will curse you for that. Just think of something that you would have to do 10x per day, let's say check in your code to source safe. How would you feel if your boss told you that from now on you will have to fill a captcha for each file you try to check in?
I think it's our jobs to make the lives of the people that use our software easier. If they must read some kind of text and they don't want to, there is absolutely no way you can make them do it.
You can´t make people work right, all you can do is provide them with the best possible tools and hope that they are professional enough to do their jobs.
So basically all i'm saying is, do your best to ease their work. If this is really important than you(or whoever is in charge) should talk to them and EXPLAIN WHY this is important.
You would be surprised on how people commit to things they understand.
I suggest that you don't; and that, unless you know better, you emulate respectable well-known, well-tested UIs like <big online retailer's> or <online banking site>.
Playing games with the user in order to get them to read messages is doomed. Users will focus mental resources on completing your game, rather than understanding the message. Your users may be less likely to actually understand the important part of the message if you have things like moved buttons, relabeling, scavenger hunts, captchas, or delays. They’ll focus on the instructions for the game, not on the real issue. Errors are likely to increase.
Users’ refusal to read message boxes is due to users wanting to get things done quickly rather than take the time to read stuff, and it is also due to message boxes being overused and misused so badly in so many apps. Including silly games in message boxes will just make users resent them all the more, compounding the problem.
Here’s what you can do:
Rule 1. Don’t use messages boxes. They should only appear for exceptional circumstances. An app should not have “many” message boxes. It should not be necessary to read a whole lot of documentation each time the user uses an app. If normal use of your app results in a message box, then your UI is wrong. Find another way.
Instead of verification messages, show clearly in the main window what has happened and provide a clear way to Undo it.
Use auto-correction, pictured/masked fields, and disabling rather than error messages.
Use good defaults and automation to avoid messages. For example, rather than showing an error message saying the user can’t upload because they’re not connected to the server, simply reconnect automatically.
Break commands along options. Rather that a message box to ask if the user wants paste with or without format, provide two different commands in the menu.
Don’t have information messages spontaneously popping up telling the user everything worked fine (e.g., “Preferences Saved!”)
Don’t have pop-ups providing helpful hints or documentation. Provide a tutorial or balloon help if you can’t make your UI self-documenting.
Don’t have nagging “upgrade me” messages.
Consider providing message text in the main window rather than in a separate message box (e.g., “Page may not look or act right because ActiveX is off for security.”). Pop-ups from web surfing have conditioned users to automatically dismiss anything that pops up as irrelevant.
Rule 2. If you have to use a message:
Make the text as brief as possible to get the key information across. More text is not equivalent to more helpful. Use “No match to [filemask] in [path].” Don’t use “Nonfatal Error 307: Search action aborted. [Appname] is unable to complete your string search for the regular expression you provided because the file mask you gave, namely [filemask], does not result in any matching files in the directory that you specified (which was [path]). Please check your filemask or path selection and again re-enter it or them in the Files to Search dialog box. Click the OK button below on this message box to return to the Files to Search dialog box. Click the Cancel Button on the Files to Search dialog when you get there to cancel your search for strings.” If there are some users who will need more explanation than can be achieved in a brief message, provide a Help button or a “How do I…” link in the message box.
Use plain language and no jargon in the message. That includes “innocent” words like “dialog,” “database,” and “toner.” Do not take raw exception text and throw it in a error message. Do not include any error numbers or dumps; log these instead. Purge your app of any debugging message boxes left by developers. Better to simply let the app disappear on a fatal error than to put up a message full of jargon and then the app disappears.
Label the buttons of a message box with what the action does, not “OK.” At the very least, the users have to focus on the activating button to dismiss a message box. If that button is labeled something like “Delete” or “Install,” it should give them pause. You should never have to explain in your message text what each button does. BTW, such labeling is a GUI standard on most platforms.
Redesign your application so that it does not use message boxes.
My suggestion, live with it or redesign your dialogs/interface. Do not add randomness to dialogs or otherwise treat the user like an idiot, even though you may think most are :-).
I just recently read a Joel on Software article, Designing for People Who Have Better Things To Do With Their Lives. It makes the point that most people won't read anything and discusses ways to work around that or at least not make it worse.
You could try with a timer which waits for the "supposed reading time" before enabling the submit button. You can even calculate the supposed reading time from the number of words.
I think that subtle ways to force the user to read your text (like moving around buttons or asking them to read a captcha) can make them feel like stupid monkeys.
You could use a choice question based on what the user should read.