20000828   Motorola Mobile ADK
Upcoming SlideShare
Loading in...5
×
 

20000828 Motorola Mobile ADK

on

  • 704 views

Articulo publicado en el WMLClub en el 2000, sobre la programación de aplicaciones WAP haciendo uso del ADK de Motorola.

Articulo publicado en el WMLClub en el 2000, sobre la programación de aplicaciones WAP haciendo uso del ADK de Motorola.

Statistics

Views

Total Views
704
Views on SlideShare
704
Embed Views
0

Actions

Likes
0
Downloads
3
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

20000828   Motorola Mobile ADK 20000828 Motorola Mobile ADK Document Transcript

  • 1Publicado en el WMLClub en Agosto de 2000Motorola Mobile ADKPor Santiago Márquez SolísMOTOROLA MOBILE ADKContinuando con nuestra línea de las últimas semanas en la cual estamos analizando lascaracterísticas de los entornos de desarrollo más populares del mercado, le toca el turnoal Motorola Mobile ADK, una herramienta de programación WML muy completa y quesin lugar a dudas llegará a ser indispensable en vuestros desarrollos ya que por si mismaengloba 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ículosvamos a intentar contaros las posibilidades que el programa nos ofrece para hacernuestros desarrollos, así y a modo de tutorial explicaremos el proceso de instalación, elentorno de trabajo con el que contamos, las utilidades existentes en el programa, paraacabar con el desarrollo de una pequeña aplicación dentro de este nuevo entorno detrabajo, finalmente y como siempre el trabajo más duro queda de vuestra parte ya quesois vosotros los que tendreís que evaluar si esta herramienta es la más adecuada para eltrabajo que realizais, no obstante, espero con este artículo ayudaros a ver lasposibilidades que tenemos y tener un pequeño punto de referencia donde poder dirigiroscuando lo necesiteis, empecemos nuestro tour con el Motorola Mobile ADK.INSTALACIONEl proceso de instalación del Motorola Mobile ADK comienza como en todos los casoscon 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.comel cual os llevará al site de Motorola, una vez alli debeis acceder al área dedesarrolladores y daros de alta, cuando relleneis los datos que se os piden en elformulario de inscripción, Motorola enviará a la dirección de mail que hayais indicadovuestro id de usuario y vuestro login de modo que podreis logaros dentro del área dedescarga de software y una vez alli vereis que teneis varias opciones de descarga, en estecaso 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íanaparecer bugs inexperados, no obstante, os la recomiendo para ir curioseando y ver lonuevo que tendremos en el ADK, en el cuadro 1 teneis algunas diferencias con respecto ala versión comentada en el artículo. Debido al uso que hace de los agentes de Microsofteste SDK sólo está disponible para plataforma Windows.Una vez que tengaís en vuestra máquina todo el software necesario pasamos a lainstalación propiamente dicha, en este caso y antes de comenzar con este proceso osrecomiendo que verifiqueis que en vuestro equipo teneis una versión superior o igual a la
  • 25.0.0.3185 de la Microsoft Java Virtual Machine que el ADK necesita para poderfuncionar correctamente, en caso de que no la tengais instalada o que la versión sea unaversión inferior podeis descargarla desde Microsoft en la siguiente dirección: http://www.microsoft.com/java/vm/dl_vm32.htmSuponiendo que teneís en vuestro equipo instalada está versión de la máquina virtual Javapodemos iniciar la instalación del ADK, todo el proceso es muy sencillo y basta conejecutar el fichero MobileADK.exe que previamente hemos descargado. Este fichero esel 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.exetendremos que hacer durante su ejecución la instalación de los agentes de Microsoftsiguientes: - 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 1Todos estos agentes forman parte de la Microsoft Speech SDK la cual es toda una suitede programación para hacer uso de tecnología de voz, el kit original (ahora mismo acabade salir la beta de la versión 5.0) tiene multitud de ejemplos, ayudas, controles, y endefinitiva 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 SDKen la siguiente página Web http://www.microsoft.com/IIT que bajo el nombre genérico deIntelligent Interface Technologies nos permite descargarnos todo el software ydocumentación necesaria para poder trabajar, aunque cualquiera que se haya iniciado eneste mundo aunque sea brevemente sabrá que hacer aplicaciones de voz resulta enmuchos 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 elprograma y por otro los agentes) os recomiendo que realiceis en primer lugar lainstalación de estos últimos (fichero MobileADK_Agents.exe) y posteriormente lainstalación del entorno de desarrollo propiamente dicho (MobileADK_Only.exe), este
  • 3fichero 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) oen varios pasos (MobileADK_Only y MobileADK_Agents.exe) el hecho es que en elproceso de instalación si queremos hacer uso posteriormente de las opciones paradesarrollar aplicaciones que hagan uso de la tecnología VoxML tendremos queconfigurar 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áspantallas de configuración (ver las figuras siguientes) se llega cuando realizamos lainstalació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) Figura 1
  • 4- 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).Figura 2- Una vez que se ha indicado el tipo de microfono del que disponemos, elsistema trata de evaluar la calidad del mismo mediante el dictado de unafrase, para hacer este dictado se nos recomienda que el lugar donde nosencontremos se encuentre lo más silencioso posible para evitar que seproduzcan interferencias que puedan mermar la calidad de la grabación dela frase (Figura 3 y 4)Figura 3
  • 5Finalmente cuando el proceso de instalación de los agentes de Microsoft termina tenemosdentro del Panel de Control de Windows un nuevo elemento denominado Speech que nospermite acceder a las propiedades de los dispositivos de entrada y salida de voz, en elapartado de utilidades haremos más incapie en este aspecto. Finalizada la instalación delos agentes se puede continuar con la instalación del ADK, en el programa de instalacióndel ADK lo único que tenemos que indicar es la carpeta de destino en el disco duro y laubicación del acceso directo del programa dentro de Windows.EL ENTORNO DE TRABAJOUna vez que el programa se encuentra instalado en nuestro disco duro (en el cuadro 2teneis una breve explicación de la estructura de directorios que se crean) el aspecto quepresenta cuando accedemos a él es el siguiente (figura 5): Figura 4 Figura 5Como podeis ver por en la figura el aspecto que tenemos en este entorno no es muydiferente de los entornos que hemos visto en otros articulos como puede ser el de Nokia oel de Ericsson, por un lado tenemos la ventana del IDE donde podemos escribir y depurarnuestros programas y en el lado derecho tenemos el típico visualizador en el que podertestear si todo lo que estamos haciendo es correcto, en este entorno recibe el nombre deUIS o User Interface Simulator. Las características comunes que presenta el ADK deMotorola con respecto a otros entornos son las siguientes:
  • 6 - 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 2Si nos centramos en las características particulares del entorno en cuestión tenemos quedividirlo en dos partes: - Caracteristicas del editor - Caracteristicas del UISCaracteristicas del editorEl editor es el elemento fundamental para realizar nuestro trabajo y de las posibilidadesque incorpore dependerá en mayor o menor medida que la programación de nuestrasaplicaciones sea una tarea más o menos cómoda. El editor del ADK está divido en trespartes fundamentales: por un lado tenemos el área destinada a la inserción de nuestrocódigo, por otro tenemos el área de salida de resultados (ventana de output) y finalmentetenemos la ventana de proyectos, en este caso y al igual que sucedia con el kit deEricsson los distintos documentos que forman nuestra aplicación se agrupan dentro deproyectos de manera que su manipulación resulta mucho más lógica (en el cuadro 3teneis la estructura de un fichero .prj típico con una pequeña explicación del mismo).
  • 7 El contenido de un fichero .prj es similar al siguiente: Project Structure - Dont 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 3Veamos 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). Figura 6
  • 8 - 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. Figura 7 - 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 UISEl User Interface Simulator se caracteriza por tener un menu de opciones bastantecompleto que permite configurar el emulador para aceptar diferentes configuraciones enfunción del tipo de aplicación que queramos visualizar, si examinamos este menúcontamos con las siguientes opciones:
  • 9- 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. Figura 8- 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
  • 10 que más nos gusten, en la figura 9 teneis la pantalla de esta opción. Figura 9 - Help: La ayuda sobre el UIS.UTILIDADESLas utilidades que incorpora el ADK son básicamente orientadas a la conexión con lasherramientas de voz de Microsoft y no pueden considerarse elementos propios del ADK,ya que podriamos tenerlas sin necesidad de tener el programa instalado en nuestramáquina, según esto los elementos que vamos a ver en este apartado se van a centrar enlos diferentes agentes que se han instalado y en la tecnología VoxML.Cuando finalizamos la instalación de los agentes de Microsoft tenemos un nuevoelemento en el Control Panel de nuestra máquina, este nuevo elemento es el Speech (delque ya comentamos algo antes) este programa nos permite configurar los elementos deentrada y salida de voz de nuestro equipo, esto es el microfono y los auriculares (verfigura 10), se puede decir que los parámetros de configuración que podemos modificarson los relativos al tipo de voz que queremos oir (tenemos distintos tonos de hombre y Figura 10
  • 11mujer en el idioma ingles), también podemos acceder al entrenamiento de la máquinapara que sea capaz de entender aquello que pronunciamos en el microfono y actuar enconsecuencia.Además del Speech control tenemos otro elemento importante al cual accederemos desdeel UIS al seleccionar el modo VoxML, este elemento es Merlin (figura) o tambiénconocido como el Speech Agent, este programa representado por el mago que teneis en lafigura 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 hadesarrollado (VoxML está basado en XML y se puede decir que es una variante delvoiceXML (Voice eXtensible Markup Language) y sus especificaciones las dirige elVoiceXML Forum creado por AT&T, IBM, Motorola y Lucent Technologies.), elVoxML es un nuevo lenguaje que proporciona a los desarrolladores de aplicacionesmóviles una nueva herramienta para crear aplicaciones cuya elemento fundamental detrabajo sea la voz, de modo que la navegación, la entrada de datos e incluso la salida sebasen en este elemento. La estructura del lenguaje está pensada para facilitar la creaciónde este tipo de aplicaciones y aunque es muy similar a HTML lo más importante a lahora de desarrollar aplicaciones de este tipo es establecer de una manera muy clara lasecuencia de interacción entre usuario y aplicación, cosa que con los tags disponibles enVoxML se favorece enormemente.Los dos elementos fundamentales de las aplicaciones VoxML son por un lado elDIALOG 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 cualesproporcionan la estructura básica para las aplicaciones VoxML. El tag DIALOG define elalcance del documento VoxML y dentro de él se encuentran el resto de los elementos queconforman el documento de manera que sólo existe un DIALOG por fichero (similar a<HTML> y </HTML>).El tag STEP define el estado de la aplicación dentro del DIALOG, es decir en conjuntoSTEP Y DIALOG representan la interacción entre usuario y aplicación de modo quecuando entramos dentro de un documento VoxML el browser navega entre los diferentesSTEP del DIALOG y muestra el resultado al usuarioComo veis todo lo visto en este apartado es un pequeño repaso sobre las enormesposibilidades que toda la tecnologia VoxML lleva asociada consigo y que trataremos más
  • 12adelante en un futuro artículo al igual que el Speech SDK 4.0 de Microsoft que llevaríavarios artículos contaros todas sus posibilidades.UN PEQUEÑO PROGRAMA EN WMLHasta ahora hemos visto las posibilidades que tenemos dentro del ADK, y como ya eshabitual toca el turno ahora de la parte práctica del artículo, la creación, depuración yejecución de un programa en WML y para ello seguiremos haciendo uso de nuestroquerido „Hola Mundo‟. El código que compondrá el programa es de sobra conocido portodos 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 eldocumento que contiene el código anterior y pasar a ejecutarlo, para ello seguiremos lassiguiente 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
  • 13 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 siexisten o no errores y pasar a la ejecución del mismo dentro del UIS. Para realizar lacompilación podemos seleccionar la opción de menu Tools y elegir Compile, en este casoen la ventana de output obtendremos los mensajes de error oportunos en caso de queexistan problemas en nuestro código o bien un mensaje de que todo ha ido bien en casocontrario, solo resta activar la simulación (en el ADK para ver el resultado de unprograma siempre es necesario activar esta opción y desactivarla cuando queremos volvera hacer cambios en el código) y ver el resultado en el UIS (en la figura 11 tenemos laapariencia final de todo el proceso). Figura 11
  • 14CONCLUSIONESSin lugar a dudas el Motorola ADK es un serio competitor para el resto de entornos dedesarrollo que hemos venido evaluando a lo largo de esta serie de artículos, lo másinteresante probablemente sea la integración con el lenguaje VoxML lo que abre unnuevo mundo de posibilidades dentro del mundo de desarrollo de aplicaciones paramóvil, por lo demás el entorno de desarrollo, el emulador de telefono, las opciones depersonalización, etc hacen de este entorno ideal para nuestros programas, el mayorinconveniente proviene de la falta de herramientas para la manipulación de gráficos, a migusto se hecha en falta un editor de WBMP que este integrado con la herramienta y notener que usar ningun programa externo, también sería deseable un editor más inteligenteen el sentido del de Ericsson en el cual podiamos incluir las etiquetas de maneraautomática mediante cuadros de dialogo que rellenamos, no obstante, la versión 2definitiva estará pronto entre nosotros y seguro, pero poco más se le puede objetar alMotorola ADK, ahora sois vosotros y termino casi como comence diciendo que eltrabajo duro comienza en este momento por vuestra parte, analizando todas lasposibilidades 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