viernes, 28 de junio de 2013

Interacción Humano Computadora

Imagen creada con Wordlee

La Ciencia de Diseño Interdisciplinaria de Interacción Humano-Computadora (IHC) combina el conocimiento y los métodos asociados con los otras profesiones, incluyendo: Psicólogos (incl. Experimentales, educativos, sociales e industriales), Científicos de la computación, Diseñadores gráficos
Escritores técnicos, Expertos en Factores humanos y ergonomía, y los antropólogos y los sociólogos.
Tiene muchos niveles de análisis que involucran, aunque no se limitan, los siguientes:

  • Tipos de Usuario y frecuencia de ejecución de sus tareas, por ejemplo, una ejecución de un proceso rutinarios es la preparación de la declaración de impuestos. También, nos interesa entender el tipo de sistema que se esta creando y que tan critico es, ya que no es lo mismo hacer un sistema de información de apoyo a las decisiones: un diagnóstico médico y tratamiento, que crear sistemas de educación y formación: enciclopedias, perforación y practicar ejercicios, simulaciones.
  • Estructura de la organización . Uso de la empresa: la planificación financiera, la publicación de aplicaciones. 

Esto se puede resumir con el siguiente mapa mental de lo que involucra la disciplina de la Interacción Humano computadora.


Modelo Mental de la Interacción Humano Computadora, creado con Popplet

Se puede apreciar el concepto de usabilidad como un pilar importante. Muchas veces referido a hacer de los sistemas interactivos amistosos con los usuarios. Sin embargo, sinónimos de "amigable" en Word 2002 de Microsoft significó: fácil de usar, accesible, comprensible, inteligible, a prueba de tontos, disponible y listo. No obstante, un "amigo" también trata de ayudar y ser útil. Un amigo es comprensible,  lo entiende; es confiable y no lastima. Es agradable estar con un amigo. El problema es medir la amistad. Estas medidas siguen siendo subjetiva e imprecisa, por lo que un proceso sistemático es necesario desarrollar sistemas que puedan emplearse para usuarios específicos en un contexto específico. L
Los Criterios de Diseño de Ingeniería Humana para Sistemas Militares U.S.(1999), surgen como solución,  estableciendo los siguientes propósitos para lograr la usabilidad: -Conseguir un rendimiento deseable en el personal: operador, control y mantenimiento -Reducir al mínimo las habilidades y los requerimientos de personal y el tiempo de formación -Lograr la seguridad necesaria de las combinaciones de equipamiento-personal/software -Fomentar la estandarización de diseño dentro y entre los sistemas.La facilidad de uso requiere la gestión de proyectos y atención al análisis de los requisitos y pruebas de objetivos claramente definidos.

Cuales son las metas de nuestra profesión: Proporcionar herramientas, técnicas y conocimiento para los ejecutores del sistema . Apoyar en la creación rápida de prototipos apoyados de herramientas contemporáneas. Utilizar documentos de orientación general o auto determinados por  escrito para un público específico. Para perfeccionar los sistemas, usar de información de personas o grupos de usuarios para evitar que usuarios novatos tengan miedo debido a la experiencia con el diseño de productos pobres en diseño interactivo. Los buenos diseños ayudan a los novatos a no temer ya que son claros, competentes y sin amenazas.

Todo claro, bueno, te invito a hacer esta actividad sobre el mapa mental de IHC en EducaPlay.

Hacia un modelo más general de Desarrollo de Sistemas Interactivos
Con el paso del tiempo la forma en que usamos las computadoras ha cambiado y pasamos de pantallas de texto a interfaces naturales que es el paradigma que nos gobierna hoy en día. El creciente y acelerado avance tecnológico hace muy difícil mantenerse actualizado y capacitado para crear soluciones. Es por eso que tenemos crear soluciones más generales, más abstractas que faciliten la portabilidad de la solución de un problema. El lector es invitado a leer el siguiente trabajo para poder adentrarse a la solución basada en modelos.
Algunas fuentes de información para poder expandir su conocimiento al respecto, se pueden encontrar en el este Jog 
de Sitios de Búsqueda de Información.





Nota: Si quieres hacer una impresión de este contenido eliminando el contenido multimedia y menús y publicidad, puedes usar PrintFriendly.

Ingeniería de Software

La Ingeniería de Software es una disciplina que establece el uso de principios de ingeniería robustos, orientados a obtener software económico que sea confiable y funcione de manera eficiente. La Ingeniería de Software difiere de la programación tradicional en que se utilizan técnicas de ingeniería para especificar, diseñar, codificar, validar y mantener los productos dentro del tiempo y presupuesto establecidos para el proyecto. Además, la ingeniería se preocupa por aspectos administrativos que quedan fuera del dominio normal de la programación.
Nube de palabras relacionadas con ingeniería de software [elaborada con wordle]

El término programador se emplea para denominar a la persona preocupada y abocada a las tareas y detalles de la codificación, empacado y modificación de los algoritmos y  estructuras de datos codificados en algún lenguaje de programación particular.   Los Ingenieros de Software están, además, capacitados para hacer frente a aspectos de  análisis, diseño, verificación, prueba de programas, documentación, mantenimiento y administración del proyecto.
El software es ahora la clave del éxito de muchos de los sistemas basados en computadora. El software marca la diferencia. Lo que diferencia una compañía de otra, es la suficiencia, exactitud y oportunidad de la información proporcionada por el software.
Una definición es: Ingeniería del Software es la aplicación práctica del conocimiento científico en el diseño y construcción de programas de computadora, así como de la documentación asociada, requerida para desarrollar, operar (funcionar) y mantenerlos. Se conoce también como desarrollo de software o producción de software [Bohem, 1976].

La ingeniería de software implica un ciclo de vida definido por un proceso, el cual, a su vez, se compone de una etapa de ingeniería de requerimientos, del modelado del análisis, del diseño e implementación, las pruebas y el mantenimiento.



Un aspecto muy importante a considerar dentro de un proceso de desarrollo de software es la parte de las pruebas. Para ejemplificar este aspecto consideremos el  caso del  primer vuelo del cohete Ariane 5, mismo que falló poco después del lanzamiento, lo que resultó en una pérdida estimada de mil quinientos millones de dólares.



Un Fallo de software se produjo cuando se intentó hacer una conversión de un número de 64 bits de punto flotante, a un entero con signo de 16 bits, lo que hizo que se desbordara la memoria.
a. No había un manejador de excepciones asociado con la conversión de números. Por seguridad, ésto apagó la computadora.
b. La aplicación de respaldo tenía el mismo error así que, también falló.
Lección aprendida
Todo software debe ser revisado y probar que funcione. No ejecutar software en sistemas críticos a menos que sea realmente necesario (por eso los aviones no llevan computadoras para controlar el avión, sino puros controles y sensores). Así como se prueba lo que el sistema debe hacer se debe probar lo escenarios donde el sistema hace lo que no debe hacer. Tomar en cuenta todas las variantes de excepciones que pueden ocurrir y no recaer en el uso del gestor por default de excepciones.

El personal docente del área de Bases de Datos e Ingeniería de Software de la Facultad de Ciencias de la Computación, organizó un seminario en el cual se ha propuesto como objetivo fundamental lograr unificar los materiales, métodos, estrategias y técnicas en la enseñanza de la ingeniería de software. Para ello se recopilaron los resultados de los trabajos desarrollados en el citado seminario, las experiencias compartidas y principalmente el conjunto de actividades propuestas por cada uno de los profesores participantes en un libro.

El libro está enfocado a reforzar el proceso de enseñanza-aprendizaje a través de actividades de motivación y diagnóstica para el estudio de la Ingeniería de Software.
Una actividad sugerida es un crucigrama de conceptos básicos 
Gracias por leer hasta aquí!!!




viernes, 21 de junio de 2013

Curso La Web 2.0

En el contexto del curso La Web2.0 y sus herramientas para apoyar la docencia, comenzamos con un vídeo de introducción a la web 2.0. La integración de las TIC en la docencia puede usar el modelo TPACK para entender las características compuestas que necesita un profesional.

   


