April 13, 2009 at 9:25 pm
At my current position we are lucky to have a vibrant, active, large, opinionated, and outspoken community. Perhaps it has to do with having a writing site but most users are logical and literate in their arguments which allows us many insights into the usability of our site, potential flaws / bugs, outstanding issues with new (or even seasoned) features, and, generally, into how a user sees our site.
One of the difficulties with being a programmer or anyone that works “behind the scenes” – developing, testing, or specifying features – is that no matter how hard you try or how good you are at your job you have an entrenched opinion about the site that you work on because you have made it. It’s impossible to fully look at it with user’s eyes so no matter how much you think about a particular feature you’re always going to miss something that a user will see. It’s just natural that you assume certain things are logical when in fact the flow, usability, or design of a page might be extremely confusing or present a high hurdle to all, or even a subset of, your users that can render the page from difficult to use to unusable.
This is where an active community is a boon.
By engaging those users – we use a message board (built on the open source SMF software) and a blog (using WordPress) – you are able to gather information, tips, questions, and insight into the finished product in the wild. Many times it allows us to find where copy or page flow is lacking and provide instruction to users. We have certain community leaders (which we call stewards) that many times will use the information provided by us throughout the boards to instruct other users – propagating the knowledge for us. Other times it allows questions to arise that we may not have thought of and allow us to schedule new features or feature updates to correct deficiencies. Finally, we may have an instance that we did not foresee or couldn’t create in our test environment and only through exposure to users do we see bugs in the site – basically turning our community into testers.
This is an extremely powerful tool that is not always used on large, non-technical sites – where users who are naturally knowledgeable in the technology will speak up of their own accord.
So how do you empower your users and speak out to them in order to have access to this tool?
- Provide tools for them to reach out and communicate with you. Besides the normal help e-mail area we have public facing tools that allow users to engage us and the community for answers. Some of the tools we use are:
- A wiki for our help section – allowing quick searching of a large, complex living document to quickly provide answers to new users.
- A blog for community instruction and brand building – also searchable we discuss features in new releases, reasoning behind features, and other items which are not targeted at new users necessarily but require some sort of “stickiness.” Sometimes a blog post is moved to the wiki to become part of the living help document.
- A community board for user-user and user-employee engagement – besides help sections where users can question logic or features we also have simply community areas where users can just engage each other, build relationships, and have fun. This means they are not providing direct value (content) to the site, however, we’ve seen for the most part that it promotes user happiness and, indirectly, that increases productivity on the site.
- Have employees engage users directly. We have employees from every division practically communicate with users even though we have a department specifically created to do so. Development members like myself, vice presidents, and even our CEO have communicated with users via our boards and blog. This builds rapport and trust with users. It can be frustrating at times and takes away productivity from assigned tasks but the benefits far outweigh that as our users love and respect that they can ask us questions and gain insight that they can’t from other sites – even if they realize sometimes we can’t answer them fully because of proprietary information protection.
- Be as transparent as possible. Let users “behind the scenes” – they love it. Let them know why a certain feature works a certain way. Have fun with users. Make them a part of the team. This is especially important in a “Web 2.0″ or “user generated content” site as they really are part of the team. Be honest with them when you can’t share proprietary information and why you can’t. They’ll respect it.
- Empower motivated, hard working, driven, intelligent, and / or respected users to take control of parts of the site. One of the programs instituted where I work is our steward program. Basically it gives users some amount of power of sections of the site. It might be as small as a leaf channel, larger like a base channel, or in some users cases they have control over our community boards. Does this open the door for abuse? Of course. But communities are self-policing and we’ve had few, if any, abuse issues. For the most part stewards have gone above and beyond what we’ve asked them to do because they are invested in the success of the site just like we are. If we fail, they fail. If we succeed, they succeed. It’s a powerful motivator.
- Really listen to their ideas. I’ve participated in a lot of good debate on our boards about current and future features – what users like, what they want, what they feel they need to succeed. This is ammunition in your pocket. When meetings are held about features the ability to say “users on the boards requested this” or “some users on the blog mentioned that this feature could really use this little extra thing” is extremely powerful. They won’t always get what they want but many times what they want is “low hanging fruit” that can be a big win. There’s nothing like a feature that takes 2 days to build and is lauded about by the community.
Most of these should be common sense however most sites ignore their users – thinking them too ignorant or that they are not proficient enough to know what they really want. Sometimes it’s true – users don’t always have the “big picture” vision to take your site to the next level. However, they do have the knowledge of the nuts and bolts of your site in order to polish what you currently have. Many times, it’s much easier and a better return on investment to improve your existing infrastructure instead of simply plowing forward with new features. While everyone likes the “shiny new toy” if your base is not solid you won’t succeed.
Anyways, that’s my thoughts, opinions and insight after having been a part of an amazing and active community for over 2 years now.
So in light of the fact that I maybe be unemployed soon due to circumstances beyond my control I’ve started to reacquaint myself with the job market and the jobs that I might be qualified for. It’s been an interesting experience to say the least. Unfortunately, there seems to be two prevailing job types:
- Marketing position - involves either designing e-mail campaigns include HTML e-mails, which are not fun at all, or some sort of SEO / social networking skills to drive traffic to the site.
- Jack of all trades – involves 7+ years experience in design (Adobe Suite), front end (XHTML & CSS), middleware (PHP, Java, Ruby, etc) and MySql. Basically able to design web applications from the ground up.
So, being a realist, I have to assume the deficiency is with me. However, I’ve worked for two separate professional organizations and both needed someone that was only a subset of what I’m looking to take on. So is there no middle ground? Can you only do the icing or the whole cake? I hope not.
The main issue lies in that to be a good UI developer you have to focus on the changing field. New browsers are released every year and updates are made. You have to be aware of what bugs exist in major browsers – especially Microsoft ones – and understand quickly how to fix the rendering issues in those. You also have it identify web trends (web 2.0 design, AJAX integration, etc) and include them in beautiful and usable designs. By broadening focus too much – to middleware or backend development – you lose the ability to do that. I realize you don’t want to be too specialized but I feel crafting a beautiful design, coding it with web standards and cross browser capability in mind, and inserting any jQuery effects that add to it is a pretty big slice of the pie, so to speak.
Also, design and UI work is more artistic versus middleware / backend which is much more logical and analytical. So it’s very difficult to be of those two minds. I just feel expanding the focus to that is going to dilute the whole output. Finally, it really is of no interest to me to design controllers or write queries so I feel my output would not be as useful or good as something I’m passionate about like the front end.
So I don’t know what the answer is. But I’m discouraged moving forward. It does make me wish I had taken more time to grow my freelance portfolio as this would be the perfect time to make that jump and see if I could make it on that. Unfortunately, it’s just not an option.
Advice or insight welcome.