HERRAMIENTAS DE AUTOR Criterios de Selección Liliana Patricia Santacruz Valencia Madrid, 1998 liliana@it.uc3m.es Resumen Con este documento se pretende definir las características que se espera cumpla un sistema de autor, para lo cual es necesario conocer alguna terminología básica, describir los tipos de sistemas disponibles, conocer las razones para la producción de paquetes CAL (aprendizaje asistido por computador),revisando sus ventajas e inconvenientes y las consideraciones a tener en cuenta a la hora de seleccionar un sistema de autor. 1. INTRODUCCIÓN La creación de cursos multimedia requiere de un compromiso en términos de tiempo y recursos. Seleccionar el mejor sistema de autor para desarrollar el trabajo es vital y una vez que se ha seleccionado se requiere de tiempo para aprender a manejarlo y si el sistema no se ajusta a los requisitos de la aplicación que se va a desarrollar como se esperaba, es necesario hacer una nueva elección. Con este documento no se pretende recomendar ninguno en particular, simplemente ayudar a definir las características que se espera cumpla un sistema de autor, para lo cual es necesario conocer alguna terminología básica, describir los tipos de sistemas disponibles, conocer las razones para la producción de paquetes CAL (aprendizaje asistido por computador), qué ofrecen y qué inconvenientes pueden tener y revisar las consideraciones a tener en cuenta a la hora de seleccionar un sistema de autor, Existe una gran variedad de herramientas de autor desde los tradicionales lenguajes de programación a las herramientas de diseño especial para el manejo de menús. Los lenguajes de programación como Pascal y C requieren de habilidades del programador para escribir y desarrollar una buena aplicación. Los lenguajes de autor también requieren código, pero el lenguaje ha sido especialmente escrito con el propósito de producir CAL (Computer Aided Learning) de modo que el código sea simple. Estos son los conocidos scripting languages. Los sistemas de autor se manejan generalmente por medio de menús y el código se genera automáticamente, son paquetes fáciles de usar, pero también los menos flexibles. En la práctica muchos de los sistemas también tienen scripting languages que permiten adicionar facilidades. 2. TERMINOLOGÍA Sistemas de Autor: Software que ayuda a los desarrolladores a diseñar aplicaciones interactivas o cursos de forma más sencilla que con los lenguajes de programación convencionales. Multimedia: En este contexto, Multimedia puede definirse como el conjunto de texto, gráficas, sonido animación y vídeo distribuido por algún tipo de computador. Cuando el usuario tiene algún control sobre como se presentan estos elementos se convierte en multimedia interactiva. Por ejemplo, un tutorial puede llevar a un usuario de una pantalla a otra en forma lineal cuando éste pulse enter, pero se convertirá en un tutorial interactivo cuando el usuario afecte directamente al tutorial, tal es el caso de que la respuesta a una pregunta determinada permita pasar de una pantalla a la siguiente, es decir, cualquier otro tipo de acción que involucre al usuario. Hipertexto: El concepto de Hipertexto existe desde hace mucho tiempo y fue descrito por primera vez por Vannevar Bush en 1945. El actual término hipertexto fue inventado por Ted Nelson en los 60's para describir su proyecto Xanadu. Un documento hipertextual contienen enlaces que pueden ser activados por un clic de ratón sobre el nombre el enlace, de modo que el usuario se translada hacia un área diferente dentro del mismo documento o a otro documento. Esos enlaces permiten al usuario navegar en una forma no-lineal o no-secuencial a través del documento. Hipermedia: Es un sistema hipertexto que no está limitado solo a documentos textuales, sino que incluye otros medios, lo que se conoce como hipertexto multimedia. OLE: Object Linking and Embedding, es un protocolo de Microsoft que permite que las aplicaciones puedan enviar datos a otras aplicaciones. Scripting Languages: Es el lenguaje de programación que viene con un sistema de autor. Generalmente se basa en un lenguaje particular de alto nivel. ScriptX: Es un lenguaje y un entorno para el desarrollo a través de plataformas de aplicaciones multimedia, la versión 1 está disponible para PCs IBM y máquinas compatibles ejecutándose en Microsoft Windows y para Apple Macintosh. Las aplicaciones ScriptX se escriben en un scripting language orientado a objeto, influenciado por SmallTalk, Common Lisp Object System y Dylan. ScriptX se utiliza para escribir herramientas de autor. Las aplicaciones se ejecutan utilizando Script Media Player. Si la aplicación se ha desarrollado en un PC, puede ser ejecutada en Macintosh sin tener que cambiar el código y vise versa. También hay Media Player para Unix. 3. METAFORA DE DISEÑO Los sistemas de autor se pueden subdividir en tres tipos principales basados en la forma en que organizan sus datos y eventos: Sistemas de autor basados en fichas: En estos sistemas la aplicación consta de unidades llamadas fichas o páginas, como las páginas de un libro. Las fichas se apilan juntas para formar un libro o pila y se puede navegar por página, buscando un tema específico o a través de hiperenlaces. Uno de los sistemas basado en fichas más conocido es HyperCard para máquinas Mac, que fue originalmente distribuido gratis con todos los Macs, otro sistema basado en fichas es ToolBook de Asymetrix. Sistemas de autor basados en iconos: en un sistema basado en iconos los iconos son arrastrados desde una paleta para formar un diagrama de flujo. Icon Author (PC) y Authorware de Macromedia (PC y Mac), son sistemas basados en iconos. Los iconos en Authorware incluyen cosas como iconos de visualización, iconos de pausa y de borrado. Después de arrastrar el icono sobre el diagrama de flujo, este es editado, por ejemplo con el icono de visualización se puede añadir texto y gráficas y con el icono de borrado se especifica que se va a borrar y que efecto usar. Hay también iconos de computación con los que el usuario define variables. Aunque no se requiere un conocimiento en programación en sistemas basados en iconos, el diseño de diagramas de flujo es conceptualmente un tipo de acción de programación y las mismas habilidades básicas serán necesarias para hacer uso de muchos de tales sistemas. Sin embargo, una vez que el diagrama de flujo ha sido diseñado, el mismo diagrama de flujo se puede utilizar para producir una aplicación diferente editando el contenido de los iconos. Aunque este tipo de programas puede utilizarse para aplicaciones simples en un tiempo relativamente corto, muchas aplicaciones complejas requieren mayor habilidad y planeación. Sistemas de autor basados en tiempo: Estas herramientas proporcionan una interfaz para el manejo de eventos multimedia en el tiempo para controlar el flujo de la aplicación. Dentro de un marco gráfico se despliegan acciones como sonidos, que son ejecutadas en un tiempo dado, son muy buenas para hacer presentaciones, en algunas herramientas es posible saltar a cualquier punto de la aplicación dentro de una secuencia permitida, con lo que se consigue navegar en ella. La aplicación Director de Macromedia, es una aplicación multimedia desarrollada utilizando Cast y Score. Los Cast son elementos básicos, gráficas, sonidos, texto, etc. Y Score se utiliza para visualizar y animar los Cast. Director también tiene su propio scripting language. 3.1. Lenguajes de Autor Muchos de los paquetes de autor también pueden tener scripting languages usados para incrementar la flexibilidad, para lanzar otras aplicaciones, mantenerse al tanto de las variables que almacenan una puntuación, un nombre de usuario y datos similares. Aunque son individuales para cada paquete y diseñados de acuerdo a las funciones que deben ejecutar, generalmente se basan en lenguajes de programación convencionales. OpenScript en ToolBook y Lingo en Director son ejemplos de aplicaciones que incluyen scripting languages. Algunos paquetes de autor son manejados por un lenguaje solamente, estos difieren de los lenguajes de programación convencionales en que han sido específicamente diseñados con producción multimedia y/o aplicaciones CAL. ScriptX es uno de esos lenguajes, un lenguaje orientado a objetos basado en el diseño de SmallTalk para producir una pequeña aplicación multimedia, aunque el código está orientado a autor requiere de experiencia en programación para producir buenas aplicaciones. Por ejemplo Kaleida que produce ScriptX requiere tres o seis meses para que un programador se familiarice con lenguajes de alto nivel, pero no con técnicas orientadas a objeto para ser un experto programador en ScriptX. 4. LENGUAJES DE PROGRAMACION No se requieren paquetes de autor especializados para crear CAL multimedia, efectivamente muchas aplicaciones multimedia se escriben con lenguajes de programación de alto nivel como C y C++ y ofrecen muchas ventajas sobre los paquetes de autor. En primer lugar la aplicación puede ejecutarse más rápido y el código puede optimizarse. La principal ventaja es la flexibilidad que ofrece para lograr que la aplicación haga lo que se quiere que haga, limitada únicamente por las habilidades que se tenga para programar, sin embargo las dificultades son obvias, requiere de habilidades en programación, posiblemente bastante y desarrollarlo puede ser mucho más demorado que con un paquete de autor. El término lenguaje de programación visual se utiliza para referirse a lenguajes como Visual Basic y Visual C/C++ y están entre los lenguajes convencionales y los sistemas de autor, utilizados para desarrollar prototipos como el front end, normalmente se construye dibujándolo en la pantalla y luego adicionándole el código apropiado a los eventos tales como botones, estrictamente hablando estos no son lenguajes de programación, pero si lenguajes textuales con una interfaz gráfica. Los verdaderos lenguajes de programación visual no utilizan código. Un lenguaje visual manipula información visual o soporta interacción visual o permite programar con expresiones visuales, esto se toma como la definición de un lenguaje de programación visual y se pueden clasificar de acuerdo al tipo y la extensión de la expresión visual que utilicen en lenguajes basados en iconos, lenguajes basados en formas y lenguajes basados en diagramas. 5. PORQUE PRODUCIR UN CAL Antes de producir una aplicación se debe tener claro que es lo que se quiere hacer y que se espera obtener de ello, puesto que gastar tiempo en definir un nuevo curso habiendo uno similar que puede ser modificado o utilizar un tutorial puede reducir el esfuerzo de programación requerido y puede además proporcionar una interfaz de usuario de buena calidad que haya sido ya probada y evaluada por un cierto número de estudiantes. La tecnología de programación de enseñanza y aprendizaje (TLTP) ha servido como base para desarrollar cursos en los últimos tres años. 6. BENEFICIOS Los paquetes CAL ofrecen beneficios sobre los métodos de enseñanza tradicionales, un buen paquete CAL debe poder proporcionar: Auto enseñanza Un nivel de enseñanza consistente para todos los estudiantes Un grado de valoración para estudiantes y lectores Disponibilidad fuera de las horas de trabajo Nivel de motivación creciente para los estudiantes Reducción del tiempo requerido para el aprendizaje de algunos temas 7. PROBLEMAS Sin embargo hay algunos problemas que es necesario superar cuando se introducen CAL por primera vez entre ellos: Los estudiantes pueden sentirse intimidados por los computadores, una interfaz de usuario amigable puede ayudar a superar esto. Crear una aplicación CAL puede requerir mucho tiempo en investigación y recursos. Sin un equipo especial, este puede requerir de nuevas destrezas tales como programación o manejo de imágenes. 8. SELECCION DE UN PAQUETE DE AUTOR La mejor forma de conocer aspectos sobre un paquete de autor es preguntarle a alguien que haya trabajado con él cosas tales como que tan bien maneja el paquete los colores, su velocidad o que máquina usar para hacer una demostración, etc y con el material propio diseñar un prototipo de pantalla. 8.1. Requisitos El desarrollador: Antes de mirar los paquetes de autor es necesario dar un vistazo a los recursos, las habilidades y experiencias con las que se cuenta, si se es capaz de programar o de usar un rango de paquetes para editar varios medios o si se prefiere un paquete de autor y por último tener en cuenta las recomendaciones HW tales como el tipo de procesador, el espacio de disco duro disponible que no es solamente el que se requiere para instalar la aplicación sino para los ficheros que con ella se van a generar, la resolución de la tarjeta gráfica y el SW adicional que soporta como tarjeta de sonido, vídeo y reproductor de CD. Ser muy claro en cuanto a los objetivos en la generación de la aplicación, por ejemplo si se está creando un tutorial se requiere de una sección de valoración y determinar además si se desea guardar los resultados, limitar a los estudiantes a una determinada área de la aplicación o permitir enlaces hipertextuales de modo que ellos puedan realizar la búsqueda de información en la forma que prefieran. Si se tienen claros los objetivos desde el principio, no será necesario comprar un sistema que haga más cosas que las que se requieren, las características extra siempre implican un costo mayor, un incremento en la curva de aprendizaje y afectar el desempeño del programa. Después de considerar que es lo que se espera que la aplicación sea capas de realizar, es posible que se llegue a la conclusión de que no se necesita un paquete de autor después de todo. Muchos paquetes como los procesadores de texto tienen macro lenguajes y la habilidad de manejar multimedia hasta cierto punto. Por ejemplo muchos paquetes Windows pueden hacer uso de DDE (Dynamic Data Exchange) y OLE (Object Linking and Embedding) para adicionar funcionalidades multimedia. En algunos casos esto es todo lo que se necesita para producir un curso. 8.2. La Audiencia Qué tipo de audiencia se va a tener? Han tenido ya una experiencia usando computadores?. Es importante y conocer a quienes va dirigido el curso y determinar la plataforma sobre la cual se va a distribuir la aplicación. Algunos paquetes pueden ser distribuidos en plataformas Mac y PC, pero los de autor pueden requerir de una plataforma específica y la conversión de una plataforma a otra puede hacer que se pierdan algunas características por ejemplo, algunos tipos de fuentes no son soportados por todas las plataformas. 8.3. Interfaz de Usuario Autor: Qué tipo de interfaz es más cómoda de usar?. Es más seguro escribir una cantidad de código o es más conveniente una interfaz gráfica. Casi todos los paquetes vienen con scripting language, pero el alcance que se necesitará de ellos varia de uno a otro dependiendo del tipo de aplicación que se desea crear. Los manuales de usuario son de gran ayuda para determinar que se puede aprender con determinada aplicación, es decir qué ofrece y si tiene un tutorial este permitirá dar un vistazo rápido a diferentes tópicos y hacerse a una idea del alcance de dicha aplicación y saber si se ajusta a lo que se está buscando. Usuario: Algunos paquetes brindan diferentes interfaces (por ejemplo, los basados en fichas o páginas) más que otros. Es importante presentar a los estudiantes interfaces con las que se sientan familiarizados como una interfaz tipo Windows, esto reduce la carga cognitiva lo que significa que ellos se sentirán más a gusto y cómodos y además podrán concentrarse mejor en el tema que se les está enseñando. Algunas otras características a tener en mente son: La posibilidad de llamar a un editor de texto de la propia herramienta o a un externo tipo Windows Notepad, en el que el usuario pueda realizar operaciones de pegar y cortar desde la aplicación al editor. Bookmarks disponibles, lo que le permite al estudiante marcar un sitio de interés en un tutorial y retornar a él más tarde. Esto no es muy importante para cierto tipo de aplicaciones. Que el usuario pueda guardar o imprimir algunas secciones de la aplicación. 8.4. Requisitos de diseño Hay algunos métodos que permiten al usuario moverse a través de una aplicación: Menú Vuelta de página (botones de siguiente/anterior) Contenido/Indice Facilidades de búsqueda general Hipertexto Simulación, etc Si se selecciona un sistema de hipertexto, en el que las facilidades de navegación están disponibles, por ejemplo siguiente/anterior, registro del camino recorrido lo que se conoce como historia, mapas o diagramas de todo el sistema. El hipertexto requiere de una buena planeación, para evitar que los usuarios se pierdan en el recorrido y para esto un mapa de la aplicación puede ser una ayuda significativa. Si es necesario ejecutar un programa externo, cómo se maneja el salto a ese programa?. Por ejemplo, en un entorno GUI (Graphical User Interface) las ventanas se abren en el momento en que el estudiante regresa a la aplicación, posiblemente llenando la pantalla y consumiendo mucha memoria. 8.5. Valoración Para hacer una evaluación de lo aprendido, hay diferentes modelos de preguntas que se pueden hacer, por ejemplo: Falso/verdadero Selección múltiple Respuestas de una palabra Completar texto, donde la aplicación debe buscar una palabra clave como respuesta Respuestas múltiples Consideran también como se quiere que el estudiante conteste las preguntas, escribiendo la respuesta o presionando una tecla, haciendo un clic de ratón, arrastrar y pegar, etc. Si el puntaje es almacenado, la aplicación debe ser capaz de manejar variables para almacenar el puntaje y realizar cálculos sobre ellos. Si se quiere almacenar los resultados de la prueba, la aplicación debe ser capaz de escribir en ficheros externos. 8.6. Simulación La simulación puede ser generada por algunos paquetes, pero algunos realizan mejor esta tarea que otros. Si se necesita que la aplicación realice algún tipo de simulación entonces el paquete que se escoja debe al menos : Ser fuertemente interactivo Tener facilidades para definir variables Ser capaz de ejecutar otras tareas basándose en los cálculos de las variables 9. REQUISITOS DEL MEDIO Hay gran cantidad de cosas que se aplican a todos los medios por ejemplo, la forma en que son almacenados los datos actuales, también hay tipos diferentes de formatos para diferentes medios por ejemplo, procesadores de palabras, formatos de imágenes como GIF, BMP, etc. Si el paquete de autor no soporta el formato actual de los datos, es necesario convertirlos y es posible que alguna información se pierda en el proceso. Por ejemplo, al utilizar un procesador de texto el formato del texto puede perderse, o en el caso de una imagen puede que sea necesario almacenarla con un número de colores menor. Si el paquete de autor no utiliza el mismo formato que corrientemente se usa, será necesario tener dos versiones lo que es como usar dos espacios de disco y esto puede ocasionar problemas si los datos tienen que ser actualizados. Además es importante que si los datos no cambian se pueden remplazar fácilmente desde la aplicación. 9.1. Texto Si se está trabajando con pocos párrafos de texto al tiempo, los límites en las facilidades de texto pueden ser aceptables, pero cuando las cantidades de párrafos de textos son considerables, hay unas cuantas características a tener en cuenta: Que el paquete pueda importar ficheros grandes de texto y conocer el tipo de formato que utiliza Las características de edición tiene el procesador de texto Cómo se visualizan grandes cantidades de texto por ejemplo, saber si le paquete proporciona barras de desplazamiento donde sea necesario o hay que asegurarse de que el texto esté siempre visible. 9.2. Gráficas Hay al rededor de 90 formatos de gráficos comunes y almacenar los datos en un formato estándar abierto tiene sus ventajas, pero si el paquete no almacena el formato que se está usando, se necesitará de otra aplicación para convertirlo. Con muchos paquetes de autor solo se puede visualizar imágenes de 256 colores, esto puede ser un inconveniente si se tiene un gran número de imágenes del mundo real. Es importante ver una demostración del paquete en cuanto a la forma en que maneja la visualización de dos o más imágenes al tiempo, cómo realiza el manejo de las paletas, pues un mal manejo de la paleta puede provocar que la imagen se visualice en la pantalla con colores anticipados. Por otra parte, saber si las imágenes son almacenadas en ficheros separados o internamente en un fichero principal de la aplicación. En muchos casos las imágenes son simples diagramas, caso en el cual el editor de gráficas puede ser una ventaja, algunas características que incluyen normalmente esos editores son entre otras la habilidad para dibujar líneas, rellenar o no cajas y círculos, importar otras gráficas y adicionarles texto. 9.3. Vídeo y Animación Algunos paquetes proporcionan un pequeño editor de animación, que generalmente permite mover una imagen a lo largo de una trayectoria definida por el usuario. Para producir animaciones más completas o vídeo se requiere de programas externos, en tal caso es necesario determinar si la aplicación soporta el manejo de HW adicional y como realiza la interfaz con ellos. 9.4. Sonido Así como las imágenes los sonidos son almacenados en variedad de formatos, se debe averiguar los tipos de formatos que la aplicación puede importar, si permitirá ejecutar solo parte de un fichero de sonido o el fichero completo, si permite controlar el volumen y que características de edición de sonido posee. También hay que recordar que los PCs requieren de HW adicional para ejecutar sonidos, entonces habrá que determinar cómo maneja los errores el paquete y si al detectar alguno, despliega algún tipo de mensaje de error, esto puede ser deseable para el autor. 10. OTRA INFORMACIÓN 10.1. Costo y Distribución Se debe tener en cuenta que tipo de documentación se incluye en el costo del paquete, pues hay algunos paquetes que se venden solo con una parte de la documentación y que en determinado momento podría ser requerida. También es importante saber si la aplicación puede ser distribuida o si es posible generar ficheros ejecutables o si se requiere distribuir varios ficheros (tales como archivos de imágenes externos). Proteger los ficheros es también vital, pues pueden ser propensos a ser borrados (especialmente en las máquinas de los estudiantes) y cuando los ficheros son borrados o movidos la actualización del SW es difícil si no se hace un seguimiento de lo que se tiene en el disco. 10.2. Soporte Esto es algo que vale la pena valorar pues una aplicación con un número considerable de usuarios requerirá muchos más recursos, así el nivel de soporte técnico con que cuenta el paquete de autor es un factor muy importante a tener en cuenta para saber a quien y donde acudir en caso de necesitarlo. A continuación se hace aplica lo anteriormente dicho en la selección de paquetes de autor y como ejemplo se ha escogido dos tipos de paquetes: Multimedia ToolBook Requisitos mínimos de la máquina Procesador : IBM_PC compatible con 386sx RAM : 4MB Espacio de disco : 15MB Otros : 1.44MB floppy drive 3.5" y/o CD-ROM, ratón Gráficas : VGA SW : Windows 3.0 o anteriores Diseño Sistema de autor visual basado en páginas. Utiliza menús pull-down y cajas de dialogo para crear libros. Posee un editor estructurado. Scripting Language Openscript. Soporte para DDE y puede usar DLLs. Texto Tiene un editor propio y puede importar ficheros en texto ASCII y otros formatos. Gráficas Cuenta con un editor de gráficas, puede importar ficheros con extensión .wmf, .bmp, .dib, .cgm, .drw, .eps, .tif, y .gif e importa ficheros .jpeg si se usa con QuickTime para Windows. Vídeo y Sonido Puede ejecutar ficheros de sonido MIDI, VOC y Wav. Tiene un editor de animación. Soporta animaciones FLI y ficheros AVI. Otra información Documentos que incluye: Un conjunto de manuales con paquetes multiusuario. Proetry Shell Requisitos mínimos de la máquina Procesador : IBM_PC compatible con 386sx RAM : 4MB Espacio de disco : 2MB +datos Otros : 1.44MB floppy drive 3.5, ratón Gráficas : 640x480, 256 colores SW : Dos 3.1 o anteriores, Windows 3.0 o anteriores, Windows fonts Diseño Una pantalla principal donde el poema siempre está visible. Información extra e imágenes a través de enlaces hipertextuales. Funciones de autor tales como la creación de enlaces al glosario que se hace automáticamente introduciendo los nombres de los ficheros y haciendo clic sobre el botón apropiado en la pantalla de configuración. No tiene facilidades para valorar sesiones de pregunta/respuesta. Tiene notepad. Texto Importa archivos de texto en ASCII de menos de 20Kb. Utiliza diferentes ficheros de texto que no pueden ser creados dentro del paquete. Gráficas Solamente formato .bmp, el despliegue lo hace en otra pantalla y no tiene funciones de edición. Otra información No requiere licencias para distribuir copias. Documentos que incluye: Manual y un tutorial. 11. CRITERIO GENERAL DE SELECCIÓN El criterio general de selección permite escoger una herramienta de desarrollo entre muchas alternativas mediante un estudio comparativo de las fortalezas y debilidades de cada una de ellas, realizar ésta selección no es una tarea fácil pues comercialmente son anunciadas como la herramienta de desarrollo definitiva, la última herramienta hipermedia, la escogida por los profesionales, etc. Aunque las herramientas de autor se pueden definir como un entorno de desarrollo de aplicaciones para no programadores, no quiere decir que las herramientas que no requieren código por parte del autor puedan considerarse como herramientas de autor, es una regla para herramientas como ToolBook y Guide que definen sus propios lenguajes de programación, pero un no programador puede aprender a utilizarla en un espacio de tiempo relativamente corto y utilizarla para producir aplicaciones de alta calidad. A continuación se analizan algunas herramientas de autor de propósito general con las que es posible crear un amplio rango de aplicaciones en particular cursos. Las herramientas de propósito general requieren que el autor adquiera algunas habilidades en diseño y programación, lo que es compensando por la flexibilidad de la herramienta. 11.1. Selección de una herramienta de desarrollo Para seleccionar una herramienta de desarrollo es necesario usar un criterio objetivo para juzgar las bondades y deficiencias de las diferentes herramientas, a continuación se presenta algunos de los criterios utilizados: Experiencia del desarrollador: El grado técnico de experiencia para los desarrolladores es fundamental. Si el desarrollador ha utilizado una herramienta particular en el pasado conocerá sus características y podrá hacer uso de ella nuevamente si le conviene. También si el desarrollador tiene experiencia en programación al trabajar en un entorno de autor puede sentirse limitado o frustrado. Conveniencia: Algunos sistemas de autor se diseñan para realizar funciones particulares y por lo tanto es débil en otras áreas. Fácil diseño de una interfaz: Si la herramienta permite diseñar pantallas es necesario determinar como se hace y que grado de dificultad tiene llevar a cabo esta tarea. La mayoría de las aplicaciones de cursos de desarrollan para entornos gráficos tales como Windows Microsoft y Macintosh donde la interfaz es de vital importancia. Muchos de los entornos de desarrollo modernos permiten al desarrollador manipular y dibujar objetos, botones, campos, diálogos, etc sobre la pantalla sin tener que escribir una sola línea de código para ello. Esto hace que los procesos de diseño, edición y prototipado de interfaces sea significativamente fácil. Costo: Los rangos de costo de las herramientas de desarrollo son muy variados, las menos caras son C o Pascal que son lenguajes de programación genéricos que requieren de un programador experimentado. Los más apetecidos son los entornos iconizados (donde los iconos se usan en lugar de programas de código) tales como AuthorWare o IconAuthor dirigidas a desarrolladores novatos. Un factor importante a considerar cuando se comparan los costos es el tiempo requerido para que el desarrollador aprenda a utilizar el paquete. Licencia de Funcionamiento: Algunos entornos de autor propietarios requieren de módulos (versiones reducidas del entorno con funciones de desarrollo eliminadas) para distribuirlo con aplicaciones completas para ejecutarlas y que el propietario del entorno pueda cambiar los derechos de autor para la distribución de esos módulos o imponer condiciones sobre la distribución y empaquetado. Esto puede tener implicaciones en cuanto al costo si el curso está destinado para un gran mercado. Futuro del entorno: La mayor preocupación para el propietario de un sistema de desarrollo es que este llegue a ser obsoleto, por la falta de soporte de la compañía o porque la compañía vaya a la quiebra. También son importantes los comentarios que surjan a través de los periódicos, magazines y en los grupos de usuarios, para hacerse una idea de cual puede ser el futuro de la herramienta en cuestión. Soporte Técnico: Aunque con frecuencia tristemente no se cumple, es un factor importante que influye en la selección de la herramienta puesto que se traduce en inversión de tiempo y dinero si el desarrollador no es capaz con su experiencia sobre la herramienta de afrontar los problemas cuando estos se presenten y puede resultar entonces un producto inferior si el desarrollador no puede encontrar mejores alternativas para implementaciones futuras. Considerando este factor, los organismos militares obviamente están a favor de los lenguajes de programación genéricos. Solamente la experiencia que se tenga sobre una herramienta en particular permite hacer una valoración de su funcionalidad, sus facilidades de uso y sobre las dificultades que puede presentar. Finalmente, se puede hacer por ejemplo, la comparación entre cuatro herramientas muy populares para conocer cuales son las ventajas y desventajas de unas frente a otras. KnowledgePro para Windows (KPWIN) http://www.kgarden.com Es un lenguaje de programación de cuarta generación, producida por la compañía Knowledge Garden, para desarrollo rápido, ejecutable en Windows y que permite cualquier nivel de experiencia. Disponible en tres formas: KPWIN: Interpretador básico KPWIN Gold: Como la anterior y además de libre distribución KPWIN++: Como Gold y además con generador de código C++ Es un sistema orientado a objetos, que soporta hipertexto e inicialmente se ejecutaba bajo DOS, pero que en los 90s se hizo la versión para Windows convirtiéndose en la primera herramienta de interfaz amigable para el usuario. Como herramienta de propósito general está catalogada entre C++ y Visual Basic, es un producto que se puede considerar si lo que se quiere es un lenguaje que combine niveles bajos de control sobre entornos Windows con altos niveles de codificación. Es una excelente introducción a la programación orientada a objeto y a la programación en Windows. Pros Usando los compiladores de KPWIN++ y C++ se puede compilar aplicaciones para hacerlas ejecutables Sobresaliente en el manejo de listas, texto e hipertexto No tiene restricciones de ejecicuón Buena introducción para la programación en Windows Contras Todas las funciones requieren código Diseño de pantalla pobre Dificultad para aprender moderada Poco material de tutoría Bastante costoso si se quiere producir aplicaciones compiladas Visual Basic http://www.microsoft.com La primera herramienta gráfica de desarrollo Windows realmente de propósito general, fácil de aprender y de usar, hasta el momento es muy popular su uso. Permite desarrollar muchas partes de la aplicación sin agregar código, simplemente colocando botones, controles o cambiando las propiedades asociadas a ellos. Las aplicaciones pueden ser compiladas y al igual que el VB normal, no tiene funcionalidades multimedia, además no soporta hipertexto y tiene una capacidad limitada para el manejo de texto. Pros Fácil de aprender y usar No es costosa Buen material de tutoría disponible en libros, magazines y on-line Permite compilar aplicaciones en forma ejecutable y no tiene restricciones de distribución Contras No soporta hipertexto Manejo de texto pobre Requiere mucho código en un lenguaje de programación Authorware Professional para Windows http://www.macromedia.com Es una herramienta basada en iconos diseñada especialmente para el desarrollo de aplicaciones educativas y formativas, pensada para no programadores. Cada uno de los once iconos disponibles en el espacio de trabajo tiene una función particular como la visualización o decisión o el desarrollo de procesos involucrados en el arrastre de iconos desde la barra de herramientas hasta el diagrama de flujo que controla el flujo del programa. Pros Fácil de usar y no requiere código Versiones para PC y Mac Buen soporte a través de la página de Macromedia en Internet Contras Condiciones unidas a la distribución comercial Costosa Ejecución lenta comparada con las aplicaciones compiladas Capacidad de diseño de pantalla pobre ToolBook http://www.asymetrix.com Es una herramienta basada en páginas o fichas, posee su propio lenguaje de programación OpenScript, es también de propósito general más que VisualBasic y se puede utilizar también para desarrollar aplicaciones diferentes a cursos tales como bases de datos. Tiene un buen manejo de texto lo que la hace ideal cuando la aplicación requiere del manejo de grandes cantidades de texto. Las dificultades de manejo de la herramienta dependen mucho de la experiencia previa, así por ejemplo los programadores de entornos Windows tienen que ajustarse un poco a las particularidades del lenguaje OpenScript para poder desarrollar una buena aplicación. Pros Fácil de usar y aprender para desarrolladores de Hypercard Soporte excelente a través de Internet en la página de Asymetrix ToolBook No tiene restricciones de distribución Económica comparada con las herramientas basada en iconos Fácil diseño de pantalla Contras Curva de diseño moderada para los desarrolladores novatos, requiere mucho código Material de tutoría disponible muy poco Ejecución lenta comparada con las aplicaciones compiladas Para terminar algunas direcciones relacionadas con el tema: http://www.mcli.dist.maricopa.edu/authoring/lang.html Contiene un listado de herramientas de autor y brevemente describe sus características http://www.niss.ac.uk/ches/index.html Listado de herramientas http://www.selva.dit.upm.es/~telemaco/info.htm Clasificación de SW de autor http://www.op.upm.es/tesmes/revista/articulo2.html#4 Artículo sobre herramientas para la elaboración de material multimedia.