# Responsividad

Responsividad o capacidad de respuesta es un concepto de informática que hace referencia a la capacidad específica de un sistema o unidad funcional para completar las tareas asignadas en un tiempo determinado. Por ejemplo, se referiría a la capacidad de un sistema de inteligencia artificial para comprender y llevar a cabo sus tareas de manera oportuna. Es uno de los criterios que caen bajo el principio de robustez. Los otros tres son observabilidad, recuperabilidad y cumplimiento de tareas.

## Vs Rendimiento

El software que carece de una gestión de proceso decente puede tener poca capacidad de respuesta incluso en una máquina rápida. Por otro lado, incluso el hardware lento puede ejecutar software responsivo.
Es mucho más importante que un sistema realmente gaste los recursos disponibles de la mejor manera posible. Por ejemplo, tiene sentido dejar que el controlador del ratón/mouse se ejecute con una prioridad muy alta para proporcionar interacciones fluidas con el ratón. Para operaciones a largo plazo, como copiar, descargar o transformar archivos grandes, el factor más importante es proporcionar una buena retroalimentación del usuario y no el mejor rendimiento de la operación, ya que puede ejecutarse bastante bien en segundo plano, utilizando sólo tiempo de procesador adicional.

## Retrasos

Las demoras prolongadas pueden ser una causa importante de frustración del usuario, o pueden hacer que el usuario crea que el sistema no funciona o que se ha ignorado un comando o gesto de entrada. Por lo tanto, la capacidad de respuesta se considera un problema de usabilidad esencial para la interacción humano-computadora (HCI). La razón detrás del principio de capacidad de respuesta es que el sistema debe entregar los resultados de una operación a los usuarios de manera oportuna y organizada.
El umbral de frustración puede ser bastante diferente, según la situación.

## Soluciones para mejorar la responsividad

A pesar de que pueden existir,muchas opciones, la mayoría de respuestas frecuentemente utilizadas y recomendables a asuntos de responsividad (capacidad de respuesta) son:
* Optimizar el proceso que entrega información eliminando los resultados derrochadores e improductivos del algoritmo o método por el cual se produce el resultado.
* Un sistema de gestión de procesos decente, que da la máxima prioridad a las operaciones que de otro modo interrumpirían el flujo de trabajo del usuario, como escribir, pulsar botones en pantalla o mover el puntero del mouse. Por lo general, hay suficiente "tiempo de inactividad" en el medio, para otras operaciones.
* Usar el tiempo de inactividad para estar preparado para las operaciones que un usuario podría hacer a continuación.
* Dejar que el usuario haga algo productivo mientras el sistema está ocupado, por ejemplo, escribir información en un formulario, leer un manual, etc. Por ejemplo, en un navegador con pestañas, el usuario puede leer una página mientras carga otra.
* Entregar resultados intermedios, antes de que finalice la operación. Por ejemplo, una página web ya puede funcionar antes de que se carguen todas las imágenes, lo que ocupará el tiempo de inactividad que de otro modo se gastaría innecesariamente.
* Si algo de espera es inevitable, un indicador de progreso puede reducir significativamente la frustración. Para retrasos breves, un icono animado puede ser suficiente. Los retrasos más largos se cubren mejor con una barra de progreso o, si es posible, el sistema debe proporcionar una aproximación del tiempo que llevará una operación antes de iniciarla.