UI - How I can make users effectively read what my program says? - user-interface

I have a simple form that searches through the 2000+ issues of a 3rd party webcomic. (Easy, it's like xkcd: http://url/number
That form is as easy as possible, is like this:
What number do you want?
User writes a number, clicks ok, and goes on the 3rd party website on a new tab
Then, my form asks a question: "Did you find that issue memorable? Enter the name here, and we will add it to the "best issues" in home page"
When the user will write the name of the issue, it is added to the database (pending moderation by me)
So, I supposed this design is the easiest and convenient that users can find.
Unfortunately, NONE of the users (maybe a 2% behaved correctly) will actually read what I asked. Some of the issues are offline, and gives a 404. On that issues users will write in the textbox a completely wrong title, and correctly capitalized!
It's like if i would name http://xkcd.com/627/ as "The Great Adventures of Jack Smith"
Users are from around all over the country, with different browsers, and have a different cookie.
I cannot believe that my users will not read what I ask, it is a WHITE PAGE with a button that disappears when clicked and a textbox.... easier than that???
Maybe i should put a checkbox with "I acknowledge that this form is for submitting memorable issues, not for fun"? Oh, who will read that?
Or maybe i could enable the textbox only if the user has effectively clicked the link?

Do your users understand your site/service?
I, for one, don't remember (web-)comics by their issue number, but by their content. When asked what xkcd comic number I would like to see, I'd probably input random numbers like 42, 123 or 666 or something.
After you make me guess for a number you ask me if the associated comic is particularly epic, then you ask me to do some data entry for it to put it on some kind of hall of fame. Honestly I do not understand what the logic is behind inserting titles for non existing comics -- are you sure they don't actually land them on the comic page for "The Great Adventures of Jack Smith"? The 2% of your userbase probably noticed the issue in the URL you generated for them, addressed it and typed in the right title. Or, maybe, they are typing the name of the comic they actually wanted to see instead.
There's a simple way to know. Have your mom use it and do not correct her if she makes mistakes. All mistakes she makes are your fault, not hers.
Without having the text of the labels you have put it's harder for us to second guess what's going wrong than it is for you.

Try it!!
You could try parsing the title of the page and obtaining the title yourself
OR you might want to request the username/handle.
Once the user enters the details and clicks SUBMIT, Show a confirmation page ( preview of how the submission will be listed). Make sure to include the username/handle as the person who submitted it (This brings a sense of responsibility to the guy who submits). Remember to keep a back button to allow the user to go back and make the necessary changes ans submit again.
Allow users to create profiles on ur site (they maybe as simple as stackoverflow's profile system. here's mine for example). Unless he is logged-in, submissions posted as anonyomous. Rest same as above.
NOTE: There might be a slim possibility that, U are be being targetted by spam / captcha bots. Hence the random text entries. still. do implement the above. A better UI never hurt anyone. Right??...

Related

Mailchimp: re-confirm subscribers with a one-click button

I have been sent an example of a mailchimp HTML email which allows users to re-express their wish to stay on a mailing list. It just contains a brief message and one big button "Opt In" which users simply have to click once. The code of the button is as follows:
<img src=3D"https://somewebsite.us6.list-manage.com/track/open.php?u=3D=e57uw79a33&id=3Dhs7de4d771&e=3D936b9800f2" height=3D"1" width=3D"1">
(Obviously I've changed the URL and ID parameters for security). I'm trying to work out how the sender has done this. I'm not clear whether the result of hitting this button moves the subscriber onto a new list, flags them in some way, or removes subscribers that haven't clicked the button after some time limit- but any of those would suit our needs.
After a long time searching the net and options within Mailchimp, I still can't work out how to do this?
The most relevant article I can find about "Reconfirming a list" is this, but it seems a very roundabout way of doing it, plus the example email I have received appears to have been sent with Mailchimp which goes against what the article says, PLUS the article's instructions is to provide a link to a signup form rather than an embedded one-click button within the email itself, which is what I want.
A way to track the reconfirmations of your mailing within mailchimp:
Create a new campaign for your old list. Add a button 'Yes I want to continue to be on this list' and 'No thanks, remove me from the list'. The buttons should point to two different urls that undisputedly match the intent (e.g. example.com/stay-on-list or example.com/unsubscribe); prepare them on your website with whatever message you want to give them.
Send the mail; Mailchimp will track the links clicked for every user (this is by default, check your settings if you might have changed this) (this is actually why I hate to be on mailchimp, but for today it's convenient).
Wait a few days (or just before you want to send your next mailing)
Go to 'Reports' and click on your latest campaign
Click on the numbers clicked link and then do for the 'continue' link: Download the list as CSV; upload this CSV to a new list which is now 'cleaned'
For the 'unsubscribe' button; download the list, open it in your spreadsheet program (Excel, LO Sheet), grab the e-mailadresses and unsubscribe them manually from old list.
You now have two lists: one cleaned with properly confirmed addresses and one with members you're not sure of. You could try again with your next mailing but at a certain point you probably have to discard your old list (actually, EU-focussed organizations already should've already discarded these lists, but if you're a small org you might get away with it (AT YOUR OWN RISK: THIS IS NOT LEGAL ADVISE)).
But you may want some additional proof, because you don't have a list of who clicked what when. The risk is that someone someday might dispute his or her intent to be subscribed to your list. And the user dump you made from people who clicked on a link isn't really giving you much information that you can use and say, well at that day you did click on Subscribe. To the rescue is the MailChimp data dump (Click Username > Account > Settings > Manage my data), which actually gives you quite a simple table of timestamps, links and emailadresses. Will this hold in court? I really don't have a clue, it is easy to fake (it would've been better with ip-addresses etc), but at least it gives you some track record. Note that the data in mailchimp itself is not hard to fake, but maybe one day this data is gone, hence keep the MailChimp data dump.
(btw. before you do all this, maybe clean up your list beforehand: https://mailchimp.com/help/remove-inactive-subscribers/)
Actually, I quit mailchimp in favor of MailingBoss, but I believe AWeber also does this... they have what's called a "capture email" that is unique to each list... if you connect a button to it by using "mailto" link ... then it opens the users default email client and pre-populates their main email in it. Once they send that email to your capture email, it ads their email to your list. Pretty sweet stuff for mobile users.
Here's a vid on it
I couldn't figure out how to achieve this with MailChimp ...but in regards to the technique you want to use, after reading the MailChimp documentation I believe that the person likely achieved it by simply using segmentation... anyone that clicked the button was segmented and then perhaps only that segment was sent their follow up emails or maybe even the the segment that didn't click the link was manually unsubscribed on the back end...

"facebook comment id" added to url - inconveniently

A user comments on the page, the comment is posted to their facebook wall. When another facebook user clicks the link to see the comment it links back to the page but with a massive string of numbers on the end.
http://canofclouds.com/thought/?fb_comment_id=fbc_10150505683457013_20914817_10150507783662013#55
The original url was: http://www.canofclouds.com/thought/#55
This is all fine so far though, until the user clicks a button to go to
http://www.canofclouds.com/thought/#56
Instead, it goes to:
http://canofclouds.com/thought/?fb_comment_id=fbc_10150505683457013_20914817_10150507783662013#f25e670a6c
Which is not good - because it doesn't exist. Ideally it would just go to http://www.canofclouds.com/thought/#56
Normally, when the user clicks the next button a flurry of javascript grabs the hash key (in this case #55) then adds 1 to it (to make #56 - yay) and executes an ajax call to grab the new content. This facebook stuff is making things a little complicated though.
Any ideas?
Edit: Even more ideally i could disable the 'fb comments id' altogether.
You shouldn't use hash keys to link to your page. You should use a canonical URL to do so.
There are a few questions here on stack overflow about how to deal with this.
The only way around it if you choose not to make canonical urls, is to do URL Rewriting at the network or web server level.

Looking for an anti-spam solution easier to implement than Captcha

I'm looking for a simple anti spam form submission solution, other than Captcha. I've tried implementing Captcha into my website for anti-spam purposes, but it's been too difficult to integrate into the site. I don't get many spam attacks but I'd like to have something in place for the random spam that I get. Does anyone know of something they think would work?
you can add an additional textfield to your form and hide it with css. human users don't see the field, so it should always be empty. spambots usually fill out all form fields and don't know that this one is hidden. if you receive any content in this field, reject the form submission.
Put up something like "What is 3 plus 6?" and give the user a form to type the answer. Any human will get that, including blind ones who can't see a captcha, but no bot will. You don't even need to vary the numbers, really.

How do you prevent gaming of page views?

Say I have a site with pages. Pages are ranked based on the number of times they have been viewed. It is good for a page to be highly ranked because it will make it show up higher in my search results. Hence, the author of a page may try to game the system to increase that particular page's views.
So how do you prevent that while still keeping a quasi-accurate count?
I have come up with the following "scheme":
A user can only affect the page view once per session. This is what I would normally expect. If a user returns to the site later and views the page again, it should count as another page view.
The problem is that this makes the page view increment vulnerable to a script that clears its cookies before each request. The easiest solution to this problem would be to save the ip-address and only allow the same ip-address to increment page count once. This however has several major drawbacks; First of all, this would potentially take up a lot of storage, and second of all would prevent users on big LANs from incrementing page count. Lastly, a user cannot revisit a page and increment the page view more than once from the same ip. I can live with that, but would rather live without it.
The best method I can come up with off the top of my head would be to save the last X ip-addresses, and not let anyone from these ip-addresses affect the page view count. This would effectively stop any (simple) script from raising the page view count. Furthermore it would probably be a good idea to add a delay to the display of actual view count (basically keeping two counts and a datetime field for when the "display" count was last updated with the "actual" count, something I believe is done on the SE sites).
This is not a perfect solution, so I would be happy to hear your suggestions and/or comments.
Don't prevent: monitor and handle.
I would use a very different approach. Let the page views stay the same, but have reporting in place to looks for view-gaming. If a page gets gamed, you can find out who is responsible, give them a warning and a page-view penalty. If it continues, ban them.
I think that you should consider the reported characteristics of the browser as well. Browser fingerprinting has been done before and is well publicized. You can then figure out some pretty advanced heuristics on determining whether the same user is trying to game you. But don't publicize that you're using browser fingerprinting of course. Also, it won't stop incognito mode, but I'm just trying to give you one more avenue of thought to follow, in addition to your current IP oriented strategies.

How do you encourage users to fill out their profile?

I wanted to open up the topic to discuss ways to encourage or incentivize users to fill in information in a user profile on a website, such as skills, location, organization, etc. More information in a user profile can give a website an improved capability for its users to search, network, and collaborate.
Without bugging users to fill in their profiles (ie - via annoying e-mail reminders), what other ways have you come up with to encourage user input?
I have noticed that a simple graphic image (showing percentage complete..some thing like a battery icon on the cell) next to the username ( to the user) with a hover text (your profile is x% complete - click here) works.
I find the Stack Overflow concept of badges or some other kind of reward hook very useful for this kind of thing. You could of course limit access to features also based on information in the profile.
Make filling in this information a benefit for the users. For example, "if you fill in your location, we can filter search results based on that information."
It's all about making the user get perceived benefit from doing an action.
Linking to a privacy policy that is devoid of legalese and doesn't cause the user to navigate away from the forms to fill out their profile usually helps. Additionally, marking any field that will be public with "Viewable to everyone" in addition to marking the rest with "Private" will also help. Whenever possible, make the private fields optional.
E.g for every field, let them expand a container that explains how the data in that field will be used, in plain language.
A quick search will turn up a ton of controversy surrounding Facebook, Google and more regarding privacy. Make sure the form adequately puts out fear fires.
Additionally, limit the number of questions, make sure the tab key works as expected, etc, etc.. but that's all general usability.
Exposing the benefit, in some form of feedback is a really good way to go - show your users that they have gotten something out of it.
Trophies, or some sort of social effect ("45 users have filled in their profile, will you?") are good ideas.
Another option is to show the user a "percentage completed" bar of their profile (like LinkedIn does, called "Profile Completeness"). Many people will feel the need to get that bar up to 100%.

Resources