Introducción Sistemas Operativos.
Como ya se ha venido estudiando en las clases de Hardware las computadoras son un conjunto de componentes Electrónicos, Eléctricos, Ópticos, Mecánicos, etc. interconectados entre sí para realizar tareas específicas, pero carentes de inteligencia o control, por lo que una computadora sin el software, es un montón de componentes sin utilidad.
Con el software correcto, una computadora puede tener en control de su hardware y podrá hacer muchas tareas, puede almacenar, procesar y recuperar información, encontrar errores de ortografía , escuchar música, ver videos, hacer diseños, hacer cálculos etc.
El software para computadoras puede clasificarse en general en dos clases: los programas de sistema, que controlan la operación de la computadora en sí y los programas de aplicación, que resuelven problemas para sus usuarios.
El programa más importante que hace realidad la magia de las computadoras, dispositivos de telecomunicaciones como los teléfonos inteligentes, Ipad etc, es el sistema operativo (SO),este controla y administra todos los recursos de hardware y proporciona la base sobre la cual pueden escribirse los programas de aplicación y todos los programas ofimáticos.
Desde su creación, las computadoras digitales han utilizado un sistema de codificación en sistema de numeración binaria, es decir con los 1 , 0. Esto se debe a que los circuitos integrados funcionan con este principio, es decir, hay corriente o no hay corriente.
Al inicio las computadoras eran sistemas tan complejos que solo podían ser operados por experto, se requería de mucho tiempo para introducir un programa y resultaba poco provechosa la utilización de computadoras para resolución de problemas prácticos.
Se buscaron medios más elaborados para manipular la computadora, pero que a su vez simplificaran la labor del operador o el usuario. Es entonces cuando surge la idea de crear un medio para que el usuario pueda operar la computadora con un entorno, lenguaje y operación bien definido para hacer un verdadero uso y explotación de esta, de esta forma surgen los sistemas operativos.
En resumen el sistema operativo es la capa intermedia entre el Hardware y el Usuario, es el encargado de brindar de forma ordenada, sencilla y segura la administración, operación, interpretación, codificación y emisión de las órdenes a la computadora (procesador central) para que esta realice las tareas necesarias y específicas para completar una orden, proceso o tarea específica.
Funciones de los Sistemas Operativos.
1. Interpreta los comandos que permiten al usuario comunicarse con el ordenador.
2. Coordina y manipula el hardware de la computadora, memoria, impresoras, unidades de disco, teclado, mouse, etc.
3. Organiza los archivos en diversos dispositivos de almacenamiento, como discos flexibles, discos duros, discos compactos o cintas magnéticas.
4. Gestiona los errores de hardware y la pérdida de datos.
5. Servir de base para la creación del software logrando que equipos de marcas distintas funcionen de manera análoga, salvando las diferencias existentes entre ambos.
6. Configura el entorno para el uso del software y los periféricos; dependiendo del tipo de máquina que se emplea, debe establecerse en forma lógica la disposición y características del equipo, una microcomputadora tiene físicamente unidades de disco, puede simular el uso de otras unidades de disco, pueden ser virtuales utilizando parte de la memoria principal para tal fin. En caso de estar conectado a una red, el sistema operativo se convierte en la plataforma de trabajo de los usuarios y es este quien controla los elementos o recursos que comparten. De igual forma, provee de protección a la información que almacena.
Interfaz de Línea de Comandos (CLI).
La interfaz CLI es una interfaz entre el sistema operativo y el usuario en la que este escribe los comandos utilizando un lenguaje de comandos especial que son interpretados o comprendidos por la maquina, estos sistemas basados en comandos son por lo general programables, lo que les otorga una flexibilidad y potencialidad que no tienen los sistemas basados en entornos gráficos, esta interfaz existe casi desde los comienzos de la computación, superada en antigüedad solo por las tarjetas perforadas y mecanismos similares, existen, para diversos programas y sistemas operativos, para diversos hardwares y con diferente funcionalidad.
Diagrama Sistema CLI.
Las CLI son parte fundamental de los Shells o Emuladores de Terminal. Aparecen en todos los desktops (Gnome, KDE, Windows) como un método para ejecutar aplicaciones rápidamente.
Se encuentran también como interfaz de lenguajes interpretados tales como Java, Python, Ruby o Perl, se utilizan en aplicaciones cliente–servidor, en DBs (Postgres, MySQL, Oracle), en clientes FTP, etc, las CLI son un elemento fundamental de aplicaciones de ingeniería tan importantes como Matlab y Autocad.
La contraparte de CLI es la interfaz gráfica de usuario (GUI) que ofrece una estética mejorada y una mayor simplificación, aunque tiene un mayor consumo de recursos computacionales y en general, de una reducción de la funcionalidad alcanzable. Asimismo aparece el problema de una mayor vulnerabilidad a los sistemas operativos por complejidad GUI.
Las CLI son usadas por muchos programadores y administradores de sistemas como herramienta primaria de trabajo, especialmente en sistemas operativos basados en Unix; en entornos científicos, de ingeniería y un subconjunto más pequeño de usuarios domésticos avanzados, con la llegada del sistema operativo Unix a inicios de los 70s, el uso de la línea de comandos se convirtió en un estándar, se canonizaron las reglas de ejecución basadas en tuberías, filtrado de archivos utilizando comodines y todas aquellas funcionalidades que permitían las nacientes interfaces de texto. Los sistemas operativos que vendrían (CP/M, DOS) adoptarían como propias aquellas cualidades.
Con la popularización del Computador Personal en los 80s, las aplicaciones entraron a un escenario donde ya no se tenía que compartir los recursos del sistema con otros usuarios. Ahora cada usuario contaba con su propia máquina, con la que interactuaba de una forma mucho más personalizada.
Apple y luego Microsoft lanzaron exitosamente al mercado sistemas que explotaban todos los conceptos visuales que habían sido desarrollados por Alan Kay y su equipo del PARC, es decir, una interfaz gráfica para controlar al computador por medio de un ratón, llegaba la era de las GUI. En la actualidad las GUI permanecen como la interfaz dominante y las CLI como interfaz secundaria, no obstante, en aquel momento el mismo Dr. Alan Kay señalo: "es necesario desarrollar un nuevo tipo de interfaz" para optimizar la relación entre humanos y computadores.
Alan Curtis Kay Piera
Científico Computacional, Premio Turing 2003.
Pionero en la programación orientada a objetos y el diseño de sistemas de GUI.
Cuando se trata de un programa que interactúa con el kernel de algún sistema operativo se le llama frecuentemente Shell, algunos ejemplos son los diversas shell de Unix (ksh, csh, tcsh, Bourne Shell, etc.), el histórico CP/M y el command.com de DOS, estos dos últimos fuertemente basados en las CLI de RSTS (Resource Sharing Time Sharing System) y RSX-11 (RSX-11 familia de real-time operating systems principalmente PDP-11 creadas por Digital Equipment Corporation (DEC)).
El sistema operativo Windows Vista y versiones posteriores traen una CLI llamada Windows PowerShell, que combina características de las tradicionales shells de Unix con su framework orientado a objetos .NET.
Tipos de Shell:
En UNIX hay dos tipos de Shell más usados:
1. El Bourne shell. Si está usando este Shell el símbolo que aparece es Carácter $ .
2. El C shell. Si está usando este Shell el símbolo que aparece es carácter %. Sub Categorias de Bourne Shell:
· Bourne shell ( sh)
· Korn shell ( ksh)
· Bourne Again shell ( bash)
· POSIX shell ( sh)
Sub categorías de C Shell :
· C shell ( csh)
· TENEX/TOPS C shell ( tcsh)
El Shell origina de Unix fue escrito a mediados de 1970 por Stephen R. Bourne en los laboratorios AT&T Bell Labs en New Jersey.
Ejercicio:
Un ejemplo de líneas de comando en Unix : $ find ./ -name ernesto.txt –print | more
Un ejemplo de línea de comando en Windows: c:> dir ernesto.txt /s /p
Analice el siguiente Comando: C:>ping yahoo.com
Haciendo ping a yahoo.com [206.190.36.45] con 32 bytes de datos: Respuesta desde 206.190.36.45: bytes=32 tiempo=257ms TTL=44
Respuesta desde 206.190.36.45: bytes=32 tiempo=177ms TTL=44
Respuesta desde 206.190.36.45: bytes=32 tiempo=188ms TTL=44
Respuesta desde 206.190.36.45: bytes=32 tiempo=227ms TTL=44
Estadísticas de ping para 206.190.36.45:
Paquetes: enviados = 4, recibidos = 4, perdidos = 0 (0% perdidos),
Tiempos aproximados de ida y vuelta en milisegundos:
Mínimo = 177ms, Máximo = 257ms, Media = 212ms
C:> time
C:> date
C:> control netconnections
Analice los siguientes Comandos: C:>pathping yahoo.com
C:>msconfig
TAREA #1
1. Concepto de Computadora.
2. Que funciones o trabajo hace una computadora, mencione al menos 10.
3. Qué sistema de codificación usan las computadoras.
4. Haga diagrama de bloques sistema de cómputo.
5. Describa que es un sistema operativo.
6. Escriba al menos 5 funciones de un sistema operativo.
7. Dibuje diagrama de árbol de sistemas operativos.
8. Que es CLI, explique.
9. Donde podemos encontrar CLI.
10. Por quien es usada la interfaz CLI.
11. Que sistemas operativos usan CLI.
12. Como se le llama frecuentemente a CLI.
13. Como se llama el Shell de Windows y como se invoca.
14. Cuáles son los dos Shell más usados un Unix.
15. Cuáles son las sub categorías del Bourne Shell.
16. Cuales sin las sub categorias de C Shell.
17. Quien es Allan Kay y cuáles son sus contribuciones al campo computación.
18. Que hace el comando find.
19. Que hace el comando dir.
20. Que hace el comando ping.
21. Que hace el comando time.
22. Que hace el comando date.
23. Que hace el comando control netconnections.
24. Que hace el comando pathping.
25. Que hace el comando msconfig.
Interfaz Gráfica del Usuario (GUI).
Sin lugar a dudas que uno de las características que hicieron que las computadoras se volvieran herramientas sencillas para ser usadas masivamente es la interfaz GUI ya que facilito el uso y control de los equipos a través de objetos visuales , este tipo de visualización que permite al usuario elegir comandos, iniciar programas , ver listas de archivos , opciones utilizando iconos , las listas de elementos del menú y todas estas selecciones pueden activarse a través del teclado o con el Mouse.
A los programadores, las interfaces gráficas de usuario ofrecen un entorno que se encarga de la comunicación con el ordenador o computadora.
Esto hace que el programador pueda concentrarse en la funcionalidad, ya que no está sujeto a los detalles de la visualización ni a la entrada a través del Mouse o el teclado, también permite a los programadores crear programas que realicen de la misma forma las tareas más frecuentes, como guardar un archivo, porque la interfaz proporciona mecanismos estándar de control como ventanas y cuadros de diálogo, otra ventaja es que las aplicaciones escritas para GUI son independientes de los dispositivos.
Aunque hoy por hoy nos parece muy fácil el uso de sistemas operativos tipo GUI, para su desarrollo y funcionamiento se han considerados muchos de los campos de la ciencia para poder hacerlo realidad.
En este sentido los Científicos e ingenieros han considerado el análisis a fondo la interacción PERSONA –COMPUTADOR, por lo que se han incluido muchas áreas de la ciencia para poder adaptar la tecnología al uso de la humanidad como una herramienta que venga a satisfacer muchas necesidades desde complicados trabajos científicos, comerciales, recreacionales , de telecomunicaciones etc.
Interacción Persona-Ordenador IPO.
Todavía no hay una definición concreta para el conjunto de conceptos que forman el área de la interacción persona-computador, en términos generales, podríamos decir que es la disciplina que estudia el intercambio de información mediante software entre las personas y las computadoras. Esta se encarga del diseño, evaluación e implementación de los aparatos tecnológicos interactivos, estudiando el mayor número de casos que les pueda llegar a afectar. El objetivo es que el intercambio sea más eficiente, minimizar errores, incrementar la satisfacción, disminuir la frustración y en definitiva hacer más productivas las tareas que rodean a las personas y los computadores.
Aunque la investigación en este campo es muy complicada, la recompensa una vez conseguido el objetivo de búsqueda es muy gratificante, es muy importante diseñar sistemas que sean efectivos, eficientes, sencillos y amenos a la hora de utilizarlos, dado que la sociedad disfrutará de estos avances. La dificultad viene dada por una serie de restricciones y por el hecho de que en ocasiones se tienen que hacer algunos sacrificios.
La recompensa sería: la creación de librerías digitales donde los estudiantes pueden encontrar manuscritos medievales virtuales de hace centenares de años; los utensilios utilizados en el campo de la medicina, como uno que permita a un equipo de cirujanos conceptualizar, alojar y monitorizar una compleja operación neurológica; los mundos virtuales para el entretenimiento y la interacción social, servicios del gobierno eficientes y receptivos, que podrían ir desde renovar licencias en línea hasta el análisis de un testigo o bien teléfonos inteligentes que saben donde están y cuentan con la capacidad de entender ciertas frases en un idioma. Los diseñadores crean una interacción con mundos virtuales integrándolos con el mundo físico.
Raíces históricas
Los gráficos por computadora nacieron de la utilización del CRT y de las primeras utilizaciones del lápiz óptico, eso llevó al desarrollo de técnicas pioneras para la interacción persona- computador. Muchas de éstas datan de 1963, año en que Ivan Sutherland desarrolló Sketchpad para su tesis doctoral, la cual marcó el inicio de los gráficos por computadora.
A partir de aquel momento se ha continuado trabajando en este campo, creando y mejorando los algoritmos y el hardware que permiten mostrar y manipular objetos con mucho más realismo, todo eso, con la finalidad de conseguir gráficos interactivos.
Algunos de los avances tecnológicos relacionados fueron intentos de llegar a una simbiosis hombre-máquina , con el Dynabook y Smalltalk (Alan Kay y Adele Goldberg, 1977).
Dynabook
Alan Kay sosteniendo el prototipo del Dynabook
El concepto de Dynabook fue creado por Alan Kay en 1968, dos años antes del descubrimiento del Xerox PARC. Kay pretendía hacer un ordenador para los niños de todas las edades; eso condujo al desarrollo del prototipo del Xerox Alto, nombrado originariamente "el Dynabook provisional". Éste plasmaba todos los elementos de una interfaz gráfica (GUI, Graphical User Interface, 1972). El componente de software de esta investigación es el Smalltalk, el cual tomó un camino propio, diferente al del Dynabook.
Se podría describir el Dynabook como lo que ahora se conoce como ordenador portátil o una tableta PC, el cual tenía como objetivo acercar los niños en el mundo digital. Los adultos también lo podían utilizar, a pesar de estar creado para los niños y niñas.
Kay quería que el Dynabook encarnara las teorías de aprendizaje que Jerome Bruner y Seymour Papert , psicólogo que trabajo con Jean Piaget, Seymourt había inventado el lenguaje de programación Logo y estaba proponiendo el hardware en el cual se ejecutara el ambiente de programación . Desde finales de los noventa, Kay ha estado trabajando en el sistema de programación Squeak, un entorno de código abierto basado en Smalltalk, que se podría ver como continuación lógica del concepto Dynabook.
Smalltalk
Smalltalk es mucho más que un lenguaje de programación. Permite realizar tareas de computación mediante la interacción con un entorno de objetos virtuales. Metafóricamente, se puede considerar que un Smalltalk es un mundo virtual donde viven objetos que se comunican entre sí, mediante el envío de mensajes.
Un sistema Smalltalk está compuesto por:
· Una Máquina virtual (Virtual machine)
· Un archivo llamado "Imagen", que contiene a todos los objetos del sistema
· Un lenguaje de programación (también conocido como Smalltalk)
· Una enorme biblioteca de "objetos reusables"
· Y generalmente, un entorno de desarrollo que además puede funcionar como un sistema en tiempo de ejecución.
Alan Kay está implicado activamente en el proyecto One Laptop Per Child que utiliza Smalltalk, Squeak, y los conceptos de un ordenador por aprender.
Aunque el hardware necesario para crear un Dynabook ya existe hoy día, Alan Kay cree que el
Dynabook no se ha inventado todavía, porque faltan un software clave y un plan de estudios adecuado.
A partir de aquí surgió los cimientos de la interacción persona-computador, como sería el caso del ratón, pantallas con mapas de bits, computadoras personales, la metáfora de escritorio y las ventanas y los punteros para clicar.
Además, el hecho de trabajar con sistemas operativos desembocó en la creación de nuevas técnicas para hacer interfaces de dispositivos de entrada/salida, controles de tiempo, multiprocesadores y para soportar el hecho de que se abrieran diversas pantallas o que hubiera animaciones.
Otros objetivos IPO.
Dado que la interacción persona-computador estudia la comunicación entre el ser humano y las máquinas, esto implica que la HCI (Human–computer interaction ) involucre conocimientos acerca de ambos: de la persona y de la máquina. Sobre las máquinas se requiere contar conocimiento en cuanto a sistemas operativos, técnicas gráficas, lenguajes de programación y entornos de desarrollo. Sobre las personas, es importante tener unos conocimientos previos, como teoría de la comunicación, disciplinas del diseño gráfico e industrial, lingüística, ciencias sociales, psicología cognitiva y función del ser humano.
Con el fin de tener un concepto más aproximado sobre el campo de la interacción humano- computador contemplamos en que está especializado:
· Unión de las tareas de los humanos con las máquinas.
· Capacidades humanas para utilizar las máquinas (incluyendo la capacidad de entender las interfaces)
· Algoritmos y programas de la interfaz en sí.
· Conceptos de ingeniería que se plantean a la hora de diseñar y construir interfaces.
· El proceso de especificación, diseño, e implementación de la interfaz.
· Sacrificios del diseño.
En conclusión, la HCI aborda aspectos de las ciencias humanas, así también como de ingeniería y del diseño.
Principales componentes
Los componentes fundamentales del sistema son: Usuario
Hay que tener en cuenta que el ser humano tiene una capacidad limitada de procesar información; lo cual es muy importante considerar al hacer el diseño. Nos podemos comunicar a través de cuatro canales de entrada/salida: visión, audición, tacto y movimiento. La información recibida se almacena en la memoria sensorial, la memoria a corto plazo y la memoria a largo plazo.
Una vez recibimos la información, ésta es procesada a través del razonamiento y de habilidades adquiridas, como por ejemplo el hecho de poder resolver problemas o el detectar errores. A todo este proceso afectará al estado emocional del usuario, dado que influye directamente sobre las capacidades de una persona. Además, un hecho que no se puede pasar por alto es que todos los usuarios tendrán habilidades comunes, pero habrá otras que variarán según la persona.
Computador
El sistema utilizado puede afectar de diferentes formas al usuario. Los dispositivos de entrada permiten introducir texto, como el caso del teclado del computador, el teclado de un teléfono, el habla o bien un escrito a mano, dibujos, selecciones por pantalla, con el ratón por ejemplo.
Como dispositivos de salida contaríamos con diversos tipos de pantallas, mayoritariamente aquellas que son de mapas de bits, pantallas de gran tamaño de uso en lugares públicos, a largo plazo se podría contar también con papel digital.
Los sistemas de realidad virtual y de visualización con 3D juegan un rol muy importante en el mundo de la interactividad persona-computador. También serán importantes los dispositivos en contacto con el mundo físico, por ejemplo controles físicos, como sensores de temperatura, movimiento, etc. Por otra parte tendríamos diferentes tipos de impresoras con sus propias características, fuentes y caracteres, también escáneres y aparatos de reconocimiento óptico.
Origen del proceso interactivo
Es importante que haya una buena comunicación entre usuario y computador, por este motivo la interfaz tiene que estar diseñada pensando en las necesidades del usuario. Es de vital importancia este buen entendimiento entre ambas partes dado que sino la interacción no será posible.
Principios de diseñ Interfaz.
Cuando evaluamos una interfaz, o diseñamos una nueva, se tienen que tener en cuenta los siguientes principios de diseño experimental.
· Fijar quien será el usuario/s y la su/s tarea/s. Se tiene que establecer el número de usuarios necesarios para llevar a cabo las tareas y determinar cuáles serían las personas indicadas. Una persona que nunca lo ha utilizado y no la utilizará en el futuro, no sería un usuario válido.
· Medidas empíricas. Sería de gran utilidad llevar a cabo un testeo de la interfaz con usuarios reales, en la situación en que se utilizaría. No podemos olvidar que los resultados se verán alterados si la situación no es real. Habría que establecer una serie de especificaciones cuantitativas, que serán de gran utilidad, como podrían ser el número de usuarios necesarios para realizar una tarea, el tiempo necesario para completarla y el número de errores que se producen durante su realización.
· Diseño iterativo. Una vez determinados los usuarios, las tareas y las medidas empíricas se vuelve a empezar: se modifica el diseño, se testea, se analizan los resultados y se repite de nuevo el proceso hasta obtener la interfaz deseada.
Metodologías de diseño
Desde 1980, año en que surgió el concepto interactividad persona-computador, han surgido numerosas metodologías para su diseño. Éstas se basan en el hecho de que los diseñadores tienen que captar como se lleva a cabo la interactividad entre usuario y sistema técnico, este proceso de diseño un hecho a tener en cuenta es el proceso cognitivo del usuario, lo cual se verá afectado por la memoria y la atención, de esta manera si se hace una previsión se conseguirá un resultado mucho más favorable, los modelos más modernos se centran en tener un feedback, una comunicación, entre usuarios, diseñadores e ingenieros, así se pretende conseguir que el usuario obtenga la experiencia que realmente quiere tener.
· Diseño centrado en el usuario (UCD, user-centred design): Es un concepto moderno, que se está extendiendo mucho, parte de la idea de que el usuario es el centro del diseño, en cualquier sistema computacional. Los usuarios, los diseñadores y el equipo técnico trabajan unidos con el objetivo de articular aquello que se desea, que se necesita y conocer las limitaciones del usuario para crear un sistema adecuado.
· Esta metodología es similar a la del diseño participativo, la cual enfatiza la posibilidad de que los usuarios finales contribuyan con el diseño del sistema.
· Principios de diseño de la interfaz de usuario: Existen siete principios que se tienen que considerar en todo momento a la hora de diseñar la interfaz de usuario:
Tolerancia, simplicidad, visibilidad, factibilidad, consistencia, estructura y retroacción.
Disciplinas
Dentro del campo de la interacción persona-computador, se considera una serie de disciplinas tales como:
· Informática
· Psicología (social, organizativa…)
· Documentación
· Ciencia cognitiva
· Ergonomía
· Ingeniería
· Diseño
· Antropología
· Sociología
· Filosofía
· Lingüística
Podemos distinguir algunas características propias del software, como son:
· Usabilidad
· Utilidad
· Accesibilidad
Todas estas referentes a la experiencia con la interacción de un sistema informático.
La interacción Persona Computador o HCI (Human–computer interaction ) ha sido objeto de diversos estudios científicos, entre ellos el tema de la ergonomía , estas variables han venido a establecer un conjunto de reglas o leyes que ayudan con el mejoramiento día a día en la interacción HOMBRE MAQUINA.
Ley de Fitts
En ergonomía, la ley de Fitts es un modelo del movimiento humano, que predice el tiempo necesario para moverse rápidamente desde una posición inicial hasta una zona destino final como una función de la distancia hasta el objetivo y el tamaño de éste. La ley de Fitts se usa para modelar el acto de apuntar, tanto en el mundo real, por ejemplo con una mano o dedo, como en los ordenadores, por ejemplo con un ratón. Fue publicada por Paul Fitts en 1954.
El modelo
Matemáticamente, la ley de Fitts ha sido formulada de varias formas diferentes. Una forma común es la formulación de Shannon (propuesta por Scott MacKenzie, y llamada así por su semejanza con el teorema de Shannon) para movimiento sobre una única dimensión:
Donde:
· T es el tiempo medio necesario para completar el movimiento. (Tradicionalmente, los investigadores han usado el símbolo MT, para indicar movement time, «tiempo del movimiento» )
· a y b son constantes empíricas, y pueden ser determinadas aproximando los datos medidos con una línea recta.
· D es la distancia desde el punto inicial hasta el centro del objetivo. (Tradicionalmente, los investigadores han usado el símbolo A para esto, indicando la amplitud del movimiento.)
· W es la anchura (width es inglés) del objetivo medida sobre el eje del movimiento.
También puede entenderse W como la tolerancia de error permitida en la posición final, dado que el punto final del movimiento debe quedar a +/- W/2 del centro del objetivo.
A partir de la ecuación, vemos un compromiso velocidad-precisión relacionado con el acto de apuntar, donde los objetivos que son más pequeños o están más lejos necesitan más tiempo para ser alcanzados.
Éxito y consecuencias de la ley de Fitts.
La ley de Fitts es un modelo inusualmente exitoso y bien estudiado. Los experimentos que reproducen los resultados de Fitts y demuestran su aplicabilidad en situaciones muy diferentes no son difíciles de realizar. Los datos medidos en tales experimentos quedan a menudo sobre una línea recta con un coeficiente de correlación de al menos 0,95, lo que indica que el modelo es muy preciso.
Aunque Fitts sólo publicó dos artículos sobre su ley (Fitts 1954, Fitts y Peterson 1964), cientos de estudios posteriores relacionados con ella aparecen en la literatura sobre interacción persona-computador o persona-ordenador (IPO) y muy probablemente miles de estudios en la más amplia literatura sobre psicomotricidad.
La ley de Fitts fue aplicada por primera vez a la IPO en 1978, quienes usaron el índice de rendimiento (IP, index of performance) para comparar diferentes dispositivos de entrada, quedando el ratón en primer lugar. (Este trabajo pionero, según la biografía de Stuart Card, (Stuart K. Card es un investigador estadounidense e Investigador Senior en Xerox PARC. Es considerado como uno de los pioneros de la aplicación de los factores humanos en la interacción persona-ordenador . ) «fue un factor crucial que llevaría a Xerox a introducir comercialmente el ratón».
La ley de Fitts ha podido aplicarse bajo una gran variedad de condiciones, con varios miembros diferentes (manos, pies, miras montadas en la cabeza, ojos), dispositivos (de entrada), entornos físicos (incluso bajo el agua) y poblaciones (jóvenes, ancianos, personas con discapacidades mentales y sujetos drogados). Adviértase que las constantes a, b e IP tienen valores diferentes bajo cada una de estas condiciones.
Desde la llegada de interfaces gráficas de usuario (GUI), la ley de Fitts ha sido aplicada a tareas en las que el usuario debe mover la posición del cursor sobre un objetivo de la pantalla, como un botón u otro widget. La ley de Fitts puede modelar las acciones de point-and-click (señalar y pinchar) y de drag-and-drop (arrastrar y soltar). (Adviértase que arrastrar tiene un IP menor asociado, porque la mayor tensión muscular hace más difícil señalar.)
A pesar del atractivo del modelo, debe recordarse que en su forma original y más estricta:
· Se aplica sólo al movimiento en una única dimensión y no al movimiento en dos dimensiones
· Describe respuestas motoras simples de, digamos, la mano humana, fallando al explicar la aceleración software que suele estar implementada para un cursor de ratón.
· Describe movimientos sin entrenamiento, y no los que se realizan tras meses o años de práctica (aunque algunos arguyen que la ley de Fitts modela un comportamiento de tan bajo nivel que el entrenamiento intensivo no supone demasiada diferencia).
Si, como suele afirmarse, la ley sigue siendo correcta para la acción de señalar con un ratón, algunas consideraciones para el diseño de interfaces de usuario son:
· Los botones y otros widgets que hayan de ser señalados en las GUI deben tener un tamaño razonable, siendo muy difícil pinchar en los que sean pequeños.
· Los bordes (por ejemplo la barra de menús en Mac OS) y esquinas de la pantalla son particularmente fáciles de alcanzar porque el puntero queda en el borde de la misma independientemente de cuánto más se mueva el ratón, por lo que puede considerarse que tienen ancho infinito.
· Los menús popup pueden ser usados más rápidamente que los pull-down, al ahorrar desplazamiento el usuario.
· Los elementos de los menús radiales se seleccionan más rápidamente y con una tasa de error menor que los de los menús lineales, por dos razones: porque todos están a la misma corta distancia del centro del menú, y porque sus áreas de selección con forma de cuña (que suele extenderse hasta el borde de la pantalla) son muy grandes.
La ley de Fitts sigue siendo uno de los pocos modelos predictivos de IPO firmes y fiables
Algunos detalles matemáticos
El logaritmo de la ley de Fitts se denomina índice de dificultad (ID, del inglés index of difficulty) para el objetivo, y tiene unidades de bits. Puede reescribirse la ley como
siendo
Así, la unidades de b son tiempo/bit, por ejemplo milisegundos/bit. La constante a puede ser considerada el tiempo de reacción o el tiempo necesario para pinchar un botón.
Los valores de a y b cambian según las condiciones bajo las que se realiza la acción de apuntar. Por ejemplo, tanto un ratón como un lápiz pueden usarse para señalar, pero tienen asociados diferentes constantes a y b.
Un índice de rendimiento (IP, index of performance), en bits/tiempo, puede ser definido para caracterizar cómo de rápido puede apuntarse, independientemente de los objetivos concretos considerados.
Hay dos convenciones para definir IP: una es IP = 1/b (que tiene la desventaja de ignorar el efecto de a) y la otra es IP = IDmedia/MTmedia (que tiene la desventaja de depender de una «media» ID arbitrariamente elegida). Cualquiera sea la definición usada, medir el IP de diferentes dispositivos de entrada permite comparar éstos respecto a su capacidad para apuntar.
Ligeramente diferente de la formulación de Shannon es la formulación original de Fitts:
Aquí el factor de 2 no es particularmente importante: esta forma del ID puede ser reescrita con dicho factor incluido como cambios en las constantes a y b. El «+1» de la forma de Shannon.
EL PRESENTE TEXTO ES SOLO UNA SELECCION DEL TRABAJO ORIGINAL. PARA CONSULTAR LA MONOGRAFIA COMPLETA SELECCIONAR LA OPCION DESCARGAR DEL MENU SUPERIOR.