La Comunidad de Desarrolladores WAP
@ Contacta con nosotros
  .WMLClub


APRENDIZAJE
- Tutoriales
- Código fuente / Demos
- FAQS
- Configuración móviles
- Demos en WAP

HERRAMIENTAS
- Programas / Download
- Creación de contenidos

ARCHIVO
- FAQS
- Terminales WAP
- Documentos
- Artículos
- Noticias
- Links
- Libros
- Índice WAP

    Nota: Este artículo está en contínua evolución mediante la colaboración de los miembros de la comunidad, si tienes alguna idea, noticias o sugerencia y deseas colaborar, a pie de artículo encontrarás el lugar para poder hacerlo.

    MOTOROLA ADK

    Por Santiago Márquez Solís

    Continuando con nuestra línea de las últimas semanas en la cual estamos analizando las características de los entornos de desarrollo más populares del mercado, le toca el turno al Motorola Mobile ADK, una herramienta de programación WML muy completa y que sin lugar a dudas llegará a ser indispensable en vuestros desarrollos ya que por si misma engloba muchas características y posibilidades interesantes que iremos, poco a poco, desvelando en este artículo. Como ya viene siendo habitual en esta seria de artículos vamos a intentar contaros las posibilidades que el programa nos ofrece para hacer nuestros desarrollos, así y a modo de tutorial explicaremos el proceso de instalación, el entorno de trabajo con el que contamos, las utilidades existentes en el programa, para acabar con el desarrollo de una pequeña aplicación dentro de este nuevo entorno de trabajo, finalmente y como siempre el trabajo más duro queda de vuestra parte ya que sois vosotros los que tendreís que evaluar si esta herramienta es la más adecuada para el trabajo que realizais, no obstante, espero con este artículo ayudaros a ver las posibilidades que tenemos y tener un pequeño punto de referencia donde poder dirigiros cuando lo necesiteis, empecemos nuestro tour con el Motorola Mobile ADK.

    INSTALACION

    El proceso de instalación del Motorola Mobile ADK comienza como en todos los casos con la conexión al sitio web de Motorola y el alta dentro de la zona de desarrolladores, para hacer esto no teneis más que hacer clic en el link siguiente:

    http://www.motorola.com

    el cual os llevará al site de Motorola, una vez alli debeis acceder al área de desarrolladores y daros de alta, cuando relleneis los datos que se os piden en el formulario de inscripción, Motorola enviará a la dirección de mail que hayais indicado vuestro id de usuario y vuestro login de modo que podreis logaros dentro del área de descarga de software y una vez alli vereis que teneis varias opciones de descarga, en este caso os recomiendo que os bajeis la versión del ADK 1.1 y los agentes correspondientes, ya que aunque en el web teneis la versión 2.0 ésta no deja de ser una beta y podrían aparecer bugs inexperados, no obstante, os la recomiendo para ir curioseando y ver lo nuevo que tendremos en el ADK, en el cuadro 1 teneis algunas diferencias con respecto a la versión comentada en el artículo. Debido al uso que hace de los agentes de Microsoft este SDK sólo está disponible para plataforma Windows.

    Una vez que tengaís en vuestra máquina todo el software necesario pasamos a la instalación propiamente dicha, en este caso y antes de comenzar con este proceso os recomiendo que verifiqueis que en vuestro equipo teneis una versión superior o igual a la 5.0.0.3185 de la Microsoft Java Virtual Machine que el ADK necesita para poder funcionar correctamente, en caso de que no la tengais instalada o que la versión sea una versión inferior podeis descargarla desde Microsoft en la siguiente dirección:

    http://www.microsoft.com/java/vm/dl_vm32.htm

    Suponiendo que teneís en vuestro equipo instalada está versión de la máquina virtual Java podemos iniciar la instalación del ADK, todo el proceso es muy sencillo y basta con ejecutar el fichero MobileADK.exe que previamente hemos descargado. Este fichero es el que tendremos en caso de haber optado por la descarga de agentes y ADK todo en un único archivo (aproximadamente unos 20 megas), al ejecutar el MobileADK.exe tendremos que hacer durante su ejecución la instalación de los agentes de Microsoft siguientes:

      - Lernout & Hauspie TruVoice Amer. Eng TTS Engine
      - Merlin
      - Microsoft Speech Control Panel
      - Microsoft Command & Control Engine
      - Soporte para VoxML 1.2 y VoiceXML 1.0
      - Ayuda integrada de WML, WMLScript y VoxML
      - La ventana de output está mejora para mostrar mensajes de VoxWML
      - Soporte para imagenes en formato wbmp
      - Correción de algunos bugs existentes en la versión 1.1
      - Implementación de timeouts para aplicaciones basadas en VoxML y VoiceXML
      - Implementación de los protocolos de voz prompt:// y builtin://
      - Mejoras en la interfaz del IDE


    Cuadro 1

    Todos estos agentes forman parte de la Microsoft Speech SDK la cual es toda una suite de programación para hacer uso de tecnología de voz, el kit original (ahora mismo acaba de salir la beta de la versión 5.0) tiene multitud de ejemplos, ayudas, controles, y en definitiva todo lo necesario para integrar la tecnología de voz con cualquier aplicación, incluida las aplicaciones de telefonía (Microsoft tiene todo un site dedicado a este SDK en la siguiente página Web http://www.microsoft.com/IIT que bajo el nombre genérico de Intelligent Interface Technologies nos permite descargarnos todo el software y documentación necesaria para poder trabajar, aunque cualquiera que se haya iniciado en este mundo aunque sea brevemente sabrá que hacer aplicaciones de voz resulta en muchos casos complicado aun teniendo todos los elementos básicos necesarios para ello).

    En el caso de que hayamos seleccionado bajarnos el ADK por partes (por un lado el programa y por otro los agentes) os recomiendo que realiceis en primer lugar la instalación de estos últimos (fichero MobileADK_Agents.exe) y posteriormente la instalación del entorno de desarrollo propiamente dicho (MobileADK_Only.exe), este fichero se descomprime en varios ficheros exe (actcnc.exe, merlin.exe, Msagent.exe, spchcpl.exe y tv_enua.exe) los cuales podeis instalar en el orden que querais.

    Independientemente de si la instalación la haceis en un paso (fichero MobileADK.exe) o en varios pasos (MobileADK_Only y MobileADK_Agents.exe) el hecho es que en el proceso de instalación si queremos hacer uso posteriormente de las opciones para desarrollar aplicaciones que hagan uso de la tecnología VoxML tendremos que configurar correctamente las opciones de voz de nuestro microfono (recordad que es la única forma de poder pasar al PC nuestra voz, por lo menos de momento) a estás pantallas de configuración (ver las figuras siguientes) se llega cuando realizamos la instalación de los agentes y en ella tenemos que configurar los siguientes aspectos:

      - Tipo de salida de audio que tenemos es decir, altavoces (speakers) o auriculares (headphones), adicionalmente podemos hacer una prueba para ver si funciona correctamente y seleccionar el volumen (figura 1)

      - Tipo de microfono, en este caso tenemos unas cuantas posibilidades, y podemos elegir entre microfonos de sobremesa, los que van fijados a los auriculares, o bien los más modernos que van incorporados en el monitor o incluso en el teclado de la máquina. Aparte en esta pantalla tenemos un botón (Buying a Microphone) en el que si presionamos nos dan una serie de recomendaciones para la compra de un microfono, resulta interesante su lectura aparte de curioso (figura 2).

      - Una vez que se ha indicado el tipo de microfono del que disponemos, el sistema trata de evaluar la calidad del mismo mediante el dictado de una frase, para hacer este dictado se nos recomienda que el lugar donde nos encontremos se encuentre lo más silencioso posible para evitar que se produzcan interferencias que puedan mermar la calidad de la grabación de la frase (Figura 3 y 4)

    Finalmente cuando el proceso de instalación de los agentes de Microsoft termina tenemos dentro del Panel de Control de Windows un nuevo elemento denominado Speech que nos permite acceder a las propiedades de los dispositivos de entrada y salida de voz, en el apartado de utilidades haremos más incapie en este aspecto. Finalizada la instalación de los agentes se puede continuar con la instalación del ADK, en el programa de instalación del ADK lo único que tenemos que indicar es la carpeta de destino en el disco duro y la ubicación del acceso directo del programa dentro de Windows.

    EL ENTORNO DE TRABAJO

    Una vez que el programa se encuentra instalado en nuestro disco duro (en el cuadro 2 teneis una breve explicación de la estructura de directorios que se crean) el aspecto que presenta cuando accedemos a él es el siguiente (figura 5):

    Como podeis ver por en la figura el aspecto que tenemos en este entorno no es muy diferente de los entornos que hemos visto en otros articulos como puede ser el de Nokia o el de Ericsson, por un lado tenemos la ventana del IDE donde podemos escribir y depurar nuestros programas y en el lado derecho tenemos el típico visualizador en el que poder testear si todo lo que estamos haciendo es correcto, en este entorno recibe el nombre de UIS o User Interface Simulator. Las características comunes que presenta el ADK de Motorola con respecto a otros entornos son las siguientes:

      - Un editor integrado que nos permite escribir programas en WML, WMLScript y como novedad hacer documentos en VoxML del que ya hablaremos luego.
      - El compilador, poco hay que decir de él, nos permite compilar nuestros ficheros WML y WMLScript
      - El editor nos muestra las etiquetas que introducimos en diferentes colores, por lo que resulta mucho más legible el código que escribimos.
      - También tenemos un analizador de sintaxis que verifica el código que vamos introduciendo y nos indica donde hay errores de este tipo.

      La estructura de directorios del ADK es muy simple
      y se compone de tres carpetas que cuelgan del directorio
      Motorola/Mobile ADK a saber:

        - Examples: en esta carpeta tenemos diferentes ejemplos escritos en WML, WMLScript y lo más interesante en VoxML. Cada lenguaje está separado en su propia carpeta.

        - HLP: contiene los manuales de ayuda del simulador y del IDE

        - Phone: tiene distintos bmp con diferentes tipos de moviles asi como los correspondientes ficheros .dev asociados que podemos cargar desde el UIS.

        Cuadro 2

      Si nos centramos en las características particulares del entorno en cuestión tenemos que dividirlo en dos partes:

      - Caracteristicas del editor
      - Caracteristicas del UIS

    Caracteristicas del editor

    El editor es el elemento fundamental para realizar nuestro trabajo y de las posibilidades que incorpore dependerá en mayor o menor medida que la programación de nuestras aplicaciones sea una tarea más o menos cómoda. El editor del ADK está divido en tres partes fundamentales: por un lado tenemos el área destinada a la inserción de nuestro código, por otro tenemos el área de salida de resultados (ventana de output) y finalmente tenemos la ventana de proyectos, en este caso y al igual que sucedia con el kit de Ericsson los distintos documentos que forman nuestra aplicación se agrupan dentro de proyectos de manera que su manipulación resulta mucho más lógica (en el cuadro 3 teneis la estructura de un fichero .prj típico con una pequeña explicación del mismo).

      El contenido de un fichero .prj es similar al siguiente:

      ­ Project Structure - Don't edit.. NO . .
      book_buying.wml. . . .
      calculateTotal.wmls. .

      En estas líneas si os fijais se nos advierte de que no modifiquemos el fichero y seguidamente tenemos los distintos ficheros que están incluidos dentro del proyecto, adicionalmente aparece información de control (los cuadraditos) que sirven para que el editor genere la ventana de proyecto

      Cuadro 3

    Veamos a continuación las distintas opciones que componen el editor:

    El menu principal de la aplicación está compuesto por:

      - File: Contiene todas las opciones necesarias para la manipulación de ficheros, podemos crear ficheros nuevos, abrir y cerrar ficheros previamente creados. También tenemos la posibilidad de imprimir el contenido de los ficheros y mostrar en pantalla una previsualización de los mismos (esto es nuevo con respecto a otros entornos que no permiten esta posibilidad)
      - Edit: Las típicas opciones de edición, como son cortar, pegar, copiar, busqueda y reemplazo de texto y adicionalmente tenemos opciones para modificar el tipo de letra (Set Font), para ir a una línea determinada de la aplicación (Go To), la inclusión de bookmarks o marcas distintivas en el código que nos ayudan en su escritura, en este caso tenemos todo un submenu completo (Bookmarks) que nos permite crear nuevas marcas, movernos entre marcas y borrarlas en la figura teneis un ejemplo de bookmarks en el código (puntos de color azúl).

      - View: Permite mostrar u ocultar las distintas ventanas del ADK, como son la ventana de output, proyecto, la barra de estado y la barra estandar.
      - Project: Con las opciones de crear un nuevo proyecto (New Project), cerrarlo (Close Project), abrilo (Open Project) y añadir/borrar documentos al mismo (Add Files y Remove File respectivamente).
      - Tools: En esta opción tenemos las diferentes herramientas de la aplicación como son el compilador, inicio y fin de la simulación de la ejecución de un programa (Start Simulate y Stop Simulate respectivamente). También podemos acceder a las Settings o configuración donde están los diferentes ejecutables que realizan la codificación, compilación y análisis del código (figura 7) , como podeis ver en la figura podemos establecer que programas son los que van a hacerse cargo del análisis sintáctico de los documentos VoxML, el encoder para WML y el compilador para WMLScript.

      - Window: Comprende las opciones típicas de manipulación de ventanas como son la disposición en cascada, mosaico vertical y horizontal, asi como opciones para cerrarlas todas (Close All) y para movernos entre ellas (opciones Next y Previous)
      - Help: La ayuda del entorno, y poco más podemos decir de esta opción.

    Caracteristicas del UIS

    El User Interface Simulator se caracteriza por tener un menu de opciones bastante completo que permite configurar el emulador para aceptar diferentes configuraciones en función del tipo de aplicación que queramos visualizar, si examinamos este menú contamos con las siguientes opciones:

    - File: Desde esta opción de menú podemos:


      - cambiar las distintas configuraciones del móvil mediante Open Configuration, desde aquí se nos abre un nuevo cuadro de dialogo donde podemos elegir el fichero .dev que queremos cargar, disponemos de configuraciones para los siguientes telefonos móviles: i500, i700, i1000, startac, T2267, v2282 y v8160.

      - hacer la recarga de la página (Reload) y ver el transcript , esta es una ventana donde va apareciendo información de debug de los documentos WML y VoxML por los cuales vamos navegando (en la figura 8 teneis un ejemplo de esta pantalla con el código de la página que se está visualizando), esta ventana por decirlo de alguna manera es el marco donde la opción Info del menu del UIS vuelva los resultados que va obteniendo.



    - Info: Nos permite volcar dentro de la ventana de transcript información sobre las páginas por las cuales vamos navegando, como pueden ser el código fuente, o los mensajes que recibe y envia las aplicaciones VoxML.


    - Settings: Desde aqui podemos modificar el modo de funcionamiento del sistema UIS, de este modo tenemos los siguiente:

        - Posibilidad de elegir el modo de operación del móvil, entre modo WML o VoxML.

        - Podemos tambien indicar (Mobile Link Settings) el tipo de conexión que se va a establecer HTTP Direct o bien a través de un Gateway, esta misma pantalla podemos indicar la ruta de la página home para WML y VoxML.

        - También disponemos de una lista de bookmarks o favoritos (Add address) donde incluir las direcciones que más nos gusten, en la figura 9 teneis la pantalla de esta opción.

    - Help: La ayuda sobre el UIS.

    UTILIDADES

    Las utilidades que incorpora el ADK son básicamente orientadas a la conexión con las herramientas de voz de Microsoft y no pueden considerarse elementos propios del ADK, ya que podriamos tenerlas sin necesidad de tener el programa instalado en nuestra máquina, según esto los elementos que vamos a ver en este apartado se van a centrar en los diferentes agentes que se han instalado y en la tecnología VoxML.

    Cuando finalizamos la instalación de los agentes de Microsoft tenemos un nuevo elemento en el Control Panel de nuestra máquina, este nuevo elemento es el Speech (del que ya comentamos algo antes) este programa nos permite configurar los elementos de entrada y salida de voz de nuestro equipo, esto es el microfono y los auriculares (ver figura 10), se puede decir que los parámetros de configuración que podemos modificar son los relativos al tipo de voz que queremos oir (tenemos distintos tonos de hombre y mujer en el idioma ingles), también podemos acceder al entrenamiento de la máquina para que sea capaz de entender aquello que pronunciamos en el microfono y actuar en consecuencia.

    Además del Speech control tenemos otro elemento importante al cual accederemos desde el UIS al seleccionar el modo VoxML, este elemento es Merlin (figura) o también conocido como el Speech Agent, este programa representado por el mago que teneis en la figura aparece siempre que un fichero VoxML es ejecutado y actúa hablando (literalmente) el contenido de la página en la cual estamos conectados.

    Pero lo realmente interesante de todo esto es la nueva tecnología que Motorola ha desarrollado (VoxML está basado en XML y se puede decir que es una variante del voiceXML (Voice eXtensible Markup Language) y sus especificaciones las dirige el VoiceXML Forum creado por AT&T, IBM, Motorola y Lucent Technologies.), el VoxML es un nuevo lenguaje que proporciona a los desarrolladores de aplicaciones móviles una nueva herramienta para crear aplicaciones cuya elemento fundamental de trabajo sea la voz, de modo que la navegación, la entrada de datos e incluso la salida se basen en este elemento. La estructura del lenguaje está pensada para facilitar la creación de este tipo de aplicaciones y aunque es muy similar a HTML lo más importante a la hora de desarrollar aplicaciones de este tipo es establecer de una manera muy clara la secuencia de interacción entre usuario y aplicación, cosa que con los tags disponibles en VoxML se favorece enormemente.

    Los dos elementos fundamentales de las aplicaciones VoxML son por un lado el DIALOG y el STEP (actualmente no sé como traducirán estos elementos al castellano, toda la gente que sabe algo de esto los llama dialog y step simplemente) los cuales proporcionan la estructura básica para las aplicaciones VoxML. El tag DIALOG define el alcance del documento VoxML y dentro de él se encuentran el resto de los elementos que conforman el documento de manera que sólo existe un DIALOG por fichero (similar a y ).

    El tag STEP define el estado de la aplicación dentro del DIALOG, es decir en conjunto STEP Y DIALOG representan la interacción entre usuario y aplicación de modo que cuando entramos dentro de un documento VoxML el browser navega entre los diferentes STEP del DIALOG y muestra el resultado al usuario

    Como veis todo lo visto en este apartado es un pequeño repaso sobre las enormes posibilidades que toda la tecnologia VoxML lleva asociada consigo y que trataremos más adelante en un futuro artículo al igual que el Speech SDK 4.0 de Microsoft que llevaría varios artículos contaros todas sus posibilidades.

    UN PEQUEÑO PROGRAMA EN WML

    Hasta ahora hemos visto las posibilidades que tenemos dentro del ADK, y como ya es habitual toca el turno ahora de la parte práctica del artículo, la creación, depuración y ejecución de un programa en WML y para ello seguiremos haciendo uso de nuestro querido 'Hola Mundo'. El código que compondrá el programa es de sobra conocido por todos aquellos que esteis siguiendo estos artículos y es el siguiente:

    <?xml version="1.0"?>
    <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
    <wml>
    <card id="card1" title="Motorola Demo">
    <p>
    Hola mundo<br>
    </p>
    </card>
    </wml>

    El paso siguiente es ver como hacemos para crear nuestro primer proyecto, enlazar el documento que contiene el código anterior y pasar a ejecutarlo, para ello seguiremos las siguiente secuencia de pasos:

      - El primer paso es crear un nuevo proyecto, para ello hacemos clic en la opción Project del menu principal y en el cuadro que nos aparece en pantalla introducimos el nombre del proyecto que queremos crear, por ejemplo Proyecto1, y la ruta donde queremos crearlo, a partir de esta ruta nos generará una nueva carpeta con el nombre del proyecto que hemos introducido y dentro de ésta a su vez tendremos un fichero en este caso Project1.prj con la información asociada al proyecto (cuadro 2).

      - Una vez creado el proyecto lo que tenemos que hacer es crear los documentos que estarán dentro del mismo, este caso solo vamos a tener un único documento por lo que tenemos que hacer ir a File y seleccionar New, seguidamente nos mostrara en pantalla un cuadro de dialogo donde tenemos que elegir el tipo de fichero que queremos crear (WML, WMLScript y VoxML), en nuestro caso particular elegimos WML e introducimos el nombre SALUDO.WML, fijaros que la ruta donde se almacenará este fichero es la misma donde hemos creado el proyecto, como aspecto interesante tenemos que el nuevo fichero que se nos crea posee un esqueleto de programa ya formado que nos vendrá muy bien para empezar a trabajar. También es importante destacar que el fichero no se asocia automáticamente al proyecto activo actualmente (aunque curiosamente la ruta por defecto en la que se almacena coincide con la del proyecto) por lo que es necesario asociarlo de manera manual, para ello solo tenemos que seleccionar en el menú Project la opción Add File(s) y indicar que ficheros formaran parte del proyecto, por defecto se nos muestran los ficheros de la ruta en la que el proyecto está almacenado pero podemos elegir de otras.

      - Lo siguiente que tenemos que hacer es insertar nuestro código y salvar el fichero WML modificado, en este caso el código que tenemos que insertar es mínimo y se reduce a la inclusión del código

      <p> Hola Mundo <br></p>

      y al cambio del title del card por el de "Motorola Demo".

    Ya lo único que nos queda es proceder a la compilación del programa para verificar si existen o no errores y pasar a la ejecución del mismo dentro del UIS. Para realizar la compilación podemos seleccionar la opción de menu Tools y elegir Compile, en este caso en la ventana de output obtendremos los mensajes de error oportunos en caso de que existan problemas en nuestro código o bien un mensaje de que todo ha ido bien en caso contrario, solo resta activar la simulación (en el ADK para ver el resultado de un programa siempre es necesario activar esta opción y desactivarla cuando queremos volver a hacer cambios en el código) y ver el resultado en el UIS (en la figura 11 tenemos la apariencia final de todo el proceso).

    CONCLUSIONES

    Sin lugar a dudas el Motorola ADK es un serio competitor para el resto de entornos de desarrollo que hemos venido evaluando a lo largo de esta serie de artículos, lo más interesante probablemente sea la integración con el lenguaje VoxML lo que abre un nuevo mundo de posibilidades dentro del mundo de desarrollo de aplicaciones para móvil, por lo demás el entorno de desarrollo, el emulador de telefono, las opciones de personalización, etc hacen de este entorno ideal para nuestros programas, el mayor inconveniente proviene de la falta de herramientas para la manipulación de gráficos, a mi gusto se hecha en falta un editor de WBMP que este integrado con la herramienta y no tener que usar ningun programa externo, también sería deseable un editor más inteligente en el sentido del de Ericsson en el cual podiamos incluir las etiquetas de manera automática mediante cuadros de dialogo que rellenamos, no obstante, la versión 2 definitiva estará pronto entre nosotros y seguro, pero poco más se le puede objetar al Motorola ADK, ahora sois vosotros y termino casi como comence diciendo que el trabajo duro comienza en este momento por vuestra parte, analizando todas las posibilidades de la herramienta y haciendo de esta nuestro entorno habitual de trabajo. Por mi parte nada más por ahora, hasta la próxima.

    Santiago Márquez Solís

     

     

    Envía el artículo a un amigo:

Dirigido a:
De:


    Tus comentarios y opiniones sobre el artículo:
De: