Paleomovilidad Parte 1

Paleomovilidad Parte 1

Corría finales de 2004 cuando comencé con el desarrollo móvil y estaba en pleno “boom” la descarga de juegos en los dispositivos móviles programables del momento.
La fiebre de los “politonos” ya había situado a los cada vez más cuantiosos usuarios de teléfonos móviles a la expectativa de cual sería la siguiente evolución de aquellos maravillosos cacharros cada vez más útiles y pequeños.

Hasta ese momento el entretenimiento y las utilidades incorporadas en esos aparatos estaban integrados de fábrica y escritos en código máquina en las memorias ROM.

Desde entonces, por un módico precio podías tener, por primera vez, varios juegos de tu elección instalados y jugar en tus tiempos muertos o cuando quisieras sin tener que esperar a llegar a tu casa y encender el ordenador o la consola.

Incluso las consolas portátiles tipo Game Boy se vieron superadas debido a su menor autonomía y mayor tamaño y precio, tanto del dispositivo como de los juegos, que además empezaron a tener menor oferta en sus catálogos, ya que el desarrollo de juegos para móviles y por tanto de la creación de empresas desarrolladas se disparaba exponencialmente y necesitaban cada vez más programadores, donde vi una muy buena oportunidad de incorporación al mercado laboral y además en un sector novedoso. Aquí aprovecho para tener un recuerdo al primer equipo con el que trabajé en European Software (De derecha a izquierda: MariCarmen, Iñigo, Bienve, Vania -el jefe- y yo):

Esta proliferación de empresas desarrolladoras de la que hablaba la impulsaba la gran demanda de las operadoras que necesitaban ofrecer cada vez más títulos, ya que para el usuario era, como he dicho, un precio muy asequible, pero multiplicado por la masa creciente de usuarios, las ganancias repentinas para estas compañías no tenía precedentes.

Pero todo esto necesitaba una base tecnológica sobre la que realizarse y funcionar.
Se había decidido poco tiempo antes utilizar mayoritariamente el lenguaje Java, que por aquel entonces iba de la mano de Sun Microsystems, aunque se lanzaron varias otras opciones como ExEn, Mophun o WGE y algunas perduraron paralelamente bastante en el tiempo y en ciertas regiones, como fue el caso de Brew basado en C, muy distribuido en los Estados Unidos, o Symbian auspiciado por Nokia que, aunque acabó conviviendo con Java, ofrecía la opción de instalar juegos únicos para este sistema operativo.

No tardó en imponerse Java en todo el mundo ya que era de los lenguajes más modernos de la época y por tanto no solo incorporaba todo lo más nuevo, como orientación a objetos y muy buen control de excepciones, sino que había aprendido de los errores de lenguajes de programación antecesores, por eso Java enmascara entonces el uso de punteros, cuenta con recuperador automático de memoria utilizada en desuso o “garbage collector” y se puede compilar en su famoso “bytecode”, que traía la novedad de ser independiente a la plataforma en la que se quisiera poner a funcionar, lo que era muy útil en un escenario de total falta de consenso entre fabricantes.

La adopción de Java y su adaptación a toda clase de plataformas hizo que los fabricantes vieran la posibilidad de utilizar un estándar sin impacto en sus procesos de fabricación. Por aquel entonces justo me encontraba inmerso en la programación en Java ya que fue un lenguaje que me enamoró desde mi primer contacto por el en la facultad de Informática por su evolución con respecto a otros lenguajes, así que en cuanto supe que los nuevos dispositivos eran por fin programables me lancé a ese sector.

El único problema que existía es que, a pesar de la rápida evolución de los móviles, aún eran muy carentes de capacidades de almacenamiento, memoria y procesamiento.
Este “bytecode” en el que se convertían los juegos y aplicaciones, por su capacidad multiplataforma, necesita para ser entendido con cada procesador dentro de cada tipo de móvil lo que se llama una JVM o máquina virtual que es la que adapta el software al hardware.
Esta JVM era demasiado extensa y sofisticada para poder ser introducida en aquellos primeros modelos que pretendían ejecutar Java, por lo que se les instaló una versión reducida denominada KVM.
La KVM, obligaba a renunciar a muchas funcionalidades ofrecidas por la JVM y por tanto de Java, pero se estudió muy bien a que se renunciaría y se consiguió sacar un subconjunto funcional y útil de Java denominado J2ME (Java2 Mobile Edition) que si podía correr sobre la KVM y dar el servicio adecuado, a pesar de su limitado acceso a bases de datos y capacidades gráficas, por ejemplo.

Junto a sus configuraciones CLDC de características y librerías básicas (Entrada/Salida, Red, Seguridad, operaciones en punto flotante…) y los perfiles MIDP que se fueron sucediendo (control de tamaño de pantalla, sonidos o de potencia de la batería) se pudo especificar y mejorar el uso de Java como soporte para posibilitar la instalación de software en dispositivos móviles como solo se había visto antes en ordenadores personales.

Se solucionó la falta de cobertura por parte de J2ME para algunas funcionalidades de entonces, como el control del Bluetooth, y añadidas a posteriori, como la vibración o el wi-fi, con la incorporación de librerías de código especificas para cada uso, que debían cumplir los protocolos JSR y que el programador añadía según las iba necesitando.
También existieron librerías propietarias de varios fabricantes para cubrir extras específicos que incorporaban algunos de sus dispositivos como podían ser segunda pantalla exterior o luces en los laterales, etc.

Una variante de mucho peso en Japón fue DoJa desarrollada por DoCoMo, que estaba basado en las especificaciones de J2ME.

La irrupción del iPhone en el mercado de la mano de Apple en 2007 y muy poco después del Android de Google y los smartphones arrasaron con todo lo anterior, en un momento en el que ya eran muy evidentes las carencias de J2ME para los nuevos tiempos. A partir de aquí la historia ya es conocida por todos 🙂

Diego Jimenez Pavón

Diego Jimenez Pavón

D. Eduardo Iglesias Fernández ha desempeñado eficazmente su labor en el departamento de programación destacando su trabajo en el desarrollo de la app de QueHoteles.com.

Su cometido en esta empresa lo ha desarrollado con efectividad y plena satisfacción del personal de la empresa, demostrando una excelente actitud de compañerismo y un agradable don de gentes.

CEO en Accion Viajes S.L. y Socio fundador

José Antonio Chacón Moreno

José Antonio Chacón Moreno

Es el tipo de persona con el que se trabaja a gusto. Es tan buen y serio programador como buena persona, desprende felicidad en toda la empresa. Convierte los objetivos de la empresa en objetivos propios, por lo tanto trabaja para la empresa, olvidando objetivos propios más egoistas.
Es una persona muy creativa y organizada en su trabajo, un compañero de equipo perfecto con quién trabajar, ya que trabaja a tu lado sin mirarte por encima del hombro cualesquiera que sean tu conocimientos.
Siempres puedes aprender cosas de él, porque le encanta compartir sus conocimientos, así como mejorarlos. Está abierto a las nuevas tecnologías.

Software Developer & Founder at Greyman Studios

Manuel Montesino

Manuel Montesino

Eduardo is a great professional, he develop his work with high skills and knowledge, and he is very effective in his tasks. He is a very positive person and share it with his collagues, creating a very good atmosphere in the work group. He had demostrated to finishing works out of his area with high level, learning knowledge out of his area very quickly. He is the kind of person that wants to work in your group.

DevOps Engineer en Econocom

Fabian Berti

Fabian Berti

Eduardo is a great professional. He has demonstrated a lot of experience in the Mobile Department in Gextech and a perfect respect with the colleagues of his team. He has many knowledge in programming that have helped him to realize good games for mobile phone, also a wide culture in the sector of the video games and a lot of experience in the porting mobile games.

QA Project Manager at Touchten Games

QUEHOTELES

QUEHOTELES

QueHoteles es la versión móvil tanto para Android como para iOS del portal de reservas hoteleras QueHoteles.com.

00_SplashScreen 01_Mapa 02_Formulario 06_Lista 08_Hotel_Precios

Permite búsquedas en hoteles cercanos atendiendo a tu posición actual, de forma rápida y precisa incluso más si en sesiones anteriores has guardado tus preferencias, aunque si dispones de tiempo pone a tu disposición toda la información posible acerca de las mejores opciones según tu búsqueda: fotografías, opiniones de otros usuarios, equipamiento y varias novedades sobre el resto de Apps del mercado: la opción de visitar la zona con Street View, compartir la reserva por Whatsapp, guardarla en el calendario y siempre con la garantía de funcionamiento en cualquiera de los dispositivos actuales del mercado bajo tecnología iOS o Android, con un sistema de posicionamiento garantizado al utilizar tres tipos de localización: GPS, por Wifi u operadoras y por base de datos externa de antenas repetidoras.

APPFARMA

APPFARMA

Appfarma es un asistente a usuarios de farmacia personalizable cuya principal misión es acercar al cliente a su establecimiento habitual y viceversa.

00_Eleccion_Farmacia 03_Formulario_Registro 04_Informacion_Farmacia

Permite al usuario registrarse y acceder mediante un código a su farmacia de cabecera, por tanto puede ponerse en contacto con ella y a su vez es reconocido en el sistema del establecimiento, donde hay historial del cliente y se le puede asesorar de forma más directa, personal e inmediata, muy util en el caso de tener una duda o consulta y no poder transladarse en ese momento al centro farmacéutico. Se pone a disposición del usuario información importante sobre la farmacia así como promociones, noticias y la posibilidad de recibir notificaciones acerca de novedades en los temas elegidos o más afines al perfil del usuario.

CLAPTIME

CLAPTIME

Claptime es una plataforma estadística para la valoración de servicios

01_captura_claptime 02_captura_claptime 03_captura_claptime

Lo mejor para conocerlo es entrar en la web y poder conocer todas sus posibilidades. Es un concepto simple y fácil de utilizar, aunque técnicamente implica toda la complejidad necesaria para hacer de ella una herramienta muy útil y potente. He estado encargado de la versión Android y el reto a recaído sobre todo en la necesidad de conseguir que un único ejecutable se adaptase tanto a todo tipo de smartphones como tablets actualmente en el mercado, con la disparidad de pantallas, resoluciones y densidades de puntos existentes. He formado parte de un equipo experimentado que ha sabido trabajar en perfecta coordinación a pesar de estar totalmente deslocalizados. La forma de trabajar del futuro.

Q-PONAPP

Q-PONAPP

Q-PonApp es una plataforma original de Daelinka cuyo concepto básico es operar en ámbitos definidos pero ámplios, del estilo a centros comerciales o campos de golf por ejemplo y con afluencia de un número alto de personas.

Screenshot_2014-04-10-17-37-23 Screenshot_2014-04-10-17-33-54 Screenshot_2014-04-10-17-32-53 Screenshot_2014-04-10-17-34-18       promo1024

La idea es que, a la vez que se le ofrece al usuario o cliente varios servicios y ayudas junto a descuentos en los establecimientos adheridos, se pueda recopilar datos anónimos sobre preferencias en las ofertas o los establecimientos, por ejemplo, horas de mayor afluencia y a qué zonas, productos más solicitados y un largo etcétera en cuanto a información valiosa para la gerencia del establecimiento y en tiempo real, que le va a permitir con un estudio posterior de las gráficas e informes facilitados establecer con una concrección asombrosa como y cuando realizar futuras promociones, que atracciones funcionan y cuales no, incluso segmentar su clientela de manera más exacta y eficiente.

DALEMANOLO APP

DALEMANOLO APP

Dalemanolo App para la distribución de vídeos vía móvil del portal DaleManolo.com.

dalemanolo dalemanolo_dispositivos

Este es otro desarrollo que he publicado. Se trataba de DaleManolo App, la versión para plataforma móvil de la página web patrocinada por la cadena COPE en su sección de deportes .Lo desarrollé yo solo en su totalidad y tenía la particularidad de realizar multiples llamadas a servidores de contenidos multimedia a veces en simultaneo, consiguiendose realizar no solo visionado de vídeo en streaming sino la audición de la programación actual de radio en tiempo real mientras se iban cargando otros contenidos como por ejemplo noticias. Se podían publicar comentarios sobre los vídeos y también visitar las redes sociales en las que tenían presencia estos profesionales del periodismo deportivo. Los videos solian ser opiniones muy personales y espontaneas o grabaciones de caracter desenfadado como el que se puede ver a continuación.

DaleManolo.com en prensa