Possible Duplicates:
Would it be possible to have a "community accepted" feature?
Force Accepted Answers on Questions by Inactive Users
It's a well-known problem that new/unregistered users tend to neglect accepting answers. This is usually because they just don't pick up on the concept. If new users wind up sticking around and continuing to participate, they will eventually get clued in and then hopefully go back and accept answers to previous questions.
The real problem occurs with "one-shot" users. We all know the scenario:
a 1-rep member-for-today user asks a question on SO, let's call him "timmy."
Stack Overflow members help timmy with his question. Comments are exchanged, suggestions thrown out.
Eventually somebody nails it on the head, let's call him "Jon Skeet."
Up-votes indicate general consensus. timmy emphatically thanks Jon in comments using various emoticons.
Then timmy is never to be seen again.
Stack Overflow members linger on the question page, and an awkward silence falls. Maybe this time it'll be different they whisper to themselves. Nope - timmy's half across the internet by now.
Now, I'm not pretending this problem hasn't already been discussed (in great detail): http://meta.stackoverflow.com/questions/8692/force-accepted-answers-on-questions-by-inactive-users, but that suggestion is centered on auto-forcing accepted answers based on some algorithms, which would be heavy-handed.
What I'd like to propose is more tempered: the ability to flag an answer for forced acceptance. I realize this would be a pretty radical change, but I think there's merit to it given the issue. The criteria for such a flag would be very strict:
- Question is some X amount of time old (or OP has not been seen for X amount of time).
- OP is a user that has never accepted an answer.
- Flagged answer has at least X upvotes.
And essentially:
- OP has given some indication of the answer's correctness in the comments.
These criteria would limit the global effect of this flag. It would not be a site-wide sweep like the auto-force suggestion. Mainly it would be a procedural solution going forward, reserved for situations were there should very obviously be a check mark.
As with the previous suggestion, feel free to add/remove rules to make this viable.
EDIT: I'm getting a mostly negative reaction on this suggestion; fair enough. Before I give up, I thought I'd post some examples of the posts this would be targeting specifically:
How to get the address of a variable stated in C Macro?
MapKit blue dot not visible when using custom annotations
Android can't send GET request with HttpURLConnection
Is there any way to prevent the trailing ants border effect on links?
How in Linq to entity replace true or false with On or Off?
Here is the query I used to locate these (modified from the query in the linked discussion):
SELECT q.Id as [Post Link] , q.Score, users.Id, users.DisplayName, a.Score, q.AcceptedAnswerId FROM posts q INNER JOIN posts a ON (q.Id=a.ParentId) LEFT JOIN users ON (q.OwnerUserId=users.Id) INNER JOIN comments c on (a.Id=c.PostId) WHERE a.Score >= 2 AND a.Score = ( SELECT MAX(p3.Score) FROM posts p3 WHERE p3.ParentId=q.Id ) AND users.Reputation < 15 AND q.PostTypeId = 1 AND q.AcceptedAnswerId is null AND datediff(day, users.LastAccessDate, q.LastActivityDate) < 8 AND c.UserId = users.id AND (c.Text LIKE '%hank%' OR c.Text LIKE '%preciate%' OR c.Text LIKE '%:)%') GROUP BY q.Id, q.Score, users.Id, users.DisplayName, a.Score, q.AcceptedAnswerId The query returns several thousand posts, after which some manual filtering is needed to find the ones I'm targeting. The examples were just pulled from the top of the list after looking them over.
Anyway thanks for hearing me out at least.