Una alternativa a Blogger para hacer contenido interesantes para nuestro blog son:
  • Printfriendly ayuda a extraer el contenido de un sitio, eliminando la publicidad, encabezados, incluso las imágenes. 
  • Wordle ayuda a crear nubes de palabras que pueden ser integradas en presentaciones, o sitios web.
  • Jog the web sirve para crear un diccionario de sitios web que pueden ser de interés para un curso y el alumno podrá revisar las listas recomendadas. Usamos como ejemplo los sistemas que estamos revisando en el curso.  
  • Flipsnack es una herramienta de presentación de libros en formato de libro, con la limitante que tiene un costo ver documentos de más de 15 páginas. 
  • Calameo sirve para subir documentos y visualizarlos en formato de libro, muy simple.

  • Mapas mentales con popplet. Lo que me permite hacer mapas mentales interactivos. 

martes, 29 de enero de 2013

E-learning and Digital Cultures

I just started a new course on E-learning and Digital Cultures and the first activity was to comment on four films with regard to the impact of technology in our lives. There are two visions on how technology affect our lives positively (utopian) and negatively (dystopian). As always, how you interpret film depends on your background, culture, and knowledge. In my opinion you can get both positive and negative aspects from the four films. What do you think?

NEWMEDIA from MOLI on Vimeo.

miércoles, 26 de mayo de 2010

Mexico en los mapas de Google

Me da gusto ver que Mexico, Guadalajara, Monterrey Puebla ya sean parte de los mapas de google, ahora si ya no te puedes perder en la ciudad pues puedes ver por adelantado a donde vas a llegar y lo que veras.

Incluso en los mapas sobre la evolucion de la gripa a nivel mundial y nacional. Aqui estan casi todos los estados pero hay algunos que no figuran en las estadisticas.

Sin duda es muy util.

lunes, 19 de abril de 2010

Recuperar datos perdidos del disco duro

Hace poco ocurrio que la informacion de mi disco duro desaparecio. Simplemente el folder de respaldo con 360 Gigas de informacion se convirtio en un archivo sin extension de 32 k. Me recomendaron usar recuva y lo recomiendo mucho.

miércoles, 10 de marzo de 2010

Cisco revoluciona el internet?

Y es que para los que somos no tan expertos en el area de redes nos puede parecer sin importancia el anuncio de la empresa Cisco "Router de 322 Tera Bytes por segundo" pero si nos explican que eso significa que el internet sera 12 veces mas rapido entonces no que queda mas que decir "ohhh yeah".

jueves, 4 de marzo de 2010

Agregar inmersion a los video juegos es el futuro

§La inmersion en un sistema de realidad virtual se refiera a la sensacion del usuario de "estar ahi" gracias a un sistema que permita dar esa sensacion.

Este es un ejemplo de lo que se puede hacer con un sistema de realidad aumentada muy conocido(AR Toolkit), imaginacion y creatividad. No hay nada que inventar solo es cuestion de innovar.

DIPLOMA : Immersive Rail Shooter from David Arenou on Vimeo.

lunes, 1 de marzo de 2010

Eye tracking

http://www.tobii.com/corporate/start.aspx

lunes, 1 de febrero de 2010

A retener y explorar

He aqui una serie de articulos que nos invita a leer la revista Userfocus

Card Games for Information Architects

jueves, 21 de enero de 2010

Interfaces plegables

Cada dia nos sorprenden mas y mas con lo delgado que puede ser una pantalla de computadora o de television. Le tecnologia avanza y he aqui una de las ideas que hoy surgen y que el dia de mañana formaran parte del dia a dia.

martes, 5 de enero de 2010

La fábula del diseñador centrado en el usuario

David Travis escribió una fábula sobre el diseñador centrado en el usuario. Es una historia fácil de leer, entretenida y muy instructiva. Sin llegar a ser un “saber hacer” te da al menos una nocion del “que hacer” en lo referente al diseño de software centrado en el usuario, algo de lo que siempre hablamos en este blog como método a seguir para el desarrollo de interfaces.
A groso modo y sin intención de transcribir el libro los puntos más destacados del desarrollo centrado en el usuario según David Travis son.
“El diseño visual (organización de los componentes visuales para evitar obstrucciones que impidan acceder a las opciones importantes) es solo una parte de la experiencia del usuario con la tecnología“.
“La tecnología es solo una parte de la solución no lo es todo“.
“Hay que centrarse siempre en las personas que van a usar nuestros productos no en el diseño visual o el uso de lo último en tecnología“.
Para ello hay que basar todo desarrollo en tres pilares:
1.- Temprano y continua comprensión de los usuarios y las tareas que realizan. Para ellos muchas herramientas existen pero el autor centra su solución al uso de Personas nosotros en UsiXML usamos un modelo del usuario. Sin importar como se modela el usuario la fuente de información que crea estos usuarios es de vital importancia y esta puede ser a través de:
* investigación de campo con los reales usuarios del sistema para ver lo que hacen y determinar sus características.
* Visitas regulares al cliente para determinar: motivaciones y perfiles de usuario, ambiente de trabajo y rutas prioritarias (tareas criticas que un usuario tiene que hacer lo más pronto y fácil como sea posible, ojo ). A esto yo agregaría, tecnología o modelo de dispositivos con los que se cuenta. Todo esto sigue en línea con lo que se hace en UsiXML.
* Es imposible hacer que todo sea fácil y de simple acceso, hay que dar prioridades a las cosas y es ahí donde la noción de rutas criticas ayuda a encontrar el balance necesario. En el modelo de workflow nosotros introducimos un concepto similar llamado cuellos de botella que permite identificar las etapas donde se requiere mayor atención debido a la falta de usuarios a realizar la tarea que podría estar relacionada con la complejidad de la tarea o la necesidad de más personal.
* Las visitas a los clientes ayudan a determinar las rutas criticas en función de las metas que buscan sus usuarios.
* Modelar los procesos y las tareas es primordial y para ello nada mejor que el modelado de workflow.
2.- Medición empírica del comportamiento del usuario. Hay que estar seguros de que el diseño funciona como la gente lo espera. Considerar la primera impresión de tus usuarios, sus pensamientos, sus quejas, para ello:
* Test de usabilidad. Considerando las ventajas y desventajas que se puede uno topar. La gente no siempre va a querer transmitir lo que esperan ya que ignoran cuales podrían ser los alcances del sistema.
* Pon a pruebas las rutas criticas de tu sistema.
* Que los usuarios mientras trabajan hablen en voz alta para identificar que aspectos de la interfaz son confusos.
* Medir la usabilidad: cuantos usuarios logran completar la tarea con éxito, eficiencia en lograr la tarea normalmente medida en tiempo, satisfacción con el usuario.
3.- Diseño iterativo. Porqué es necesario hacer prueba y error constantes y por ello no podemos estar codificando el sistema real constantemente es que se requiere de basar las iteraciones en prototipos. Diseños que pueden ser mejorados usando software como el que provee UsiXML para hacer prototipos de interfaces.
* Las iteraciones harán que las mejores cosas de los prototipos sean seleccionados como elementos del sistema.
Muchas empresas tienden a decir que la captura y análisis de requerimientos es centrada en el usuario pero no siguen ninguno de los principios del diseño centrado en el usuario. Esto es básicamente por que creen que ellos entienden lo que necesita el cliente. La investigación sobre las necesidades del usuario no es constante ni comienza al principio del proyecto. La investigación de campo se focaliza en lo que la gente piensa y no en lo que hace. Las decisiones sobre qué hacer con un sistema siempre se basan en decisiones del personaje más importante del grupo de desarrollo y no con los usuarios finales.
Vale la pene leer la historia hay mucho que aprender.

miércoles, 16 de diciembre de 2009

Para entender el contexto y el uso de sistemas de workflow.

Toda empresa, privada o de gobierno, de cualquier giro y cualquier tamaño tiene y está regida y organizada por un flujo de procesos (workflow) del cual en la mayoría de los casos no están conscientes. El workflow de las empresas es muy importante ya que determina la forma en que se distribuye el trabajo, quien lo tiene que hacer, donde lo tiene que hacer y como la va a hacer.
Que podemos hacer nosotros:
1. Definir el workflow de una empresa. Mediante recopilación de información mediante entrevistas y la observación directa de los empleados es importante para lograr entender el qué está haciendo. Esto se modela mediante tablas y una notación grafica que describen la forma en que está organizada la empresa. Esta notación favorece la discusión y el dialogo con el cliente para que valide tu modelo.
2. Una vez modelada la empres tal cual es se procede a analizar la forma en que se puede mejorar. El problema clásico que nos encontramos es que todo mundo hace las cosas de forma secuencial cuando muchas actividades pudieran ser realizadas en paralelo. Esto es muy importante sobre todo en empresas con flujo de documentos que generalmente por una mala distribución generan tiempos de espera innecesarios.
3. Otra ventaja de un modelo de workflow es que se pude determinar la asignación del trabajo. Con muchas ventajas asociadas. Una tarea, por ejemplo procesar una solicitud de vacaciones, podría ser delegada a otro elemento de la empresa que ha sido reconocido como capaz de tomar las riendas de dicho trabajo en caso de que el recurso originalmente asignado a la tarea este indisponible. Note que a veces los sistemas de cómputo quedan atorados ya que los permisos de acceso a expedientes están limitados a ciertos usuarios. Para ellos existen 48 patrones de asignación de tareas los cuales pueden ser definidos en tiempo de diseño del sistema o asignarse en tiempo de ejecución.
4. Manejo de agendas. La organización requiere del manejo de sistemas al interior que permitan y favorezcan la comunicación entre los diferentes actores. Cada que una empleado sea asignado con una tarea requiere de un mecanismo que le anuncie y a su supervisor otro que le permita identificar que dicha tarea ha sido asignada, denegada, delegada.
5. Identificación de cuellos de botella de la empresa. Durante la fase de diseño y mediante la recolección de datos se puede determinar donde hay necesidad o de aumentar el número de recursos o de hacer las tareas más eficientes para evitar que se detenga el progreso del trabajo. Durante el funcionamiento del sistema se pueden monitorear las procesos y ver donde están las cosas bien, regular y mal.
Todo esto es la parte del diseño obviamente un grupo de desarrolladores se encargaría de implementar un sistema que soporte estas características.
Por otro lado sobre los sistemas nosotros podemos.
1. Diseñar prototipos de las interfaces que ayuden al usuario final a coincidir con lo que esperan
2. Evaluar la usabilidad del producto final antes de ser entregado. Todo sistema por definición se espera sea útil, es decir, cumpla con el propósito para el cual fue diseñado. Sin embargo, eso no quiere decir que será usado de forma eficiente. Para ello hay que evaluar si el sistema diseñado, o incluso el que usan cumple con el mínimo de normas de usabilidad. En caso contrario, se debe mejorar el sistema, o en caso de que sea un sistema existente, entonces tienes elementos para demostrar que requieren algo nuevo.
3. Basados en el workflow de la empresa se contribuye a determinar de forma eficiente la compra de software. Para esto en ejemplo, una empresa X compra el sistema de software de contabilidad SAP. Los contadores lo conocían y era la forma como sabían llevar sus estados contables. La gerencia debía entregar reportes en formatos de hojas de cálculo de Excell. La línea de producción generaba estadísticas en hojas de papel. Problema a fin de mes la gerencia dedicaba al menos una semana a la generación del balance financiero. Si se hubiera estudiado el workflow se hubieran dado cuenta que usar SAP era un gasto múltiple para la empresa, un software que solo facilitaba la vida de los contadores pero ponía a trabajar a todos el doble, incluidos los contadores que después tenían que capturar dos veces la misma información en hojas de cálculo en Excell. Un poco de visión mostraba que era mejor capacitar a los contadores en el uso de Excell y los formatos necesarios para llevar la contabilidad.

Mas datos se pueden encontrar en el sitio de FlowiXML
Incluso se puden contratar los servicios especializados a traves de la UCL. En breve ya disponible esta consultoria en Puebla, Mexico.

jueves, 10 de diciembre de 2009

Beneficios del paradigma basado en modelos

