Half-Elf on Tech

Thoughts From a Professional Lesbian

Tag: support

  • Handling Negatives

    Handling Negatives

    Positivity is two way streetEvery once in a while, someone raises a stink about how their WordPress plugin or theme got a bad review or comment on the forums and how the mods should delete it.

    We rarely do.(We have, on occasion, done so, but usually only under sever provocation, and often that ends with the developers making the demands being blocked for being jerks.)

    The issue at heart is not ‘OMG! Someone hates my plugin!’ but how do you handle the negative remarks. I mention this in passing (multiple times) in my ‘How to Support Plugins’ presentation, but text is really a terrible medium to communicate. You know there’s a difference between these two sentences:

    “I want a unicorn,” she said, bubbling with delight and hope.

    and

    She jabbed a finger in my direction. “I want a unicorn!” Her voice pitched in a low, guttural, growl.

    But the reason you know that the first one is nice and the second a little threatening is the context. Prose lends itself to this quite well, because authors take the time to explain what’s being felt and evoked. A help ticket, on the other hand, is pretty dry and plain stuff. And because we’re humans, we attempt to put meaning into the words, often ones the author never intended. We’re programed to look for the meaning, hidden or otherwise, and we always interperate based on our mood and our situations.

    This means when you see a ‘complaint’ like this, you have a reaction:

    Ipstenu’s Really Awesome Plugin has a security hole. If you go to /wp-content/plugins/really-awesome/readem.php?=../../../wp-config.php then you can totally read the contents of your wp-config!

    Obviously as a developer my first reaction should not be to yell at this user and remind them to email me about my plugin.(Protip, developers, always put your email or a contact link in your plugin! If they can’t find you, then you don’t get to bitch they didn’t contact you. At the very least, put it in your source code.) And even though people should email plugins@wordpress.org they don’t always know that, and it’s okay. You can’t know what you don’t know, after all. No, my first reaction, as a dev, is to plug the hole! It’s that obvious. Fix the problem, push a new version, and then come back to the post and reply:

    Wow, thank you for letting me know. I’ve fixed that and released a new version. If you find things like this again, please email me at ipstenu@….. Again, thank you for reporting this.

    Then in my plugin, you’ll see a credit in the changelog and/or the version history:

    Version 2.0 – Security update thanks to RandomUser. readem.php let you read any php file on your install. Please upgrade ASAP.

    That’s it.

    The idea isn’t to hide any mistakes I make, or act out of fear and desperation, but to take a hold of the problem, resolve it, and move forward. Check out WPSecureNet and their list of plugins. Normally they’ll only post when an exploit is closed, but sometimes they report while vulnerable. There’s no shame in being listed there, unless you haven’t patched your plugin yet, and realisticly there’s no shame in being listed anywhere as having a bug.

    Look, bugs happen. We can wish we’d never stub our toes, but we will. We can wish we’d never stab our toes, but someone will find a way to do that too. Humans are imperfect. We make mistakes, we don’t see things that are ‘obvious’ and it happens. Consider the number of books you get when typos: that’s after an author, an editor, and a test reader has proofed the book. With most code, you have fewer eyes than a book, and bugs still slip in. Clearly it’s going to be impossible to prevent any and all bugs, and once we accept that, then we can move on to taking these moments as less painful.

    It is painful to get a security report, or even a bug report. Even if this is ‘just’ a hobby, you’ve spent hours of your free time banging away, trying to make something awesome, and now you found out it just wasn’t. No matter how experienced you are, you take this personally, even for just a split second. Getting over that hurdle, that fear that everything is ruined, isn’t easy. And this is why I keep saying that you shouldn’t worry as much about the bugs as how you handle them.

    Your users, be they just the folks who use the plugin or people who pay you, will follow your lead. If you’re calm, collected, and honest, then they’ll value you and your product. They’ll appreciate you and what you can do. By taking the negatives and turning them positive (sorry, that’s cheesy) you will improve your relationship with users, clients, and the community.

    I want that unicorn!But what about those angry ‘You suck!’ posts? Oh, they happen, and with a bit more frequency than we’d all like. Often people like to lump them with those posts where people complain about your plugin, only to have the wrong plugin… Look. The way you handle those negative people is the way you will set the tone for your entire online life. You can react aggressively, or you can handle it calmly and rationally. Personally, when I see someone rage on about how the original poster is a moron, and they don’t know what they’re talking about, I put them on my blacklist. I will never again use their plugins or themes or any code, if I can help it. I’ll sooner fork it than anything else, because the best way I can vote is with my feet.

    What about you? How do you handle the angry unicorn lovers? And what do you do when the devs go postal on you?

  • WordPress 3.4 – No Problem

    WordPress 3.4 – No Problem

    It’s in beta, don’t nobody panic.

    The last 3 releases of WP, I’ve made troubleshooting posts about what to do, what plugins are going to barf, and so on. This time, there really doesn’t seem as much to worry about. Of course, having said that, everything will die in a fire. Actually, though, I haven’t made a list of things yet, because there’s nothing to list. I’ve not run into any stand out ‘Oh shits!’ and the forums are remarkably quiet. So. If you’ve got stupid problems, or found you have to edit themes/plugins, please reply and let me know! I’ll get on it.

    So here’s some of the cool new stuff:

    Akismet 2.5.6

    Custom Headers and Backgrounds — See also Flexible Headers in 3.4 Themes and Backwards Compatibility for WP 3.4 Headers and Backgrounds

    Twitter was added to oEmbeds — This should just work out of the box, but if you have a plugin (like Blackbird Pie), you may want to disable it before upgrading.

    RPC-XML support for Custom Post-Types.

    Admin Toolbar To The Top! Click on any blank space in the admin bar and you go to the top of the page. (It’s the toolbar, damn it, I know this!)

    Sexier Theme Options. Have you ever wanted to see what the changes did to your theme on the fly? Go to WP Admin > Themes and click on Customize Theme to get a quick way to see what you’re tweaking. Not every option is there, nor will every option be added, but this is pretty nice!
    Theme Options

    You also get that view when you preview a theme.

    Of note, Twenty Twelve and Favicons got punted to 3.5.

    Edited to add…

    Jane Wells has a nice write up of some of the new stuff. It’s on .com, but a lot of this (all) is on 3.4 too. What? You didn’t know .com used the same (mostly) WordPress we do?

  • You Never Try “Everything”

    You Never Try “Everything”

    Analogy time, kids!

    You go to the doctor and you’re trying to quit smoking. “I’ve tried everything!” you say. What do they ask you? “Well, what did you try?”

    That’s both a useless explanation from you, and a frustrating reply from your doctor.

    The point is you never try ‘everything.’ Ever. It’s just impossible. And while I understand you say things like that as hyperbole, it’s a useless thing to say in a support forum. The number of posts I’ve seen with ‘I tried everything, so don’t suggest…’ drive me up the wall. What you really did was try everything that you could think of. Which means me, without being able to know what you could think of (i.e. I’m not psychic), has to ask “Okay, list it.”

    Pink Pony PressThat sort of report is often called a ‘Shrug Report.’ Something you normally get with the words ‘It doesn’t work.’ It’s useless information that doesn’t help anyone debug. It just means we have to ask more questions and pester you, when you’re already clearly annoyed. In your inability to state what the issue is and what you’ve done, you make it harder for yourself.

    So how can you ask for help correctly?

    Back to the analogy.

    “Doc I’m trying to quit smoking. I tried cutting down, then I tried bringing only a certain number to work, then I put all my ashtrays outside, then I threw out all my lighters. I tried that gum, too. Every time I got a craving, I took a piece. I just can’t seem to quit. What can I do?”

    Now you’ve given us something we can work with, and the doctor will ask things like, “Do you find it hardest not to smoke in specific places or times?”

    These are leading questions, ones that should make you start to think about the bigger picture. If you only have trouble at the end of the day, thats different than having a problem every time you walk past a smoker or smell cigarettes.

    When you ask for support, you should keep in mind that very rarely do two people have the exact same problem. I know this sounds weird, since you can think of the number of people who successfully solve issues with tech support scripts, but the disturbing truth is that most of those are blind luck, and the rest are people who can’t be bothered to search on an error message.

    The secret sauce to getting the best help possible is easy.

    First, drop any attitude you might have.

    You’re asking for help. You don’t ‘deserve’ support, not even for companies you paid. That we happen to get help instead of being told ‘figure it out.’ is a miracle. But the notion that ‘I got this from you so you must help me!’ is a false one, and puts too much stress on everyone. Forget it. Be a nice person and remember there’s a living human at the end of the line. Don’t be a dick starts with you.(Someone recently accused me of not ‘assuming good faith’ and honestly I don’t. I’d love to, but if, out of the gate, your attitude rubs me raw, I’ll walk away before dealing with you, because you feel like a dick to me. And while I always attest that it’s half-me/half-you, it’s still half-you. If more than one person says you have a bad attitude, take a good hard look at yourself. They’re probably right. I’m called a bitch a lot, and I usually smile and thank them. I am Brave, Intelligent, Tenacious, Creative and Honest. But I also feel no need to spend time on and with people I don’t like. I don’t have to like you. The point to this Melvillian digression is that I won’t have to assume good faith if you’re not acting like a dick.) People are going to help you, so you should be kind in the beginning.

    Every time I’ve up front said “I screwed up, can you help me?” in a sincerely humble manner, I’ve had the best results. I need your help, I’m going to be nice to you to get it, and I’ll probably thank you later.

    Second, state your problem clearly and with detail.

    It’s okay not to really know what’s going on, or all the technical terms, but you should have an idea of what’s not working ‘right.’ “I’m trying to add a user to my system and I get an error.” Okay, that’s a good start. You should include the version of the system, the error message, though, so try “I’m trying to add a user to System Foo, version 2.3, and when I do, I get this error: blah.” Awesome!

    Third, list what changed.

    Don’t say nothing. Something changed. Something happened. While yes, anything can ‘just break’ it’s not that common, so take the time to review. When was the last time you tried to do this? If, using our previous example, you last added a user in January, what’s changed since then? A lot, right? Well, we actually need to know what all changed. And when, that would be nice. In order to know what changed, you have to keep track of everything that changes, and when it happened. It’s work, I know, but you should make sure to add in “This is the first time since January I’ve tried to add a user, and since then, I’ve upgraded X component, add in feature Z, and removed function A.” Remember our Hecht! (Herbert Hecht wrote, in Rare Conditions – An Important Cause of Failures,  that “rarely executed code has a much higher failure rate (expressed in execution time) than frequently executed code during the early operational period.” This was mentioned in Failure of Imagination, back in January 2011.)

    Fourth, list what you tried.

    We already talked about this, so you know what to do. List it. Everything. It may be long, but it’ll be helpful. You don’t need an example on how to list what you did, just keep track of it while you’re doing it, or put in a caveat “What I know I tried…”

    Fifth, be willing to try anything.

    To get all the way back to that doctor analogy, if your doctor says ‘We should try putting you on this medication to help you quit smoking,’ then you need to shut up and listen to the doctor! The doctor’s been around a lot longer than you, the doctor has studied and proven their worth, and not killed anyone (yet). So maybe, just maybe, the doctor knows what they’re talking about. If you find yourself bring up ‘But on the internet I read…’ arguments, sit on your hands, make a backup, and try it.


    What about you? What are your tricks to giving good information to get good help?

  • “This Needs Support” vs “This Needs Patching”

    “This Needs Support” vs “This Needs Patching”

    Writing code is rarely an act of support.

    Most of the time when someone needs support (i.e. help with a problem) what they need is to understand what they’re doing, where they’re coming from, and what they want. Once they have that, they can apply their knowledge and define their goals and achieve them. I know, I know, that sounds all new age of me, but that’s really what’s going on.

    Patching is ‘This code is broken, I should fix it.’ However patching is not support! This sounds weird to the unfamiliar, but there is a big difference between fixing the broken and helping people.

    The conflict comes up when someone using software has a problem. When a user has a problem, most of the time they feel it’s a bug. Trying to explain the difference between a bug and a missing feature is complicated, but to boil it down I say ‘If it’s a bug, it’s supposed to work an it doesn’t. If it’s a missing feature, it’s documented as working differently.’ (We often say ‘it’s not a bug unless it’s documented, but that’s used to mean that if someone didn’t report the error, it’s not real. Schrodinger’s bug reports, as it were.) When it’s a missing feature you have a ‘feature request’ or an ‘enhancement.’

    Thus I’m not surprised at all when someone makes a complaint ‘This enhancement is a bug, fix it now!’ and then ‘Why can’t I get support on this?’

    Your’e asking the wrong people. Support doesn’t go out and fix everything. Support sits down with you, sorts out what really happened, how to fix it, how to work around it, and is trained to think. A good support person makes a note every time a weird error pops up, who has it, how they fixed it, and when there’s a pattern, reports it up the chain. “You’re right, sir, that’s a problem.” If they know it’s a problem, they give you a ticket number to follow, or some way for you to know what the over all status is.

    So if the support people are being good and reporting things as they should, why don’t the bugs get fixed right away? Well, if they were that easy, they wouldn’t be bugs in the first place. Okay, that’s not true all the time. Sometimes it’s just that it’s a small bug and no one cares enough to fix it. Other times it’s waiting on other fixes, and finally the devs may just have more important things to do.

    The thing you don’t do in these situations is say “I don’t know how to code, but this must be simple!”

    That Dilbert will send the developers into a frothing fit of ‘You idiot…’

    I’ve said it before, and I’ll say it again. It’s okay not to know something. Look, I barely know SQL. I don’t know AJAX at all. But what I do know is how to think and how to ask for help. And I know how not to ask for help too. The point is, I know my abilities and I know how to network and research. And I know when I don’t know something. Do not for the love of anything ask me to help you with Excel and pivot tables.

    The point of that is if you start a sentence with “I know nothing about code but…” you better be very, very thoughtful about things. I recently suggested to someone “I don’t know this code, but here’s what I did on this other one… Would it be possible to leverage X to do something similar?” I don’t presume that I’m right, but having some related experience, I shared what we did in the hopes it will help or inspire someone.

    And inspiration is the magic that fixes code.

    Code is part art. You are creating something that has never been seen before, never conceived of, and never written. If that’s not art, I don’t know what it. And art, like all creative things, requires inspiration. We do not just pluck ideas out of the air, that were left there by the idea fairy. We see something in a puddle that makes us think ‘What if uploading images was as easy as a droplet of water…’ We have to invent, create and imagine. We have to dream. (Sidebar, this is exactly why my office’s draconian laws upset me. They stifle our creativeness and we make worse products.)

    When you tell someone that something is ‘wrong’ there’s a reason you may get push-back like ‘Well what would you like it to do?’ or even ‘Why do you want to do that?’ It’s clear you have had that moment of clairvoyance where you can see a perfect future, and we want to see it too! That will help us either follow your vision and make it happen, or tell you that’s not going to happen right now. Your ‘bug report’ helps create better things.

    At the same end, we have to remember that just because something isn’t working right, doesn’t mean it’s broken.

    ‘Right’ is surprisingly suggestive, and has a lot to do with use-cases. No two people use a product the same way. I open Skype when I want to talk to someone, my friends keep it open all day. I keep a word processing app open all day, others don’t. And consider email applications. My coworker has his open on schedule every 2 hours, and never alerts him to new email. I have a metric ton of filters that alert me when important emails are in, or when I haven’t checked in 90 minutes. We all push tools to fit our use.

    Why, then, is it surprising that when something doesn’t work the way I want it to, this might be because of me, and not the tool? I’ve been telling people a lot that using WP Optimize (a very cool DB optimization tool) on a large site (or a Multisite Network) is akin to using a hammer to drive in a screw. You know you should use a screwdriver, but the hammer’s right there. Now, the plugin has some features that are annoying to have to roll on your own (removing post revisions and auto-drafts, and some scheduling), but the reality is that when a site is large, you’re using an inefficient tool for the job. PhpMyAdmin is a far better tool, though it’s more complicated and requires more knowledge, so people use this plugin. For a time, that’s fine, but when you grow and change, you have to learn and adapt.

    Is it the plugins fault that it can run out of memory while working on a large DB? Of course not. It’s not even a bug, and the plugin isn’t broken. What the plugin is, is limited. And limitations aren’t bad. You have to limit software (otherwise it runs forever, and that, children, is what we call an endless loop), you have to give it an end point. Marking these and saying ‘Yes, today that’s a limitation’ doesn’t mean it’ll never get fixed, but just that today you can’t do everything.

    Some takeaways for you.

    • Make thoughtful suggestions and recommendations.
    • Remember your needs may not be the same as everyone else’s.
    • Reflect on if you’re using the right tool for the job.
    • Try to understand the problem from as many angles as possible.
    • Never, ever, ever say ‘This is easy code to fix!’ unless you’ve written it, and it was.
    • Remember that genius is born of innovation and perspiration.

    What do you think helps keep that balance between support and new code?

  • WordPress Upgrades and You

    WordPress Upgrades and You

    A year ago I wrote this – How the WordPress Update Works – and, the update tool has changed, but the crazy expectations have not.

    Before We Begin…

    Perfect. Change.I want to reiterate this, since apparently I can’t say it enough, the auto upgrade tool will never be 100% perfect.

    Part of me seriously wonders why people expect things to work perfectly all the time. The other part of me knows that if it wasn’t for WordPress getting it right so often, they wouldn’t have such violent reactions when it wasn’t. Skewered on their own swords, I guess. By making WordPress easier to install, use and upgrade, I do feel we might have lowered the bar too much, or at least beyond the current ability of servers and applications.

    I feel there’s a practical limit to how ‘simple’ you can make things. It’s sort of why I hate writing ‘troubleshooting’ documents that consist of ‘If you see this error, do this.’ It stops people from thinking and troubleshooting on their own, and instead ties them to a script. You’ve been there, I’m sure, telling the guy on the phone that you already rebooted your system.

    On the other hand, the vast number of people who just don’t do that is why I started writing up the Master TroubleShooting Lists for WordPress releases (this is now my third). Before 3.3 came out, I monitored the Alpha/Beta forums, the email lists, and pinged people I knew were testing the pre-release on Twitter and Google. Then I grabbed the other support geeks on the wp-forums list, asked them for advice and suggestions, and drafted up the post you see up there now. Well, except not. That post has been edited by anyone with moderator access on the forums (something I encourage and support, by the way).

    What does all that have to do with how the upgrade works? It’s simple. If you don’t want to take the time to understand how a process works, what it entails, how it’s tested before release, and what goes into installing it for you, I don’t want to help you. Actually, no one does. One of the last things anyone in support wants to hear is ‘You don’t understand…’ (First place goes to anyone who says ‘It doesn’t work.’ and won’t tell you what ‘it’ is, what the error is, or anything useful.)

    How Does The Upgrade Work?

    Many things are still the same. WordPress downloads the files, replaces them, runs the ‘deprecated file list’ and deletes only those files. What’s new is that, as of WordPress 3.2, we only upgrade the newer files!

    Faster Upgrades — The update system now support incremental upgrades so after 3.2 you’ll find upgrading faster than ever

    Does it Work?This made the 3.2.1 upgrade really fast for everyone. If you look at the release notes for 3.2.1, you’ll see a list of files at the bottom. Those were the only files that got updated when you ran an automatic upgrade, which is really cool. And when you look at the notes for version 3.3, you don’t see those files. Why not? The first reason is there are a lot more files. In fact, I’m willing to bet most files are touched in an update from 3.2 to 3.3 (those are major releases, by the way). So listing the files would be crazy. The second reason is that a major release isn’t viewed the same way as a minor release. We’re supposed to expect big changes.

    I started working my way through the code before I gave up and asked Nacin if the 3.2.1 to 3.3 used the incremental or the full upgrade? My gut feeling was, based on how long it took, it was a full upgrade. Nacin was quick to confirm that, elaborating by saying those are only done for partial releases, though the update was smaller than before, since it omitted the wp-content folder. This isn’t new, by the way.

    So basically the upgrade hasn’t changed. Which begs the question…

    Is WordPress 3.3 ‘Worse’ Than 3.2?

    This goes back to my Master List posts. The whole reason I started them was that 2.9 to 3.0 was insane. It was huge. It was crazy big, with lots of changes, and lots of visceral reactions. “I hate this, I hate that, I hate you.” I’m currently ignoring (most of) the people who are doing that. I get that you’re unhappy things aren’t perfect, but I’m going to put this out there: You’re being irrational.

    Tech SupportNow, it’s okay that you’re angry. I mean, your site is ‘broken’ and you’re upset. It’s justified. But from our end of helping you, it’s like trying to negotiate with a truculent five year old. You won’t listen to reason, you just want us to fix it, now, and by the way it’s totally our fault that everything broke. I don’t mollycoddle people when they start loosing their blob like that. I walk away and wait for them to comprehend reality.

    No, 3.3 isn’t ‘worse’ than 3.2. And it’s not, generally, WordPress’s fault your site broke. It’s not anyone’s fault, actually.

    Just like everyone waiting (or delaying) filing their taxes until the last day, plugin and theme developers also sometimes put off the seemingly minor task of checking their plugin or theme with the new version of WordPress. In fact, a shockingly high number wait for the release candidate. I said this before, if you make your living on WordPress, you damn well better test earlier. Sure, it makes sense that people like me (who actually don’t WordPress for a living) don’t always test in time. On the other hand, if you’re a professional, you’re remiss in your responsibility by not doing that.

    And even then, you can still miss something. My best WordPress Friends missed a bug in their plugin. They do this for a living. How did that happen? It happened to be a feature you don’t often go and change. They had tested ‘does this still work when I upgrade?’ and that was hunky dory. But this one thing that only gets used when you’re doing one specific thing, that people only use once, that wasn’t working. Oops. You can see how that got missed. They just didn’t test it. It happens, they worked out a fix, and it’ll be out soon. Those are understandable misses because you can’t test everything. Maybe they’ll make a checklist of things they must test on a major upgrade, but then again, this plugin had survived multiple other major upgrades. It’s hard to say.

    Vulcan IDICBut what about when it’s your plugin plus someone else’s theme plus the new version of WordPress? Now it’s harder, because you get an IDIC epidemic(That is possibly my favorite Star Trek novel, by the way.) with WordPress. IDIC is a Star Trek concept. The Vulcans believed in “Infinite Diversity in Infinite Combinations” which I think is a perfect way to explain the problem.

    It’s because of both the myriad complications thrown in by the incalculable customized installations that, when people say the upgrade broke them, I have to do the thing I despise and ask them “Did you read the Master List and try everything?” I actually do wince every time I paste that link in. It is with a resigned sigh that I hit enter. I don’t want to have to say that, but when I see people posting ‘It doesn’t work’ or ‘Help! My site is broken!’ without any information as to what they’ve already tried, I look at the volume of posts and assume they did nothing.

    I tweeted at one point “I’ll stop posting stock replies when you stop posting it didn’t work.”

    It’s a give and take. You have to give a little information if you expect people to help. And not one of us thinks this install is 100% rock solid perfect. 3.3.1 is already on the docket with a couple things, including putting support for people with no DB prefix.

    Invariably we’ll all find something new and horrible to add to the master list. Like this time, I had to put ‘flush all your caches’ because, when WP changed the jQuery to 1.7.1, some browsers decided they weren’t going to update the local cache like they’re supposed to. The amount that pissed me off is huge. Also, as Nacin groused, the core devs yet again missed a JSON issue. One bitten, twice WTF? as he put it.

    For the most part, the real issues people have with 3.3 aren’t technical issues, they’re user issues. People love/hate the flyout menus, the toolbar (oh dear god the tool bar) and the uploader. They hate that not all their plugins work, they hate hate hate. It’s wearing, you know. And we, the happy Half-Elf volunteers out there want to help you fix things. But if you’re not going to accept that problems are usually bigger than just WordPress, we can’t help you.

    Practice vs TheoryLike the Database needing repair, okay? Some people had to repair their DB. Guess what? This isn’t just a WordPress issue. I ran a major upgrade on a webapp for work last month, and the damn thing did the same thing! I had to repair the DB to get it to work. This is because, as I know, I’m making some major changes to a database, and if there’s any sneeze on the sturdy tubes of the Intarwebz, then I may have a weird glitch. This is why, again, I tell people to manually upgrade. These problems are cause by the upgrade, but they aren’t WordPress‘s fault. They just happen. A thousand times you add a post, and one time it causes your database to crash. That’s uncommon, but not impossible, and that is what people fail to grasp.

    You’re experiencing uncommon problems.

    Don’t Lower Your Expectations, Raise Your Understanding

    Sometimes I think people get the wrong idea when I talk about this sort of thing. You think I want you to give support people more of a break, and while I do, it’s for the same reason I want you to give your coffee barrista a break(Best coffee I’ve ever had, no lie, was when I told the overworked barrista “Take your time, if the jerk is in a rush, I’ll wait.” It cost me ten minutes, and they gave me the best coffee ever. One size larger.), or the chasier at the DMV. Treat people like people, because that’s the right thing to do.

    Instead, you should learn more. Understand more. Take the time to go “I hate this. Why did they do it?” and then, instead of making that angry shit-distributing, post, learn something. With very little effort, a person can scroll down to the Alpha/Beta forums on WordPress and see if this problem was reported before. A slightly more experienced person knows about the blogs the devs use, and one step up from that, you know trac. Trac’s a little scary when you’re new, and search it is complicated, don’t get me wrong.

    Cheat SheetBut see, the ‘geniuses’ who are helping you at all your problems? We’re just people like you. And we just have an idea of the lingo and what we’re really looking for on Google. And we would really like it if you could treat us like people before you lose your mind.

    We’d also like it if you read, and thought, before you said ‘this is broken.’ Mind you, I think that of the guys I teach to solve problems. Listen to what people say, pay attention and try to draw better explanations from them, and solve the real problem. The number of times I’ve watched people just throw a rote answer at the wrong problem drives me nuts. But so do ‘web developers’ who don’t understand what FTP is.

    If you’re going to run a website, even though apps make it easy on you, there’s no excuse for not learning what you’re doing. I don’t mean you need to learn how to write code, but just as I feel everyone needs to know how to jumpstart their car and change a tire (or patch one, if you ride a bike), it’s in your best interest to have at least a basic understanding of the magic that is the internet. And if the website is your life (as so many people on the forums short), well, then so is learning that. A chef knows how to use the fridge and sharpen knives because it’s expected of them. While a fashion designer may not be the best at sewing, they know how clothes are put together.

    See the theme here? Know what you’re doing. Understand what’s behind your art.

    Otherwise? Well, WordPress.com has fantastic hosting options and I send many people to them.

  • Said It Once Before But It Bears Repeating

    Said It Once Before But It Bears Repeating

    KeyboardA lot of the time, we complain “Don’t people look in the forums before they ask a question?”  Sometimes we kvetch that these people are ignorant or lazy, and many times they are.  But while a lot of questions are repeated, it’s really not as cut and dried as it may seem.

    We’ve all had conversations where it devolves into “Hey, can you get me that thing?”  Usually this involves a hand gesture or two.  I’m sure everyone’s been in the kitchen with family and pointed right at a cutting board and asked “Pass me that … that thing.”  It’s not that you’re stupid, or ignorant, or lazy, it’s just that right now you forgot the word “cutting board” and as embarrassing as that is in the moment, we all accept that this happens to everyone.

    What does this have to do with questions?  It’s really a language thing, on many levels.  If you ask six different people “What do you call those boxes on the admin dashboard of my CMS?” you’re going to get six different answers. (WordPress had this not too long ago, and it varies from ‘meta boxes’ to ‘widgets’ and everywhere in between.)  Certainly we can attribute this to ‘different brains, different thought patterns.’  But also, if you’ve ever tried to learn a new language, you remember the brute memorization of words than you had to combine with actually using the words, otherwise you forgot them.  It’s like that algebra you did in school.  If you’re not using it, it’ll fall right out of your head.  Unless it’s the lyrics to that song you hated.

    Now that we all accept that we all forget, what’s the deal with not being able to find what we need?  It comes back to naming.  I often complain that looking for an image on Google would be easier if I could draw it.  I’m a pretty visual person, and I like to see what it is that’s wrong.  I ask people “Can you put up a screenshot of the error?” or What page are you on?”  You get a lot of weird error reports in my life, like “When I upload a file I get an error.”

    The problem is not that people don’t know how to explain what’s wrong.  The problem is they don’t know the words to use.

    BinaryOkay, maybe it’s a hair splitting, but when you say “I want my code to do THIS and instead it does THAT.” you will often see yourself using very non-technical terms.  First and foremost, that’s okay.  In fact, I encourage people to use the terms they’re familiar with, that will make it easier to get help.  But you need to know what you’re asking for, and that’s a problem.

    For example.  You’re brand new to WordPress and you want to know how to upload an image.  So you google “Upload image WordPress” and thankfully the very first hit is what you want.  However, the more ‘specialized’ a question gets, the harder it is for the uninitiated to ask it. “I want to change those menu things on the side on my webpage” you think.  Not a weird or uncommon request.  Except ‘menu’ is the wrong word.  You’re really asking “How do I edit my sidebar?” and that’s fairly easy.

    You have to know what you’re asking for in order to get the right help, and you can’t know what it is until you ask someone who knows.  And worse, you can’t know who to ask until you’re familiar with a product and it’s terminology.(Unless you know someone who speaks hand-gesture.)  Basically when you’re learning a new program, you’re learning a new language.  Worse, you’re learning a whole new culture.  It’s like being back in college, where everything is hugely different from High School.

    That’s why I try very hard not to get frustrated when I see the same question a million times.  It’s rarely worded the exact same way.  However, when I see people ask “How do I add images to WordPress?”  I wonder if they’ve heard of searching.

    The steps are easy:

    1. Look it up on Google/Bing/whatever
    2. Search the forums
    3. Ask

    When you hit step three, you have to ask it in the clearest language you can.

    On my site, I have two ‘sections.’  There’s the main part where all my posts are, and there’s this list on the side that has calender, login links, and other stuff.  Here’s what it looks like: .

    Now you’ve asked a very clear question.  Let’s compare it to the ones I saw recently:

    My site has this stuff I don’t want. How do I remove it?

    Which one would you answer?

    It’s okay not to know what you’re asking about in detail.  No one is born knowing, and you have to learn somehow.  Accepting the fact that you’re new, or ignorant at something, is hard.  We’re often told it’s not okay to not know things, that being ignorant is a sign of weakness. That’s just not true. We’re all ignorant and we’re all new about something. Everyone starts out ignorant. And we all start out not even knowing how to ask a question.(If you’ve ever been to a Passover dinner, the point of the Four Questions is to remind us that we all start out as the simple child who doesn’t know how to ask a question, and thus we tell a story every year to teach them, and ourselves.)  The problem is that the answers you get depend entirely on how you ask the question!  If you ask it wrong, you get the wrong answers, which frustrates everyone.

    Should you search first and then ask? Of course. But you, as the helper, need to remember that the language barrier is going to cause a lot of the repetition. You’re going to get the same question, something basic and simple, asked a hundred times because people don’t know what they’re really asking. And yes, if there’s a good tutorial, toss them a link. But remember these people are new and scared and tossing them a link doesn’t help because they still may not speak the lingua fraca of the help docs!

    Language

    Step back.

    Remember what it was like to be new, and you’ll understand why the same questions are asked a hundred times over. Point them to the documentation. If the docs are lacking, fix that and make them better for the new guy. And, as hard as it is, especially right now in this holiday season, don’t get mad. Take a deep breath, watch Tron or play a round of World of Warcraft (or Mario Kart Wii) and remember that first time you did something, and how hard it was to learn all those terms and understand what they meant.

    And you as the asker?  You need to remember that sometimes, when the helpers ask you something that seems silly or weird, or overly simplistic, there’s a reason.  We like to take apart a complicated question to its simplest iteration in order to understand what it is you want, and to be able to teach you “Okay, when you say ‘non blog index’ what you mean is a ‘static front page’ which is ….”  We want you to learn our lingo so we know that we’re all speaking the same language.  Otherwise we’re just doing a modern rendition of “Who’s On First.”