Gray's Matter
Justice Gray - North America's favorite metrosexual software consultant
E-mail Justice
Subscribe to this feed
Subscribe to comments
Perennially Popular Posts
How to write a presentation abstract
My grandmother, globalization, and what's wrong with DateTime.Parse
A letter to my Worldvision sponsor child
Development Methodologies for the 21st Century
My grandmother & the difference between strong typing and weak typing
How I am becoming a better developer, part 1 of infinity
Facebook RSS Feeds: How to Write Your Own With C#
The Ten Keys To Happiness
My grandmother and the Global Assembly Cache (And Star Wars)
My grandmother and the difference between processes and threads
How to make a meeting request
Why you should never be an independent consultant
The DasBlog 1.9 AJAX Autosave True Story, Part 2
Other "metro" developers
Ben Scheirman
Bil Simser
D'Arcy Lussier
David Woods
Donald Belcham
Donald Jessop
George Clingerman
James Kovacs
Jason Hunt
Jason Row
Jean-Paul Boodhoo
Jeffrey Palermo
Joey deVilla
John Bristowe
Jonas Avellana
Kyle Baley
Mack Male
Martin Hinselwood
Michael McClenaghan
Mike Duncan
Mike Friesen
Mo Khan
Otyce
RoboSapient
Russell Ball
Scott Hanselman
Scott Reynolds
Steven Rockarts
Tech Embassy
Terry Thibodeau
Tom Opgenorth
Vladimir Levin
The Justice Gray Fan Club
Amazing Mrs. Loquacious
Dr. Teeth
Facedown
Janey Lynne
Maxime Lamy
Ridley Thunder
Stan Woo
Vanilla Con
Wobbly*Bits
I Wish These People Updated More Than Once a Year
Anand Narayan
Jeff Perrin
<< Change yourself, change the world: week 2
Phil Haack and the mysterious case of the Phil Haack comments thread >>
How prototype.js saved my marriage
This is going to get a little personal but bear with me - it's a story from the dark recesses of my past that needs sharing. Because this blog always pulls out all the stops today's entry comes with
musical accompaniment
by everyone's favorite 5-man band, Earth, Wind, and Fire. This is best read if you listen to "After The Love Is Gone" while you are reading this saga, so I've embedded it here.
My wife used to *love* the user interfaces I designed. "Oh, *that's* nice." "The client will *love* that." "This is *amazing*!" People warned me it was just the honeymoon phase, that eventually this infatuation would pass and Mrs. L would be off looking at other UIs. I didn't believe them, partially because I was naive but also partially because the main proponent of this theory collapsed in a drunken heap after giving my wife his new business card and telling her to leave me because "eventually you'll find far better UIs out there." Out of respect for
this man's
privacy I've declined to name him. Nonetheless I'm sure why you can see why I was skeptical
Our lives went on but in the back of my mind I wondered - was there even a glimmer of truth to this man's words? Sure, there's not a lot of credibility to be had from a man who gtells women "the greatest UI of all is down *here*" before falling down on the floor and wetting himself, but it made me a little jumpy.
At some point - I don't know when - I found things had changed. Mrs L had begun to lose inerest in looking at the sites I was designing. "Yeah, that's okay" or "Are you sure they'll be happy with that" had replaced the previous enthusiastic cheerleading. More than that, I noticed that her eyes were wandering...wandering to other sites. Sometimes I would catch her and she'd race to close the window, telling me it was "just nothing". I, however, have the mind of a
steel trap
, and thus knew she was hiding something from me.
It all blew up one day when we were reviewing a UI design I had sketched out - at which point she asked me, "Why don't you do it like [
this site]??"
Awkward silence ensued as she realized what she had unintentionally admitted to - she had been actively looking at
other UI.
The next several weeks were a downward spiral. I couldn't even open Firefox without feeling nauseous. Out of respect she moved herself out of our office and put her laptop on the kitchen table for her work. I meanwhile spent every day for two weeks drinking down a mixture of salty liquor and saltier tears. It was at this point I felt we had truly hit rock bottom. Friends suggested that maybe I try looking at Silverlight, but I didn't need some "5 minute abs" style solution to UI concerns; I needed something that would be
legitimately
transformative. I thought perhaps I needed a complete reinvention - thinking that perhaps an entirely new lifestyle would be the solution to my problems.
And that's when I discovered
prototype.js
.
[You can now change your musical selection to "Let's Groove Tonight" by Earth, Wind and Fire - I've attached the *original* 1970s video!!]
We've talked a bit before about why I feel so strongly about Javascript and those of you who were at my MVC presentation last November (honestly, I *am* going to post about my experience there, I promise) also heard me talk to these points a bit. Prototype (and yes, Ben,
JQuery
as well ;) ) is what turned me around into the rampaging machismo machine I am today.
As I began to explore prototype and its cousin
script.aculo.us
an entire new
world
of user interface design became clear to me. Form elements that could gracefully fade in and out depending on validity of input. Modal and non-modal windows for login. Scaling and scrolling effects. A floating tooltip plugin, which I hacked in order to be a "Pop-up Video" style real-time help system. And
DOM traversal functions that actually made sense!
Sure, Visual Studio can't debug either of the libraries at all, but who cares? VS is obviously just jealous.
I redeveloped my UI using prototype and tentatively showed it to my wife. Instead of the "Well, I liked [this site] better" I received cries of "How did you do that?" and "I'm sorry my eyes ever strayed. Can you forgive me?!" Since then we have lived happily together and I know that now, more than ever, my UIs are truly without peer.
It was with this that I learned a valuable lesson. After all, the code underneath hadn't changed, but it was the UI that turned her around. I had discovered that my experiences with prototype and script.aculo.us were not just a marriage-saver but a
metaphor for life.
You see, in the end, it's nice to think that clients actually care about how elegant your database mapper class is or how many design patterns you've used from the Gang of Four. But it doesn't matter. It's not to say that clients don't care at all about having a solid and maintable system...it's just that they are
much more appreciative of a sexy system than they are a reliable one. This goes for *everything* in life.
Like it or not, superficiality exists in everything, even development. Do you think anyone cares if Facebook's code is an untenable mess? It's 17 million billion users say the answer is "no". They use it because it fills a void, it's
easy to use
and for the most part (let's exclude the ridiculous "Funwall" garbage) it
looks good.
If you're looking to:
lose weight
have better self-esteem
have clients that are excited rather than falling asleep as you pore over the cylcomatic complexity of your code
meet women
no, I mean *real* women, not the ones you're chatting with on WoW
prototype and JQuery have my highest recommendation. Check them out today if you dare!
Tuesday, March 04, 2008
Comments [2]
Technical
|
3/4/2008 9:04:28 PM (Mountain Standard Time, UTC-07:00)
Yeah, javascript libraries are essential nowadays. They make things so easy that even I can make something that looks decent. (And that's no easy feat.)
Personally, on my own sites (personal and work) I use mootools. They give you a minimal set of functions that you can easily chain together into cool effects.
<3 Request.JSON
The only downside to mootools is that it's in very heavy development so the api changes ALL THE TIME. It's annoying as hell but worth the pain.
Guillaume Theoret
|
smokinnAT NOSPAMgmail dot com
3/4/2008 9:42:05 PM (Mountain Standard Time, UTC-07:00)
One I have recently found (thanks to a guy at work) is at
http://www.extjs.com
It has all sorts of really cool JS libraries (free for personal use, purchase a commercial license, or donate and discuss with the owners about licensing). Has a lot of interesting ideas to use going forward... and it's code base is actually readable (unlike many JS libraries out there).
Kelly
|
kellyAT NOSPAMmindfulsanity dot com
Name
E-mail
Home page
Remember Me
Comment (HTML not allowed)
Enter the code shown (prevents robots):
Justice Gray
: a seething cauldron of rampaging masculinity. A fighter! A brother! Your
secret lover
! He's also a software development consultant and the Vice President of the
Edmonton .NET user group
. He also greatly enjoys speaking about himself in the 3rd person.
Gray's Matter Archives
Recent Posts
WebForms: The Whining Continues
Announcement: I am now available for fitness consultations
If you are at PDC, and the future of Microsoft means *anything* to you
JetBrains tries a brand new marketing approach
Tobin Titus is going DOWN: the beginnings of an industry-shaking announcement
Mr T, She-Ra, and the sordid past of Justice A. Gray
Justice Gray's NHibernate War Stories: Don't Use Int If You Mean Enum
A HA HA HA HA HA HA HA HA HA HA HA HA HA HA
Post Categories
BookReviews
Conferences
DasBlog
EDMUG
Goals
HanselmanQuestions
HotDeveloperCorner
ILiveToInform
Leadership
Mac
OtherGrayAreas
Personal
Productivity
Ruby
Suresh
Technical
Transformers
Vancouver
Wii
<
November 2008
>
Sun
Mon
Tue
Wed
Thu
Fri
Sat
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
Sign In