El trabajo de un programador es programar computadoras. No gente.
La primer regla de UX para programadores: a las computadores les gusta ser programadas; nacieron para eso. A la gente, no tanto.
Si desde el software impartimos instrucciones u órdenes directas a los usuarios (ej. “Ingrese número de tarjeta sin guiones ni espacios”), entonces estamos tratando de programar gente, lo cual no suele terminar bien.
Cuando esto pasa, lo conveniente es volver al trabajo de programar computadoras, con el objetivo de que se adapten a la gente.
Por ejemplo, usando una expresión regular para que sólo se tomen los caracteres numéricos. En pseudocódigo: find( /[^\d]/ ).replace("")
.
Esa instrucción para la computadora requiere de menos caracteres que la instrucción para el usuario, no falla nunca, y hace que todo el mundo quede contento.
Todo resulta mucho mejor si aplicamos las herramientas que dominamos, a los dominios a los que corresponden. A las computadoras, las programamos. A la gente, la entendemos.