One of the biggest merits of the internet is that you can get or give help within seconds. This applies especially when you want to create something for the web. If you get stuck you can use search engines, forums, mailing lists and chat rooms to get your problem sorted.
The immediate response has a downside though: as you are instantly able to get help, you also expect to get the problem sorted in a matter of seconds. On the other end, users willing to help are prone to give answers that patch the symptom but fail to fix the cause. This is help that leads to bad results, albeit fast, and maybe one of the reasons why there are so many poorly developed web sites out there.
You got a problem? Get helped, but be prepared.
So you are stuck with a problem, and you want help. No sweat, there are people out there willing to help you, just bear the following in mind:
- Remember you are getting free help. Only a lucky few people get paid to help others (Google Experts being some of them), others do it because they want to, or they want to show their skill. Do not expect the same service you would get from someone you paid for counselling.
- Follow the rules. Read the instructions of the forum or channel you are on before you post something there. This applies especially to using other languages than english when asking for help.
- Be prepared to listen to reason. When you get you constructive criticism explaining that your problem is your approach rather than a technicality, think about that. Nothing is more annoying than a "I know but I still want to do it".
- Use search engines first. In most of the cases the same problem you have was discussed and solved in some forum already.
- Be concise. In chat rooms, do not ask open questions, like "Can anyone help me?", instead specifically state what your problem is. "I have a problem with a CSS layout not working properly, is anyone here who can take a look at it" or "I want to create a rollover navigation but I don't want to add event handlers to every link, is that possible?" are better examples.
- Provide URLs and screen shots of your problem. This'll help to spot the problem by seeing your markup and code. The screen shots help to see what the problem is in your environment, which may not be reproducible for the helpers.
- Validate your work before you ask for help. You cannot expect invalid markup/code to behave as intended. Use the (x)HTML Validator and the CSS Validator. Also be aware of Doctype Switching.
- If you don't know at all what you are doing, delegate the job at hand to someone who can. It is no use to patch things you shouldn't touch.
- Give it time. If you are on a tight deadline, then point this out. Also point out if you are able to fix the problem thoroughly in a second phase. This encourages helpers to give you a fast patch and the real solution to apply later.
You get asked for help? Give generously, and good.
So you think you have your skill sorted and you are ready for every problem web development might come up with? Good for you, and great that you are willing to share it. Just make sure you help without causing trouble. Once you answer, you have a responsibility, people trust you to do the right thing. Here are some ideas that might help you become a good helper without making people dependent on you or embarrass yourself.
- Help people to help themselves. Do not spoonfeed them bits that make them come back every 5 minutes. Someone has a CSS problem? Show him what it is, and point him to material he can look through next time.
- Stay up-to-date. Great solutions in 1998 are not necessarily a good solution today.
- Try to keep ahead of the problem, don't get involved in it. Don't necessarily follow the same path that lead to the problem in the first place. If the problem shows up in one environment, try it in another, sometimes bugs become more obvious when you use a different mean to spot them.
- Do not give out fast solutions without context. If someone asks how to add padding to a paragraph, do not answer <p style="padding:5px">. Explain how padding gets applied to elements via a style sheet and what the settings mean. If someone asks how to create a popup window, don't explain the syntax of the link, explain the issues of popup windows and point them to an article explaining all about them.
- Know your resources and share them. It is a lot better to point to a good article about an issue than to repeat yourself over and over again.
- Try to avoid fixing for your own world. A standards compliant solution will help the asking person a lot more than something that only works in your favourite browser.
- Point out the drawbacks of a solution someone asks for. Coloured scrollbars look great, but they don't work everywhere. Styling form elements makes them fit smoothly in a design, but forces the user to find them rather than spot them immediately. Sometimes a "I need that" is based on ignorance about the consequences.
- Know your freebies. If someone needs a tool for some task, don't tell them about the best commercial product immediately. This only leads to people asking you if you can get them a "free" version. Most web development tasks can be accomplished with free/open source tools these days. Knowing them and recommending them also prevents the "but I am poor, and can't you get me a free copy of XYZ" replies.
- Ask questions. An immediate solution to a problem might spring to mind, but the context in which it'll have to be applied might render it useless. Is it a web site? A portal? A web application? What is the expected audience? Is it developed from scratch or are there inherited issues?
- Do not make any assumptions about the background of the person asking for help. Ask about how skilled they are in the issue at hand. Sometimes people find amazing solutions to problems in other environments,than their own, you only need to know how to talk to them.
Some resources to recommend
- HTMLhelp.com provides you with browsable and downloadable CSS and HTML references, has nice FAQs and lists the online tools to use to validate.
- W3Schools.com provides hands-on information about HTML and CSS, and has try-it-yourself sections that help you understand CSS.
- HTMLDog.com has some nice short (x)HTML introductions much easier to read than the W3C specs.
- CSS Discuss WIKI where the best CSS minds collected solutions and links.
Some freebie tools to recommend
- IrfanView a tool to batch process images and convert from nearly every format to another. Also brilliant for creating screen shots with the mouse cursor included.
- 1stPage2000 a free HTML editor that looks and behaves like Macromedia Homesite.
- HTML Kit a text editor with plug-ins for almost any programming/scripting language.