The internet is a great place to find out how to do things. You can often find a ‘recipe’ for precisely what you want to do or a how-to article to solve your exact problem. But even if you can’t, whatever problem you’re having, the internet is chock-full of people with knowledge who will most likely be willing to help you if you go about it the right way. This article attempts to give you some tips that will assist you in getting the help you need.
But What is the Right Way?
Two things summarise it, really…
- Be nice!
- Be easy to help.
By ‘be nice’, I mean be clear, considerate, polite, humble, gracious and patient. Value other people’s time. Be thankful. (You should probably apply all of those things to most areas of life anyway, but many people don’t.)
The best way to get people to want to help you is to make it as easy as possible for them to do so. Give them all the information and tools they need to help you debug or solve your problem. It also helps if you are doing something which is positive and good for the world.
A Few Don’ts
Before we go any further, here’s a couple of don’ts! When I see online posts from people exhibiting these behaviours I generally ignore them completely. So…
- Don’t think that the world owes you any help
- Don’t assume people will help you
- Don’t expect to be spoon-fed
- Don’t get annoyed if…
- you don’t get an answer in the first few hours
- people ask you for more details
- someone tells you you’re ‘doing it wrong’ (they will – you can almost count on it)
Asking for Help – Details
Now we’ve got the “Don’ts” out of the way, let’s flesh out some detail on the Dos…
- Choose the right place to ask
- Explain what you are trying to do – your ‘big-picture’ goal
- Take the time to explain clearly the problem you are experiencing
- Show what ‘solutions’ you’ve already tried
- Share your code, error messages or the exact commands you’re using (if applicable)
- Share clear photo(s) of your wiring so people can see if you made a mistake (if applicable)
- Show that you have exhausted all realistic self-help angles e.g. Google search etc.
Very often, finding what you need on Google comes down to knowing the right keywords to describe the problem. Sometimes a little human help might be needed to get you there.
Choose the Right Place to Ask
Don’t expect people to be able to help you with a complex technical problem on twitter. The 140 character restriction makes twitter a hopeless medium for all but the simplest issues.
Online forums and communities are a much better place to ask for help. But once you find one, don’t just barge in! Have a look around to see how a particular community ‘works’ before you demand free help. (Back in the day, this was basic ‘netiquette’ but people ignore it now.)
In some forums, the same question gets asked over and over and over again. A simple forum search (or Google search of that site) will give you your answer. It will also avoid antagonising the regulars. Since they are the people that will help you, it’s best to keep them on-side.
Explain What You’re Trying to do
If you’re secretive about what you’re doing, people will assume one of two things…
- You’re working on something commercial, so why should they help you for free, when you seek to gain from it?
- It’s for your homework assignment, which elicits the ‘do your own damned homework’ response
So be open about what you’re doing, or people won’t want to help you.
Take the Time to Explain Clearly the Problem you are Experiencing
It boils down to this…
“If you can’t be bothered to give me the information I need, why should I invest my time in helping you?”
Don’t say “I tried to run XYZ and it didn’t work. Please help!” You won’t get any responses, or if you do they will likely be sarcastic and unhelpful. If you’re very lucky, someone might say
“I can’t help you unless you give more details.”
There are a lot of very clever and helpful people on the internet, but if you don’t give them enough information to be able to help you, they simply can’t and it frustrates them because they’d like to be able to help you (hence the rude replies).
Show What ‘Solutions’ you’ve Already Tried
A better way would be to say…
“I’ve been trying to run XYZ from the command line, but when I type the command
sudo XYZ -options the screen goes blank and nothing seems to happen. I’m running the latest Raspbian on a Pi3B. I’ve tried rebooting and it didn’t help.
I’ve googled ‘running XYZ on Raspberry Pi’ without much luck.
Anyone got any ideas?
Thanks in advance for any help.”
Helpful people love showing off their knowledge and helping you. But they also know the value of learning how to help yourself. People might suggest search terms that will give you a better chance of finding a solution. Don’t write that off – it could well push you towards a good outcome.
Share Your Code, Error Messages or the Exact Commands you’re Using (if applicable)
Computers are all about precision. Why just describe your coding problem when you can copy and paste your code as well?
Most forums and help sites have a facility to post your code. Make sure you use it. Some languages, particularly Python, get horribly garbled by being placed in html pages. Python indents are usually lost and this totally wrecks the code structure.
Which do you prefer to read? This code…
for x in range(10): print("Asking for help properly gets great results") for y in range(10): print("Yes it REALLY does!")
…or this code?…
for x in range(10):
print(“Asking for help properly gets great results”)
for y in range(10):
print(“Yes it REALLY does!”)
Exactly! So find out how to post code, and use this to get help.
What about error messages?
Error messages are supposed to be helpful. You might not understand the error, but someone will. Why give a useless paraphrase or description of an error message when you can provide the exact message? Pro Tip: many help-desks use Google to search the exact text of an error message to help you while you’re still on the phone to them. You can do this yourself easily without human intervention. Try it!
Share Clear Photo(s) of Your Wiring (if applicable)
Often, for electronics projects, it can be very helpful to show a really clear photo of your wiring. Very often, hardware project errors are due to wiring mistakes. Sometimes it’s quite easy to spot something obvious that someone else has got wrong. It can be much harder to see it, if it’s right under your nose.
Make sure they’re clear though. A crap photo is worse than no photo. Learn how to take clear photos and keep trying until you get it right. (Yes! You’re showing me you want help badly enough to make that effort.)
If your photo is hard to follow or the wiring is complex, you might want to consider making a Fritzing diagram. It’s quite likely that, in doing this, you might spot an error as you will be forced to trace the path of every wire in your circuit.
This may be more than you need, but a photo will help identify any obvious errors if it’s clear enough.
Show that you have Exhausted all Realistic Self-help Angles e.g. Google Search etc.
Tell us where you’ve looked and how you searched. I want to know what avenues you’ve tried, how long you’ve spent trying to work it out. Something like this…
“I’ve spent several hours trying to work through this problem but I keep getting the same error message…
SHOW THE ERROR MESSAGE
Googling this gave me a few tips from Stack Overflow (LINK TO THEM) about tweaking the XYZ parameters, but I still can’t find a way to get the ABC command to complete without the above error.
SHOW THE CODE AND/OR THE COMMAND
It’s probably something really dumb. Anyone got any ideas?”
So you showed me that you’d tried the simple things – tried to help yourself. You also showed that you spent some time on it, and you showed humility and teachability. I now want to help you!
Do not write in text speak! If you can’t be bothered to write properly, why should anyone else be bothered to help you? Many of the people who are in a position to help you will be in their 30s and upwards, highly educated and ‘computer types’ who cannot stand to see things done wrongly. If you deliberately write in text speak, you will most likely either be ignored or attacked. The message it sends is…
“I can’t be bothered to write proper English to make life easier for you. Now. About that help?”
If English is not your first language, it is perfectly OK and even a good idea to say so. It will help people to ‘cut you some slack‘. (But if English is not your first language, you might not know that idiom – it means they will probably be more gentle about your English.)
Below is a ‘textbook’ example of a failure to get help. I didn’t reply to this tweet, but something good came of it (I hope). It gave me the idea to write this article…
@RasPiTV hi can you help me i need assistance i wud prefer if u wud email me
— affy huss (@affyjibbjabb) April 22, 2017
So let’s pick it apart…
- They’ve asked for help on twitter. Twitter is crap for this because of the 140 character limit.
- They have not said what they want assistance with.
- They’ve written in lazy text speak when there were plenty of characters available to use proper words.
- There is no capitalisation or punctuation. Lazy and annoying!
- They’ve expressed a preference for email, but not provided an email address.
You’d have to work pretty hard to do a worse job than that! I suppose I should be thankful they did not write anything rude or insulting?
So. I hope you’ve picked up some useful pointers about getting help on the internet. There’s just one more thing (Columbo).
Say Thanks and Give Feedback
Always come back and say ‘thank you’ and let people know if their advice helped you. (Like/heart/+1 etc.)
There isn’t much of a payback for giving out free help, but if you can let people know their solution helped you, that is their reward. It’s also an investment in goodwill. They will likely be there for you next time, if you were one of the few who said “Thank you for your help. It now works perfectly. YAY!”