Un metodo para desarrollo de software promovido por el object management group (www.omg.org) es conocido como ingenieria manajeda por modelos (MDA por sus siglas en ingles) promueve que el uso de modelos para describir los diferentes componentes de una aplicación pueden reducir de manera significativa los retos actuales del desarrollo de sistemas interactivos. Retos que tienen que ver con la diversidad de dispositivos de computo(celular, tablet pc), lenguajes de programación (declarativo, imperativo), modalidades de interacción (vocal, grafica, física, táctil) y el contexto de uso. Este ultimo muy complejo y que en una visión simplificada pero suficientemente compleja debería considerar variaciones en los tipos de usuario (experto, novato, categoría de edad, habil), ambiente donde ejecuta su aplicación (trabajo, casa) y la plataforma donde trabaja que involucra la combinación de dispositivos de entrada y salida de hardware y software requeridos para la interacción.
Si logramos poner todas estas variables en modelos suficientemente abstractos y logramos definir la forma de transformar el modelo en solución dependiendo del objetivo que se tenga entonces podemos el espacio de soluciones que un equipo de desarrollo requeriría para resolver el problema de la multiplicidad de posibles soluciones que requiere.
Para centrarte en esta área yo te recomiendo leer estos artículos de Jean Vanderdonckt, que yo encuentro geniales:

A MDA-Compliant Environment for Developing User Interfaces of Information Systems
Model-Driven Engineering of User Interfaces: Promises, Successes, Failures, and Challenges
Multimodality for Plastic User Interfaces: Models, Methods, and Principles, in “Multimodal user interfaces: from signals to interaction

Y sobre tutoriales y cursos bájate los slides de slideshare que él mismo ha subido

http://www.slideshare.net/jeanvdd/modeldriven-engineering-of-user-interfaces
http://www.slideshare.net/search/slideshow?q=jean+vanderdonckt&submit=post

miércoles, 28 de octubre de 2009

Las 8 reglas de oro del diseño de Interfaces

En su popular y premiado libro sobre el diseño de Interfaces de Usuario, Ben Shneiderman define 8 principios a seguir para cualquier sistema interactivo.

1. Buscar la consistencia. La consistencia en tu aplicación se refiera al uso consistente de iconos, títulos, colores, etc. a lo largo y ancho de tu interfaz. Consistencia tiene que ver en el cómo interactuar, no me cambies la jugada si ya estamos con animaciones flash mantengamos este tipo de interacción.

2. Proveer usabilidad, reconoce los distintos usuarios y diseña la plasticidad de tu interfaz (adaptable al contexto de uso, al dispositivo, la plataforma, al usuario). Hacerlo de forma agradable usando técnicas de degradación o mutación. Considera el nivel de experiencia de tu usuario pues los hay desde expertos hasta discapacitados.

3. Ofrece feedback informativo. Para cada acción del usuario siempre debe existir una retroalimentación a lo que hace. Toda acción nuestra en la vida real conlleva un efecto, mantén esta metáfora en mente al desarrollar un sistema interactivo. Por mínimo e insignificante que sea el feedback es importante para que el usuario entienda que lo que hace tuvo un impacto.

4. Diseña la transición del principio al fin de una secuencia de acciones. Que la aplicación nos lleve a algo y no nos deje en medio de la nada. Una sistema de compras por internet es el mejor ejemplo, pasamos de seleccionar un objeto a comprarlo siempre con la confirmación de haber concluido el paso anterior.

5. Prevé los errores. Piensa en los casos inesperados no asumas que todo saldrá bien. Deshabilita elementos de la interfaz que puedan guiar a errores graves siempre y cuando dichos controles no sean necesarios. Si hay errores prevén mensajes que ayuden a entender la razón del error y la forma de salir de él y regresar el sistema a un estado estable.

6. Crear acciones que se pueden revertir. El clásico caso de me equivoque y quiero regresar a un estado previo tan usado en un editor de textos, debe estar presente ya que es algo que el usuario desea tener siempre a la mano y apreciara siempre.

7. Permite al usuario tomar el control de la aplicación. a muchos nos gusta ser quienes dirigimos las cosas y nos ser simples respuestas a lo que el sistema quiere.

8. Reduce la carga de trabajo en la memoria de corto plazo. Teorías sobre la capacidad de almacenamiento cognitivo que tenemos los humanos muestra que en la memoria de corto plazo solo podemos guardar entre 7 +- " objetos de interacción. Así que mantén la interfaz simple.

