Monday, March 2, 2009

Get Help - Team Dynamics - On Discussion

Contents:

Section 1: Get Help
  • Issues discussed: Is a Tutorial page necessary?
  • Kent’s presentation
  • Some issues I encountered when I tested the new Get Help application:
  • On thinking

Section 2: Team dynamics – Vincent’s presentation

Section 3: Prof Ben's comments.
  • Pt. 1 - Employee v.s. Employer
  • Pt. 2 - Programmers = best project leader?
  • Pt. 3 - Execution v.s. Idea
Other comments:
  • On Discussion: A story. (this one must read! ^_^)



Section 1: Get Help

Issues discussed:

Is a Tutorial page necessary?

I liked this discussion alot, mainly Boa’s comment on “how to maximize the "get help call", How to post a help efficiently, how to give rewards, tips, etc.” This is sort of a pet concern of mine – teaching a new user the “tips and tricks”.

If we’ve got a good application, how do we teach people to use it well? The key word here is “well”. In this case, using the application well is to ensure that a) your call for help reaches the right people, and b) relevant call for helps reach you also. I had the same questions for the Xbox live presentation also – how can users effectively navigate the whole pool of information out there to get to (or publicize) the one that they need?

I don’t have a solution to that yet, but I’ll be thinking. ^_^

Regarding the need for a tutorial page, the general consensus the class reached was that the help page is necessary because all app makers should assume that users are stupid. YES. I agree heartily with that. Its always rule 1 when designing UI – ALWAYS ASSUME PEOPLE ARE STUPID. You can never go wrong.

Boon brought up a very good point on how different people have different learning curves also, and look for help in different ways. So I feel that any attempt to offer help should be a multi-prong approach – e.g. a sticky comment thread in forums, a help page, instructions for first timers, etc.

Kent’s presentation

I liked Kent’s presentation alot also. Some important points he brought up was that

a) A UI that is too attractive can be distracting for the users – Users tend to lose focus.

b) I love the step by step drop down menu, it really solves the selection flow issue and acts as a mini tutorial that slowly introduces each feature to the user.

c) However, my favourite point is this: “Encouraging users to interact to other user's posts.” I feel that it is like a ping pong effect, where user A reacts to user B and user B reacts back to user A and it goes on. I wonder if it is possible to make it loop? ( This is also why I think the recent addition of the LIKE button on facebook feeds is a fantastic feature: user's input is low, but return is high.)

d) Last point – the improvements in the rewards system: Kent is right that a personalized reward is a greater incentive than a reward that is automatically given by system. (Haha I actually read this point on Wenhan’s blog and that’s the point that stuck most in my head. Personalize the interaction between users for your app! It’ll make the reward/effect more special/unique/memorable)

Some issues I encountered when I tested the new Get Help application:

1. I could offer 9000000000000000000000000000000000000 pops, and click submit!

2. I went to my requests page, and realized that the app listed that I offered 2147483647 pops instead. Hmm doesn’t tally.

