Futility of Incompetence (how Monkey is made)

Shockey Monkey, Vladville
3 Comments

I have been fortunate enough to build a big enough business that calls for a lot of decisions on a daily basis – so statistically speaking, I get to deal with a lot of incompetence. I have gotten so good at it that I am no longer afraid of failing, and even have that little sixth sense when I can feel my ass getting bit as I’m making a call. Most failures are of the “Ah crap. Oh well.” nature, learn the lesson, hope not to make it again, move on..

Then there are those failures where you don’t get to shake it off and move on. The kind that grab you by the back of your head and rub your face in it. The kind that make you deal with your failure, all day long, while making you shake your head in slight disbelief at just how magnificently you suck. The kind that when you turn to your friends for some comfort they not only laugh at you, but also tell you all the other bad sides of your failure that you haven’t even considered. Such is the story of Thursday in Vladville.

This entire week I have been deploying Shockey Monkey 2.0 into a sandbox environment for the purpose of both testing and further development. It gives me a chance to write the deployment scripts and scenarios and also go through all the #VLAD code segments where I left a note for myself to spend more time on. Maybe I am alone at this, but I am far from a linear programmer, when things are going well I just keep on cranking it out and leaving breadcrumbs in the areas that I need to visit back later. Mostly complex validation, bounds checking, fixin’ the stupid user, etc.

Yesterday I decided to take the entire day to improve the UI a little. The biggest reason for the lack of management software adoption in business is the visual design. If a user has to click on 50 links in order to enter time, or if they have to dive through 6 tabs, two popup windows, three inline divs and one link to just say they took 2 minutes to call the vendor.. guess what, they aren’t going to do it! Now, some say that if you want a paycheck you’ll do it but threatening users to use the software or not get paid is not a good company morale move. Truth is, the software sucks. For the love of god, one of the two solutions that loosely compete with Shockey Monkey are either so poorly designed in both form and function that they require a friggin University to figure out. The other one follows the abandoned concepts of each era of UI design: never be afraid to pop up a window, whenever possible stick crap into a frame and back it with ActiveX so it only works in one browser (poorly) and lace the interface with more stars and input field forms than a warez site trying to get you to click on as much porn as possible before it takes you to the actual download. I thought I could do better than that.

Boy was I wrong. Yesterday I decided to improve my time entry UI. Here is a tiny screencap:

smentry

Now the first obstacle is trying to make sure that the time format is recognizable by the people that don’t follow the AM/PM system. Since the monkey is famous worldwide, this was more than important. So I ping one of my partners:

Vlad Mazek:  ping
Ian Watkins: pong
Vlad Mazek:  question, if you got a moment
Ian Watkins: Sure
Vlad Mazek:  when you’re entering time, does it take the 24 hour military time or the american am/pm time?
Ian Watkins: Both
Vlad Mazek:  you use 24hr, rght?
Ian Watkins: Can sometimes get confused
Ian Watkins: Sometimes 🙂
Ian Watkins: But we tend to use it if we need to be specific
Vlad Mazek:  well, you’ve been pretty much useless to me today, Ian 🙂

Now here is what the above actually means, in my mind: you can’t count on the user to follow the form, so bind onChange and a few other events so when they enter 23 instead of 11, deduct 12 from their total and flip the am/pm select box to the proper index. This isn’t hard, it’s just a giant pain in the butt. Fast forward a few hours, I try to seek some positive reinforcement from my peers:

Rich Walkup:  oh i’ve done all that before – trust me – i used to work on a biometric payroll system with a computer timeclock
Rich Walkup:  what really sucks is …..
Rich Walkup:  when shit starts at 11:30 and goes over the DST
Vlad Mazek:   and ends at 2:00? 🙂
Rich Walkup:  sorry to throw a wrench into your system brother but….

Visions of someone starting a time entry at 1AM on a DST day and ending it at 2 AM on a DST day fill my head with livid rage, because I know someone will do this and of course they get paid $20 million an hour and this could bankrupt them so they demand free crap. Note to self: Add an address input field to the signup form so if/when this happens I can go kill the bastard.

You see, in college I used to teach a CS course. I remember saying things like: “I understand that these fundamentals are hard for some of you to do because they are time consuming, but they help those who have never programmed before learn how the data is processed, how to do proper error checking, how to write good software.” and I would generally murmor something about how by the time they are writing any commercial code these things would be built into the IDE anyhow and will just require a drag and drop of a time control.

Yesterday I spent all day writing time validation functions for Shockey Monkey. My professional development career has effectively been reduced to keeping stupid people from trying to bill 26 hours in a 24 hour day.

FMR.

3 Responses to Futility of Incompetence (how Monkey is made)

Comments are closed.