Mostrando entradas con la etiqueta windows. Mostrar todas las entradas
Mostrando entradas con la etiqueta windows. Mostrar todas las entradas

viernes

Herramientas de línea de comandos para desarrolladores

Post escrito originalmente por Piotr Gaczkowski en Toptal

En el mundo en línea de hoy, la batalla para atraer a los usuarios continúa con furia, con los fabricantes de aplicaciones que prefieren aplicaciones móviles o web. Las aplicaciones de escritorio son cada vez menos relevantes. Por otra parte, también tienden a ser nada más que clientes ricos de aplicaciones web: Electron es la plataforma popular de elección.

¿Significa esto que pronto abandonaremos el escritorio como plataforma? No, por supuesto que no, yo no diría eso. Además, aunque las aplicaciones GUI parecen haberse estancado recientemente, hay un segmento de aplicaciones de escritorio que continúa creciendo.

¿Alguna vez has visto alguna película con hackers? La mayoría de las veces, estas personas se muestran trabajando frente a monitores que muestran algún tipo de terminal (generalmente con un fondo oscuro y un primer plano claro). Esta terminal, a su vez, tiende a estar inundada de caracteres que aparentemente tienen algún significado para la persona que los lee.

Ilustración: las herramientas de línea de comando y el hackeo se ven más frescos en las películas que en la vida real 
Tales representaciones de hackers en acción a menudo son burladas por desarrolladores profesionales, e incluso hay algunos programas que simulan varios efectos de “hackers”, solo por diversión.

Sin embargo, en el mundo real, las herramientas de línea de comandos no se utilizan por su valor de entretenimiento.

Por qué todavía utilizamos las herramientas de interfaz de línea de comandos

Este artículo se centra en el aspecto práctico del uso de herramientas de interfaz de línea de comandos (CLI). Conocer los comandos de la CLI y usar herramientas de calidad puede hacerlo más productivo y también pueden abrir las puertas a varios enfoques de la automatización que son mucho más prácticos con las interfaces textuales que con las aplicaciones GUI.

Puede mejorar al realizar tareas repetitivas en GUI, hasta el punto de que sus múltiples clics se escuchen como uno solo. El problema es que esto no mejorará la eficiencia de un script especializado. Además, realizar las mismas operaciones de forma manual introduce tanto una carga cognitiva adicional como una mayor posibilidad de error humano. Como de costumbre, dependemos de computadoras para manejar tareas que los humanos pueden considerar aburridas, repetitivas o abrumadoras.

Vale la pena saber que una herramienta de terminal puede ofrecer varios tipos de interfaces. Hay elementos no interactivos como ls, que simplemente toman los parámetros y proporcionan la salida. Existen interfaces interactivas o semi interactivas que se encuentran con mayor frecuencia en los gestores de paquetes. (“¿Está seguro de que desea continuar con la instalación desde un origen no verificado?”) Luego, hay interfaces de usuario textuales (TUI), que son aplicaciones de GUI interactivas diseñadas para ajustarse a las limitaciones de una terminal. Probablemente el más famoso es Midnight Commander (mc), un clon extremadamente popular (de los años 90) Norton Commander.

Herramientas esenciales de la línea de comandos

Si deseas convertirse en un habitante de la consola, debe equiparse con un conjunto mínimo de herramientas de desarrollo de línea de comandos: lo esencial. Las cosas con las que definitivamente no puede vivir son una shell interactiva (apunta a algo moderno con una conveniente terminación de pestañas) y un editor de texto.

Ilustración: herramientas de línea de comando esenciales

Ahora, mencionaré UNIX philosophy, que a menudo es la base de las decisiones de diseño tomadas por los autores de la herramienta, ya sea conscientemente o no. Algunos de los puntos clave se pueden resumir de la siguiente manera:
  • Trata todo como un archivo.
  • Haz una sola cosa, pero hazlo bien.
  • Leer desde entrada estándar, escribir en salida estándar y comunicar errores a un flujo de error estándar.
  • Cuando haya tenido éxito, devolverá el código 0. Un valor distinto de cero significa un error (que puede especificarse mediante el código de retorno exacto).
  • Permitir encadenamiento de comando y scripting.

Cáscara

Lo primero que verá al abrir una terminal es un shell. Esta es la parte que hace posible la interacción entre el usuario y la máquina. Interpreta tus comandos, los divide en nombres de programas y argumentos, y ejecuta todos los comandos de shell que le arrojas.

Históricamente, ha habido muchos tipos diferentes de shell. Entre los más populares se encuentran csh (C Shell) y varias implementaciones de Bourne Shell (generalmente conocido simplemente como sh). Bourne Shell se extendió a Korn Shell, que también ganó algo de tracción y todavía está siendo utilizado por sus entusiastas. Csh es actualmente el shell predeterminado en algunos sistemas BSD, mientras que casi todos los demás sistemas operativos tipo UNIX prefieren algún tipo de Bourne Shell. Las distribuciones de Linux tienden a favorecer bash mientras que Mac OS X viene con zsh como la opción predeterminada.

Existen otras posibilidades, pero son mucho menos populares, excepto Microsoft PowerShell en sistemas Windows. PowerShell está inspirado en parte por los shells interactivos de UNIX como zsh y en parte por .NET runtime. En lugar de tratar todo como texto, un concepto común en el mundo UNIX, permite la manipulación de datos orientada a objetos.

Aunque Microsoft PowerShell es bastante popular en el ámbito de Windows, muchos programas con orígenes de UNIX (los más notables son Git, Autotools o Make) tienden a preferir alguna variación de Bourne Shell. Debido a esto, han nacido proyectos como msys (incluido con Git para Windows), Cygwin, o el reciente [WSL] de Microsoft. Si deseas una sensación similar a Linux en Windows, MSys es la mejor opción aquí. Si desea un entorno Linux con todas las funciones capaz de ejecutar binarios estándar de Linux, entonces WSL es el camino a seguir. Para algo intermedio: API de UNIX, pero compilada como un ejecutable de Windows (solo úsala cuando realmente sepas por qué la necesitas) -Cygwin es la respuesta.

Editor

Una vez que te familiarices con tu shell, querrás adquirir algunas habilidades útiles. Como la mayoría del trabajo de codificación gira en torno a la escritura de texto (código, README, mensajes de confirmación), un buen conocimiento de los editores de texto interactivos es esencial. Hay muchos para elegir, y dado que un editor es una de las herramientas más necesarias para cualquier desarrollador, probablemente haya tantas opiniones sobre cuál editor es el mejor.

Ilustración: un editor de línea de comandos tiene una interfaz simple

La mayoría editores de texto populares pueden separarse en dos grupos básicos: Editores de texto simple y editores de texto programables.

Ambos pueden ser excelentes para escribir código, pero, como su nombre lo indica, los programables ofrecen la capacidad de dar forma y personalizar el editor para que se ajuste perfectamente a sus necesidades. Sin embargo, esto tiene un precio, ya que también tienden a tener una curva de aprendizaje más pronunciada y pueden requerir más tiempo para establecerse.

Editores de texto básicos

Entre los editores de texto simple, GNU Nano es el más extendido. En realidad, es un clon del editor pico, por lo que si uno no está disponible en su sistema, puede probar el otro. Otra alternativa más moderna para ambos es el editor micro. Si quieres algo simple y extensible al mismo tiempo, este es un buen lugar para comenzar.

Editores de texto programables

Muchos desarrolladores dependen de editores programables de diferentes campos, como Vim y GNU Emacs. Ambos editores pueden ejecutarse en la consola o en modo GUI, y ambos tuvieron un impacto en los enlaces de teclas encontrados en otro software. Ambos ofrecen no solo una API sino también lenguajes de programación reales incorporados. Emacs se centra en LISP y Vim usa su propio VimL, ​​pero también ofrece interfaces con otros lenguajes de scripting populares (como Lua, Perl, Python o Ruby). También vale la pena mencionar un enfoque más reciente de Vim, llamado Neovim, ya que está empezando a recibir seguidores serios.

Puede ser algo confuso, pero también hay un editor llamado vi que es un predecesor de Vim (que, dicho sea de paso, significa “Vi mejorado”). Es mucho más simple que Vim, pero si tienes suficiente confianza para escribir en Vim, no debería ser un desafío para ti si te resulta necesario usar vi.
Dado que pico/GNU Nano y vi/Vim generalmente están preinstalados en varios sistemas, es una buena idea al menos comprender sus conceptos básicos (salir de Vim es un problema notoriamente difícil para los principiantes). De esta manera, si necesita editar algo en una máquina remota, estará listo independientemente de qué editor ya esté allí. En su dispositivo privado, puede usar cualquier editor que le resulte más cómodo.

Editor de sistema predeterminado

Una última cosa a tener en cuenta es que su sistema puede tener lo que se llama un editor predeterminado.

La variable de entorno $ EDITOR apunta al editor predeterminado y en los shells compatibles con Bourne (sh, bash, ksh, zsh) puede verlo ingresando echo $ EDITOR. Si el valor difiere de su elección personal, puede configurarlo agregando export EDITOR = my-awesome-editor a la configuración en tiempo de ejecución de tu shell (~ / .profile, ~. / Bashrc, ~ /. zshrc, y así sucesivamente).

Otros programas, como los sistemas de control de versiones y los clientes de correo, usarán este editor cuando necesiten una entrada de texto más larga.

Multiplexor

Tan pronto como comiences a hacer cosas serias en CLI, te encontrarás con la limitación de poder mantener abierta solo una aplicación en un momento dado. Al codificar, es posible que desee editar el código, ejecutarlo, corregir los errores y ejecutar nuevamente. Al buscar un error, es posible que desee enumerar los registros y ver qué se registra cuando envía una solicitud al servidor. Normalmente, esto significa cambiar constantemente entre las dos aplicaciones o abrir varias ventanas de terminal.

Aquí es donde un multiplexor de terminal puede ayudarte. Cuando se habla de multiplexores, algunas personas asumen inmediatamente que el tema es de Pantalla GNU. Fue la primera herramienta extendida de su tipo y sigue siendo muy popular hoy en día (a menudo se instala por defecto). Su reemplazo moderno es tmux que, como era de esperar, significa “terminal multiplexer.”

Estos dos le permiten tener más de una ventana abierta en una sesión de terminal determinada y cambiar entre esas sesiones libremente. Permiten dividir las ventanas en paneles, lo que ayuda a ejecutar varias aplicaciones al mismo tiempo y observar su salida en tiempo real (sin cambiar las ventanas). Además, funcionan en modo cliente-servidor, lo que significa que puede separarlos en cualquier momento dado y regresar más tarde para continuar el trabajo justo donde lo dejó. Esta última característica llevó a la popularidad de Screen cuando las personas querían sesiones persistentes IRC.

Para la mayoría de los casos de uso, GNU Screen o tmux deberían ser geniales para ti, pero si por alguna razón consideras que son demasiado pesados ​​en recursos, también hay alternativas más ligeras. Hay dtach / atach y está abduco. Tienen un alcance limitado a propósito, pero pueden realizar bien sus respectivos deberes.

Administrador de paquetes

En este punto, puede comenzar a pensar en instalar todo el software antes mencionado en su máquina. Un problema es que cada una de las herramientas tiene instrucciones de instalación diferentes. A veces, necesitas descargar fuentes y compilarlas tú mismo, a veces obtienes el binario autónomo, y algunas veces obtienes lo que se llama paquete binario, que generalmente significa un ejecutable comprimido junto con algunos metadatos.

Para facilitar el proceso de instalación de software, los creadores de sistemas operativos llegaron con el concepto de administradores de paquetes. En pocas palabras, un administrador de paquetes es como una tienda de aplicaciones para CLI y aplicaciones de escritorio. Precede a las tiendas de aplicaciones reales por algunas décadas. El problema es que casi todos los sistemas tienen su propio administrador de paquetes. Debian, Ubuntu y las distribuciones derivadas de GNU / Linux usan APT, las distribuciones basadas en Red Hat prefieren yum o DNF, otras distribuciones de Linux tienen medios más exóticos para instalar software y también lo hacen los diferentes clones de BSD. Además de los administradores de paquetes integrados, también hay instalados por el usuario como Chocolatey para MS Windows y Homebrew para Mac OS X/Mac OS. Cuando desee escribir instrucciones sobre cómo instalar su programa, puede terminar escribiendo casos para cada uno de esos sistemas. Parece demasiado, ¿no?

Afortunadamente, el último de los sistemas mencionados, Homebrew, puede ser el más portátil, gracias a Linuxbrew, un puerto de Homebrew para sistemas GNU / Linux. Lo curioso es que incluso funciona en WSL si quieres tener una experiencia de usuario similar en Microsoft Windows. Ten en cuenta que WSL no es oficialmente compatible.

Entonces, además de la portabilidad, ¿qué más puede ofrecer Homebrew? En primer lugar, no interfiere con los paquetes del sistema, por lo que todo lo que instala reside en una capa separada del sistema operativo. Además, no se necesitan permisos de raíz para instalar paquetes. Por lo tanto, puedes tener paquetes de sistema que sean estables y probados, pero al mismo tiempo verifica tus versiones más nuevas sin sacrificar la estabilidad del sistema.

Si querías probar los editores, mencioné anteriormente que todo lo que necesita hacer en un sistema con Homebrew o Linuxbrew es ejecutar este comando:

brew install emacs micro nano vim neovim.

La Cosa Brillante

Lo que ya hemos discutido es indudablemente útil para el trabajo. Pero también hay aplicaciones que, aunque no son necesarias, aún brindan comodidad a la vida cotidiana. Puede que no los necesites, pero siempre vale la pena conocerlos.

Filtro interactivo