3. Hong Ting tried to help me, and I tried to give him my pops. Then – I realize cannot! =(

4. Cannot see my own "ask for help" offer on my dashboard!

5. I can’t remember who said this, but someone in class said that she was irritated with the spamming of stupid get help posts on the Get Help home page. I agree... Is there a way to sort out meaningless posts v.s. urgent posts?

6. Oh and really hate being forced to put a feeling for each post for help..can I don’t put a feeling and still ask for help? =(

On thinking:

Oops I think I made some pretty dumb replies in class – I can’t think very fast under pressure so I can only say that I got to the solution through thinking. However, its not as simple as just thinking - there's alot of steps involved. In fact I have to stress the importance of having a FRAMEWORK - i.e. knowing what you want to critique/think about.

For example, if my framework was on how to make the app prettier, then I wouldn't have come up with the problem and solution I mentioned in class. However, my focus was on utility, so here's how I discovered the problem:

1. I had a framework: I intended to get to the bottom of the utility of the application, because I believe that an application which optimizes on its functionality is the best application.

2. I tried to guess what's the best/unique points of the application - What makes the application what it is - and lump all the best points on the home page.

3. After coming up with the points, I improved the UI and tested it in my mind to see if it was true. I pretended I was a person who needs help in CSS desparately. (which was partially true...I desparately needed CSS help then...)

4. I discovered that I was unable to find out if people have responded to my call for help based on the improved UI that I suggested.

Section 2: Team dynamics – Vincent’s presentation

Some important points I got from Vincent’s presentation:

1 – Non-programmers can help programmers to define the problems so that programmers know what to solve.

2 – Find out the each person's strengths and weaknesses and try to find ways to compensate one person’s weaknesses with another’s strength within a team! I’d always considered the strengths, but always missed out on the second part of the point.

I find that it is easier to discuss strengths in a group, but harder to discuss weaknesses...People like to say that they can do things, but who says “Oh I can’t do this..and this...and this... can you?”

3 – Always find someone you can argue with and not get pissed with to be your project mate.

YES. I definitely agree. I haven’t found someone to argue with though...*sad*

Section 3: Prof Ben's comments.

Prof Ben made some interesting points also, things that I’ve never thought about:

Pt. 1: “As an employee, you have no choice who you are going to work with. That’s why its always the best to be the boss/employer.”

Hm. I’ve always been an “employee” position, and always had to work with people I don’t know. But I enjoy doing that sometimes, because its always a fun challenge to find ways to work with all sorts of people and see what kind of team dynamics come out from it. Its always a new challenge to work strangers and its always exciting (albeit stressful).

The WPF grouping is probably the only group in all my NUS projects that I’ve worked in where I’ve chosen who I want to work with, since I pulled in most of the team members. It was a totally different experience from all my previous projects. I didn’t have to worry so much because I trust my team member’s skills and experience, which is why I picked them in the first place. Plus they were all very motivated people so our team morale was always quite high, and its really a very happy experience working with them. Our skills also complemented each other’s and it is a much more relaxed experience than if I was just thrown into a group of people I don’t know.

So yeah I agree it makes a big difference whether you choose who you want to work with, or you are just made to work with several strangers. That comment made me wonder if I’m just satisfied with being an “employee” all my life. Hm.

Pt. 2: “Programmers with people skills make the best Project Leaders.”

Eh... well. That’s true. But there are ways to get around this. The three points that Prof Ben brought up – Programmers know better what tasks there are, how long each task will take, and what are the dependencies for each task – are definitely valid, but there is a system that producers use, called SCRUM, that allows non-programmers to schedule tasks for programmers.

I used this method in the Lucasfilm game division, when I was working as an assistant producer. Basically when we start scheduling, I went around all the programmers to ask them what tasks they need to do to reach a certain milestone in the game. The programmers give me a list of their tasks, including all the breakdowns into sub-tasks, as well as how long they need to finish each task, and any dependencies. I basically input this into Microsoft project and tell them if they need to finish their tasks faster if not they’ll over shoot the deadline or not. ^_^ Every morning there’s a programmer meeting with us producers, and we’ll go through with everyone what they should be working on today, check that they’ve finished their previous task, and ask if there’s any problems that they anticipate in today’s work. ^_^

But I always felt that if I knew some programming, it’ll be much better – at least I can better understand the programmer’s problems and suggest solutions/ know when they are just smoking. ^_^

(oh btw... Programmers out there might be interested in this thread on my facebook note: Are Programmers Like Road Sweepers? so far its got 53 comments with comments from programmers in Lucasarts, Gambit, Mikoishi, Google..etc. ^_^ Feel free to comment! Can't wait to hear your views too!)

Pt. 3: Idea v.s. Execution
I've been drilled over and over by my lecturers: Good ideas are worth nothing. If you don't execute it, it is as good as a crappy idea. I think Archunz's point summarizes it the best: One of my favourite lecturers in NUS said this: "An idea cannot be patented; or stolen. It belongs to no-one till it has been realized."


Other comments:

On Discussion: A story.

Yeah I agree that the classroom table arrangement is super not conducive for a discussion. I like to be able to see everyone’s face when they are commenting, so easier to address questions to other people. In Lit modules we usually sit in a circle to discuss.

I hope I didn’t sound too aggressive in questioning other people and giving comments... I was very much hoping to find someone who will argue with me about my points... but very sad, only met with silence. I expected a more lively discussion since I know our class is full of intelligent people and I can’t wait to find out what they think. =(

I really don’t like silence during discussion time. I used to be very quiet during discussions, because everyone else was quiet and I didn’t dare to speak up coz I was scared I’ll say something dumb and everyone will laugh at me. Then I’ll wait until someone else starts first. Occasionally if really no one talks after a couple of minutes I’ll venture a point or two but I’ll just shut up after that if everyone else continues to keep silent. Like quite embarrassing to keep making comments if everyone’s quiet.

But then I met this person who told me that he’s got the same experience in his classes, and he absolutely hated it. He said, “This is such a Singaporean thing. Everyone waits politely for everyone else to start the topic even though they’ve got pretty interesting things to say themselves. Its a pretty screwed up system of politeness that doesn’t benefit anyone.

If you go overseas, there is no such thing as allowing other people to speak first. People are always snatching to take the lead in answering questions. That’s how the world works what, no one waits for you to start, no one’s so nice to let other people take credit. Singaporeans should learn to be more confident about their own point of view and dare to speak out, or they’ll just lose to everyone else when it comes to being in the workplace.”

Then I asked him – What if what you say is stupid? What if its wrong? Isn’t it embarrassing?

He asked me, “Why should you be embarrassed about making your points heard in class? If you think they are valid, just say it! If you say something right, everyone can learn from it, and if you say something stupid, everyone can learn from it too. Better say something stupid in the class and learn from it than making the mistake in the workplace right?”

Hmm. Still I protested – “But if you keep answering questions, then everyone else will think that you’re trying to be the teacher’s pet or something. Then you’ll feel like other people don’t like you... =( *uncomfortable feeling* in class.”

He said, “So what? What do you care about what other people think? As long as you have important points to share and discuss, who cares what other people think? You’ll definitely learn from your comments in class, because your teacher will comment on what you said even if your classmates don’t. If you don’t say it, then nobody will learn anything new. Why will other people be unhappy if you give your point of view? They can very easily give their own point of view if they want to, so there’s no reason for them to be angry at you if they can’t conquer their own fear of speaking up in class. If everyone keeps quiet, it’ll defeat the point of the discussion, doesn’t it?”

I said... “True...but I know some people want to keep quiet about their thoughts because they think that their idea is so brilliant that they don’t want to let other people know. I always feel very sad because I want to know what those intelligent people are thinking about but they are just unwilling to share. But its not their fault to not want to share what, right? So maybe that’s why the class is so silent, because its is full of intelligent people...”

He said, “If some people want to keep their ideas secret because they think that their own idea is so good that it’ll give them an edge over the other students during exams, and not talk in class discussion, they wouldn’t be able to find out if there are any problems with their ideas, or further explore how far their idea can actually go. Its their loss, and its everybody’s loss if they don’t talk in class. The loss is so much greater if everyone in the class is intelligent and holding back because they don’t want other people to know what they are thinking.

Aiyah just say what you want to say la, how bad can it get? Anyway next sem its a different class altogether already anyways. Like people will remember you. Heck it la!”

GG. I really had nothing to say in return. If anyone can tell me counterpoints to his arguments, let me know.

It was because of this conversation that I try my best to give comments during discussions. It wasn’t easy, even now I still wait for other people to start first of “politeness” – its a hard habit to break. But once I start, I really cannot stop. Honestly I really love discussions. It is a great chance to find out what other people are thinking about the same topic, and a great chance to test my ability to provide counterpoints to substantiate my arguments on the spot. Its a great litmus test to see if my ideas are feasible or misguided, and for me, very fun. I’m used to addressing questions to other people during discussion in Lit modules, and I find it very sad that outside lit modules people rarely speak up in discussions.

I’ve actually held back alot – and this is what I hate about discussions where most people keep quiet – the discussion cannot progress, alot of time is wasted, I end up saying alot of things and not learning from what I say because no one is commenting on my ideas. Its always very demoralizing. Happily, our discussion got more lively near the end and I just wish we had less silence and hence more time to discuss. Perhaps the next discussion will be better? ^_^ Haha... more fun la, if everyone talks more. Den I wldn't fall asleep and will be motivated to write long blog posts like this. Easier to blog la, if got discussion. ^_^

2 comments:

  1. Sure, final proj's a good idea. But its not true interaction in a sense, and people aren't really forced to talk, they'll love to talk about it! (I hope)

    How about forcing ppl to ask one question to anyone, or the whole class by the end of the discussion? I'm sure everyone will have lots of questions to ask in their heads, but the hard part is voicing them. So the requirement will help them ask the questions they secretly deeply want to ask I guess. ^_^

    Dingyan, what do you mean by planning? You mean like scheduling the workflow for the final project, or the thought processes behind the final project? (I'd love to hear the second tho I think everyone can benefit from both. ^_^)

    ReplyDelete
  2. Hey glad you like the points we brought up about UI! :D

    Would like to share my thoughts about the tutorial page point brought up.

    Tutorial bar instead of page
    - Haven't seen this done very much in most websites.. I wonder why even though it works like a charm. Instead of having a tutorial page with a BUNCH of text for users to read through, why not just include a side bar containing instructions/guides on how to perform certain tasks in the page they are currently viewing. Trust me, this one works like a charm for both tech savvy youths and middle-aged CEOs ^_~ .

    ReplyDelete