Clutter, Chaos, and Sanity…

As I’m winding down for the day and trying to wind down from the week, I’m haunted by a quote in a friend’s signature:

“If a cluttered desk signs a cluttered mind, of what, then, is an empty desk a sign?” — Albert Einstein

If my desk is any indication of my mind, I’m in a lot of trouble.  Thankfully, I’ve been working from home this week, which means I’m cleaning up some clutter and hopefully getting things better organized.

The Cluttered Desk

So what’s been taking up space on my desk?

The Cluttered Mind

My mind is also racing in 30 directions at once, and I’m wishing it would settle down.  However, I know that’s impossible.  Some of the thoughts that have been racing in my mind include:

  • How do we get more people involved in the NASA Space Apps Challenge happening April 10-12?
  • How am I going to manage hosting Easter, celebrating my sons’ birthdays, NASA Space Apps Challenge, Stir Trek, and the other events going on in my life all within the next month?
  • Who else can I recruit for my next big community project? (I’ve already recruited two. More on what’s going on when we have better direction.)
  • When will I cross paths with my apprentices again?  I have been enjoying mentoring Java and .NET apprentices at Software Craftsmanship Guild, and I hope to cross paths with them in the working world.
  • Will my apprentices get placed in companies that are right for them?
  • When will I get back into development as a hobby?  While I liked being a dev for a job, I thrive more with development as a hobby.  I have the ideas… I just need to execute them or maybe find help in that realm.
  • I miss going to user groups and spending time with the community. (Soon, soon… I’m slowly getting back in.)
  • That nervous excitement… I only get it when I’m really around people I know I’d be great friends with or when I have a great idea that can be super successful with the right team. It’s a rare thing, but when it does come along, I always wonder how I’m going to get through the beginning of a new round of it.
  • Why am I constantly overanalyzing my emails? How long did it take me to get past this phase the last time I dealt with a situation like this?

Finding My Sanity

As a step towards finding my sanity, I cleared off some of my desk.  I now have more room to work and draw, which means that I may be one step closer to development as a hobby.  I also have more room for Post-its, which means more room to put up notes for conference and event organizing for April, May, July, and possibly September/October.  I have room to calm down some of the thoughts cluttering my mind.

Working from home, I’ve also been able to listen to music to help keep my focus.  From Queen to Glee to Lindsey Stirling to Alanis… they’ve all been keeping me focused on the other things I’ve been trying to get off my plate.

My desk isn’t empty, and it’s not heavily cluttered either.  Clearing the clutter from my desk is definitely helping me settle some of the clutter in my mind.

Retaining Talented Employees

While on social media this week, I came across this:

Talented employees stay because they’re:

1. paid well
2. mentored
3. challenged
4. promoted
5. involved in decisions
6. appreciated
7. heard

These points are so true.  I’ve found in my past that when I feel all of those, I tend to stay at a company.  However, if I find myself more on the negative side of those, you can guarantee I’m peeking at the field to see what’s out there and whether it’s the right time.  For some reason, 4 years seems to be the mark where I jump.  This year marks 4 years of being independent, and I think this is the first 4 year job anniversary in awhile where I’m not leaving my main employer.  I like working for myself, even when the times are really tough.

Why I Couldn’t Be Retained

I didn’t realize just how important these things were to me until I saw this post fly by on Twitter.  While cleaning my work space at home yesterday, I also managed to find my official list of reasons why I left a previous employer, and many of those reasons are the negatives of the ones above.  It looks like I left my past employers because…

  • Not being heard, despite being recognized by my peers as one to listen to
  • Placing higher value of people based on length of service to a company rather than by actual level of skill
  • Not being able to utilize my skills to the best of my abilities
  • Health issues that stemmed from the environment I worked in
  • Same problems over and over, lacking challenges
  • No support or very difficult environment for training and mentoring
  • Empty promises that showed no hope of becoming true

What Keeps Me Happy

Talking with friends at lunch this past Monday made me realize what is important to me in the work world.  For me, it’s not about the money.  It’s truly about solving problems for people and causes that I care about.  It’s about making a difference in the world.  It’s about working with people that I jive well.  It’s about this thing that continues to drive me – passion for technology and people.

Front-End SUX – Pampers Gifts to Grow On Website

Now for another episode of Sarah on User eXperience (SUX)…

As many of you know, I am a mom – I have two boys who are going to be 3 and 1 very shortly.  I have one in diapers full-time and one who is almost completely potty trained.  I’m a Pampers consumer, through and through.  Their diapers and wipes have been pretty solid for me.

From a tech perspective, I’ve found their website to be a bit troubling at times.  I think the part that frustrates me the most is when I enter a code in a textbox for their Gifts to Grow program.  While I love earning points to redeem them for Shutterfly photo books, I get extremely apprehensive when I log into their website.  This is the problem that plagues me.

Here are the textboxes that make the user experience so frustrating:

Pampers Te

Let’s say I have a code to enter.  This morning, I tried entering: W6H9PRT66J4PG7.  There’s a problem though… I’m missing a between the 6 and H.  In theory, I should be able to put my mouse cursor at that spot, type the J, and be done.  That’s an ideal world.  However, that doesn’t work – any time I tried to click somewhere, it kept moving me to the end of the textbox.  This is a horrible user experience smell.

But the web developer me is really curious.  What kind of JavaScript are they tying to these textboxes, causing this headache?  So I did some looking around…

<input id="gtgRedeem:gtgCode1" type="text" name="gtgRedeem:gtgCode1" class="codeClass" maxlength="15" onblur="jsf.util.chain(this,event,'convertup(\'gtgCode1\')','mojarra.ab(this,event,\'blur\',\'@this\',\'gtgRedeem:gtgCode1Message gtgRedeem:js1\')')" onclick="convertup('gtgCode1')" onkeydown="convertup('gtgCode1')" onkeyup="convertup('gtgCode1')" tabindex="2" style="font-style: italic;">

So that’s how many JavaScript events causing this?

  • onblur
  • onclick
  • onkeydown
  • onkeyup

4 JavaScript events that could be screwing things up.  I’ll pretend I don’t see those Mojarra JSF references there.  It looks like the problem boils down to this convertup function.  Let’s see what that is…

function convertup(gtgtext) {

var fieldSelector = “#gtgRedeem\\:”+gtgtext;

var defaultval=$(fieldSelector).val();

if(defaultval == ‘Enter 15-Digit Code Here’ || defaultval == ” || defaultval == null){

$(fieldSelector).css(‘font-style’, ‘italic’);
}
else{

$(fieldSelector).css(‘font-style’, ‘normal’);
var upperVal=$(fieldSelector).val().toUpperCase();
$(fieldSelector).val(upperVal);

}

}

Resetting the value keeps moving the cursor back to the end of the textbox.  This is where the problem lies.  This is getting called on every blur,  every click, every keyup, and every keydown for this textbox.  So every action I take is firing off a JavaScript event that makes it impossible for me to put my cursor between that 6 and H.

How do we make this more user-friendly?

First of all, let’s get rid of some of these JavaScript events.  Do you really need to change the code to upper on every blur, click, keyup, and keydown?

Ideally, from a developer perspective, it makes more sense to let the server side handle changing the code to UPPERCASE before it checks to see if the code is valid and has been used.  If you really want the front-end to handle the uppercasing, handle it once onblur.

This has been a very frustrating experience.  I’m thankful I’m a technical person, as I can only imagine the non-technical parents out there who are experiencing the same frustrations.  Being technical, I can at least explain why their site sucks and how to improve it.  Now let’s hope that something positive can come from this!