Buscar el historial de comandos puede ser tedioso. Mientras que bash y zsh tienen teclas Ctrl + R, solo muestra una sustitución a la vez. Además, debe ingresar el texto exacto que utilizó anteriormente. Como esta es una operación bastante común, una vez que comienzas a usar la línea de comando, parece un buen lugar para mejorar.

Filtros interactivos, como fzy, percol, peco o fzf lo ayudan a filtrar largas líneas de texto. Este puede ser el historial de comandos antes mencionado, todas las líneas de código en un directorio de proyectos, o una lista de nombres de archivos generados por find.. La idea general es presentarle primero todas las líneas disponibles y luego confiar en los algoritmos de búsqueda difusa para filtrar todo lo que no coincida.

Por ejemplo, al vincular Ctrl + R a fzf, se muestra una lista de los comandos más recientes, que puede navegar hacia arriba y hacia abajo con flechas, o puede escribir git para mostrar solo los comandos que tienen Git en algún lugar dentro. Personalmente, cuando trabajo con una shell que no tiene un filtro interactivo, de repente me siento un poco perdido. ¡Esta característica es realmente convincente!
Además, puede hacer que tu filtro interactivo esté disponible dentro de tu editor de texto programable. De esta forma, tendrás capacidades de búsqueda unificadas entre tu shell y tu editor.

Facebook PathPicker fue de gran ayuda cuando trabajaba principalmente con proyectos de C ++. El registro de errores generado por el compilador puede ser bastante grande y desagradable, y la capacidad de encontrar las rutas reales dentro de ese registro fue una gran ayuda para la productividad.

En cualquier archivo de texto dado, o en el contenido de su pantalla cuando se utiliza con tmux, fpp filtra todo menos las rutas de archivos. A continuación, presenta una interfaz de usuario donde puede seleccionar una o más de esas rutas y ejecutar un comando con ellas. La respuesta más común sería abrir los archivos en un editor, por supuesto, que es la acción predeterminada.

Git UI

Es probable que al menos uno de los proyectos en los que trabaja usa Git como un sistema de control de versiones. Si bien es completamente poderoso, la CLI de Git no es el pináculo de la excelente experiencia del usuario. Para ahorrarte un poco de estrés leyendo todas las opciones en la ayuda de Git $ SUBCOMMAND, te recomiendo que revises tig. Ofrece una agradable interfaz de usuario de consola para las operaciones que se benefician de ella, como log o blame.

Otra herramienta que tiene como objetivo ayudar a los usuarios de GIt es fac, que es un acrónimo de Fix All Conflicts. Como habrás adivinado, es útil cuando te encuentras con conflictos mientras realizas fusiones o rebases. Es una alternativa a otras herramientas de combinación como vimdiff.

Administrador de archivos

Hubo un tiempo en los años 90 cuando todo el mundo quería un administrador de archivos de dos paneles. La tendencia comenzó con Norton Commander. Muchos otros siguieron el mismo camino, pero el que aún ve una base de usuarios estable es Midnight Commander. El caso de uso más obvio es usar mc para manipular archivos locales, pero también es muy útil cuando se trabaja con máquinas remotas.

Al igual que la mayoría de los programas de línea de comandos, es muy liviano, por lo que no hay problemas para ejecutarlo a través de ssh y gracias a los protocolos FTP y FISH compatibles, puede tener un sistema de archivos local visible en un panel y el remoto en el otro. Una función conveniente para cuando desee evitar evitar escribir o copiar nombres de archivos como argumentos para scp.

Herramientas CLI solo por diversión

“Todo trabajo y nada de juego hacen que Jack sea un chico aburrido”, dicen. Hay muchos programas, línea de comandos y demás, que solo sirven para su diversión. El videojuego Rogue entra en esta categoría. ¡Incluso dio nombre a todo el género de juegos! Otros juguetes populares son fortuna y cowsay, que pueden hacer que sea un día menos aburrido si los usa en algún lugar de sus scripts CI, por ejemplo.

Pero para algunos de nosotros, el principal atractivo de usar una consola en primer lugar es sentirse como un hacker en las películas. No más secretos y Hollywood Hacker representan bien a este grupo. Pruébalo cuando alguien te esté mirando trabajar, ¡y tu credibilidad de hacker seguramente aumentará!

Línea de comando en la práctica

Entonces, ¿qué tiene de atractivo la línea de comandos que compensa las horas dedicadas a aprender a usar el shell, el editor y todos los conmutadores de varias aplicaciones? La respuesta corta es productividad, que proviene de dos cosas:
  • Una es que cuando se te presenta solo una ventana de terminal y nada más, puedes concentrarte más intensamente, ya que no hay mucho que te distraiga. No aparecen notificaciones, ni anuncios, ni fotos de bonitos gatitos. Solo tú y tu objetivo.
  • Lo segundo es la automatización. Puedes poner varias acciones combinadas con frecuencia en un script y llamarlo más tarde como un todo en lugar de escribirlas todas a mano cada vez. Puedes volver rápidamente a un comando particularmente complejo que alguna vez escribió al buscar en el historial de su shell. Básicamente, puedes grabar y reproducir cualquier cosa, y el código está disponible como una documentación de lo que hiciste.
La capacidad de agregar alias también contribuye a las ganancias. Por ejemplo, a menudo me encuentro creando commits en Git actualizando el mismo hasta que sea perfecto (por el momento). Una vez que preparo los archivos deseados, ejecuto git carmh. No intente buscarlo en el manual, ya que es mi alias privado que significa commit --amend --reuse-message = HEAD. Ahorra algo de tipeo de seguro.

La cosa es que la gente se aburre repitiendo las mismas acciones una y otra vez, y el aburrimiento reduce el enfoque. Esto puede conducir a errores y errores. La única forma de evitarlos es no entrelazar las acciones de alto enfoque y bajo enfoque. El código de escritura es de alto enfoque y la revisión de un mensaje de compromiso y el contenido es de alto enfoque, pero cuando necesita repetir varios clics mecánicos aquí y allá para llegar a la etapa de revisión de compromiso, es probable que su enfoque se reduzca. La línea de comando no está, por supuesto, libre de tales actividades mecánicas, pero gracias a la automatización, puede evitar la mayoría de ellas.

Otras exploraciones

Es posible que ya haya tenido conocimiento de algunas o todas las herramientas de línea de comandos mencionadas en este artículo. Es posible que haya aprendido algo nuevo y útil al leerlo. Si es así, excelente. Mi objetivo aquí no era ofrecer una visión global y una comparación de diferentes herramientas, sino demostrar algunas herramientas cruciales que he encontrado útiles en mi trabajo diario, con la esperanza de que puedas encontrar algunas de ellas útiles también.

Hay programas de línea de comando mucho más interesantes que existen, y si estás interesado en ellos, le recomiendo consultar la lista curada de Awesome Shell de algunos de los mejores comandos de la shell disponibles hoy.

