Grad School thus far: Motor Learning Is More than Using a Mouse

Besides learning to adapt to college 10 years later, I wanted to share a few things I’ve learned about UX in my first semester of grad school at San Jose State in Human Factors, namely the why behind design guidelines and practices.

tl;dr: If you have the opportunity to take the Kinesiology Motor Learning class (KIN 266), TAKE IT!

Motor Learning (Kinesiology)

Never in life did I think a course in Kinesiology would be applicable to UI design.

My biggest takeaway for the semester was learning the importance of being concise – intelligence doesn’t imply complexity. It’s just the opposite. Simplicity implies intelligence. For example, I learned that it is possible to present 3 research studies (on auditory versus visual short term memory) in 2 minutes without the need to speak at the speed of light. Major lightbulb moment re being concise.

Skill acquisition

clip_image002

In order to gain skills, you have to train at the right level. If you’re training for long-term retention or mastery of skill, you need to practice what’s called schedule variability (random, varying tasks to keep you on your toes and out of flow). But if you’re training for acquisition (just learning something new for first time), you should practice using more blocked schedules (same task over and over again until you achieve the basics).

Practical application: Think about the different approaches you might use to train a new user. Do they have past experience with your product? Or are they completely new to the subject? Consider different types of Getting Started instructions given their backgrounds, instead of a one-size-fits-all tutorial.

References:
Capturing the naturally occurring superior performance of experts in the laboratory
Image: http://www.olympic-games-2012-london.com/wp-content/uploads/2011/11/Archery.jpg

Expertise

clip_image004

If you’ve read Outliners, no surprises here. It takes a really long time to acquire expertise. But what I didn’t learn from Outliners is that you must engage in “deliberate practice,” meaning you need to constantly challenge yourself and resist the comfort of being in flow. From a cognitive processing point-of-view, you’re creating more pathways to access your knowledge. The theory I learned is that nothing is lost from long-term memory. It is just a problem of access. More pathways implies more access and faster recall.

Practical application: Figure out how to break flow to keep your skills sharp. The obvious suggestion is to try something new in your field. 

References:
Capturing the naturally occurring superior performance of experts in the laboratory
Image: http://www.renegadejuggling.com/mc_images/category/0/02gattolobby.jpg

Context matters!

clip_image006

There are 16 categories in which skill is acquired (Gentile’s model): 2 environment predicable possibilities (picking up cup on table, or picking up cup on a moving conveyer belt) * 2 context variability possibilities (pitches at 50mph every item, or pitches varying between 50mph and 70mph) * 2 body transport possibilities  (are you walking or are you sitting at a desk) * 2 limb manipulation possibilities (does the task require you to move?)

Depending on which category your task falls in, research has shown that some methods for acquiring skills are better than others. In the context variability tasks, if the task is always going to be varying, you should always train the user using task variability. For example, once the baseball player learns to hit the ball, you have to start training him or her using different speeds. In other words, try to simulate the real world as much as possible in the training.

Practical application: If designing a mobile application, you need to think about what task classification it falls into. Is the user going to be stationary most of the time using the app (e.g. taking a picture)? Or is the user going to be in body transport (i.e. walking down the street following directions to a location)? It may seem ridiculously obvious or subtle, but environmental context really matters in the design (e.g. the size of the buttons need to be bigger on a mobile application during body transport tasks) The book Tapworth: Designing Great iPhone Apps (thanks to Jon at O’Reilly whose twitter handle i can’t find, sorry dude, for giving me a copy years ago) goes into good detail here.

References:
Skill acquisition: Action, movement, and neuromotor processes
Image: http://www.bplowestprices.com/images/P/HTR6000BB-01.jpg

Implicit versus explicit knowledge

clip_image008

Explicit knowledge is the knowledge that you verbalize. Implicit knowledge is unconscious knowledge. For example, have you ever tried to teach someone how to code and totally forgot to mention the variable on the left-size of the equal sign is the one being assigned, and not the one on the right? It isn’t really because you forgot. That information just got stored in your unconscious, implicit knowledge. We move info into implicit knowledge to free up cognitive resources needed to learn things like lamda expressions, anonymous methods, and Test Driven Development. Like tying your shoes, you don’t think which shoe string to pick up first. You tie your shoes in the morning as you think about your first meeting of the day.

Practical application: I forget the website, but when designing on a touch device, you want to simulate the real-world as much as possible, hence using the implicit knowledge of the user. The website used the USA Today iPad app as a great example of how to simulate a physical newspaper interaction. Being able to use the users’ implicit knowledge is why standards are important (but only when there isn’t a better alternative – see Don’t Make Me Think).

References:
McCloy research lecture: knowledge is more than we can talk about: implicit learning in motor skill acquisition
Image: http://content5.videojug.com/a3/a31884aa-c019-31ba-cb2e-ff0008c8e919/how-to-tie-your-shoelaces.WidePlayer.jpg

Habits

clip_image010

Early in the semester, I spoke to my KIN professor about a thesis idea on why tips and tricks are so effective. (Old Tip of the Day habits die hard.) She suggested I write my review of literature paper on habit acquisition and modification.

Similar to expertise, habit is acquired slowly over time. Habits start with goals, but end up not being goal oriented. Additionally, neuroimaging scans have shown that when a person performs a habitual action (whether good habits, like tying shoes, or bad habits, like biting nails), the basal ganglia portion of the brain takes over. The basal ganglia controls automatic functions, like being able to do two things at once. It’s why you can eat lunch and listen to a friend talk. The prefrontal cortex that controls decision making is disabled for habitual tasks because you do them automatically.

Just like implicit knowledge, the knowledge to perform the habit is stored in unconscious knowledge. It is believed that the reason for performing the habit is stored unconsciously as well, which explains why habits are so hard to break. If you can’t know why you’re performing the habit, it’s a guessing game to figure out the trigger. The research I’ve read stated you must vigilantly monitor your habits. The same research said the best time to break habits is during a life-changing event, like changing jobs, moving to a new place, and so forth. Even going on vacation is enough to disrupt your habitual activities and give you an opportunity to break those unwanted habits.

Practical application: Now you know why it is so hard to keep New Year Resolutions. But also think about your users and the habits they have with your product. If you need to change the habit (e.g. stop them from pressing a button in a particular location), think about what you can change in the environment to help break the habit (e.g. maybe you could change the location of the toolbar). Just don’t swap the habitual button with a destructive-action button (e.g. delete). That would quickly break the habit, but it would be so wrong on so many levels :)

References:
Every research paper listed on
Wendy Wood’s habit research page.
Image: http://thestrategyguysite.com/wp-content/uploads/2010/06/good-habits-bad-habits.jpg

Cognition

image

I’ve never taken a psychology or philosophy course before, so this information was really fascinating.

Recency effect – information just learned is most easily accessible. For example, given a long string of numbers, you’ll learn the first few numbers (rehearsal effect) and the last few numbers the best.

Practical Application: You may have heard in public speaking training to always have a “call to action” slide at the very end to influence your audience one final time. This is because of the recency effect. What’s the one thing you want them to do? Tell them as the final slide.

Theory of forms – The study of rationalism was interesting. Go read The Allegory of the Cave. Having only taken engineering classes my entire life, it was fun to step outside of the computer world for a bit (no pun intended). 

Perception – “If a tree falls in the forest, and no one is around…” No, it doesn’t make a sound because no one is there to perceive it.

clip_image016

References:
Image 1 http://truthjuice.co.uk/wp-content/uploads/2011/05/cognitive-behavioral-therapy-cbt.jpg
Image 2  http://3.bp.blogspot.com/-2wlCMW-BlZc/T0Q87NaA7iI/AAAAAAAAHSw/eVUgTYrH5RQ/s1600/tree-falls-in-the-forest.jpg

Interaction Design

In this course, I had to design my first physical device – a thermostat. Talk about deliberate practice! Imagine having to design physical buttons for a UI. It really gets you out of your comfort zone.

The book we used was a great primer on how to be a product/program manager. I’ll call out a couple of quotes I really enjoyed.

clip_image017

  • Alan Cooper’s quote “How would it work if it was magic?” as stated in his book The Inmates are Running the Asylum.
  • When designing an electric hot water heater for tea, remember that people just want to drink a nice cup of green tea. They do not want to be a master tea brewer. This is why I love my utiliTEA electric kettle so much. I don’t care what the actual temperature of the water is. (For green tea, you want it below the boiling point.) I just want to hot water for green tea.

Thanks for reading my dissertation of a blog post. Hope you found it interesting.

First Day of Graduate School

Today was my first day as a graduate student working on my Masters in Human Factors (the superset field of User Experience) at San Jose State.  After working on CodePlex.com, especially alongside the UX experts at Blink Interactive, I got to experience first-hand what a great UX story can do for a product. And when I say UX, I don’t just mean UI design. I’m talking about user research, user profiles, usability studies, heuristic evaluations, cognitive walkthroughs, interaction design, graphic design, customer support, and everything else I’m forgetting in the list. And people wonder why it is so hard to design good UI.

I just can’t stress enough that once you have a great UX support, you simply cannot live without it. It’s only a matter of time before Hallmark has UX Engineer Appreciation day cards.

My First Day of School

In honor of my first day of grad school, I present my first ever day of school.

First Day of School Age 6

I can remember being really annoyed by the uniform (the skirt and the tucked-in shirt). I also remember walking into the classroom for the first time, wondering why there was such a huge gap between the kids’ height and the ceiling. Then I realized the huge gap was for the teachers because they of course would be adult-height. Then the boy seated to my right says, “Do you want a coke?” and I said yes, and he makes this motion with his hands like the invisible coke in his hands had exploded on me. And I start to cry because I fell for his joke and decided boys are dumb. Ah, the memories of a 6 year old. (Actually, my oldest memory is being less than a year old getting a bath in a sink and discovering my leg for the first time. The water hit my leg and I remember making the connection that this leg thing is a part of me because I saw and felt the water at the same time. It was terrifying to realize I suddenly had a leg. So I screamed my head off at the world.)

My Last Day of College Undergrad

The image of my undergrad advisor’s car is self-explanatory (except you can’t see all the balloons we stuffed inside of it). Gotta love getting your hands on a set of spare keys.

Last Day of Undergrad

The last time I was a student on a college campus…

  • Telnet was used to check email
  • A 3.5 floppy disk was used to submit programming assignments
  • There was a rumor going around Netscape Navigator wasn’t going to last much longer
  • Visual J++ was my editor of choice
  • Flowers were the only thing I really knew you could successfully order online
  • The only cell phones were the ones you could plug into your car, so there was no “cell phone policy” in the classrooms
  • (4 years prior) My first ever CS lab assignment was to learn how to use FTP

My First Day of Grad School

What surprised me most of all was how alive and energetic everyone was on campus.

Things I didn’t expect:

  • The eBook RENTAL value of a textbook was the same as the hard copy hardback rental. Let me repeat this. The eBook textbook (that works on Macs and PCs but not iPads) that you RENT costs the same as renting the hard copy hardback ($100.00). Someone please explain this to me.
  • The people who talked to friends in class didn’t annoy me. Thank you CodePlex team room for the training on how to block out background noise.
  • How strange the word “Homework” sounded to my ears.
  • How painful it was to watch the professor debate out loud the best way to change a font color in PowerPoint. If all my classes are going to be like this, I might not make it.
  • To find a juggling club within minutes of walking onto campus. I have to bring my diabolo tomorrow.
  • Out of the 75 students in my 300lv class today (an engineering pre-req), no one was taking notes on a laptop. In fact, I didn’t see anyone even taking notes!
  • How long the Textbook Renters Agreement is on a receipt. What happened to saving the rainforest?

Textbook Rental Agreement

It will be really interesting to make the adjustment from “results-driven performance” to “beauty is in the eye of the professor” performance. Already I’m finding myself cringing reading in my textbooks about the “engineering method” about how engineers debug and fix issues. But it will be an adventure, and I’ll continue to share here.

My First Day of the Rest of my Career

If anyone out there has made the PM->UX jump, or has added a UX degree to their existing PM roles, I’d love to pick your brain for advice.

In the here and now, I’m using this first semester to get a running start into the program by focusing on classwork. But after this semester, I’m hoping to find an opportunity in South Bay (Silicon Valley) that allows me to continue using Agile/XP in a PM role for a very UX-focused product/culture. Fortunately, San Jose State offers an evening program for my Masters.

Longer term, I could see myself becoming some sort of User Experience Researcher. I love analyzing how people use software. I guess this is why I loved being a software tester on Visual Studio so much. One of my favorite things to do is to review a prototype website or product and provide feedback on what’s not quite working. I don’t recall the formal names for these things (heuristic evaluations?), but I know I love to do them. I’ve even begged friends to let me review their websites and provide them with 10 page reviews just for fun.

Wish me luck and patience(!) with my professors using PowerPoint. At least I don’t have to watch them use Visual Studio!  :)

What a backpack can teach us about software design and usability

I purchased my North Face Women’s Surge backpack about a year ago. Built as a smaller backpack, I instantly loved the fit. Also, the marketing tags promoted a special section for a power adapter which caught my interest.

North Face Surge Women's BackPack

After a year of using this backpack, I discovered quite by accident I was putting the power adapter in the wrong compartment (towards the top near the front instead of at the bottom). I was completely defeating the purpose of the design.

Special Power Adapter Section at Bottom

I never saw the zipper at the bottom of the backpack. It begs the question, “North Face, why didn’t you just tell me where this ‘special location for a power adapter’ was located instead of making me guess? Why didn’t you use three extra words ‘on the bottom’ to tell me where it was? Why did you assume I’d just get it when I’ve never seen a backpack with this feature before?”

If a feature is built in a forest, and no one ever finds it to use it, does it make a sound?

  • Yes, because I still bought the backpack, even though I never used the features.
  • No, because I didn’t feel like I was getting the value I paid for it and came close to returning it and giving it negative reviews. 

Is there value in designing and building features if your users don’t know they exist or how to use them properly? IMO, such features have a negative return on investment.

What else do I not know about my backpack?

Now I’m staring at my backpack thinking what else do I not know? What else am I using incorrectly?

I bet many of you are like me, where you’ve become so used to seeing these features over the years that it doesn’t even phase you anymore.

Perfect Example – Daisy chains

Daisy Chains example 1

Daisy Chains Example 2

I have no idea what daisy chains are for, but I see them all the time on backpacks. Yes, obviously you could hook something to it, but is that the intent? Or am I using it wrong, just like the power adapter compartment.

One other example

I could go on and on with examples from backpacks, but I’ll limit myself to just one more: this thing below. What is supposed to go inside? A jacket? A helmet? If so, why have smaller compartments in the inside where items could fall out or get wet?

Mystery Compartment

Seriously, someone designed it and someone had to test it out. So how do I use it to get the full value of my purchase?

Why doesn’t North Face have a simple “here’s the optimal way to pack this backpack?” guide or even just an image of a fully-packed backpack? Surely QA has done this to test the product. PM has designed it for a specific purpose (at least I hope!) Dev engineered it to spec – so you have the data, just share it!

