12 July 2012


Programmers often talk about a “SMOP”. It's an exceedingly useful expression. Here's Eric Raymond's instructive Jargon File on the subject:

Simple (or Small) Matter of Programming
  1. A piece of code, not yet written, whose anticipated length is significantly greater than its complexity. Used to refer to a program that could obviously be written, but is not worth the trouble. Also used ironically to imply that a difficult problem can be easily solved because a program can be written to do it; the irony is that it is very clear that writing such a program will be a great deal of work. “It's easy to enhance a FORTRAN compiler to compile COBOL as well; it's just a SMOP.”
  2. Often used ironically by the intended victim when a suggestion for a program is made which seems easy to the suggester, but is obviously (to the victim) a lot of work.
Compare minor detail.

It's a handy expression for an interaction designer to know and use. If a designer says things like I'd rather not break the user's address into a bunch of fields in the UI; let's provide a single big open text box and parse it into name, street, city, state, and zip on the back end and then adds it will be a Simple Matter Of Programming, taking care to pronounce the Capital Letters, the development team will appreciate the designer speaking their language and recognizing that she has proposed that they do so a significant chunk of work.

In that spirit, I'd like to offer the world an expression that I occasionally employ which should really get out more often.

SMOUXD (smucks-dee)
“small matter of user experience design”
  1. A user experience problem resulting from deep in the structure of the system which people naïvely propose could be corrected with simple changes to the visual presentation of the UI.


    Product Manager: Our customers are complaining that our order processing system is confusing. Can we fix it by redesigning the input form?

    UX Designer: (Rolls eyes) Sure, fixing the consequences of our broken supply chain spilling out onto our customers is just a Simple Matter Of UX Design.

  2. An opportunity to save a great deal of programming effort though a cunning bit of UX design.


    Software Engineer: I think we could spot this pattern in the data using Markov chain analysis and throw errors when we suspect that there's a significant outlier. We will need to get a bunch of our customers to share their back-end data so we can tune the system.

    UX Designer: SMOUXD! We can graph the data in the right format and users will easily spot the cases they care about.

No comments: