Kodama-Communication: Aplicativo de Comunicación para usuarios con Limitación Motriz y Linguistica Utilizando Imágenes

Bitacora de mi PFC

Archive for the ‘General’ Category

Prueba Usabilidad I: Interfaz

leave a comment »

Hola, durante esta semana voy a comenzar con las primeras pruebas de diseño de la interfaz,  lo que será la parte visible de la aplicación.

Como requisitos iniciales, la interfaz debe ser, clara, sencilla, intuitiva y discreta (una vez configurado no debe captar más al atención, hasta que el usuario la requiera de nuevo).

También, uno de los objetivos a priori, sería que tuviera una disposición similar a algún programa comercial ya existente, para que el usuario objetivo, asimilara rápidamente las similitudes y la curva de aprendizaje, fuera si cabe, menos pronunciada (aunque por el momento no tengo ningún programa candidato)

Mi aplicación va dirigida, sobretodo, a usuarios con conocimientos bajo/medios de informática. Por lo que mi primera intención era la de contactar con este tipo de usuarios, explicarles qué es lo que hace la aplicación y mediante unas tarjetas con los dibujos de  los distintos componentes (listas, comboBox, botones…), que ellos mismos fueran configurando la interfaz.

Después de esto se anotarían los resultados y se valorarían si los usuarios prefieren elegir opciones de una lista, o marcando un radio botón, por ejemplo.

Un saludo.

Anuncios

Written by dafero

12 abril 2010 at 7:50

Publicado en General

Kodama – Arquitectura del Driver (Nikko)

with 3 comments

Hola a todos, en esta entrada os muestro el diagrama de clases del driver de Kodama (a partir de ahora Nikko) en el que hemos estado trabajando Florentino y yo.

Diagrama de clases Nikko

A partir clase ControlAdapter se podrán añadir nuevos dispositivos simplemente heredando de ella. Para lanzar un evento basta con crear un objeto de tipo ControlEvent y lanzarlo mediante fireEvent().

El evento se irá propagando hasta llegar a la clase Application donde según el tipo de evento que sea,  se ejecutará cierto código u otro.

Si hay alguna duda, tanto Florentino como yo intentaremos resolverla.

Un saludo,

Daniel.

Edit: Se ha modificado el diagrama UML. La versión anterior está aquí

Written by dafero

24 marzo 2010 at 8:56

Publicado en General

Tagged with

Invocar PApplet desde una clase Java

leave a comment »

Después de varios días mirando como conseguir ejecutar un PApplet (Applet de Processing) desde código Java normal, parece que hemos encontrado una solución bastante sencilla al problema.

El inconveniente que teníamos era que para ejecutar el Applet debíamos lanzar la aplicación como Java Applet y esto no era lo que buscabamos. Lo que queríamos, era mediante un aplicación Java normal, poder lanzar el código del Applet y que éste se ejecutase realizando su cometido de forma paralela al resto del código de la aplicación.

Después de varias pruebas e intentos fallidos, la solución pasa por ejecutar el Applet dentro de un frame (o JFrame) de esta forma en cualquier momento podemos lanzar el Frame y que este a su vez lance el código del Applet dentro de él.


import java.awt.*;
import processing.core.PApplet;

public class MyClass extends Frame {

 public MyClass() {
 super("Embedded PApplet");

 setLayout(new BorderLayout());
 PApplet embed = new PAppletClass();
 add(embed, BorderLayout.CENTER);
 setSize(400,400);
 setVisible(true);

 // important to call this whenever embedding a PApplet.
 // It ensures that the animation thread is started and
 // that other internal variables are properly set.
 embed.init();
 }

 public static void main(String args[]){
 MyClass m = new MyClass();
   }
 }
 
 ----------------------------------------------------------------------

import processing.core.PApplet;

 public class PAppletClass extends PApplet {

 public void setup() {
 // original setup code here ...
 size(400, 400);

 // prevent thread from starving everything else
 noLoop();
 }

 public void draw() {
 // drawing code goes here
 }

 public void mousePressed() {
 // do something based on mouse movement

 // update the screen (run draw once)
 redraw();
   }
 }

En el siguiente enlace se puede encontrar el código de ejemplo básico donde se puede ver como implementarlo de forma sencilla, así como las explicaciones pertinentes. (en Inglés)

Otro enlace interesante, puede ser este, aunque no es la opción por la que optamos finalmente, por que nos daba problemas con la visualización de la cámara.

Espero que pueda ser de ayuda.

Un saludo,

Daniel.

Written by dafero

23 marzo 2010 at 20:02

Publicado en General

Tagged with , , ,

Sketch hayMovimiento

with 2 comments

He comenzado a implementar el sketch para Processing que indique si un marcador elegido por el usuario se ha movido o no.

Como marker de pruebas uso un conversor PS2-USB debido a su color característico, de esta forma se diferencia bien del resto y funciona aceptablemente bien. Es posible cambiar el color de seguimiento, para ello, hay que hacer clic con el botón derecho del ratón en una zona y el marker se convertirá en ese color.

Si se pulsa  el botón izquierdo se muestran las preferencias de la imagen que está siendo capturada (contraste, brillo…)

El funcionamiento del sketch en sí, es sencillo. Cada vez que se pulsa la barra espaciadora, captura la posición del marcador y cuando se vuelve a pulsar, vuelve a capturar la posición y la compara con que tenía antes.

Si el valor absoluto de la resta es mayor que cierto valor (tolerancia) muestra por pantalla un mensaje del tipo:  “Se ha movido”, en caso contrario muestra “NO”.

