A Slightly Twisted Introduction to The Unified Modeling Language…

2009 Introduction

After a decade of teaching UML, I find one thing really frustrating: people think UML is hard.

I can explain why they think that. There are many factors, too many to go into here.
But it frustrates me, because I know that communicating through UML is easy.

Sometimes friends even try to compliment me. “Sure, it’s easy for you, Martin. But you’re weird.” (Some friends, huh?) “It’s easy for you, because you’re smart. You get it. But it’s hard for us.” And though I appreciate their intended compliment, I don’t accept it. I ain’t special, and I ain’t smart.

Anyone can use UML as effectively as I do. I just have more practice, and a freakish willingness to be wrong if that’s what it takes to be right.

So I’m always looking for ways to shake people out of their preconceptions and get them thinking UML; and I’m not above using a little attitude to do so. I was preparing talks for a conference, and I knew I wanted to pitch a talk on UML for Agile Development. But a title like that just screams Bo-ring! It doesn’t challenge the attendee to show up and be shaken. On a whim, I came up with the title Everything You Know About UML is Wrong (But We Can Fix You)[1].

And then (as if the title wasn’t cheeky enough) in the abstract I promised to show attendees UML in a whole new way, with exercises and visual aids and dancing elephants. (Well, maybe not the elephants…)

And as soon as I clicked the Submit button, I realized: “Hey, what if they accept this talk? I’m actually gonna have to follow through on these promises!
Hey, that sounds hard! Visual aids? What was I thinking?”

And so I sat. And I thought. And I surfed the Internet. And I thought some more. And I surfed some more. And let me just be honest, I surfed more than I thought. (Admit it: you’ve done the same thing. The Internet is the world’s biggest time sucker…)

But somehow despite all that surfing, a thought still somehow swam out of my subconscious: an animated stick figure speaking about UML.

That thought survived for about three seconds before common sense clubbed it over the head, shouting, “You can barely draw stick figures, Moron! How are you going to make animations?”

But then I realized that I can draw stick figures (with a lot of help from Windows Journal[2]). They wouldn’t have to be animated as long as they were interesting.

And suddenly, panel 6 of Episode 1 sprung into my head, cold cocked common sense, and said, “I am your visual aid, Moron!” (All the voices in my head call me Moron. Don’t tell the doctors in the white coats, OK?) Before I knew it, almost all of Episode 1 was in my head, ready to be drawn. Almost all, with one key element still waiting for me to discover it.

So I had my visual aid concept; but I felt like I had more than just some conference slides. I felt there was a story here, even an ongoing story. That meant I needed a name. And I wanted the name to have a very specific abbreviation. (Please don’t make me spell it out! Let me pretend it’s still my private little joke – a very public private little joke.) In a late night Live[3] chat with my good friend Curtis Gray[4], he suggested a lot of L-words.
When he struck on “Lounge”, a shiver ran through me. I saw the bar. I saw The Reader and The UML Guy standing by the bar, talking. I saw The Bartender behind the bar. And somehow, behind me and to my left, I felt a round room with a central fireplace.
I knew this place that hadn’t existed moments before. “Lounge” it would be!

So that meant I needed a U and an M. I tried looking up possibilities online, only to discover that online dictionaries[5] are optimized for fast definitions, not for browsing by letter. So I dug back through my bookshelves and found an old curiosity: a paper dictionary! Leafing through the Us, I wasn’t thrilled with most of the earlier choices. Then I came to “ulterior”; and in the usage example, naturally, it included “ulterior motive”. (Come on: when was the last time you heard “ulterior” without it being immediately followed by “motive”?) That was it: the right initials and a hint at a larger purpose.

And thus, Ulterior Motive Lounge was born. I was only 90% sure at first; but I quickly reached 110%. The name fits.

So I had a name, a concept, a plot outline, even a location. With the help of Windows Journal, I had straight lines and rectangles and smooth ellipses. It was time to start drawing.

But after Episode 1 was drawn (or so I thought), I still was missing something. I just couldn’t tell what. So again, I let my mind wander; and I recalled a recent discussion where I had – for the umpteenth time – tried to convince a friend that Hudson Hawk[6] is an underappreciated comic masterpiece. (It is. Just accept that, and we’ll get along fine.) And suddenly, the missing element fell into place. I’ll let you read the Episode to see the results,
but I had a motif: Bad 80s Movies. Oh, all right, Hudson Hawk is a 90s movie, and not a bad one. But it’s 80s-ish. The real motif is “Movie jokes that make Martin laugh.” (The bunny slippers came later. I would ditch them if I could, but Curtis won’t let me.)

And so I added the missing pieces to the first Episode; and then I sought opinions from my buddy Bill Emerson, a.k.a. Epee Bill.[7] Before Bill quite knew what had happened, he joined the strip as the off-panel Editor Bill. Curtis became my beta tester, the voice of The Reader,
letting me know when I missed the balance between entertaining and educating. (Surprisingly, he most often criticizes me for educating too much.
He says that if I stop entertaining, he stops reading, and I stop educating. Less is more, I guess…)

And the Lounge was born. I announced it on Twitter[8], and got a much warmer reception than I deserved. In particular, tweeps @coreyhaines[9], @jbkazoo[10], @anklebuster[11], and @crazeegeekchick[12] fed my ego, with lots of comments and agreeing to guest star in the strip. Thanks to their promotional assistance, the Lounge received over 3,000 page views in the first 14 episodes. That plus their comments persuaded me to keep drawing and keep teaching. I can’t thank them enough!

I also was inspired by these YouTube videos: Animator vs. Animation (http://www.youtube.com/watch?v=c24t7Onr_Pw) and The One by mkrepps (http://www.youtube.com/watch?v=TuRjO8WbgT8), music by Gaelic Storm[13] (my current favorite band). Further inspiration came from Scott Adams[14], Jolly R. Blackburn[15], and Chris Muir[16], who convinced me that limited art skills are no barrier to telling graphic stories. (Yes, they’re all better than me; but what kind of standard is that?)

Various friends have made comments and suggestions on the Episodes; and when I used those, I credited them in the text. Some of them even appear as guest stars. Others have contributed without knowing, by teaching me lessons that I teach again here. Without them, the Lounge wouldn’t be what it is. (No, I’m not trying to shift blame, just acknowledge their invaluable assistance.) Here are the contributors, in order of contribution:

Curtis Gray
Bill Emerson (a.k.a. Editor Bill, a.k.a. Epee Bill)
Nancy Roberts, speech teacher and debate coach extraordinaire
John Burns (a.k.a. @jbkazoo)
Dean Esmay
Lynn Molenkamp (a.k.a. Lynn the Build Queen)
Ernie Walters (a.k.a. Ernie Out in the Barn)
Scott Morris (a.k.a. Scott the Integration Architect, a.k.a Scott the Prototype Analyst)
Christian Gross (a.k.a. Christian the Patterns Guy)
Dana Coffey (a.k.a. @crazeegeekchick)
Virginia Reiser
Lucy Reiser
Mitch Allen (a.k.a. @anklebuster)
Corey Haines (a.k.a. @coreyhaines)
Alan Richardson (a.k.a. Evil Tester)
Harry Gilbert
Scott Favre (a.k.a. @dfavre)
Andy Stampor (a.k.a. @arphahat)
Phil Newsted
Steve Stark

Thanks to Bruce Willis for the porkpie hat, and for the Hawk.

Thanks to my sister, Anita Buckowing, for invaluable proofreading. After all these years, she’s immune to my jokes. Mostly.

And thanks to Sandy for watching all these movies with me, for agreeing to be my wife, and for being my inspiration. Even when I don’t say it.

2020 Introduction

You won’t find me on Twitter much these days. The format is too restrictive. So all references to Twitter herein should be considered ancient history. All links are suspect.

Today, I’m not just a programmer, I’m a writer, as is obvious from this web site; and I find that a lot of what I wrote here applies to the writing world as well.

 

 

[1] Inspired by the Firesign Theatre album Everything You Know Is Wrong (http://en.wikipedia.org/wiki/Everything_You_Know_Is_Wrong).

[2] Windows Journal is a simple Tablet PC drawing tool available on all Tablet PCs, as well as PCs with Windows Vista and Windows 7.

[3] Live Messenger, available through http://www.live.com.

[4] Curtis Gray is a programmer, architect, salesman, and entrepreneur. You can hear some of our conversations on development at http://www.ShipItOnTheSide.com.

[5] http://www.dictionary.com, for one.

[6] Hudson Hawk (http://www.imdb.com/title/tt0102070/) is a classic comedy adventure story of an innocent cat burglar trapped in the crime of the centuries.
Ignore any review you’ve heard to the contrary.

[7] Epee Bill is one of my many long-standing friends from the Ann Arbor Dueling Society (http://www.AADuelist.org/club). He’s also a natural-born requirements analyst.
Some day, I’ll find a way to pay him to do that work, unless someone smarter than me snaps him up first.

[8] http://www.Twitter is a broadcast messaging system that’s very popular in the development community, and a source of much encouragement for the Lounge. Messages you post to Twitter are called “tweets”, and friends you follow on Twitter are called “tweeps”. (Don’t blame me, I didn’t come up with the names.) Tweeps are identified by their Twitter handles, which start with @ so that Twitter can mark them as links. You can follow me on Twitter by looking for @umlguy.

[9] Corey Haines (@coreyhaines) is an Agile Development enthusiast who looks for ways to advance and promote best practices in Agile.
He makes Agile personal, touring the country to help teams get hands-on experience with Agile techniques, particularly pair programming.

[10] John Burns (@jbkazoo) is a developer working primarily in educational support, and also an educator.
You can read his thoughts on life, development, music, and the environment at http://www.aviewofthemarsh.us/.

[11] Mitch Allen (@anklebuster) is a developer and game enthusiast, maker of the powerful MorphoBoard game design tool (http://www.morphodesigns.com/).

[12] Dana Coffey (@crazeegeekchick) is an ASP.NET Insider and active in the development community.
You can keep up with her, her work, her dogs, and her family at http://www.crazeegeekchick.com/.

[13] Gaelic Storm (http://www.GaelicStorm.com) is an American Celtic/pop band, best known for their work on the film Titanic.

[14] Creator of Dilbert (http://www.Dilbert.com), a documentary about life in the world of corporate engineering.
If you don’t think it’s a documentary, take it from those of us who’ve lived these stories.

[15] Creator of Knights of the Dinner Table (http://www.kenzerco.com/), a documentary about the world of tabletop role-playing games. If you don’t think it’s a documentary…

[16] Creator of Day by Day (http://www.DayByDayCartoon.com), an online comic of social and political commentary.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.