The Clean Code Blog

by Robert C. Martin (Uncle Bob)

GOML-1, Responsive Design

08 October 2014

Consarned kids, can’t keep the definitions of words straight.

Do you remember when the word “responsive” meant fast? Yeah, that’s what it used to mean all right. We used to say things like: “Boy, that system sure is responsive!” or “We’re going to have to work hard to keep that system responsive.”

But now, all of a sudden, the word means: compatible with mobile devices. Huh? Responsive? In what way does adapting a GUI to the size of a screen make the system responsive? What the hell is the system responding to? The screen? Crimeny!

I wanna know who hijacked that term, and why? I’d like to sit down and have a long talk with that feller. Couldn’t he have called it “adaptive”, or maybe “mobile friendly”. Why in tarnation did he pick a word like “responsive”; a word that already had a perfectly good meaning?

I sat in a meeting the other day and heard someone say: “But when will you make the system responsive.” My immediate reaction was that the system was too slow. I responded[1] by saying that I thought the response time was actually pretty good. Everyone turned and looked at me like I was a neanderthal.

And while I’m on the topic of words that have suddenly changed their meaning for no good reason, who’s the nincompoop who stole the word “Design”? I mean, do you remember when “Design” was a technical term that referred to the internal software structure of the system? Software designers used to be lead programmers. Everybody wanted to become a designer. Everybody aspired to learn software design.

But not now. Oh no! Now, software design means Graphic Design. What would have been wrong with calling Graphic Design, Graphic Design? What would have been wrong with calling Graphic Designers, Graphic Designers? Why’d they have to take our title away from us.

I was a designer dammit. I designed software systems. Now I tell people that I design software systems and they think I’m a UX guy! How the hell did that happen.

Consarned kids! Get Off My Lawn.

[1] See. That’s what the word “respond” means. You respond to a stimulus. A screen is not a stimulus. A screen is an IO device. You don’t respond to the format of an IO device. You respond to Users. Consarned kids.