Uso las librerías JMyron para que no sea necesario instalar QuickTime. Aunque no habría ningún problema en utilizar el mismo código con las librerías de vídeo de Processing.

De momento este código es de prueba, a la espera de que nos sirva para integrarlo con el resto de la aplicación.

Un saludo.

Written by dafero

18 febrero 2010 at 19:37

Publicado en General

Tagged with , ,

Estado del Arte

leave a comment »

En la actualidad existen multitud de aplicaciones desarrolladas para favorecer la comunicación del colectivo de personas con necesidades educativas especiales.

Aunque este hecho,  no siempre fue así. Hace no tantos años el mundo de la informática era un terreno  prácticamente vetado para todas las personas que sufrieran una discapacidad de cualquier tipo.

Hoy, afortunadamente, la tendencia está cambiando y los nuevos desarrollos suelen tener cada vez más en cuenta a este tipo de personas, haciendo aplicaciones para todos y no sólo meras adaptaciones para casos especiales.

Gracias a mi pequeña investigación por la Red he encontrado varias aplicaciones destinadas a intentar mitigar está barrera que surge entre los usarios con discapacidad y los ordenadores. Muchas de estás aplicaciones no son accesibles al público, puesto que son desarrollos privados utilizados expresamente para un caso o centro en concreto.

Me he centrado sobretodo, en desarrollos españoles y para su análisis los he dividido en dos grupos: Aplicaciones de Comunicación y las Aplicaciones de Interacción con el Ordenador.

Las Aplicaciones de Comunicación engloban a todas aquellas que favorecen el intercambio de mensajes entre el usuario y el medio externo (familia, profesores, compañeros…), mientras que las Aplicaciones de Interacción con el Ordenador abarcan las aplicaciones que favorecen el uso del computador por las personas con dificultades físicas.

Para resumir, dejo aquí un pequeño resumen de la clasificación que he realizado.

  • Aplicaciones de Comunicación
    • Plaphoons
    • TpWin
    • Sc@ut
    • TICO
    • SICLA
    • Comunicador CPA
  • Aplicaciones interacción ordenador
    • Head Mouse v1 y v2
    • Eviacam
    • Rata Plaphoons
    • Proyecto Head Dev

Un saludo,

Daniel.

Written by dafero

2 febrero 2010 at 9:43

Publicado en General

[CÓMO] Editar página “acerca de” o “sobre mí” en WordPress

leave a comment »

Hola, bueno esta entrada no está directamente relacionada con mi PFC, pero creo que puede ser de ayuda para alguien que como yo, no haya sabido editar la página que proporciona WordPress para poner algunos detalles personales sobre el autor del blog.

Me refiero a la típica página de “Acerca de”, “About me”, en la que te presentas y comentas lo que quieras sobre ti mismo para que tus lectores te conozcan un poco 🙂

Después de buscar un poco por la red he encontrado el siguiente vídeo en los “HOW TO” de WordPress.

Para los que no se aclaran muy bien con el inglés (aunque no hace falta enterder mucho, sólo mirar), lo que hay que haces es:

  • Ir a tu tablero de cuenta.
  • Sección Páginas.
  • Editar / Crear nueva (según lo que quieras).
  • Actualizar esa nueva página.

Nada más.
Espero que pueda resultar de ayuda a alguien.

Un saludo.

Written by dafero

18 enero 2010 at 8:41

Publicado en General

JMyron UnsatisfiedLinkError

leave a comment »

Hoy haciendo alguna prueba desde Processing, al ejecutar los ejemplos de JMyron me ha dado un error del tipo de UnsatisfiedLinkError.

Exception in thread "Thread-2" java.lang.UnsatisfiedLinkError:
  at java.lang.ClassLoader$NativeLibrary.load(Native Method)
  at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1751)
  at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1676)
  at java.lang.Runtime.loadLibrary0(Runtime.java:822)
  at java.lang.System.loadLibrary(System.java:992)
  at JMyron.JMyron.<clinit>(JMyron.java:14)

No sabía muy bien por que se producia este error. Probé a vover a bajar las librerias JMyron y a volver añadirlas al proyecto y nada…todo seguía igual. Cada vez que ejecutaba error de compilación.

Buscando un poco por la red, encontré esté post en los foros oficiales de Processing: http://processing.org/discourse/yabb2/YaBB.pl?num=1187304121

En él, se dice algunas veces esto pasa y se soluciona cambiando un archivo de la librería JMyron.

Según comentan en el post este archivo viene precompilado para procesadores Intel para Mac aunque yo lo estoy usando en un Intel  pero con Windows (XP) y sin problemas.

El archivo podeís descargarlo desde: http://www.jibberia.com/projects/libJMyron.jnilib.zip

Una vez descargado y descomprimido, sustituir el archivo que viene dentro por el que está en /Aplicaciones/Processing/libraries/JMyron/library/

Un vez hecho esto, reiniciar processing y debería funcionar todo a la perfección.

Aclaración: La verdad es que no sé muy bien por que se produce este error, ayer funcionaba bien y hoy no. Al cambiar el archivo funcionó todo bien, pero al volver a restablecer el archivo antiguo también funcionó :S.

Raro raro raro… de todas formas si alguien tiene el problema del UnsatisfiedLinkError, siguendo el tutorial puede solucionarse en procesadores Intel.

Written by dafero

17 diciembre 2009 at 13:19

Publicado en General

Tagged with , ,