Archivo para la categoría "Symbian"
Tutorial: firmando una aplicación Symbian
Cortesía de DavidGP:
Firmando una aplicación Symbian (OpenSigned) o como instalar rotateMe
Sólo una advertencia: cerciorados de que la aplicación es de fiar antes de firmarla e instalarla. No creo que haya mucho malware para Nokia por ahí, pero nunca se sabe…
KuneriLite: aplicaciones FlashLite para S60
Tenía pendiente desde hace tiempo hablar algo de KuneriLite (me temo que no he guardado el enlace donde lo vi por primera vez) y al disponerme a hacerlo veo que han sacado una nueva versión que permite acceder a la Sensor API, incluye un asistente para la creación de paquetes Flash Lite e incorpora algunas otras mejoras.

Pero, ¿qué es KuneriLite? Fundamentalmente, una extensión de Flash Lite para dispositivos S60 3rd Edition que permite utilizar capacidades de los dispositivos S60 que no son accesibles desde una aplicación Flash Lite convencional. Para ello proporciona un conjunto de plugins que nos dan acceso a distintas características del móvil, como la cámara, el GPS, el acelerómetro… La lista completa está en el wiki de KuneriLite.
KuneriLite es gratuito si lo utilizamos para desarrollar aplicaciones no comerciales, y existen licencias de pago si queremos comercializar las aplicaciones que desarrollemos con él.
Estadísticas de venta de dispositivos móviles por sistema operativo (según Symbian)
Me he encontrado hoy en el portal de desarrollador de Symbian un folleto, medio informativo medio publicitario, que traía entre otras cosas cifras sobre el uso de despositivos móviles por sistema operativo. El documento se puede encontrar aquí [pdf]. Dice que es el número 2, pero no he podido encontrar el número 1.
En las dos hojas que componen el documento se habla de:
- wwigo, una aplicación para usar un móvil como webcam, se muestran los nuevos teléfonos Nokia de Octubre y Noviembre
- de una predicción sobre el aumento de la cobertura 3G en China de aquí al 2011
- de los resultados de Symbian en el tercer cuatrimestre del 2007
- de las fortalezas (9) y debilidades (14) de Linux como sistema operativo móvil (me encantan estos análisis pretendidamente objetivos sobre la competencia)
- del nuevo servicio OVI de Nokia
- de los canales de venta de teléfonos móviles Symbian en Europa
- o de por qué las previsiones de mercado de Windows Mobile en India no son tan brillantes como Microsoft pretende
Por diversidad de contenidos no va a ser…
Centrándonos en los resultados del tercer cuatrimestre para Symbian, el folleto nos da algunos datos esquemáticos:

Es decir, cada vez (es una comparativa con el tercer cuatrimestre del 2006) venden más smartphones, y cada vez tienen más modelos y más aplicaciones comerciales disponibles. También tienen nuevas tecnologías anunciadas.
Más interesante es la gráfica que nos muestra la evolución en el número de dispositivos (smartphones) vendidos por sistema operativo desde el primer trimestre del 2005:

Vemos en la gráfica que el principal competidor de Symbian es Linux. Para los que se sorprendan de que Linux tenga una presencia tan fuerte en este sector, aquí tiene una lista con dispositivos móviles que llevan sistema operativo Linux (las lista es de finales del 2006, así que no incluye los dispositivos más modernos). El problema de Linux es que, así como es fácil saber qué smartphones llevan Symbian, Windows Mobile o RIM, los fabricantes que usan Linux en sus dispositivos no hacen mucha gala de ello. O quizás sí, pero donde realmente los venden, que es en China y Japón, como veremos más adelante.
Vemos también que los siguientes competidores, los dispositivos Windows Mobile y las BlackBerry, tiene un pequeño porcentaje del pastel, y se aprecia la brusca irrupción del iPhone en los últimos dos cuatrimestres, pese a estar disponible sólo en Estados Unidos. Podemos apreciar mejor el impacto del iPhone en la siguiente gráfica:

EMEA significa Europa, Oriente Medio y África, y ROW significa resto del mundo (Rest Of World). Como podemos ver, el mercado norteamericano es totalmente distinto a cualquier otro. Es el único sitio donde Symbian no sólo no es mayoritario, sino que es casi irrelevante. Además, podemos observar como el líder, RIM, está a punto de dejar de serlo a manos del MacOS del iPhone, que aparentemente ya ha relegado a Microsoft al tercer puesto. El color azul celeste (Access) corresponde a los dispositivos PalmOS.
Los otros dos datos que yo destacaría de esa gráfica: el dominio absoluto de Symbian fuera de Asia (donde aún así es el sistema mayoritario) y Norteamérica, y la abundante cuota de mercado de Linux en China y Japón, que contrasta con su presencia anecdótica en Europa y Estados Unidos.
Como siempre, esta información hay que considerarla con un punto de escepticismo, ya que está divulgada por una de las partes interesadas (que cita como fuente a la empresa Canalys), y aunque eso no quiere decir que sea falsa sí nos hace sospechar que pueda ser parcial.
La guía completa de UIQ 3
Se acaba de publicar en formato Wiki parte del libro UIQ 3: The Complete Guide, una guía de programación de sistemas Symbian con la plataforma UIQ 3. El contenido no está completo, pero los autores planean finalizarlo mientras preparan la edición impresa para principios del 2008.
Una vez finalizado, el wiki se abrirá para que todo el mundo pueda ayudar añadiendo material y corrigiendo errores.
Vía:
Mobile Phone Development: UIQ 3: The Complete Guide
Edición para desarrolladores de Adobe Flash Lite 3
Adobe ha liberado una versión para desarrolladores de Adobe Flash Lite 3, la última versión del reproductor de Flash para móviles. Flash Lite 3 saldrá en algún momento del 2008, así que Adobe ha puesto a disposición de los desarrolladores esta versión que no permite reproducir archivos SWF incrustados en páginas web, ni salvapantallas o fondos de escritorio; tan solo archivos SWF aislados.
Adobe Flash Lite 3 Developer Edition sólo está certificado para el Nokia N95, por lo que Adobe no garantiza su funcionamiento en otros dispositivos S60 3rd Ed., pero es de suponer que cuenta con que los desarrolladores vayan probando los distintos dispositivos y proporcionando información sobre su funcionamiento. El producto final irá integrado de serie con diversos modelos que aparecerán a lo largo del 2008.
Adobe Flash Lite 3.0 está basado en Macromedia Flash Player 7.0, con soporte parcial de algunas características y soporte adicional de características específicas para móviles. Para programar se utiliza una versión de ActionScript llamada (previsiblemente) Flash Lite 3.0 ActionScript. Se puede encontrar información técnica en inglés en la página de recursos de Flash Lite de Adobe.
En la actualidad el soporte para las versiones 1.x y 2.x de Flash Lite es irregular, siendo muy habitual en Japón y bastante menos habitual en Europa. Se puede consultar una lista de dispositivos compatibles y operadores que lo proporcionan aquí: Flash-Enabled Mobile Devices.
Flash es una de las opciones para desarrollar software para móviles sin tener que preocuparse de los miles de dispositivos distintos existentes en el mercado. Es una idea similar a Java ME, aunque en al estar su versión para ordenadores de sobremesa tan asociada a la web es fácil pensar en Flash sólo como un plugin para navegadores. Veremos si Adobe consigue aumentar el número de dispositivos con Flash Lite preinstalado a la vez que evitar los problemas de incompatibilidad habituales en Java ME.
Vía:
Alessandro Pace’s Forum Nokia Blog: Flash Lite 3 Developer Edition is now available for download from Adobe Labs
Firma de aplicaciones en Symbian: novedades en Symbian Signed
En una entrada anterior hablábamos de Symbian Signed y mencionábamos que se estaban preparando cambios en el sistema de firma de aplicaciones Symbian. Estos cambios empezarán a tener efecto durante diciembre, pero ya se conoce con detalle en qué van a consistir.
Publisher ID
Como ocurría hasta ahora, para una parte de los casos será necesario un Publisher ID. Este identificador es un certificado digital que permitirá acceder a algunas de las opciones de firma de aplicaciones. A partir de ahora habrá que obtenerlo de TrustCenter, por 200 dólares al año, pero seguirán valiendo los ya existentes de VeriSign.
Tipos de firma
Existirán tres sistemas de firma:
Open Signed
Es un sistema diseñado para firmar aplicaciones que están en fase de pruebas o se van a destinar a uso personal, pues limita el número de móviles en los que se puede instalar la aplicación.
Para utilizarla bastará con enviar la aplicación a través del sitio de Symbian Signed y proporcionar una dirección de correo electrónico válida. La firma será válida durante 3 años y permitirá firmar un solo dispositivo sin Publisher ID (es necesario asociar un IMEI al certificado), o un máximo de 1000 dispositivos si tenemos un Publisher ID.
Express Signed
Con esta opción necesitaremos siempre un Publisher ID y una cuenta en Symbian Signed. Al enviar las aplicaciones para su firma nos comprometemos a que estas cumplan el Symbian Signed Test Criteria (ver más adelante) y pagaremos 20 dólares por cada firma, que tendrá una duración de diez años.
Certified Signed
Este sistema añade al anterior el requisito de que la aplicación haya sido probada por una Test House acreditada, lo cual acarreará un coste económico. A cambio las aplicaciones tendrán acceso a capacidades del dispositivo no accesibles con una firma Express Signed.
Una explicación del proceso completo se puede encontrar en esta guía [pdf].
En este documento [pdf] podemos ver un cuadro resumen.
Capabilities (Capacidades)
Se dividen en tres tipos (podemos ver una lista de la funciones incluidas en cada capacidad en esta página):
De usuario
LocalServices, Location, NetworkServices, ReadUserData, UserEnvironment y WriteUserData.
Están siempre disponibles, aunque en ocasiones se requiere de la aceptación de usuario para usarlas.
De sistema
PowerMgmt, ProtServ, ReadDeviceData, SurroundingsDD, SwEvent, TrustedUI y WriteDeviceData las podemos usar siempre.
CommDD, DiskAdmin, NetworkControl y MultimediaDD sólo las podremos usar con Certified Signed o con Open Signed y el Publiser ID.
De fabricante
AllFiles, DRM y TCB. Además de requerir Certified Signed o Open Signed y Publiser ID necesitan también aprobación del fabricante del dispositivo.
Symbian Signed Test Criteria
El conjunto de pruebas que una aplicación debe superar para poder ser firmada. Con estas pruebas Symbian pretende garantizar que la aplicación se comporta correctamente, sin causar ningún tipo de problema al usuario del dispositivo.
Por ejemplo se pide que la aplicación se ejecute correctamente, finalice correctamente, que se pueda finalizar desde la barra de tareas, que no interfiera en las llamadas de voz, que maneje bien situaciones de baja memoria… Algunas pruebas son obligatorias siempre y otras sólo cuando se quieren utilizar ciertas capacidades.
La descripción completa del test está en este documento [pdf].
Detalles adicionales
Este sistema entrará en funcionamiento durante diciembre del 2007. En el caso de Series 60, la firma de aplicaciones no es obligatoria en ningún sistema anterior a S60 3rd Ed. Para dispositivos S60 3rd Ed. la instalación de aplicaciones sin firma será posible si el fabricante del dispositivo lo permite y aun así, si la aplicaciones hace uso determinadas capacidades será necesario que el usuario configuré el móvil para permitir instalaciones de aplicaciones sin firma.
Más información:
http://developer.symbian.com/main/signed/
http://developer.symbian.com/wiki/display/sign/Symbian+Signed+Test+Criteria
Monitoriza el consumo de energía de tu Nokia: Nokia Energy Profiler
Nokia acaba de liberar Nokia Energy Profiler, una aplicación que permite monitorizar en tiempo real el consumo de aplicaciónes en S60 3rd Ed. FP1 y superiores (cuando los haya).