La mayoría de las aplicaciones GUI tienen su contraparte terminal. Eso incluye navegadores web, clientes de correo electrónico, clientes de chat (IRC, Slack, XMPP), suites PIM u hojas de cálculo. Si conoces algún buen programa que no he mencionado, bríndalos en comentarios.

jueves

Las implicaciones financieras de la deuda técnica

Post escrito personalmente por Erik Frederick en Toptal

Resumen Ejecutivo









¿Qué es la deuda técnica?
  • La deuda técnica se define como: el costo incremental y la pérdida de agilidad para una empresa como resultado de decisiones anteriores que se tomaron para ahorrar tiempo o dinero al implementar sistemas nuevos o mantener los existentes.


















  • Un ejemplo sería tener un sistema ERP que se encuentra en un círculo vicioso de ser tan viejo y personalizado que no se puede actualizar, ya que sería un esfuerzo desordenado de "destripar y reemplazar".


















  • A diferencia de un "error", la deuda técnica no es un defecto visible y, por lo tanto, puede no detectarse tan fácilmente.


















  • La deuda financiera es un término en el que los CFO están bien versados, sin embargo, la deuda técnica puede tener consecuencias paralizantes similares debido a la pérdida oculta de las ventas y los costos en los que puede incurrir.























  • ¿Por qué ocurre la deuda técnica?
  • A menudo, el primer paso hacia la deuda técnica es una restricción de tiempo que lleva a un compromiso. Esto a menudo puede ser olvidado.


















  • La tentación de ahorrar costos también puede resultar en una situación de deuda tecnológica. Esto a menudo está relacionado con la omisión de actualizaciones de software o la sobreexplotación de los ciclos de reemplazo de hardware.























  • ¿Cómo se puede abordar un problema de deuda técnica actual?
  • Una declaración de divulgación de préstamo es una herramienta popular utilizada para administrar y establecer estándares para la deuda financiera. Implementar procesos similares para proyectos de tecnología puede ser un primer paso para aumentar el conocimiento de la deuda técnica.


















  • Trabajar con el equipo de TI para establecer umbrales de niveles aceptables de deuda también les proporcionará los límites necesarios dentro de los cuales operar.


















  • La coordinación e introducción temprana del equipo de gestión del cambio en los nuevos proyectos tecnológicos garantizará que los cambios y los problemas se comuniquen de forma más rápida y clara a la organización.























  • ¿Qué pasos puedes seguir para mitigar la deuda técnica que se va a seguir?
  • Una declaración de divulgación de préstamo es una herramienta popular utilizada para administrar y establecer estándares para la deuda financiera. Implementar procesos similares para proyectos de tecnología puede ser un primer paso para aumentar el conocimiento de la deuda técnica.


















  • Trabajar con el equipo de TI para establecer umbrales de niveles aceptables de deuda


















  • La coordinación e introducción temprana del equipo de gestión del cambio en los nuevos proyectos tecnológicos garantizará que los cambios y los problemas se comuniquen de forma más rápida y clara a la organización.



















  • ¿Qué pasaría si no tuvieras idea de la cantidad de deuda que tenías? Sería una posición incómoda para estar, no saber cuánto costaba o hasta qué punto impedía que tu empresa realizara mejoras operativas, reaccionara a los cambios del mercado o incluso transformara el negocio por completo.

    Por otra parte, ¿qué pasa si casi cualquier persona en su organización puede incurrir en deudas sin solicitar permiso? Por ejemplo, su jefe de bienes raíces podría entrar rápidamente en un contrato de arrendamiento de varios años con un alquiler anual bajo, pero con rentas que se incrementarán significativamente en los últimos años, sin que nadie lo divulgue más que de manera conversacional.

    Todo esto suena a un gobierno imprudente, pero en realidad es bastante común en las empresas. La trampa es que este tipo de “deuda” no viene en la forma de los instrumentos financieros tradicionales que todos conocemos tan bien.

    La deuda técnica tiene todas estas características.

    La deuda en su forma más simple es pedir prestado hoy con la intención y promesa de pagar en el futuro. La deuda tiene sentido cuando los préstamos de hoy llevarán a un mañana mejor, por ejemplo, pedir prestado para la universidad o comprar una casa. En general, la deuda es mala cuando pedir prestado hoy conducirá a un mañana peor, por ejemplo, salir a cenar caro y ponerlo en una tarjeta de crédito que no pagará de inmediato.

    En términos corporativos, la deuda puede ser buena cuando se incurre para financiar inversiones que proporcionarán un mayor rendimiento que el costo de la deuda También puede tener sentido si planeas vender el negocio mucho antes de que venza la deuda. La desventaja de la deuda es que tiene un gasto muy real que arrastra el efectivo y las ganancias, restringe la flexibilidad y puede llegar a ser tan oneroso que en última instancia podría conducir a quiebra.

    Hasta ahora, la metáfora a la que nos referimos es acerca de la deuda financiera, otra forma de deuda técnica de la deuda (o “deuda tecnológica”) tiene muchas características similares y debe medirse, administrarse e incorporarse de manera deliberada. Si le permites a tu empresa llegar al mercado antes que la competencia, muy probablemente valga la pena. Del mismo modo, asumir la deuda tecnológica para mitigar una vulnerabilidad de seguridad potencialmente grave probablemente también valga la pena.

    Sin embargo, la deuda técnica tiene sus desventajas, lo que genera ineficiencia e inercia, como cuando un departamento no quiere usar el software de otro, o si demora una actualización varias veces para alcanzar objetivos financieros a corto plazo.

    Entonces, ¿qué es la deuda técnica?

    La deuda técnica es un término que se ha utilizado principalmente en la comunidad técnica por Ward Cunningham, un programador de computadoras, quien acuñó la frase en 1992. Su uso ha despegado recientemente y ha ocupado un lugar central con la proliferación de programación ágil. La deuda técnica discutida en este artículo no se trata de metodología de programación sino más bien de las implicaciones estratégicas de su existencia.

    En términos simples, la deuda técnica es el costo incremental y la pérdida de agilidad para tu empresa como resultado de decisiones anteriores que se tomaron para ahorrar tiempo o dinero al implementar sistemas nuevos o al mantener los existentes. Ocurre cuando los sistemas no están integrados correctamente o el código es demasiado complejo. Esto se debe a una variedad de razones, como ineficiencias, consideraciones de tiempo hasta el mercado o ejecución de versiones obsoletas del software, entre muchas otras.

    Algunos ejemplos claros serían:
    1. Usar versiones anteriores de Windows que impidan usar nuevo software o aplicar una actualización de seguridad
    2. Los sistemas ERP en un círculo vicioso de ser tan viejos y personalizados que no se pueden actualizar, ya que sería un esfuerzo de “destripar y reemplazar”
    3. Sistemas similares que tienen funciones superpuestas en diferentes partes de tu organización
    El siguiente diagrama es un gráfico útil para enmarcar cómo la deuda tecnológica difiere de otras implementaciones tecnológicas que se pueden hacer dentro de la pila tecnológica de una compañía. A menudo confundido con un error, la deuda técnica es muy diferente en el sentido de que su presencia podría no ser descaradamente obvia. Ahí radica el peligro, ya que mientras más tiempo permanezca intacto, mayor será la magnitud del efecto en el futuro.

    una representación visual de un cuadro de matriz que organiza los cuatro tipos de mejoras técnicas que se pueden realizar
    Como CFO que ha trabajado en IT y que me ha informado de TI en empresas empresariales con un alto nivel de apalancamiento, me sorprendió cómo la deuda técnica similar es a la deuda tradicional. También me sorprendió lo opaco y arriesgado que es. Quienes tienen antecedentes financieros están bien versados ​​en los mecanismos de la deuda financiera; es tangible y fácil de calcular. Sin embargo, no ocurre lo mismo con la deuda técnica, que a menudo se entiende mal o se supone erróneamente que es un problema ajeno.

    ¿Cuáles son exactamente los costos de la deuda técnica y son reales?

    La respuesta corta es que los costos en efectivo son muy reales. También hay algunos costos blandos importantes que deben identificarse y medirse y administrarse por separado. A continuación detallaré algunos ejemplos de estos costos:

    Costos en efectivo

    La deuda técnica es tan real como los pagos de intereses. Sin embargo, generalmente se manifiesta en las pérdidas y ganancias de una manera más indirecta que un simple gasto de línea de “interés”, como en las siguientes formas:

    Jefe
    • Se necesita más personal simplemente para mantener los sistemas existentes
    • Tiempo adicional de desarrollador para generar nuevas capacidades
    Gastos generales
    • Retraso en la realización de sinergias de integración de adquisiciones
    • Remediación y multas que emanan de infracciones de seguridad
    Ventas
    • Ventas perdidas debido a cortes del sistema
    • Gasto de marketing menos eficiente
    Capital de trabajo
    • Mayores requisitos, especialmente para las empresas con altos saldos de inventario

    Costos suaves

    Si bien los costos fijos tienen montos en dólares reales asociados con ellos, también hay costos menores que, a pesar de ser más difíciles de cuantificar y realizar ahorros, tienen un lastre absoluto en los resultados de su negocio. Éstas incluyen:

    Inteligencia de mercado
    • Incapacidad de adaptarse rápidamente a las oportunidades o cambios en el mercado
    • Capacidad reducida de convertir datos en información para tomar mejores decisiones
    • Múltiples versiones de la verdad
    Productividad
    • Menor productividad del personal debido a cortes de sistemas
    • Personal menos productivo que pasa más tiempo extrayendo y masajeando datos que analizándolo
    • Desviar el tiempo y la atención de la alta dirección si ocurre una importante violación de seguridad
    En cuanto a la comparación de la deuda técnica y financiera, una de las principales diferencias es que la primera no tiene control formal. Con la deuda financiera, generalmente hay comités de crédito, equipos de administración de activos y pasivos, y personal del tesoro que supervisa los niveles como un halcón. Con la deuda técnica, sin embargo, muy pocos de estos controles existen en las empresas tradicionales.

    una tabla que muestra una lista de verificación de la deuda técnica y financiera

    Cómo y por qué se incurre en deuda técnica

    Con la deuda tradicional, la junta, junto con el CEO y el CFO, generalmente establecen la estructura de capital, es decir, la cantidad de capital, la cantidad de deuda y el tipo de deuda (revólver, basado en activos o no garantizados). La tabla de límites es incluso explícita en cuanto a qué deuda se pagará y cuándo. Una vez que todo esto se ha decidido formalmente, se lanza un proceso estructurado para aumentar la deuda.

    Los prestamistas analizan la capacidad de una entidad para pagar sus deudas a través de evaluaciones de la historia de la devolución de la deuda, las calificaciones crediticias y la calidad de las garantías que la respaldan. Sin embargo, ninguno de este proceso formal, cuantificación y cierre de sesión ocurre cuando se incurre en deuda técnica. Echemos un vistazo a cómo y por qué ocurre esto a través de los procesos en los que se incurre en deuda técnica:

    Las limitaciones de tiempo llevan a un compromiso

    El tiempo de comercialización es todo en los negocios. Implementar nueva tecnología es mucho más rápido de hacer cuando se puede hacer de forma independiente. Desafortunadamente, las implicaciones de esto son que otros sistemas no están sincronizados con la implementación. Para las organizaciones delgadas con una tecnología simple, esto puede no parecer tan malo.

    Sin embargo, se vuelve problemático a medida que las configuraciones del sistema se multiplican en su complejidad. Al final, la tecnología automatiza los procesos y captura los datos que se transforman en información. La tecnología que no está integrada da como resultado procesos comerciales que no funcionan juntos y múltiples versiones de la verdad.

    Cuando se sacrifica el tiempo de velocidad, los protocolos de prueba establecidos pueden ignorarse o recibir una exención. Esto generalmente provoca “errores” en el camino que se manifiestan en alguna forma de degradación del sistema y la distracción del tiempo del desarrollador para arreglarlos.

    Si observamos el efecto de la deuda tecnológica a lo largo del tiempo, cuanto más tiempo se deja sin tocar, mayor será la magnitud del efecto. Lo que comienza como un ejercicio de refactorización de código pequeño puede convertirse en un esfuerzo completo de modernización y reemplazo.

    una ilustración gráfica de los pasos para administrar la deuda técnica a lo largo del tiempo

     

    La tentación del ahorro de costos a corto plazo

    Seamos realistas: los equipos ejecutivos están bajo presión constante para alcanzar los números. Evitar gastar hoy puede ayudarlo a ganar el trimestre, pero, como pedir prestado, tiene que devolverlo en algún momento. Estas son algunas formas en que las empresas ahorran dinero a corto plazo pero terminan generando deuda técnica:

    Actualizaciones de software

    A veces el costo y el problema de implementar una actualización periódica de software puede provocar que se retrase. En ocasiones, esto continúa por años. Todos somos culpables de dejar de usar Microsoft AutoUpdate cuando aparece en momentos inoportunos.

    Cuando los sistemas terminan estando muy por detrás de su versión actual, el software más nuevo que tiene que integrarse simplemente no puede. Además, la actualización de varias versiones a la vez suele ser más costosa y casi siempre requiere más tiempo que mantenerse al día.

    Reemplazo de hardware

    A medida que las organizaciones crecen en complejidad, el gran esfuerzo de sincronizar los ciclos de actualización de hardware puede ser abrumador y costoso. Esto puede hacer que el hardware actual se alargue al extremo y que existan grandes disparidades entre la calidad del hardware entre los equipos. Algunos equipos se sienten frustrados, compran hardware nuevo y simplemente lo gastan a través del presupuesto de su escritorio en lugar de esperar a que la TI instigue las actualizaciones.

    Esta disparidad tiene implicaciones para la productividad y la compatibilidad de hardware/archivos para ejercicios de colaboración.

    Tácticas para abordar una situación de deuda técnica

    En lugar de solo hablar sobre problemas, aprendamos algo de proactividad y recetemos algunas soluciones para resolver la deuda técnica.

    Para eso, podemos recurrir a las técnicas utilizadas para administrar la deuda financiera. Para administrar sus pasivos, primero necesitar saber cuántos son y sus condiciones de pago. Vamos a trabajar en esto para la deuda técnica.

    1. Calcula qué y cuánto deudas técnicas tienes

    La deuda financiera viene en tramos que se definen por la antigüedad de cada pieza (por ejemplo, senior, entresuelo o revólver), que a su vez muestra cuál es la que se paga primero. La deuda técnica tiene un patrón similar de antigüedad; para empezar, debe comenzar con sus sistemas de misión crítica. ¿Qué deuda técnica tienen? Luego, observe el ecosistema más amplio: mejor, ¿qué deuda técnica entre tus sistemas está causando gastos?

    No compliques demasiado este proceso. En algún momento querrás llegar a una evaluación de arriba a abajo, pero no tiene que comenzar allí. Haz que tu jefe de IT reúna a tu equipo administrativo con esta tarea:

     “Si hubiéramos aclarado por completo toda nuestra deuda técnica hace un año, ¿cómo podría haber sido mejor este año (o este próximo año)?”

    Obtén tus diez mejores ideas y colócalas en una matriz de 2x2: fácil/difícil de pagar en un eje y grado de beneficios en el otro. Esperemos que lo visual te ayude a descubrir por dónde empezar.



    A partir de ahí, practica para validar tus suposiciones sobre el tamaño del premio y el esfuerzo. La neutralidad es la clave aquí, así que ten cuidado con los proveedores de software que ofrecen realizar una “evaluación gratuita”.

    2. Decida qué hacer

    Una vez que sepas qué deuda técnica tienes, ahora debes decidir cómo manejarla. Hay muchas opciones para tomar.

    En última instancia, puede ser mejor no hacer nada. Para la deuda que se evalúa como “pequeña” o con “tasa de interés baja”, puede ser óptimo simplemente dejarla, del mismo modo, si existe una “penalidad por pago anticipado” significativa de cancelarla anticipadamente. También podría haber ventajas estratégicas también. Estar una versión atrás y permanecer allí suele ser bueno y, a veces, tiene la ventaja de dejar que los problemas se solucionen en la moneda de otra persona.

    Pagar o reducir la deuda técnica implicará reemplazar los sistemas y asumir el costo. Esto se puede hacer de inmediato o con el paso del tiempo a través de un proceso de mejoras graduales. Al igual que con la deuda financiera, existen formas creativas en las que puede “refinanciar” la deuda técnica, y la externalización del mantenimiento es una de ellas. En última instancia, puede costar más resolverlo, pero puede extenderse para reducir el costo inmediato y, a través de los principios de la división del trabajo, delega la tarea a una entidad más especializada.

    La llegada del software basado en la nube y los servicios de hardware también ofrecen una comparación con la popularidad de las finanzas basadas en arrendamiento. El uso de servicios en la nube también es una herramienta efectiva para reducir la deuda técnica, tanto para eliminar los requisitos de CAPEX como para cambiar el enfoque de desarrollo hacia el proveedor de la nube.

    3. Crear un plan de pago

    No te sientas abrumado por el costo de reducir tu deuda técnica y no intentes pagarla toda de una vez. Este sería un ejercicio ambicioso que podría abrumar a una organización de cualquier tamaño o balance.

    Nuevamente, volviendo a las comparaciones financieras, ten la mentalidad de pagar primero la tarjeta de crédito con la tasa de interés más alta. Esto simplemente significa atacar actividades de alto valor/bajo esfuerzo primero.

    En la sección anterior, discutí las diversas formas de abordar la deuda técnica. Al evaluar el costo de cada uno, es mejor realizar un ejercicio de comparación. La clasificación del costo del flujo de efectivo de cada resultado potencial puede permitir a los interesados tener una visión clara de las ventajas y desventajas de cada camino. Un ejemplo de tal visual se incluye a continuación.

    un gráfico de barras que muestra una comparación de flujo de caja de ejemplo entre varios proyectos técnicos de reducción de deuda

    Esta comparación muestra el trade-off que existe entre una resolución teórica y el marcado contraste entre resolver el problema y no hacer nada (“línea de base existente”). En este ejemplo, pasar a una nube, la solución basada en SaaS sería la opción más económica para el negocio.

    Gestión de la deuda técnica en el futuro

    Una vez que hayas establecido tu línea de base y tu plan de ataque, querrás preservar esa visibilidad y evitar que la nueva deuda se arraigue. Piensa en el ejercicio como un nuevo comienzo y la oportunidad de implementar las mejores prácticas para evitar problemas. escalando de nuevo en el futuro.

    Implementar una declaración de divulgación de préstamo

    La mayoría de los proyectos de tecnología tienen un proceso formal de aprobación completo con un patrocinador ejecutivo, un objetivo de alto nivel, beneficios anticipados, un cronograma y, por supuesto, costos. Este es un gran lugar para eliminar nuevas deudas técnicas que se incurrirán y la justificación de la misma.

    Establecer umbrales de endeudamiento

    No te excedas demasiado estableciendo nuevos estándares. Del mismo modo que emites tarjetas de crédito corporativas con límites preestablecidos, no deseas sobre-administrar la deuda técnica. Muchas deudas técnicas son pequeñas y están relacionadas con la escritura de códigos que se amortizarán rápidamente. Esto es particularmente cierto con el desarrollo ágil. Confía en tu jefe de IT para establecer y controlar este umbral.

    Volver a capacitar a tus suscriptores

    En las empresas más grandes, IT tiene un proceso llamado “gestión del cambio”. Antes de que el nuevo software se active, generalmente pasa por la administración del cambio. En términos simples, cambiar el trabajo de la administración es garantizar que los nuevos cambios en el sistema tecnológico de la empresa no afecten a otros sistemas. Lo hacen asegurando que el nuevo sistema cumpla con los métodos y procedimientos estandarizados. Considera usar este proceso para prevenir o, al menos, identificar nuevas deudas que se introduzcan.

    La deuda técnica es un costo real de hacer negocios y una causa real de interrupciones en los sistemas y un lastre para la agilidad general de la compañía. No tiene que ser una carga constante, sin embargo, y los CFO inteligentes sabrán cuánto endeudamiento tecnológico tiene tu organización tiene y lo que tomará para optimizarlo.

    domingo

    Un mejor UX a través de microinteracciones

    Por escrito originalmente por Ondrej Dostál en Toptal

     Al diseñar un producto, existen muchas formas de mejorar la experiencia del usuario, incluyendo la definición de personajes, la arquitectura de la información bien estructurada y el contenido cuidadosamente escrito. Pero después de establecer esta estructura de alto nivel, crear deleite para un usuario se produce en la interacción más pequeña detalles de diseño.

    Estos detalles, conocidos como microinteracciones, son momentos individuales en el producto diseñados para llevar a cabo una tarea única mientras se mejora el flujo natural del producto. Deslizar hacia arriba para actualizar los datos, darle me gusta al contenido o cambiar una configuración son todas microinteracciones. También pueden incluir animaciones UI simples—por ejemplo, la forma en que un menú se desliza cuando se toca o una tarjeta se rueda fuera de la pantalla cuando se desliza.

    Con frecuencia, el usuario no nota conscientemente las interacciones microscópicas pero sus detalles sutiles hacen que el producto sea más agradable y más fácil de usar y, por lo tanto, mejora la experiencia del usuario.

    Beneficios de microinteracciones

    Las microinteracciones y la animación de UI son tan cruciales que pueden hacer o deshacer un diseño—o como Charles Eames, del diseño de muebles y la fama de la arquitectura, dijo:

    “Los detalles no son los detalles. Ellos hacen el diseño.”

    microinteracción de desplazamiento

    Microinteracción de desplazamiento con contactos (por Nikita Duhovny)

    Algunos beneficios clave de incorporar microinteracciones en un producto son:
    • Crear un efecto emocional positivo en el usuario debido a interacciones de UI más suaves
    • Proporcionar comentarios inmediatos al usuario en función de las acciones que han tomado
    • Guiar al usuario a través de una aplicación de una manera más fluida e intuitiva
    • Animar a los usuarios a interactuar con una aplicación respondiendo a una notificación o compartiendo contenido
    • Prevención de errores de usuario

    Mejores prácticas de diseño de microinteracción

    Ahora que hemos establecido una cierta definición y contexto en torno a lo que hacen las microinteracciones, y dado un ejemplo de cómo mejoran la experiencia del usuario, analicemos las mejores prácticas para crear microinteracciones.


    microinteracción de comercio electrónico
    Microinteracción de selección de color de producto de comercio electrónico (por Mykolas Puodžiūnas)


    Identificar y comprender el problema del usuario

    La primera regla en cualquier diseño de experiencia del usuario es descubrir y comprender los problemas del usuario—y no es diferente para las microinteracciones. La mejor manera de entender lo que el usuario necesita es realizar encuestas o entrevistas u observar el comportamiento a través de la investigación del usuario. El Diseñador de Toptal Ivan Annikov profundiza sobre la comprensión de las necesidades del usuario en su artículo “Going Guerrilla: Affordable UX Research Tips and Alternatives.”

    Mantén las Microinteracciones Naturales

    El objetivo es cerrar la brecha entre el usuario y un producto de forma intuitiva y natural, por lo que debes evitar animaciones extrañas que tarden demasiado en cargarse o distraigan al usuario. En cambio, crea diseños que fluyan sin problemas con el producto. La sutileza es clave en microinteracciones. No dejes perplejo al usuario y que piense: “¿Qué fue eso?”

    Patrón UX de Microinteracción de Comercio Electrónico
    Una microinteracción de comercio electrónico que agrega un producto al carrito de compras (por Elior Helose)

    Prueba e itera los resultados de las pruebas de usuario

    Incluso los diseñadores con experiencia raramente obtienen diseños completamente correctos en el primer intento. Es por eso que usar un proceso de prueba del usuario y el diseño iterativo es una forma simple de reducir los defectos de usabilidad antes del lanzamiento del producto.

    Durante la fase de prueba del usuario, las microinteracciones se prueban y analizan para su uso y se revisan durante la siguiente fase de diseño. Este proceso se repite hasta que se corrijan los problemas de usabilidad y los puntos débiles.

    Sigue la estructura de microinteracciones

    Según Dan Saffer, un Diseñador de Producto de Personal Ejecutivo en Twitter y autor de “Microinteracciones: Diseñando con Detalles,” hay cuatro partes de una microinteracción.
    1. Disparador — Un disparador inicia las microinteracciones. Un tipo de disparador es un interruptor de palanca que enciende y apaga una funcionalidad.
    2. Reglas — Una regla determina cómo una microinteracción responde a un desencadenante y define lo que sucede durante la interacción. Por ejemplo, una aplicación de linterna utiliza un botón como el disparador que enciende y apaga la luz.
    3. Retroalimentación — La retroalimentación le dice al usuario qué está sucediendo durante la microinteracción. Un ejemplo de retroalimentación es un formulario de registro con validación en línea—un color de borde se vuelve verde si el campo se rellena correctamente y se vuelve rojo si algo es incorrecto. De esta forma, el usuario sabe instantáneamente que algo está bien o mal.
    4. Bucles y Modos — Los bucles y modos definen las meta-reglas de la microinteracción y cómo la microinteracción cambia cuando se usa repetidamente. Por ejemplo, en el comercio electrónico, un botón “Comprar ahora” podría cambiar a “Comprar otro” cuando el usuario haya comprado el artículo antes.

    patrón ux de microinteracción de solicitud de amistad
    Una microinteracción para responder a solicitudes de amistad (por Erdenebaatar)


    Deconstruyendo el diseño de microinteracción

    Para mostrar el proceso de pensamiento detrás del diseño de microinteracciones, vamos a deconstruir una microinteracción Google: la microinteracción de sugerencia de nombre de archivo en Google Docs.

    Esta microinteracción toma la primera línea de un documento y sugiere esa parte del texto como el nombre del documento, haciendo que el proceso de creación del nombre sea más intuitivo.

    Microinteracción de Sugerencia de nombre de archivo de Google Docs
    Sugerencia de nombre de archivo de Google Docs

    El proceso de diseño de una microinteracción es el mismo que para cualquier tarea de diseño: identificar el punto de dolor del usuario y solucionarlo. Si bien tenemos en cuenta las mejores prácticas anteriores, comencemos a identificar el problema.

    El problema del usuario

    Una manera fácil e intuitiva de mantener los documentos organizados es simplemente nombrarlos descriptivamente. En la mayoría de los editores de texto, el campo “Nombra tu documento” permanece en blanco, aunque existe una gran posibilidad de que el nombre del archivo se correlacione finalmente con el contenido del documento. Este es un proceso que vale la pena abordar con una microinteracción.

    La solución de Google

    Google Docs maneja esto de dos maneras, dependiendo de las opciones del usuario: 1) Los usuarios pueden hacer clic en el campo de nombre y cambiar el nombre del documento inmediatamente antes de escribir cualquier contenido y cambiar “Documento sin título” al nombre de tu elección o 2) Una vez que un usuario escribe la primera línea de texto, Google lo auto-pobla como el nombre del documento. El usuario puede mantener esto tal como está o cambiarlo.

    Examinemos los detalles:

    Disparadores

    Podría haber algunos posibles desencadenantes para nombrar el documento utilizando la función del menú Archivo > Guardar como o pulsando cmd+s en una Mac (ctrl+s en Windows) en el teclado como en las aplicaciones de escritorio. Pero ninguno de estos aprovecha la naturaleza interactiva de la web y no mejoran particularmente el flujo de usuarios.

    En cambio, el principal disparador de Google Docs es simplemente hacer clic en el campo del nombre del documento. El estado de desplazamiento sobre el campo muestra una información sobre herramientas “Cambiar nombre”. El disparador secundario es Archivo > Renombrar, que resalta el campo de entrada de nombre.

    Microinteracción de la descripción emergente "Renombrar" de Google Docs
    Google Docs usa una descripción emergente muy simple pero útil.


    Reglas

    Las reglas definen lo que sucede después de hacer clic en el desencadenador. En este caso, la primera línea de texto aparecerá como el nombre del documento. Pero ¿y si el usuario no quiere tener la primera línea de texto como nombre? Cuando el usuario hace clic en el campo de entrada de nombre, se selecciona todo el texto y se eliminará con cualquier combinación de teclas, lo que facilita al usuario crear un nuevo nombre.

    Microinteracción de nombre de archivo resaltado de Google Docs
    Google Docs resalta el nombre del documento, lo que le permitirá al usuario comenzar a crear de inmediato uno nuevo.


    Retroalimentación

    Cambiar el color del borde del campo de entrada es un patrón de interacción común y es lo que Google Docs usa aquí para brindar al usuario comentarios inmediatos.
    Microinteracción de borde activo de Google Docs
    Cambiar el color del borde le permite al usuario saber qué están cambiando.

    Bucles y modos

    El usuario creó correctamente el nombre del documento y el activador permanece en su lugar con una diferencia de clave: el documento ahora ha sido nombrado.

    En este punto, el usuario sólo querrá cambiar unas pocas letras o agregar una fecha al nombre en lugar de cambiar el nombre completo que definió previamente. En este caso, a diferencia de la regla anterior, la regla para resaltar todo el nombre del documento está deshabilitada.


    Google Docs no resalta el nombre después de haberlo configurado.


    Resultado

    Después de definir el problema y enfocarse en las cuatro partes de una microinteracción, el resultado es una experiencia más natural y fácil de usar. La solución de nombres de archivos de Google Docs ayuda al usuario a mantenerse organizado con los archivos correctamente nombrados, al igual que simplifica el proceso de nomenclatura de los documentos.

    Microinteracciones en acción: Ejemplos del mundo real


    Reordenando una lista de tareas

    Recordatorios de Apple iOS ayuda a los usuarios a mantenerse organizados y elimina varios pasos permitiéndoles tocar, mantener y arrastrar un elemento de la lista para cambiar su lugar en el orden de la lista.

    Microinteracción de Reordenación de listas de recordatorios de iOS
    Cambiar el orden de los elementos de la lista es tan simple como arrastrar y soltar.


    Reaccionando a publicaciones en redes sociales

    Dar “Me gusta” a contenido al hacer clic en el botón o ícono de los pulgares arriba se ha convertido en un patrón de diseño de UX común en muchas aplicaciones y sitios web. Facebook está construido sobre esta interacción mediante la adición de múltiples opciones más allá de “me gusta” a través de una microinteracción sutil.






    Microinteracción de Reacciones de Facebook

    La colección de Reacciones de Facebook incluye Me Gusta, Me Encanta, Me Divierte, Me Sorprende, Me Entristece y Me Molesta. (por Seth Eckert)


    Destacado de texto de marca

    En la mayoría de los buscadores, es posible anular el color predeterminado de selección de texto. IKEA utiliza este patrón de interacción para agregar un detalle de marca sutil resaltando el texto en sus icónicos colores amarillo y azul.

    Texto resaltado de IKEA
    IKEA resalta texto en los colores de su marca, amarillo y azul.

    Compartir tu Locación

    Google Hangouts asume que una de las veces que un usuario desea compartir su ubicación es cuando alguien envía un mensaje de texto “¿Dónde estás?”

    Cuando el usuario ve este mensaje, aparece el botón “Compartir su ubicación” como una opción contextual. Luego pueden tocar ese botón para enviar automáticamente un mapa de su ubicación al otro usuario.


    Google Hangouts compartiendo tu locación
    Compartir tu ubicación con solo un toque (por TechCrunch).

    Deslizando hacia Seleccionar

    Las interacciones de micro se pueden usar para responder preguntas simples de sí o no en una aplicación. Tinder hace esto haciendo que el usuario deslice hacia la izquierda o hacia la derecha (no/sí) dependiendo de si les gusta o no les gusta su posible coincidencia.


    Gesto deslizante de Tinder
    Una microinteracción de UI en movimiento: desliza el dedo hacia la izquierda para no, hacia la derecha para sí en Tinder.

    Expansión de búsqueda

    La aplicación de Bandeja de entrada de Google no sólo agrupa paquetes de correo de forma inteligente, también está diseñada para permitir la búsqueda por voz o elegir entre los contactos más recientes con un solo toque.

    Microinteracción de Expansión de la búsqueda en la bandeja de entrada de Google

    La aplicación bandeja de entrada permite a los usuarios buscar correos electrónicos de sus contactos más recientes con una microinteracción reflexiva.

    Agregando velocidad a la información de contacto de un amigo

    SeatGeek simplifica el proceso de llenado de formularios rellenando automáticamente la información de los contactos de un usuario con un toque del botón “Agregar desde Contactos”.
    Microinteracción del botón de "Agregar desde contactos" de SeatGeek
    Cuando el amigo de un usuario ya está en sus contactos, puede agregarlos fácilmente a una aplicación con un simple toque.

    Aprende más sobre microinteracciones

    Las microinteracciones son una parte clave para mejorar la experiencia del usuario y hay muchos recursos disponibles para aprender más sobre ellos, algunos de los cuales se enumeran a continuación.

    Para obtener más información acerca de las microinteracciones en general, visita Microinteracciones, el sitio web creado como un acompañante para el libro mencionado anteriormente “Microinteracciones: diseñando con detalles” por Dan Saffer. En el sitio hay explicaciones detalladas de microinteracciones, así como información sobre el origen de microinteracciones bien conocidas, como autocorrección, autocompletar y cortar y pegar. El primer capítulo del libro también está disponible como descarga gratuita.

    Para inspiración de microinteracción, visita Little Big Details, una colección curada de microinteracciones en productos digitales. Muestra ejemplos de cómo les gusta a las empresas Apple, Trello, y StackOverflow implementan microinteracciones y animación UI.

    lunes

    Limpiar el MSConfig

    Para limpiar las entradas desactivadas del Inicio de Windows, existe la aplicación MSConfig Cleanup, una aplicación con licencia freeware, rápida y muy sencilla de utilizar

      Registro del inicio

    MSConfig Cleanup

    Paso 1.- Abrir la aplicación MSConfig Cleanup

    Paso 2.- Seleccionar las entradas a eliminar:


    Nota: Para seleccionar todas las entradas también se puede hacer clicando en el botón [Select All]

    Paso 3.- Una vez seleccionadas las entradas a eliminar clica en el botón [Clean Up Selected] para eliminarlas del registro

    Paso 4.- Resultado en el MSConfig: