Iphone

¿Qué es Firebase?

Si trabajas haciendo apps para móviles, sabes lo complicado que resulta a veces realizar algunas operaciones, sobre todo la gestión multidispositivo con la base de datos. Por ejemplo a la hora de realizar aplicaciones muy grandes como CLMs, hay una enorme inversión de horas de trabajo para crear un backend poderoso que nos permita sincronizar de forma bidireccional la comunicación entre dispositivo y servidor aunque estemos desconectados de la red.

Firebase se podría decir que es un framework de trabajo de Google que nos ayuda con esto y con muchas cosas más. Aunque tiene soporte para web, está más orientada al desarrollo móvil iOS y android, para que los desarrolladores no tengan que preocuparse de desarrollar y mantener un servidor con su backend, además de ofrecer herramientas para la interconexión entre la app y el backend.

 

Firebase dispone de diferentes funcionalidades, entre las que se encuentran:

  • Base de datos en tiempo real: una base de datos gestionada por Google basada en JSON que nos permite, mediante eventos, tener funcionalidades en tiempo real. También nos permite llevar una gestión automática de los datos en el caso de que la aplicación se encuentre sin conexión, sincronizando todos los cambios una vez haya recuperado dicha conectividad.
  • Sistema de autentificación de usuarios tanto por email/contraseña como por otros sistemas como facebook, twitter, google, github, etc.
  • Cloud Messaging para el envío de notificaciones push a los dispositivos de una forma sencilla.
  • Un sistema de almacenamiento y sincronización de ficheros con el dispositivo.
  • Un sistema de hosting estático, ideal para realizar páginas estáticas o utilizarlo a modo de CDN de la app.
  • Sistema de reporting de errores.
  • Laboratorio de pruebas, para realizar pruebas en los dispositivos.
  • Funciones lambda basadas en NodeJS para realizar mediante eventos ciertas operaciones.
  • Conexión con AdMob para la monetización de la aplicación.
  • Configuración remota de la aplicación, pudiendo cambiar dinámicamente funcionalidades de la misma.

Lo más llamativo de Firebase es el Free Tier que ofrece, puesto que un proyecto para arrancar es gratuito, pudiendo dar el salto al pago cuando la aplicación haya crecido lo suficiente. Como opciones de pago disponemos de una tarifa plana de 25$ al mes que nos ofrece lo necesario para funcionar en proyectos de mediana envergadura. También disponemos de un «pago por uso» que nos permite pagar por aquellos recursos que utilicemos y que nos permitirá, de una forma escalonada, ir aumentando los costes poco a poco, según va creciendo nuestra aplicación.

¿Qué es un protocolo de ObjetiveC y para que se usan los protocolos en ObjetiveC?

Cuando programamos en ObjetiveC para iphone o ipad, utilizando funciones mas avanzadas de la interfaz gráfica nos encontramos con delegados, llamados también delegates. En estos casos, por ejemplo cuando tenemos un UIScrollView que captura el evento – (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView que utilizamos para controlar cuando ese UIScrollView se ha parado. Para controlar esto lo hacemos mediante el uso de los delegados. Pero mejor verlo con un ejemplo que se vea mas claro.

@implementation IndalcasaViewController

– (void)viewDidLoad {
[super viewDidLoad];
self.indalScroll.delegate = self;
}

– (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
int page = scrollView.contentOffset.x / scrollView.frame.size.width;

NSLog(@»Hemos cambiado a la pagina %i», page);
}

@end

Tras este ejemplo vemos como funciona un delegado en una clase normal de ObjetiveC. Pero aún no entendemos lo que significa ser un delegado. Un delegado no es mas que un nombre de convención, que podemos llamar como queramos y que utilizaremos como disparador, donde el objeto que está almacenado implementa una serie de funcionalidades definidas en un protocolo.

Se que ahora ha quedado claro del todo :P, pero mejor verlo en un ejemplo.

@interface IndalcasaViewController : UIViewController
@end

Como vemos en el ejemplo anterior, a la hora de extender la clase UIViewController decimos que implementa el protocolo UIScrollViewDelegate. Para los mas veteranos desarrolladores, un protocolo no es mas que una interfaz. Para los mas novatos, una interfaz es como una clase donde se definen llamadas pero no se implementa código.

Para verlo todo mas sencillo, vamos a poner un último ejemplo. Lo que vamos a hacer es definir otro UIViewController al que instanciaremos en el viewDidLoad y que implementará un metodo vacío llamado «cambioPagina» que recibirá la página por parámetro.

IndalcasaViewController.h
@interface IndalcasaViewController : UIViewController

@property UIViewController delegate;
@property (weak, nonatomic) IBOutlet UIScrollView *indalScroll;

@end

IndalcasaViewController.m
@implementation IndalcasaViewController

– (void)viewDidLoad {
[super viewDidLoad];
self.indalScroll.delegate = self;
}

– (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
int page = scrollView.contentOffset.x / scrollView.frame.size.width;

NSLog(@»Hemos cambiado a la pagina %i», page);

[self.delegate cambioPagina:page];
}

@end

DelegadoViewController.h
@interface DelegadoViewController : UIViewController
@end

@protocol IndalcasaDelegate

-(void)cambioPagina:(int)pagina;

@end

DelegadoViewController.m
@implementation DelegadoViewController

– (void)cambioPagina:(int)pagina {
NSLog(@»Hemos cambiado a la pagina %i con un delegado», pagina);
}

@end

Como vemos en el ejemplo, lo que hacemos es que cuando capturamos el evento scrollViewDidEndDecelerating, que nos indica que se ha parado el scroll, llamamos a un delegado, previamente seteado que implementa el protocolo (intefaz) IndalcasaDelegate. Como sabemos que el delegado, al implementar el protocolo IndalcasaDelegate tiene un método cambioPagina que recibe un entero con la página, podemos llamar al método desde el delegado.

Comentar también que en muchos casos, nos encontraremos delegados de tipo id y no de un tipo concreto. Los tipos id vendrían a ser tipos de objetos genéricos, algo parecido al object de cualquier lenguaje.

Overflow scroll fluido para safari mobile

Algunos desarrolladores que hacemos webs para dispositivos móviles como puede ser un iPhone o un iPad, a veces nos encontramos con un gran problema y es que si queremos hacer un scroll horizontal funciona pero no queda muy fluido. Supongamos que tenemos una pequeña página y a modo de appstore, queremos tener un cuadro que tenga varias capturas de pantalla o imágenes y que entre las imágenes, hemos hecho un scroll. Si probamos esto en un iPad o un iPhone, veremos como el scroll no es muy fluido, va como a tropezones, pero la solución es bien fácil, solo hay que cambiar un pequeño estilo de CSS.

Para solucionar esto podemos utilizar -webkit-overflow-scrolling: touch; para indicarle a safari mobile que queremos hacer un scroll con el dedo y de esta forma, el scroll ira fluido y no se trabará.

Os dejo un ejemplo de como quedaría:

Mobile test

Preparando la versión 2.1 del plugin UserAgent theme switcher

Estoy trabajando en la nueva versión del plugin de wordpress User Agent Theme Switcher. El plugin para la gestión de diferentes navegadores móviles, de escritorio, etc. que permite cambiar el template de wordpress entre los diferentes navegadores.

Las mejoras propuestas para esta nueva versión son:

  • Añadir WordPress como useragent reconocido y no generar alerta, aunque no sera incluido como opción configurable, ya que será solo para pingbacks y trackbacks
  • Nuevos navegadores para iPad y Kindle gracias a la colaboración de ovi_mihai
  • Nuevos bots configurables con GoogleBot y GoogleBot mobile

Espero tener listos los cambios en las próximas semanas. Gracias a todos los que enviaron los useragents no soportados y a aquellos como ovi_mihai que ayudaron con el código.

Steve Jobs siente miedo por Android

Android vs iPhoneCierto es que iPhone es un gran teléfono móvil con un gran sistema operativo detrás y que la sensación de uso de iPhone es muy superior a la de Android, pero esto no quiere decir que Steve Jobs empiece a sentir miedo por el desarrollo que Android está teniendo en el mercado de la telefonía móvil. Steve Jobs siempre se ha sentido orgulloso de sus productos y salvo cuando realizaba una dura batalla contra IBM y Microsoft, Jobs no se dedicaba a despotricar sobre otros productos sino a alabar los suyos. Desde que se ofrecieron las últimas cifras de mercado, en las cuales Android ya había sobrepasado a iPhone, Steve Jobs esta empezando a preocuparse. Primero fueron declaraciones sobre que su teléfono era mas «puritano» haciendo referencia a la restricción de aplicaciones censurables que realizaba la marca de la manzana y después de varios rifirafes, Steve Jobs se pone en la piel de los desarrolladores criticando la fragmentación que complica el desarrollo de aplicaciones para Android.

Como desarrollador que ha realizado algunas aplicaciones para Android, debo decir que programar para esta plataforma es muy fácil, ya que con unos conocimientos básicos de Java podemos empezar a programar y su desarrollo de interfaz xml que recuerda un poco al html, la verdad es que no es muy complicado. Lo que si he de decir es que la cosa complica un poco cuando tenemos diferentes dispositivos con diferentes características como puede ser con cámara o sin ella, con bluetooth o sin el y mil cosas mas que nos podemos encontrar. La verdad es que esto en iPhone no pasa ya que se trata de un único teléfono que ha ido evolucionando, pero el mundo no se puede detener en un punto y siento tener que decir en contra de las declaraciones de Steve Jobs, que los desarrolladores desde que salieron del DOS, han debido de trabajar para diferentes formatos, escritorios con diferentes velocidades, versiones, resoluciones, colores y no quiero entrar ya en los que realizamos webs para Internet Explorer, Firefox, Safari, Opera, Chorme y un largo etc. Es por ello que un desarrollador que se precie, esta acostumbrado a realizar ciertas modificaciones de fragmentación para diferentes dispositivos.

Las últimas declaraciones de Jobs muestran como su todopoderoso imperio de telefonía con iPhone esta poco a poco cayendo y cada vez mas gente se pasa al más que versátil Android de Google y al no poder alabar sus productos por encima de Android, empieza la encarnizada guerra de criticas contra el rival. Siento ser un poco sensacionalista, y al igual que dije hace algún tiempo que Microsoft llegaba mal y tarde con Windows Phone 7 a esta guerra, tengo que decirle a Jobs que esta guerra la ha perdido pero aún nadie se lo ha dicho. Lo único que puede hacer Apple para mantener viva esta guerra y no acabar perdiendo con el tiempo es un cambio radical en su iPhone como liberar a los desarrolladores de la estricta política de censura o volver a realizar algo revolucionario en el mercado de la telefonía móvil.

Publicado el plugin de WordPress UserAgent theme switcher 2.0

UserAgent theme switcherEn este puente del Pilar, cuando deberia de disfrutar de unas vacaciones, he pillado un gripazo que no me deja moverme de la cama, y como no puedo hacer otra cosa, he decidido finalizar el desarrollo del plugin de WordPress User Agent Theme Switcher. El plugin que ya se encuentra en su versión 2.0 trae importantes mejoras frente a su predecesor, ya que ademas de haberlo reescrito desde cero, se ha añadido funcionalidades, se han separado por funcionamiento las páginas, para que sea mas sencillo modificar las opciones y se ha dado soporte a unos cuantos navegadores mas. La lista de cambios respecto a la versión 1.2 es la siguiente:

  • Se ha reescrito todo el código del plugin para aumentar el rendimiento y para facilitar el desarrollo de futuras mejoras
  • Se ha separado la página de administración en 3 páginas, la de temas por navegador, el modo debug y la futura configuración del cache
  • Se han añadido etiquetas a los navegadores, como gecko a Firefox, mobile a Safari Mobile, Opera Mini, etc. para poder asignar un template por etiqueta para por ejemplo un tema para moviles con la etiqueta mobile
  • Se han añadido iconos para los navegadores y las etiquetas.
  • Se ha traducido todo el plugin al ingles para realizar las traducciones en otros idiomas en futuras versiones
  • Se ha añadido un boton para donar.
  • Se ha añadido soporte para Internet Explorer 9
  • Se ha añadido soporte para Camino para Mac
  • Se ha añadido soporte para Opera Desktop
  • Se ha añadido soporte para IceWeasel
  • Se ha actualizado Safari Mobile para que incluya el navegador del IpodTouch

Recuerdo a quien use este plugin, que puede reportar navegadores no soportados con el modo debug, algo que permitirá ir mejorando poco a poco el plugin.

El que quiera descargarlo puede hacerlo desde el administrador de WordPress buscando «User Agent Theme Switcher» o desde la pagina del plugin en WordPress

Algunas capturas:

Android ya es el segundo sistema operativo móvil en el mundo

Como cito en el título de este post, Android ya es el segundo sistema operativo móvil mas usado en este mundo. Según un estudio que ha realizado la consultora tecnológica Gartner según el crecimiento y uso de cada sistema operativo móvil, Android acaba de superar a BlackBerry, convirtiendose en el segundo sistema operativo móvil mas usado y con una estimación de que en los próximos 4 años alcance a la todopoderosa Nokia y su Symbian, pudiendo superar a esta en 2014. Según este estudio, en la actualidad y como se espera en los próximos años, Nokia con Symbian, seguirá al frente de los dispositivos móviles pero perdiendo cuota de mercado poco a poco frente a Android.

En la actualidad, el listado de sistemas operativos móviles mas usados es el siguiente:

  • Nokia, Symbian: 107.662.400 unidades, 40.1% cuota de mercado
  • Google, Android: 47.462.100 unidades, 17.7% cuota de mercado
  • RIM, Research In Motion, BlackBerry: 46.922.900 unidades, 17.5% cuota de mercado
  • Apple, iOS (Iphone): 41.461.800 unidades, 15.4% cuota de mercado
  • Microsoft, Windows Phone: 12.686.500 unidades, 4.7% cuota de mercado

Según las previsiones de crecimiento, y aunque desconozco si se han contado con los futuros proyectos que Google plantea para Android, como Google TV, se espera que en tan solo 4 años, Android alcance a Symbian, por lo que para 2015 y si las cosas no se tuercen, podríamos ver desbancada a Nokia de la privilegiada primera posición en el mundo de los dispositivos móviles. Las previsiones para 2014 son las siguientes:

  • Nokia, Symbian: 264.351.800 unidades, 30.2% cuota de mercado
  • Google, Android: 259.306.400 unidades, 29.6% cuota de mercado
  • Apple, iOS (Iphone): 130.393.000 unidades, 14.9% cuota de mercado
  • RIM, Research In Motion, BlackBerry: 102.579.500 unidades, 11.7% cuota de mercado
  • Microsoft, Windows Phone: 34.490.200 unidades, 3.9% cuota de mercado

Veremos si la evolución e innovaciones de las compañías hacen de esto una realidad o no. De momento y en opinión de un humilde servidor, Android, si el resto de compañías siguen con sus actuales políticas, se convertirá en breve en el numero uno de los sistemas operativos móviles, ya que Nokia no evoluciona ni innova, estaba genial cuando tenia móviles de toda la vida, pero ha llegado tarde y con grandes tropezones a la carrera de las nuevas tecnologías móviles. BlackBerry que mantendrá su posición corporativa y Apple con iOS y sus políticas restrictivas, no llegaran a donde todos esperan que lleguen. Solo el tiempo dirá que pasara y pondrá a cada compañía en su lugar.

Publicado el plugin de WordPress UserAgent theme switcher 1.2

UserAgent theme switcherAyer publiqué la versión 1.2 del plugin de WordPress «UserAgent theme switcher». Es plugin para quien no lo conozca es un plugin de WordPress que mediante un sencillo administrador, nos permite indicar que tema se mostrara a que navegador. De esta forma podemos crear o descargar un tema especifico para dispositivos moviles y decirle que iphone o android utilicen este tema. Entre las principales novedades que se presentan en esta nueva versión, se encuentran:

  • Se ha mejorado el patrón de Safari Mobile, ya que este difiere levemente de si se trata de Android o iPhone.
  • Si usas el modo debug, ahora puedes eliminar useragents de la lista de no soportados.
  • Si usas el modo debug, ahora puedes reportar un useragent no soportado.

Aunque puede ser una tontería, usar el modo debug puede ser importante para el desarrollo y mejora del sistema, ya que ayuda a detectar y reportar useragents no soportados aun y que puedan ser añadidos en un futuro.

Publicada la versión 1.1.3 de UserAgent theme switcher

UserAgent theme switcherAnoche libere la versión 1.1.3 del plugin de wordpress UserAgent theme switcher en su versión 1.1.3 con algunas mejoras importantes sobre la versión 1.0.0. La principal mejora que se ha realizado es el numero de navegadores soportados, que se ha aumentado añadiendo Safari Mobile, Internet Explorer 6, Internet Explorer 7 y Internet Explorer 8 y Opera Mini. Tambien se han mejorado los patrones y arreglado algunas incidencias que provocaban errores bajo ciertas circunstancias.

Publicada la versión 1.0.0 de UserAgent theme switcher

UserAgent theme switcherEstoy que no entro en mi de la alegría. Hoy me han publicado y ya estoy trabajando desde los repositorios SVN de WordPress sobre el plugin «User Agent theme switcher». Este plugin que me ha llevado medio fin de semana de trabajo, es un plugin que tiene como objetivo poder variar el tema mostrado en WordPress en base al navegador que esta accediendo. De esta forma, con 3 clicks podemos establecer que un móvil con iPhone o Android por ejemplo, utilicen un tema que este mas preparado para mostrar contenido para móviles. Pero no solo queda ahí la cosa, las utilidades de este plugin no son infinitas, pero si pueden dar mucho juego, no solo para dispositivos móviles, sino que podemos tener un tema para cada navegador, por ejemplo usando un tema mas preparado para los dichosos Internet Explorer o una versión de solo texto y con menos maquetación para los bots que rastrean nuestra pagina como Google Bot o Yahoo Slurps.

Este plugin tiene un sistema de administración que he procurado que sea lo mas sencillo posible. Dispone de 3 partes, un listado de los navegadores soportados con los temas a los que aplica. Si el navegador no tuviera un tema preseleccionado, mostraría el tema por defecto. Desde esta sección podemos también desasociar un tema a un navegador pulsando sobre borrar. Por otro lado tenemos otra sección para asociar temas instalados contra un navegador, que al añadirse se actualizara automáticamente en el listado anterior. Por último está la sección de debug, esta sección tiene como único propósito la ayuda al desarrollo del plugin, mostrando los useragent que aun no están soportados en el plugin para poder ser detectados en un futuro.

Para versiones futuras tengo como propósito que los usuarios que activen el modo debug puedan enviar por mail el useragent detectado para poder mejorar el sistema, ademas de añadir nuevos navegadores y crear secciones, que no es otra cosa que categorizar los navegadores, por ejemplo pudiendo seleccionar Internet Explorer y que afecte a todos, o dispositivos móviles y que afecte a iPhone, Android, etc. pero eso es ya irme mucho al futuro, ahora mismo a mejorarlo un poco y esperar a ver el impacto que tiene dentro de WordPress.

Para el que quiera puede echar un vistazo en la web de WordPress donde esta alojado el plugin de User Agent theme switcher

Os dejo tambien un par de capturas de pantalla de como se ve.

UserAgent theme switcher cap

Los sistemas operativos móviles para smartphones: Android vs iOS vs Symbian vs Windows Phone

Hace pocos días, estuve mirando para comprarme un nuevo teléfono móvil, digo teléfono por no decir ordenador de bolsillo. El caso es que a la hora de elegir dicho teléfono, me asaltaba una gran duda, ¿Hacia dónde voy? ¿Qué marca escojo? ¿Qué modelo escojo? Durante días me estuvieron asaltando estas preguntas hasta que hice análisis de lo que quería y lo que había, fue entonces cuando todas mis dudas quedaron resueltas. Aunque las características técnicas del modelo a elegir son muy importantes, no hay que obviar que hoy en día casi todos teléfonos disponen de un buen hardware por detrás, también teniendo en cuenta cuanto nos queramos gastar. En mi caso yo quería un móvil de gama media-alta de precios similares y características aun mas similares, así que solo queda para el análisis y decisión el sistema operativo que los hace funcionar. A continuación dejaré un breve análisis de cada uno basado entre otras cosas mi propia experiencia personal.

Windows Phone

Windows PhoneEste es el sistema operativo para móviles de Microsoft, antiguamente llamado Windows Mobile. He usado desde hace 5 años este sistema operativo, en PDA’s y en teléfonos móviles o smartphones, y la verdad es que es una maravilla, el entorno en general esta pensado con vistas profesionales, aunque permite mucho mas. Por defecto el sistema operativo es bastante normalito, tienes pocas aplicaciones, efectos visuales muy pobres, por regla general esta basado en otra época, cuando hace 7 u 8 años, era una novedad, pero abandonado desde entonces. Microsoft como no, en su linea de actualizar unos productos muy a menudo, y abandonar a su suerte otros productos y es esto lo ocurrido con Windows Mobile, fue abandonado, y desde versiones de Windows Mobile 2003, Windows Mobile 5 y Windows Mobile 6 no encontramos ninguna diferencia y apenas mejoría. Cuando el boom de iPhone, Microsoft libero la versión Windows Mobile 6.5, un caramelito antes de la llegada de Windows Mobile 7 donde ya si se veian cambios sustanciales en la interfaz y funcionamiento del sistema operativo, siendo mas enfocado al uso con los dedos y no con puntero. Ademas de esto en breve, finales de 2010 aparecerán los primeros modelos con Windows Phone 7, un sistema operativo que renovara, partiendo de la base de Windows Mobile 6.5 y Zune HD, darán otro concepto a lo visto en los Windows Mobile. Hasta aquí la historia, llega el momento de la practica. Windows Mobile, al menos hasta su versión 6.5, ya que la 7 es un poco desconocida aun, es un gran sistema operativo, estable, modificable (vease HTC Sense y similares), con capacidad para albergar plugins o widget desde hace ya años como son los plugins today, consume pocos recursos, existen miles de aplicaciones disponibles y ademas Microsoft recientemente creo un market similar al AppStore para Microsoft Windows Mobile. Pero no es oro todo lo que reluce, y no todo pueden ser ventajas, hay que ponerle pegas, una de las cuales y para mi la mas importante es el desarrollo, que obliga a los desarrolladores a utilizar Windows con Visual Studio en sus versiones de pago, ya que no hay versiones libres capaces de compilar aplicaciones para Windwos Mobile y como no solo en Windows. También decir el tiempo de desarrollo, he tenido desde hace 5 años dispositivos con Windows Mobile, y nunca jamas he podido instalar ninguna  versión superior, a no ser que fuera flasheando la ROM bajo mi responsabilidad y riesgo. Si a todo esto le sumamos un sistema operativo, que a falta de ver como será definitivamente el tan esperado durante años Windows Phone 7, visualmente deja mucho que desear, así como sus aplicaciones. Ah y mas para desarrolladores, su API es muy muy malo, por lo que hacer una aplicación visualmente atractiva, nos dejara la piel en ello.
Microsoft Windows Phone 7 Microsoft Windows Phone 7

Nokia Symbian

Que puedo yo decir de Symbian que la gente no conozca ya. Symbian es el sistema operativo de Nokia, aunque en realidad pertenece a un consorcio de empresas, la parte mayoritaria, 52% de la compañía es de Nokia, así que podemos afirmar que Symbian es de Nokia. Symbian es un sistema operativo mas que probado, durante años de uso en Nokia, y quien no ha tenido en sus manos alguna vez un Nokia. La verdad es que el sistema operativo es bastante bueno, tiene un sistema muy probado y miles de aplicaciones. Para mi, Symbian es un descarte completo, en primer lugar, es muy potente pero a la vez muy lento de ejecución. Aparte de esto, las versiones táctiles han sido un relativo fracaso para Nokia, ya que por experiencia con mi Nokia 5800 o algun N97 de amigos, es que Nokia ha metido la pata hasta el fondo, ya que hasta que no han sacado la 4ª o 5ª versión de firmware para estos dispositivos no han empezado a funcionar cierta fluidez. Esto es un problema de credibilidad, puesto que aunque se venda como rosquillas, para mi, una compañía que ya no en funcionalidad, sino en drivers, el típico juego por defecto que viene en el móvil vaya a tropezones y que un par de años después, actualizando a la ultima versión, el juego vaya como una bala, quiere decir que han sacado versiones como les han dado la gana y que ya lo mejoraran y estamos hablando de tema de drivers o calidad en los mismos. Para mi Nokia no es lo que era y aunque siga teniendo mucho nombre, poco a poco va a ser desbancando por compañías como HTC
Nokia SymbianNokia Symbian

iOS – iPhoneOS

Apple hace unos años  apostó y muy fuerte en el campo de la telefonía móvil y el resultado final es el iOS, un sistema operativo muy estable, muy cuidado, elegante, vamos, lo que se dice una maravilla, ademas con la idea del AppStore, ya que fue el primer sistema operativo en disponer de un market a gran escala, existen miles de aplicaciones para el iPhone. Que puedo decir sobre este sistema operativo tan comentado, alabado y criticado a la vez. Pues que a la hora de elegir un terminal en base a su sistema operativo, iPhone o mejor dicho el iOS es una de mis principales opciones, pero tiene varios problemas, uno de ellos es que es demasiado restrictivo. Para dar a iPhone el toque de terminal exclusivo, Apple no podría dejar que la gente hiciera lo que quisiese, pudieran instalar aplicaciones que modificaran el sistema operativo porque  permitiría de una manera sencilla liberar el terminal y se acaba el chollo para las  compañías que lo venden con planes abusivos, tampoco podemos correr ninguna  aplicación que sea interpretada y no compilada en código nativo ya que sino el terminal iría mas lento, excusa de mas lento un terminal que hasta su versión 4 no ha introducido el concepto de multitarea, algo que el resto de los anteriormente comentados llevan años haciendolo. Para mi, puntos fuertes es el estilismo, aplicaciones, API muy cuidada y documentada, pero por el contrario me atan con un proveedor con tarifas exageradamente elevadas y abusivas. Ademas, resaltar los problemas que ha tenido el iPhone4 por la cobertura de la señal. Bueno, también resaltar que para realizar una  aplicación para iPhone, tienes que programarla con xCode desde Mac, no se puede en ninguna otra plataforma.
Apple IphoneApple Iphone

Android

Por último, lo dejo para el final porque ha sido mi elección, un sistema operativo de Google, una maravilla de sistema donde los haya. Muy cuidado en todos los sentidos. He podido probar las versiones 1.6 desde el  móvil de un amigo, así como la 2.1 con mi actual teléfono HTC Legend y puedo decir que todo esta muy pensado, aunque aun esta verde. Es un sistema operativo pensado para tener acceso a internet. Los contactos, email y demás, aunque podemos configurarlo desde el propio teléfono, esta preparado para funcionar desde la nube, nube que genera Google con Gmail, pudiendo añadir, a esta nube Facebook, Twitter y Flickr. Las aplicaciones al igual que pasa con los Symbian de Nokia, pueden correr con un API Nativo de C o con un API de Java, aunque decir que el API de Java de Android esta mucho mejor pensado y distribuido que el de Symbian, también porque lleva menos años y por tanto menos parches. Las aplicaciones son visualmente atractivas, pero con su toque de sistema, es decir, al mismo estilo de iPhone, pero con el sello Android. A diferencia de iPhone, cosa que me gusta mucho, es que Android dispone de varios escritorios principales, donde podemos incluir accesos directos a nuestras aplicaciones pero también carpetas con archivos, widget, etc. y luego ya tenemos nuestra ventana con el listado completo de aplicaciones. Punto fuerte de este sistema es el Google Maps Navigator, un GPS que se actualiza en red con los  últimos datos desde Google Maps y que esta haciendo temblar a TomTom y Garmin. Programar para Android es mucho mas sencillo porque el SDK es fácil de instalar y utilizar, se programa en Java con Eclipse, para cualquier plataforma, da igual Windows, Linux o Mac por lo que no tenemos que invertir en licencias para programar. A pesar de ser el mas similar en cuanto a estilo con iPhone, es bastante mas superior en otros aspectos, ya que se puede personalizar mucho mas, por ejemplo el HTC Sense, puedes instalar libremente programas que bajes de internet y no estén en el Android Market. Para los desarrolladores es mas barato ya que la nube es de Google y no tiene subscripción como Azure de Microsoft o el Market solo cuesta 25$ y no 100$ como el de Apple.
Google AndroidGoogle Android

Resumiendo lo anteriormente dicho, de los 4 sistemas operativos que he comentado, decir en pocas palabras, que Microsoft llega muy pero que muy tarde a la nueva carrera de los smartphones y ha quedado descolgado del resto, al menos hasta navidad y la salida de Microsoft Windows Phone 7. Si buscamos un teléfono que sea igual que hace 5 años, en todos los sentidos, velocidad incluida, Symbian es el tuyo, pero como no, con un Symbian, casi siempre ira acompañado un Nokia, que siempre se venderá bien y no deja de ser un Nokia. Si queremos fardar, aparentar y gastar mucho dinero, iPhone es el nuestro, pero si queremos tener algo como un iPhone pero mas asequible al bolsillo, lo mejor es un Android. En definitiva Android es para mi opinión personal, el mejor sistema operativo a elegir dentro de un terminal móvil en la actualidad, ya que podemos disfrutar su potencia y características, desde un simple, sencillo y barato Huawei hasta el increíble HTC Desire.

El primer Iphone

Primer Iphone
Primer Iphone

A veces me da por buscar palabras a lo loco por el Google Images, al igual que me pasa con la Wikipedia, que empiezo a buscar a lo mejor Fabada, luego Asturias, luego Celta, y voy relacionando relacionando y acabo a lo mejor en como los chinos construían los arrozales. Pues con Google Images, me pasa igual, y buscando buscando, no se como he llegado a encontrarme una foto, no se si seria un Fake del primer Iphone. En la foto se ve un teléfono de Apple, que aunque me recuerda mas a las maquinitas de algunos supermercados como Mercadona para firmar con la tarjeta de crédito, se parece a las antiguas Palms en blanco y negro con un súper lápiz con pantalla táctil. Ahí se queda la imagen para que cada uno saque sus conclusiones sobre lo que podría haber sido el primer Iphone.

Scroll al inicio