Buenas noticias para aquellos que anden preocupados por el excesivo consumo de sus dispositivos, y malas para los desarrolladores que no se preocupan de optimizar su código en todos sus aspectos.
Más información:
Nokia Energy Profiler Quick Start Guide
Una breve sobre Nokia y Carbide.c++
Nokia ha actualizado su FAQ sobre Carbide.c++. Aunque los datos actualizados son principalmente los relativos a los precios de las licencias, aprovecho para traducir un par de preguntas interesantes:
2.1 ¿Cuál es la naturaleza de la relación entre Symbian Ltd, UIQ Technology y Nokia en términos de su estrategia relativa a la herramienta de desarrollo en C++?
Las tres compañías se han comprometido a cooperar en una estrategia para obtener una herramienta C++ que asegure que los desarrolladores pueden crear y depurar aplicaciones Symbian en un entorno de desarrollo integrado (IDE) C++.
Carbide.c++ es un conjunto de herramientas proporcionadas por Nokia y construidas sobre Eclipse. La herramienta básica utiliza el proyecto CDT (C/C++ Development Tools) de Eclipse. A esto Nokia le ha añadido plugins que soportan la creación de ejecutables de Symbian OS, un compilador, herramientas de depuración, y soporte para las SDKs de la plataforma S60 para crear el producto Carbide.c++. Además de esto, Nokia y UIQ Technology trabajan juntos para asegurarse de que las últimas SDKs de UIQ están soportadas en Carbide.c++.
Nokia también ha desarrollado plugins adicionales enfocados a la productividad del desarrollador y al rendimiento de las aplicaciones, que están disponibles en las versiones comerciales de Carbide.c++.
2.3 ¿Estará soportado en la familia Carbide el desarrollo Java™ para la plataforma S60 y UIQ?
No. Nokia ha determinado que la disponibilidad de un amplio rango de herramientas Java para el desarrollo de aplicaciones Java móviles significa que no se requiere un entorno de desarrollo integrado Java adicional. La SDK S60 para desarrolladores Java soporta el desarrollo de aplicaciones Java móviles usando NetBeans con el NetBeans Mobility Pack y Eclipse con EclipseME.
Cambios en la máquina virtual Java de S60
Parece que los chicos de Symbian apuestan por Java como lenguaje de desarrollo para su plataforma S60 (que, recordemos, es la plataforma entre otros de la mayoría de los teléfonos Nokia). Digo esto porque en la nueva versión de S60, S60 3rd Edition FP2, incluirán una nueva versión de la máquina virtual de Java en la que las librerías no irán compiladas dentro del mismo ejecutable, sino que se almacenarán por separado y se cargarán bajo demanda.
Esta nueva arquitectura, además de mejorar el rendimiento, permitirá a Symbian incluir nuevas librerías propias que aumenten la potencia de las aplicaciones Java para S60 (a costa de perder portabilidad a otras plataformas). Así, ya está anunciado el nuevo kit de desarrollo de interfaces de usuario eSWT, destinado a combatir las limitaciones de LCDUI permitiendo a los desarrolladores Java construir interfaces de usuario similares a las que tienen las aplicaciones nativas.
Habrá que esperar a ver la SDK de la nueva versión de S60 para comprobar qué tal funcionan eSWT y todas la novedades que la nueva Java VM incorpore.
Más información:
http://blogs.s60.com/java/2007/11/new_java_features_of_3rd_ed_fp.html
http://blogs.s60.com/java/2007/10/eswt_available_for_development.html
http://mobilephonedevelopment.com/archives/492
Un vistazo a las APIs de acelerómetros (como el del N95)
He tenido tiempo de echarle un vistazo por encima a la Sensor API de los dispositivos Nokia. También a su equivalente para Java ME, JSR 256: Mobile Sensor API.
Ambas APIs funcionan de manera similar: ofrecen métodos para interrogar al dispositivo sobre los sensores que posee, y una vez elegido alguno lo interrogan periódicamente para obtener los valores medidos. Estos valores medidos pueden ser muchas cosas; la API de Java define una serie de nombres estándar para la cantidad medida, que nos pueden dar una idea del tipo de dispositivos para los que está pensada:
absorbed_dose, absorbed_dose_rate, acceleration, activity, alcohol, altitude, amount_of_substance, amount_of_substance_concentration, angle, angular_acceleration, angular_velocity, area, battery_charge, blood_glucose_level, blood_oxygen_level, blood_pressure, body_fat_percentage, capacitance, catalytic_activity, catalytic_concentration, character, current_density, direction, direction_of_motion, dose_equivalent, duration, dynamic_viscosity, electric_charge, electric_charge_density, electric_conductance, electric_currency, electric_current, electric_field_strength, electric_flux_density, electric_potential_difference, electric_resistance, energy, energy_density, entropy, exposure, fingerprint, flip_state, force, frequency, gesture, heart_rate, heat_capacity, heat_flux_density, humidity, illuminance, inductance, irradiance, kerma, length, location, luminance, luminous_flux, luminous_intensity, magnetic_field_strength, magnetic_flux, magnetic_flux_density, mass, mass_density, molar_energy, molar_entropy, molar_heat_capacity, moment_of_force, percentage, permeability, permittivity, plane_angle, power, pressure, proximity, quantity_of_heat, radiance, radiant_flux, radiant_intensity, RR_interval, solid_angle, sound_intensity, specific_energy, specific_entropy, specific_heat_capacity, specific_volume, step_count, stress, surface_tension, temperature, thermal_conductivity, time, wave_number, velocimeter, velocity, wind_speed, volume, work
La API de Nokia parece más restrictiva, diseñada para medir cosas en términos de las tres dimensiones espaciales. De hecho en la página sólo se habla de un acelerómetro. Sin embargo, me da la impresión de que es posible obtener diversos parámetros del acelerómetro. Al menos, además de la aceleración, puedes obtener ángulos de inclinación (que el acelerómetro puede proporcionar calculando la distribución de las componentes de la gravedad) como si fuese un giróscopo. En cualquier caso, esta API ya ha dado pie al desarrollo de aplicaciones tan fundamentales como la aplicación de moda para el N95.
Y para que veamos que no sólo el iPhone y el N95 tienen acelerómetro, aquí hay un ejemplo de cómo usar la API de Java con el acelerómetro del Sony Ericsson W910.
Entradas relacionadas:
El acelerómetro del N95