martes, 27 de octubre de 2009

IBM nos invita a dejar de hablar y comenzar a hacer

En el primer comercial pese a las condiciones de riesgo en el edificio, al parecer algo inicio el sistema contra incendios, ellos continúan su junta. Sin embargo, aun queda un detalle por trabajar, que hacer ante lo inesperado, una vez concluida la planeación de la solución a los problemas en situaciones normales hay que planear la solución ante lo inesperado.

Un segundo comercial nos muestra que para tener nuevas ideas hay que tomarse un tiempo para meditar. Pensando en la forma en que se hacen las cosas hoy en dia, su estructura, su proceso y después ver como se puede innovar. Esto lo llaman Ideating. El eslogan es dejan de hablar y comienza a hacer.
FlowiXML es una herramienta que te permite analizar cómo se hacen las cosas y de ahí buscar hacerlas mejor.

viernes, 23 de octubre de 2009

Muchas opciones para desarrollar RIAs

Las aplicaciones enriquecidas para internet se han convertido en el futuro del internet. Debido a la combinación de tecnologías que han logrado eliminar la brecha que existía entre una aplicación de escritorio y una web. Existen muchos sitios describiendo dichas aplicaciones pero lo interesante son las herramientas que hay disponibles hoy en día que facilitan su desarrollo.

Una lista incompleta pero con suficientes referencias para iniciarse en el tema es:

Silverlight de Microsoft que en combinacion con su lenguaje XAML sirve para generar RIAs. Hay al menos un par de ambientes de desarrollo que son: Eclipse4SL, Component One, visual studio NET no esta demas listarlo.

Degrafa un trabajo del MIT para crear RIAs con mas de un millon de descargas vale la pena mirar.
• Sun no se ha quedado atras y ha logrado la evolucion de Java y sus tecnologias. JavaFX y su soporte para RIAs forma parte del ambiente de desarrollo NetBeans IDE 6.7.1.
Open laszlo es otro proyecto de software libre que no deja de cobrar adeptos, al dia de hoy mas de medio millon de descargas lo hace de interes.
ZK es un ambiente de desarrollo que es muy similar a un editor de formas como el de visual studio con la ventaja de ser gratuito. Facil de usar, interesante, no?
Flash Catalyst, uno de los precursores en terminos de RIAs ha sido el lenguaje Flash y no podia dejar de existir un entorno de desarrollo que se adecua a las necesidades del mercado actual. Esta herramienta es muy buena pero no gratuita.

El W3C tambien ha lanzado una iniciativa en busca de promover el uso de RIAS usando una recomendacion W3C. El grupo que ha trabajado el tema ha lanzado su reporte final.

jueves, 22 de octubre de 2009

Una herramienta para predecir el tiempo de ejecucion de una tarea

He aqui una herramienta que ayuda a predecir el tiempo de ejecucion de una tarea por un usuario en un dispositivo. CogTool es un software libre desarrollado por el instituto de IHC de la universidad de Carnegie Mellon.

miércoles, 14 de octubre de 2009

La teoria de la diversion

Volkswagen ha lanzado una iniciativa llamada teoria de la diversion. El proposito es lograr un cambio positivo en la gente a traves de cambios en el quehacer cotidiano que pase de ser monotono a divertido.


El concurso esta abierto asi que cualquiera que quiera innovar con alguna idea y cambiare aqui el ejemplo de la teoria




Cuando uno piensa en el desarrollo de sistemas tambien podriamos pensar en divertir al usuario pero siempre hay que tener cuidado. Los efectos visuales, sonoros, etc. se convierten en una molestia. Normalmente, un usuario medio experto tiende a desactivar dichos efectos "divertidos" en pos de la funcionalidad. Encontrar el punto medio que nos lleve a una aplicacion funcional y la vez entretenida es el reto como equipo de desarrollo.

Una interfaz innovadora

Muchos dicen que la innovacion es el paso que te lleva al futuro. Este es un buen ejemplo de creatividad.

10/GUI from C. Miller on Vimeo.