Lessons learned from backpacks

Think about your software product just like designing this backpack.

  • Are you designing features in a forest never to be found?
  • Is it clear to your users how to use your features to maximize their benefits? (instead of being counter-productive?)
  • Do you have a simple to follow user guide that illustrates how to use all your features?

If you only take one thing away from this blog post, it is this: Explain to your users how to use your features. All of them. Don’t make them guess. Don’t let them use them incorrectly.

Career Advice I Learned along the Hard Way

I was asked via Twitter to post the content of some career advice talks I’ve done for college and high school students. At first, I thought, nah, my content isn’t that good. I’ve read a lot of better stuff out there, namely Philip Su’s post which is incredibly good. But then I started thinking that maybe something in here could help someone else out and that would be worth sharing.

The last time I gave this talk was in February, when I was back visiting Mississippi State University, my alma mater. I was trying to build up the courage to blog this content. Again, I was thinking it post wasn’t good enough to share, when a good friend from college contacted me out of the clear blue.  He is just getting started with his blog . I was giving him some advice on getting a blog up and running when I realized that I haven’t blogged in nearly a year. With the emails of “are you still alive?” piling up, I realized I needed to get my act back together. So thanks to Clay for motivating me to get this post out there once and for all.

Career Advice I Learned the Hard Way

Be responsive – Something I learned from Prashant Sridharan – Always be responsive on email. I always try to respond as soon as I possibly can, even if it is a “hey, I don’t know the answer off the top of my head, but I’ll look into it.” Just a quick 2-second reply can do wonders. It comforts the other person just acknowledging you got the email instead of them worrying if it ended up in your junk email folder.

Take pride in your work – And the second thing I learned from Prashant – If you love what you do, work on the project as if today was your last day. Or another way of looking at it, strive to do your best on a project, because your name will be associated with that project until the end of time. So make the extra effort to polish your work, like making sure there are no spelling errors, using a nice layout or template other than just a plain text look and feel, and so forth.

Listen to others – One thing I learned from years of customer support is to acknowledge what the other person is saying. You might not necessarily agree with them, and in some cases they could be completely misinformed. That doesn’t matter. What actually matters is that you acknowledge what the other person said. For example, just saying, “I am sorry you are having trouble with <issue>” can go a long way. Usually, this causes the other person to think, “wow, they actually understand me!” and if knowing is half the battle, then acknowledging the other person is at least 80%.

Just a bit of caution. This doesn’t mean cut and paste this as a script, although most of the time you might get away with it. But if someone realizes what you are doing, it can be disastrous. What I’m trying to say here is actually try to understand it from the other person’s point of view, even if it is a tiny, tiny bit. For example, we can all relate to the very basic things, like feelings of frustration. We’ve all been there when we’ve urgently needed to get something from a website, only to discover its fail whale image. It’s that little bit of sympathy when you say, “I am sorry you’re having issues. It’s definitely a frustrating experience that I wish to correct as soon as possible” that goes a long way. As I’ve said many, many times, “It is easy to hate a product. It is very hard to hate a person who is trying to help you.”

So, listen to others. You might be surprised by what you hear.

Seek Perfection of Character – This one comes from karate. “The ultimate aim of the art of karate lies not in victory or defeat, but in the perfection of the characters of its participants,” quote by Shotokan founder Gichin Funakoshi. People constantly ask me, “So to get your black belt or to get a rank, do you have to beat someone in a sparring match?” I have to explain it isn’t like that. I describe it like competing in a  “best in show” event. The dog isn’t competing against the other breeds. The dog is competing against how close it is to what is considered the perfect example of the breed. Same in karate, you are trying to get as close as you can to the perfection of the art, regardless of how good the people are around you.

So much of karate training blends into the real world, and this is one of those times. The most successful people I’ve ever met had this same mindset of seeking perfection in their jobs, their hobbies, and their relationships. So what are you doing to get your black belt in the things you care the most about?

Challenge yourself – Again, another sports analogy. The only way to physically grow muscles is to challenge them outside their comfort zone. And I’m not saying that just because you can run a 5K doesn’t necessarily mean train for a 10K. But what if a runner tried swimming? It’s definitely an excellent idea to be able to swim when you’re injured from running!

It doesn’t take much. Spend just 30 minutes a day learning a new programming language. You might just end up with deeper insights (or deeper appreciation) for your primary programming language.

Career Changes – A general manager once told those of us on his team that the biggest mistake people make in changing their careers is that they make too big of a jump. For example, he said to consider Red Cross. A lot of people may be inspired by the work Red Cross does, so they put in their resume. But what’s contained in their resume is what they are doing today in their day jobs (e.g. coding) that isn’t bringing them that sense of satisfaction they want. But what is Red Cross going to do? Red Cross is going to evaluate them based on their current day job skills, and match them with more coding jobs, so nothing has really changed.

Another manager reiterated the same thing to me, but in a slightly different way. He said, “Only make one major change at a time.”

I debated whether telling college students this advice, but decided to throw it in after an experience I had on a plane a few years ago. I was sharing this advice with someone sitting next to me (I want to say it was a coworker returning from a conference, but I can’t recall). I noticed the lady seated in front of me desperately trying to overhear what I was saying without appearing too obvious. I thought if a random stranger was willing to press their ear between two plane seats, I should share with college students before it got to that point for them. J

Integrity above all - Never sacrifice integrity. IMO, it is the only thing you can steal from yourself. And I’m talking about the simple, ever day things. Once again on a plane, there was a young woman, in her late teens or early 20s, sitting next to me listening to her iPod. When music can be heard from your earbuds, it is too loud. The flight attendant asked her for the 3rd time to please turn off the music as we were preparing for take-off, and she grunted at her saying, “It’s off.” I just rolled my eyes. Really, is it worth sacrificing your integrity over a 15-minute pause in your music?

There’s a famous story about Theodore Roosevelt that I read in How To Win Friends and Influence People.  He once fired a rancher who stole some neighboring cattle and added them to Roosevelt’s herd.  When asked about this by incredulous friends, Roosevelt simply replied, “A man who steals for me will also steal from me.”

Be agile - I’m stealing a philosophical belief from agile methodologies. Again, I’ve heard this numerous times from numerous people. In the real world, there’s no time for ‘A’ game. Do your best 80%. Get feedback on the other 20%.

Now, this might seem counter-intuitive to my “Take pride in your work” advice, but it is not. You can still take tremendous pride in your 80% work and have it look polished and well-written with no spelling errors. There’s a fine line here. My advice is to know when to be on which side of the line.

Be humble – Humility goes a very long way. But we all know that. So, I’m going to explore another side of this coin. Never dishonor someone by saying you don’t deserve some recognition. If someone is taking the time to honor you, reciprocate the honor by acknowledging the honor and thank them for it. Just like a birthday present, you’d never say, “Oh this isn’t for me. I don’t want this.” (at least I hope not). Same goes for honors and recognition.

Probably the most humbling moment of my entire life was wearing an Olympic gold medal around my neck. The Olympian was giving a motivational talk to those of us about to do our first triathlon, and wanted to share with us what a gold medal feels like.

You are not a fake – We all suffer from this, the imposter syndrome, that we’re not good enough for our jobs and one day we will be found out and fired. I have struggled with this the majority of my career, so I guess that makes me a fake too.

As I prepared this talk for the first time last year in a hotel bar close to midnight, a college grad student next to me leaned over and asked, “Does the impostor syndrome ever go away?” And here’s something to know about me. If I’ve had a few beers late at night, I will give you a straight, most direct, unsugar-coated answer. This time was no exception. I leaned over to her and said, “No it doesn’t.” She looked so stunned, like I told her that there is no Santa or the shot in the arm actually did hurt. I remember being a bit surprised by her reaction, because we developers are very analytical creatures. She asked a question; I gave her the most correct answer possible. Then I realized she was looking more for support rather than a correct answer, so I recovered with “What I mean is it doesn’t go away but you learn to deal with it. The first step is just to acknowledge it is there. Once it is acknowledge, and that’s the biggest challenge, the rest becomes easier and clearer on how to deal with it. In fact, it is a good feeling to have, because it means you are still growing. Just like sore muscles, you’re growing outside your comfort zone. It also means you have passion for what you do, and passion isn’t something you can fake (not for long anyways). So, figure out what is making you afraid, write those things down, and figure out how you can grow in those areas, like finding a developer mentor, doing toastmasters to practice giving a speech, etc. For example, I was so scared of public speaking when I first got started. I figured everyone would laugh at me just walking out onto the stage because they would know immediately I was an impostor. It was this bizarre ‘everyone will laugh at you before you even get started’ that was so paralyzing. So, I decided to face it head on by doing karaoke. I cannot sing to save my life, but I had to face the fear of “what if they all laugh.” It was one of the best things I could do to get over that fear, and the impostor syndrome was once again placed in check.”

I still think she wished I had just answered “yes, it goes away.” J

“How To Win Friends and Influence People” by Dale Carnegie – Why on Earth it has taken me this long to read this book is beyond me. This book should be required reading for all, especially for us super-analytical folks. The hands-down most important sentence in that entire book is “There is only one way under heaven to get anyone to do anything, and that’s by making them to want to do it.”

Stop whatever it is you are doing now, including reading this blog, and get that book. To put into perspective, it was initially written in 1937 and still relevant today!

It’s all about the people – I wish computer science curriculums would spend extra time on interpersonal skills. It’s so easy to forget we’re talking to a human being with feelings and emotions, rather than a compiler or interface that we can simply be black and white, extremely correct or logical. Sometimes being extremely correct is not the best route to take.

I remember when the story mentioned below was happening, and I recall checking out the site, but I never once thought about the person who created the site. I had no clue he was going through this. I wished I had done something to offer my support, even if it was just a quick email.

“Amidst some LCA controversy around “Dr. Who(m),” a site I worked very hard on creating after hours, I arrived at my office to find a handmade two-foot-high Dalek.  Someone had taken the time to print, cut, and tape together a mascot to support me.  What inspires people to this sort of kindness?  I still don’t know who did this for me – but if you’re reading this, thank you.” – Philip Su’s blog.

Luck = hard work + opportunity – I can’t remember where I read this at, but it is so true. Work hard and be ready when the opportunities present themselves.

Meet your heroes – If you ever get the chance to meet your heroes, I definitely suggest that you allow them to be themselves. Talk about spot-on advice. I got to meet one of my heroes once. Not sure how comfortable I made Lewis Black when I made him depressed, but it was epic nonetheless.

Get a personal trainer – When I first entered the corporate world, I was overwhelmed. Work was just one part of it.  The bigger issue was the real world stuff, the stuff they don’t teach in schools. One of the biggest mistakes I made was that I passed up the opportunity to get a personal trainer right out of college, but didn’t think I was worth the money to hire a trainer for myself. Oh to go back to my 23 year old self and punch me in the jaw (provided my karate skills have improved in the past 10 years). I struggled early on with this sense of “needing permission to do things,” even if it was what was best for me. Nowadays, I won’t go without a trainer, mostly because I need someone to tame me. But again, speaking to a group of college students, “Invest in your health, the sooner, the better. You’re worth it.”

But don’t go to the other extreme where you never enjoy life. I once had a doctor walk into the exam room holding my blood work in his hands yelling, “Do you have any idea how healthy you are!? You are too healthy!” It was a very odd conversation. My takeaway from that is that it is okay once in a while to splurge. My guilty pleasure is In-N-Out burger. Probably not what my doctor had in mind, but what’s the point of all that exercise if I can’t enjoy a burger every once in a while.

QED – I hope this was helpful.

Coding Faster: Visual Studio Tips book #2 has gone to printing!

The best moment when writing a book is not holding the book in your hands. The best moment is getting an email that says, “Congrats! Your book has gone to printing!” Then you know the book-writing process is finally over! Well, at least until the next one :)

Thanks to Zain Naboulsi for doing the lion’s share of the work, not to mention keeping the blog series going! I don’t think I’m exaggerating when I say I even learned things about the Visual Studio IDE while working with Zain. This is the book to have if you want to master Visual Studio.

And of course, thank you Sean Laberee and Rob Caron! This wouldn’t have happened without your help early on.

And yes, I plan to once again donate my portions of my author royalties to the Save Waveland Scholarship Fund to send Hurricane Katrina survivors of my hometown to college. Because that’s how we roll in New Orleans.

Zombie Marie Curie Speaks the Truth!

I feel like a zombie. My blog is coming back to life. Words I never thought I would say. But after 8 years of non-stop blogging, I needed some time to catch my breath. Or best put by R.E.M., “it’s time I had some time alone, and I’ll be fine.” A few blog post ideas have queued up long enough, so no better time now than the present.  That, and getting a new Mac Air greatly improves motivation (which it is awesome, btw).

And my thanks to many of you who have emailed me, asking if I was okay or even still alive. I appreciate all the kind words.

On the subject of zombies, an XKCD cartoon (http://xkcd.com/896/) was making the rounds not too long ago.

Even at 33 years old, with 10 years of software development behind me, this cartoon got to me. And not just about computers, but about everything I’ve ever been passionate about: Sports. School. MacGyver.

The key line is “if you like doing this stuff, you are not alone.” Maybe things are different today where a simple Google search yields instant proof that there are other liked-mind people in the world. I don’t know. But what I do know is that every kid should read and understand what Zombie Marie Curie is saying. It’s not a sentence to be taken out of context.

Many young college women have asked me for advice. I always tell them that hands-down the most important advice I can give is to be honest with yourself and do whatever it is you want to do. And if you are still here after that meeting with yourself, then we can talk about specific tactical suggestions.

Which is the subject of my next blog post – specific tactical suggestions, or what I like to call “career advice I learned the hard way.” In the past year, I’ve given several talks to high school and college students on general career advice. It was suggested on Twitter that I post the talk, because the contents could be relevant to more than just college women.

And so here we are. Hopefully there are a few of you left that are still subscribed!

Hello Ohloh World!

Hey all! Long time, no post, I know…

But I’m back! And I’m excited to say hi to you all as Black Duck Software’s new Senior Product and Community Manager for Ohloh.net.

Right now, you’re probably wondering one of two things: “Who are you?” or “This is very interesting.”

Let’s start with my backstory first, to catch the first group up. Then we’ll go from there.

Me.Info()

I’m a developer, born and raised. My first computer was a Texas Instruments 99-4A, where I became addicted to Scott Adam’s Pirate’s Adventure (Say Yoho!) text-based RPG. I named my short-hair collie Cecil after Final Fantasy II (US-release version #), the greatest RPG story line ever (not to mention the greatest dog as well). I double-majored in Computer Science and Mathematics at Mississippi State, where I worked as a developer on the WebTOP project, using VRML and Visual J++ to simulate physics lab experiments on the web.

But let’s just get to the interesting part…

Upon graduation, I went to work for Microsoft. Yep, Microsoft, where I was for the past 9 years. (Don’t worry, it’s cool. Keep reading.)  I ran RedHat in college, constantly hitting freshmeat.net (“never dot-com, never dot-org,” as I was warned) as my one-stop shop for all things Linux. Next thing I know, I’m graduating and moving to Seattle for personal reasons, so I decided to interview with Microsoft to check them out. I ended up joining the Visual Studio team as a developer on their automation framework. I’ll never forget my first day, where I asked my officemates, “um, what’s the command-line equivalent of ‘ls’ to look up files in a directory?” If you want to talk about some strange looks, come find me sometime.

OSS @ MSFT

Roughly 5 years ago, I decided to move from engineering to program management, because I wanted to work more with communities. I’ll never forget being asked by my first PM manager, “Do you want to work in the forums, or do you want to work with Visual Studio plug-ins as open source projects on this soon-to-be released forge site called CodePlex.com?” (I’m heavily paraphrasing, btw.) I’m so glad I said “open source,” because I wouldn’t trade my OSS @ MSFT adventures for the world, like getting to spray paint “Embrace Open Source” on my Microsoft office window to jumping off a building to promote Open Source at Microsoft.

But imagine 5 years ago. A program manager trying to figure out how to open source development from within Microsoft. I was fortunate enough to attend OSCON 2006 and take back some incredible lessons. We even filmed the discussion of me bringing back the info I learned and the changes we would make to our development cycle, while having a member of the Microsoft Open Source Software Lab in the room. (Link to video and presentation). When CodePlex.com went live around that time, my team had 3 of the first 28 projects up there. Here’s my 1 year recap of lessons learned if you’re interested.

Not long later, there was an opportunity to become the Program Manager for CodePlex.com, Microsoft’s open source project hosting site. At the time I joined, there were about 2800 projects. When I left the team in February 2010 to move to NorCal for warmer, sunnier weather, there were around 13,000 projects on CodePlex. I had also managed 28 deployments in 2 years using our agile progress, which followed about 90% of XP (extreme programming). I had to pause for a second during my relocation to think, “wow, I watched 10,000 open source projects get created on a forge hosted by Microsoft during my tenure as the Program Manager.

Where Agile meets Community

I fundamentally believe that agile is the single, most important thing you can do to significantly improve the user experience of your website. And I’m not talking about Wagile (Agile sliding back to waterfall) to Scrumbut (We do scrum, but…), but “real” agile.

I believe a large part of the success I’ve seen comes from utilizing agile methodologies to respond to community feedback via site enhancements.

Community

Community is my passion. I believe in being transparent (where we are with feature priorities) and in being responsive (we can’t do everything overnight for everyone, but I guarantee each and everyone one of you a timely response). I’ve had tremendous role models, like Jono Bacon, the Ubuntu Community Manager and author of The Art of Community, and Ross Turk, former Community Manager for SourceForge, give me guidance over the years in what makes communities successful. I’m both thrilled and humbled to have this chance to work even more closely with community leaders in open source.

Paging in Ohloh

An idea I’ve always had running in the background was this concept of a “one-stop shop” for all things open source, regardless of development platform, language, or business model. As a Microsoft employee learning to do open source and trying to figure out my place within the OSS community, I gave this talk at OSCON 2008 Towards a Stronger Open Source Ecosystem to discuss my personal views.

I view being the Product and Community Manager of Ohloh the chance of a lifetime. Ohloh is an incredible opportunity for me to put together my agile development experience, my “lowering the barriers to open source” experience, and my 7 years of passion and experience in online communities. Additionally, Black Duck’s KnowledgeBase has been a longtime curiosity of mine. As a developer, I’ve always wondered what’s in there, what sort of data do they have on 300,000 OSS projects, and how to utilize it. And finally, getting to incorporate an incredible site like Koders (Hi @Haacked!), a code search engine of 3 billion(!) lines of source, the potential of Ohloh is HUGE.

What’s next

As I’m sure every one of you reading this is curious, here’s my short list of //TODOs.

  • Start fixing top priority bugs - We’ve been in the forums already, resolving your login issues, license identification issues, and most importantly enlistment issues. We’re also working on a list of top bugs while we work on our data center migration.
  • Getting out into the community by listening to your feedback, setting up the best feedback loops, being transparent with our priorities and updates, going to various user groups in the Silicon Valley area.
  • And on a personal note, start learning Ruby on Rails and join a local Ruby user group in Silicon Valley. As a born and raised developer, I can’t stand not being able to see at least some of the code in my head when I talk to developers. Who knows, maybe the Ohloh devs will let me check in one day! I have 133 lines in Visual Studio and I got to write some HTML for CodePlex.com, and I didn’t break the build on either one. ;-)

If you feel something is missing from my short list, please let me know.

Contact Me

Here’s where you can currently find and contact me

Let me know where else I need.

BTW, in case you’re Googling me, wondering where my past blog content has gone, I migrated everything to http://saraford.net. It was important to me that I would be able to continue to respond to readers on my previous blog.

Thanks! And as I said above, I’ve committed myself to Ohloh’s development and service as the most comprehensive, most trusted, free site to the open source community.

Stay tuned!

Hello World!

As I announced this morning over at http://blogs.msdn.com/saraford Today is my last day at Microsoft.

It’s been an incredible 9 years at the company, getting to work with smart, passionate people. I can’t even begin to describe how much I’ve learned over the years.

I’ve had the opportunity of my dreams come along, and I’ve decided to pursue it. As incredibly excited I am about this opportunity, I’m going to let my new company announce my arrival.

In the meantime, I’m so looking forward to a little downtime and getting some much needed cycling in. And of course, there’s my triathlon with Team in Training coming up.

Keep in touch and stay tuned!

Training for my first Triathlon with Team in Training

People at the various user groups I go to seem to enjoy my triathlon training stories. Since sports training is a hobby for me, I thought I’d share what it’s been like training for my first “tri”. I’m terrified of swimming, hence why i’ve never done one before.

I’m with Team in Training, a non-profit organization that raises money for the Leukemia & Lymphoma Society (blood cancer research). You fundraise for “TnT” and in return they train you for your event, whether it’s a triathlon, a marathon, or a century bike ride. They also handle event registration and logistics for you. It’s been a perfect experience for me.

Triathlon selection

I started off training for a half-Ironman (1.2 mile swim, a 50 mile bike ride, and a 13 mile run), but a 5-minute run in my Vibrams gave me some tendonitis in my ankle. Yes, i had been taking it slow, wearing the Vibrams for nearly 3 months before trying to run. And yes, they were a proper fit. I had been through 4 different sizes. Nothing is that good to be true, so if you have low arches, I highly suggest avoiding Vibrams. Additionally, I heard there was an open water swim cut-off for the half-ironman, which freaked me out. I could just imagine me fighting the people on the beach or on a boat trying to pull me out of the water if i didn’t make the cut-off. Luckily, I was able to downgrade my tri to an Olympic size one in time. Baby steps.

I’m doing Marin County Triathlon on Halloween (can’t wait to see the costumes). It’s an Olympic distance of .9 mile swim, a 22 mile bike ride, and a 6.2 mile run (10k). I *love* cycling, and before the Vibram incident I could easily run 3 miles. But the swimming! Shudders.

track running

The training

The TnT folks on the tri team get together twice a week to train with the various coaches. This group has 5 coaches, most are specialized per activity. It’s cool to hear stories of the coaches starting off with TnT years ago doing their first tri as a participant and working their way up. It’s been very inspiring to me.

You also get assigned a mentor, who in my case, keeps me from quitting when I get frustrated in the swimming pool or from my latest injury. The participant to mentor ratio is really low (at least in this group), making you feel like someone truly has your back.

And lastly, they give you a static schedule to follow. I think the most important part of any exercise program or training schedule is knowing how to listen to your body, and knowing when to push through and when to throttle back. Given my never ending list of injuries, i’m constantly working on this! The other challenge is making sure you get your workouts in. You have to train 6 days a week, since you’re training for 3 different sports.

The biggest satisfaction I’ve gotten out of TnT is having run coaches evaluate my running technique and tell me what i’m doing wrong. My shin splints went away almost overnight just from correcting my technique. I was really impressed how much knowledge the coaches have. Also, being new to the area, they have been a great source for local recommendations.

bike training

You even also get your own paparazzi who take awesome photos of you training. Nothing better than folks taking pictures of you from a car, as the other vehicles start asking each other “are they famous people?” Epic!

The swimming

Last week was my first open water swim. I was terrified. I’ve never been in a wet suit before, so i’m expecting the water to be ice cold compared to the Gulf of Mexico. It’s not the open water that scares me. I used to sail as a kid. What scares me is cold water.

I stare at the lake and finally put my toe in the water. My immediate reaction is “Oh, it isn’t that bad.” I slowly walk into the water feeling the cooler temperatures permeate through the wetsuit. I’m told to open my suit a little to let the water into my chest to help get adjusted to the water. It’s a little shocking but again not that bad. I’m just grateful i’m starting off in a lake instead of The Bay.

The last step is to go underwater. No big deal. I’ve only been practicing my breathing techniques in the swimming pool for months. I sink down and I realize to my surprise I can barely get my head underwater, the wetsuit is that buoyant. I jump up and try to cannonball into the water to get fully summered.

Next, I realize I can just “sit” in the water. I’m that buoyant with this “human body life jacket”. I scream “This is AWESOME!” and take off swimming. I had a blast and didn’t want to get out of the water at the end.

I thought of Cesar Millan, the Dog Whisperer, in the episode about the Great Dane that was terrified of the swimming pool. Once Cesar finally gets the Dane into the pool after 10 minutes, the Dane discovers he likes swimming (as illustrated by the Dane’s future willingness to jump into the pool). Cesar tells the family, “10 minutes of fear versus a lifetime of fear.” This was so true in my case of the open water swim I couldn’t stop laughing at myself.

The fundraising

The first thing anyone who has done TnT before asks me, “Send me your fundraising link! I’ll help you out.” So, if you fall into this category, here’s my fundraising page.

http://pages.teamintraining.org/sj/silvertr10/sfordr

If your employer matches donations to non-profits, contact me and i’ll send you the instructions to request a match. If you’re a Microsoftie, I’ll send you the step-by-literal-step instructions.