De Android a iOS: Crónica de una experiencia migratoria


Ahorita estoy trabajando en unas cuantas apps móviles. Me las he tenido que ingeniar para tener acceso a todas las plataformas posibles allá afuera (empezando por las 2 más importantes del mercado) y además me surgió la necesidad de cambiar de teléfono recientemente porque, (sí, ríanse) me parece que estoy siendo espiado.

Prefacio

Mi primer smartphone (que cuente) fue un Android con Gingerbread. Desde ese, he usado teléfonos/tablets con Ice Cream Sandwich y Jelly Bean, y aunque a lo largo de "la historia" he tenido acceso a varios dispositivos con iOS nunca había tenido acceso a uno "de tiempo completo" para trabajar y usar, hasta ahora. He conseguido el iPhone 4s con red Telcel y la razón del cambio prematuro fue que para empezar se me presentó la oportunidad de obtenerlo fácilmente y además, últimamente he estado muy al pendiente de mi privacidad y la de mis proyectos. Android es una plataforma segura, pero (no se ofendan fanboys) en móviles, iOS es más seguro (y no por lo que muchos piensan o lo que dice ese artículo que enlazo exactamente, explicaré mis razones para creerlo así más adelante).

Este iPhone tiene ya la última versión de iOS (que me parece es la 7.0.6 al momento que escribo esto) y funciona de maravilla, pero ese comentario es demasiado trivial, vayamos a la crónica:

Ecosistema


Es muy diferente el ecosistema de Android al de iOS. De entrada estoy contento de que ambos teléfonos puedan funcionar (ser sincronizados/administrados) 100% usando linux. Hablando de la descarga de apps es muy similar (o casi idéntica) a lo que vivirías en Google Play, pero la App Store se siente mucho más "trabajada" (aunque ese es el "feel" básico de todo el sistema, cosa que me entristece como veremos más adelante). Sin embargo hay algo que me dio muchísima risa y es que mientras que las recomendaciones de la Play Store son algo así como

"Oh mira, descargaste esta app, aquí hay otras similares o que complementan sus funciones!"

Las de la App Store son algo así como:

"Oh mira, descargaste esta app GRATUITA, aquí hay otras A SÚPER BUEN PRECIO QUE PUEDES COMPRAR"

jajajajajaja uno no puede evitar notar la diferencia.

Otro punto importante a nivel ecosistema es que apple trata de que te metas más y más al mismo, que te hagas dependiente. ¿Cómo? bueno, a través de iCloud por ejemplo. Básicamente quieren tomar el control de tu vida digital a cada momento y esperan que ofreciéndote atractivas funcionalidades y herramientas bastante útiles y coquetas cederás fácilmente con un "sí a todo" (misma estrategia que aplicaba Google antes de meternos hasta por los ojos lo que querían que usáramos como Google Plus) jaja. Aparte de esta "más educada versión de dominación" a comparación de lo que aplica Google hoy en día, otro punto a favor de la manzana (y no quiero decir que el antes citado lo sea, pero en un mundo donde todos hacen lo mismo, es mejor que lo hagan educadamente), es que cada que vas a aceptar un contrato de ellos te ofrecen la posibilidad de recibir por e-mail el documento completo, cosa que se agradece porque en el momento nadie va a estar leyendo como tal desde un teléfono un documento de 60 hojas... Sin embargo si te lo envían a la computadora bien puedes parar un momento a leer en tu cómodo monitor antes de dar el sí.

En general, todo el setup básico del aparato fue muy rápido y contrario a lo que yo pensaba (que me imagino que es lo que muchos piensan antes de probar realmente este tipo de productos, sobretodo los linuxeros como yo) al usuario se le da mucho poder, control sobre los términos, el sistema y demás (cosas que platicaremos más adelante).

Apps


La siguiente prueba de fuego fueron las apps: Afortunadamente pude conseguir todas las apps que uso en mis dispositivos Android (como mi tablet, que esa no cambió por ejemplo) y las aplicaciones pesan lo mismo (en total mi stack en los dos dispositivos ronda los 2GB). Lo que sí es que hay algo que me tiene bastante decepcionado de algún modo y es que las apps en iOS son bellísimas, mientras que sus contrapartes en Android parecen aplicaciones hechas al "ahí se va" en comparación; (Contados los casos donde se nota que los desarrolladores le pusieron empeño a ambas plataformas por igual) y no creo que esto sea justo porque precisamente ese tipo de "desatención" es la que daña a final de cuentas a los mercados que deberían tener alternativas de la misma calidad (tanto estética como funcional) en todos los sistemas operativos móviles (o de escritorio) disponibles, es decir ¿Qué les cuesta hacer las cosas bien para todos? No importa que Android "como quiera que sea domine con su cuota de mercado" eso no es excusa para no esforzarse estéticamente en base a un "de todos modos muchos lo van a usar". Eeen fin.

Algo que sí es súper cool del ambiente de apps en iOS es que puedo descargar programas como GarageBand (o "pa pronto") apps de la iLife suite en mi teléfono. Estas apps son programas de gran calidad en lo que hacen y sus funcionalidades (al menos en el caso de Garageband que es el que he probado porque soy músico) no dejan nada que desear. Es algo excelente el poder usar estas apps sin necesidad de usar el sistema de las Mac, que no me llama tanto la atención a comparación de mi Fedora Linux.

El usuario al poder


Algo que me gustó mucho del iDevice es que en todo momento se siente y se nota que el usuario está en control (sí, más que en Android y ahorita verán porqué, no se alarmen). Desde el hecho de poder leer los contratos cómodamente, pasando por el hecho de poder tener ajustes minuciosos por aplicación completamente personalizables manualmente (qué tanto quieres que haga o no haga facebook por ejemplo: ¿Notificaciones con vibración y sonido? ¿Subir siempre tus fotos en calidad HD? etc.) o incluso el hecho de poder decidir qué tipo de notificaciones nos puede enviar cada aplicación habla muy bien de la plataforma de apple. Este punto es algo difícil de describir, tienen que probarlo "en vivo" para entenderlo. Android es famoso por permitir más libremente cuestiones "de hackers": Meterse a las entrañas del sistema operativo con adb, jugar con el código liberado, etc... Sin embargo aunque esto es bastante bueno no es una forma de darle poder al usuario final, es una forma de darle poder a alguien que ya lo tiene, el poweruser. Es decir, a mi pónganme ante cualquier aparato/software/sistema y sé que lo voy a "domar" fácilmente, jugaré con sus entrañas y lo terminaré adaptando a mis necesidades como me gusta (no por nada he usado mi querido fedora linux a todos los niveles que se puedan imaginar todos estos años); Pero a lo que voy es que ese tipo de poder sólo es válido ante quien sabe ejercerlo, iOS ofrece la posibilidad de darle poder al usuario del dispositivo y esto quiere decir que hasta mi abuela podría configurar "a la poweruser" preferencias tan drásticas o tan mínimas como ella quisiera en uno de estos dispositivos iOS con tan solo leer las opciones y deslizar uno que otro botón. Android no ofrece el nivel de control que iOS ofrece al usuario final, como dije, tienen que probarlo para entenderlo, pero les daré una breve explicación:

Ejemplos básicos de lo que trato de explicar arriba son que por ejemplo iOS sin instalar nada permite al usuario restringir funciones del teléfono bajo ciertas circunstancias, revisar (y modificar) los permisos que tiene cada aplicación en el sistema (obviamente no permite añadir más de los que la aplicación necesita, sino que permite desactivar los permisos que el usuario encuentre intrusivos de entre aquellos que pide de entrada al instalarse) y también sincronizar el equipo vía WiFi con la computadora directamente o bien, habilitar el Do not track para todas las aplicaciones con publicidad en el sistema, todo esto al alcance de un simple "tap" (entre otras muchas cosas) dentro de los ajustes del sistema sin tener que descargar aplicaciones externas para añadirle funcionalidad que ya viene de fábrica al sistema operativo. En android yo no he visto ninguna de estas funcionalidades sin la necesidad de usar una aplicación externa para lograrlo (Como algún filtro para el do not track en apps con anuncios) y de plano no he visto la posibilidad de quitarle permisos a las aplicaciones de ninguna manera. Otro ejemplo, el más básico quizá, es la manera de desinstalar aplicaciones, cosa de la que hablaremos más adelante.

Porqué android "apesta"


Muchos fanboys me van a quemar por esto, pero los verdaderos linuxeros no. Todos aquellos que ENSERIO usamos linux, sabemos que android apesta a nivel constitución. No es un mal sistema, pero así como desde los inicios de los dos titantes en los 70's el ahora Windows nunca se ha podido comparar en calidad con el ahora llamado "OS X", Android y iOS traen la misma pega al campo de batalla móvil: Android es el Windows de los móviles (desde el punto de vista corporativo) al ser la plataforma que predominó en una industria inventada por apple (la del smartphone como lo conocemos hoy) debido a una mentalidad de "divide y vencerás" (varios OEM's para un mismo S.O.) sin embargo, esto (como pasa en Windows) vino a fregar la calidad del sistema y es que la mayoría de los problemas que la gente le ve a Android no son culpa del sistema como tal, sino de malas experiencias de usuario generadas por un montón de manos que "se pasan la bolita" al momento de crear un producto (que si el fabricante, que si google, que si la operadora...) Al final esta desorganización es algo que el usuario paga y se traduce en un sistema "que apesta" (esto no es del todo literal) ante un competidor integrado como iOS (y se los digo yo, que ahora tengo la oportunidad de usar y comparar ambos sistemas realmente).

Sin embargo, en un mundo ideal donde todo es perfecto y las cosas funcionan como se debe, un excelente dispositivo android (y me refiero a las líneas de dispositivos de Google o los nuevos motorolas como el Moto G por ejemplo) dejan relucir la parte de android que "apesta" por sí sola (y no por culpa de otros) y esto es su, ammm ¿cómo llamarla? "construcción":

Cualquier linuxero que tenga buenos conocimientos técnicos, sabrá que android "es un linux" muy muy primitivo que básicamente lo único que hace es servir como "base" para una máquina virtual Java donde se desarrolla toda la acción del entorno. Android es pesado, MUY pesado (al menos en versiones anteriores a KitKat). y ¿cómo lo sé? dejémonos de tecnicismos, veremos un ejemplo del mundo real más adelante en el apartado de rendimiento.

Retomando un punto del apartado de arriba que tiene correlación aquí, otra razón por la que "android apesta" es porque trabajar en el dispositivo se hace rebuscado: En el apartado de arriba comentaba sobre el ejemplo de borrar aplicaciones. En android o te bajas una app "fácil" para administrar tus apps (como AppMgr III) o navegas decenas de menús hasta llegar a la verdadera opción para desinstalar una aplicación del dispositivo. Si a esto le agregamos que los teléfonos de gama media/baja android a cada rato adolescen de espacio en la memoria interna, entonces tienes una experiencia de usuario "excruciante" que obliga al mismo a aprender cosas desde lo más básico hasta lo más rebuscado como:


  1. Cuál es la manera correcta de desinstalar una app android
  2. Cómo aumentar la memoria interna de tu android device
  3. Cómo borrar los datos acumulados de una aplicación para liberar espacio en el teléfono


Android lleva a cualquier usuario básico (en necesidad) a volverse un poco más al lado power user. Mi abuela con su dispositivo de gama media/baja no tiene tiempo de aprender todo esto. En iOS, desinstalar una aplicación es tan sencillo como dejar presionado un ícono en tu "home launcher" y cuando se entre en modo de "edición" presionar la pequeña x en el ícono de la app a borrar. Esto quita el ícono del "launcher", borra los datos de la app y la desinstala por completo del sistema. En android se puede hacer lo mismo, pero ese proceso sólo borra el ícono del launcher, borrar los datos y desinstalar la aplicación del todo "es todo un viaje" como comento arriba.


A lo ya tratado en este punto añádanle el rollo del malware (en teléfonos rooteados con tiendas no oficiales, aclaro) y la cuestión de la fragmentación, cada vez más y más dispositivos android se quedan sin actualización de versión por decisión de alguna de las piezas en el "rompecabezas del producto" (generalmente el OEM o la operadora) desgraciadamente, en iOS estas 2 cosas casi no pasan (bueno, lo del malware igual que en android queda descartado porque yo no le veo sentido a cuestiones como el jailbreak y las tiendas externas como tampoco se lo veo a sus contrapartes android); Pero lo que sí es que apple se ha destacado en cuanto a soporte y vida del iOS en los dispositivos a lo largo de la historia, si no mal recuerdo el iPhone 3GS tuvo soporte (y capacidad de correr) todas las versiones de iOS desde que salió el dispositivo (con iOS 3 me parece) hasta la llegada de la versión 6 del sistema y sus updates (la versión 7 que es la última me parece que ya no corre en dicho dispositivo), esto se traduce en alrededor de 3-4 años de soporte completo para un dispositivo por ejemplo, y en ese caso particular, el iOS 6 incluso le añadió funcionalidades importantes al teléfono, dándole "otro aire" para nada incremental, sino evolutivo.

Feeling y Rendimiento


Aquí viene la parte que me da risa. El iPhone que tengo ni siquiera me parece sorprendente en especificaciones. Es un teléfono con un procesador dual core a 1Ghz con 512 MB de RAM ¿quéee? sí, así de "low specs" nos vamos. Mis dispositivos android de uso diario cumplen con las siguientes características:

Tablet:

  • 1.2 Ghz de procesador Single Core.
  • 354MB RAM
  • Android 4.0.3

Xperia Play:


  • 1.0 Ghz de procesador Single Core
  • 512MB de RAM
  • Android 2.3.4


Ambos están más lentos que el iPhone, bastante más y se nota bajo uso normal en ambos casos (obvio el culpable es el procesador single core). En cuanto a la RAM, ésta se llena fácilmente en los android devices, no sé si es mi imaginación pero me parece que el porqué de esto se debe a que Android y iOS manejan el multitaskting de manera distinta, parece ser que iOS "pausa" o pone las aplicaciones que el usuario no ocupa al momento en una especie de "modo segundo plano" mientras que en Android siguen consumiendo los mismos recursos, esto hace que en Android la RAM se llene cada vez más y más si abres varias apps y las dejas corriendo, además del procesador si éstas lo ocupan (pues todas tienen la misma prioridad en el consumo de recursos las estés usando directamente o no) mientras que en iOS parece ser que se ha implementado una función similar a la del AppNap de OS X Mavericks.

NOTA: En el AnTuTu Benchmark, mi iPhone 4S tiene una puntuación de 12731 mientras que mi tablet android tiene un total de 4314 puntos y el Xperia play tiene 3036, la diferencia es abismal.

Hablando de multitarea, (y como una introducción a los apartados de duración de la batería y seguridad y privacidad que veremos más adelante) Aquí me gustaría explicar otro punto comparativo importante: En ambas plataformas, apps como facebook o google plus tienen acceso a multitarea en tiempo real. Durante mucho tiempo esta funcionalidad fue la bandera de muchos defensores de android que se amparaban en decir que iOS era "malo" porque no tenía esta característica (y no apareció hasta iOS 7 si no me equivoco). Muchos incluso te hacían creer que quizá a iOS le "faltaba algo" pues nadie sabía explicar a ciencia cierta qué significaba eso de "multitarea en tiempo real", pero sonaba importante. Bueno, sucede que dicha funcionalidad (ahora presente en ambas plataformas) no es más que la capacidad de las aplicaciones para ejecutar procesos en segundo plano aún estando cerradas (los daemons normales no cuentan, éstos son procesos aparte de los daemons) Ejemplos de uso son las apps que menciono: Facebook y Google Plus, (hay muy pocas en realidad) mismas que no ocupan esta función más que para saber tu ubicación en todo momento (así es como facebook se entera de dónde has estado aún sin que tú seas proactivo compartiendo tu ubicación en la red social a cada rato); Esto no sólo es intrusivo, sino que al poder utilizar capacidades GPS OnDemand (y conectividad de datos) gasta batería y dependiendo de tu plan móvil, datos. En android no hay manera de deshabilitar esto (ya que lo más cercano es desactivar el tráfico de datos de fondo y esto no se puede sin dejar inservible a la play store) y por ello, es que muchos dispositivos android (sobretodo los de gamas media/baja) tienen muy mala calidad de batería. En iOS no sólo se puede desactivar selectivamente (por aplicación) sino que por completo, permitiéndonos así ahorrar una gran cantidad de batería, una quizá pequeña porción de datos móviles (cuando no estamos sobre Wi-Fi) y lo más importante, protegiendo nuestra privacidad en gran medida.

Duración de la Batería


El primer día que adquirí el iPhone instalé mi stack de 30 aplicaciones básicas (las mismas que tengo en mi tablet android prácticamente) y las abrí una por una para checar que todas corrieran bien. Como no sabía cerrar aplicaciones en iOS en el momento, sólo apretaba el botón de Home y seguía abriendo apps, y el teléfono estuvo así todo el día (y parte del que siguió) hasta que leí cómo se cerraban apps en iOS. Tenía 30 apps corriendo, usé el teléfono como lo usaría comúnmente a lo largo de un día normal, puse algo de música y la batería apenas bajó en un aproximado de 30 a 40% después de más de 24 horas de todo ese "castigo" dejándome en 62% de batería antes de conectarlo debido a que debía sincronizarlo de todos modos y se comenzara a cargar de nuevo.

Los 2 dispositivos que tengo activos (la tablet y el iPhone) tienen más o menos el mismo tiempo de vida conmigo y la pila de la tablet dura apenas 6 horas en modo standby (y ni se diga bajo uso similar al que menciono del iPhone porque duraría de 1 a 2 horas y ya sería necesario cargarla, incluso bajo menos "castigo"), mientras que la del Xperia no sé realmente cuánto duraba exactamente, pero puedo asegurarles que lo cargaba hasta 2 veces al día teniéndolo incluso en uso mínimo a medio. De nuevo me parece que iOS 7 tiene algo similar al AppNap como menciono anteriormente. Estos pequeños detalles que he estado describiendo a lo largo del post me han dejado más que demostrado el hecho de que no es tanto el hardware, sino el sistema operativo lo que importa.

El iPhone 4S como dispositivo


Si hablamos a nivel hardware, en general este iPhone me tiene contento. La pantalla es brillante y clara, además de buen tamaño. El acelerómetro es responsivo y cómodo, el teléfono se siente sólido y confiable. La cámara toma fotos de buena calidad y me sorprende que funcione tan bien en condiciones de poca luz. La bocina de salida tiene audio fuerte y claro, también la de llamadas. El teléfono tiene buena recepción, pero últimamente a veces se pierde la conexión con la red de telcel (no sé porqué) y eso no me gusta. Reparar eso es tan fácil como activar y desactivar el modo avión para que el dispositivo vuelva a encontrar la red. Los micrófonos tienen muy buena calidad, pero a mi gusto les hace falta una pizca más de cancelación de ruido. La cámara frontal se me hace muy básica, pero cumple con su cometido (aunque una mejor resolución me haría ver mejor en videollamadas vía skype sin embargo jajajaja); Se supone que la pantalla es resistente a las huellas digitales y grasa humana del diario, pero se queda muy marcada, eso no me gusta tanto ya que se nota cuando el dispositivo está apagado, los datos móviles y la conexión 3G funcionan perfectamente bien en todos lados, cosa que no pasaba con mi viejo android (funcionaban muy de vez en cuando y sólo en ciertos lugares). Lo que sí no me gusta del iPhone a nivel hardware es que a pesar de que tiene Bluetooth, éste es casi inservible, al sólo funcionar con dispositivos iOS o hardware "compilante", nada de estar mandando archivos a tu tablet/móvil android vía bluetooth desde el iPhone, se requieren aplicaciones extra para enviar/recibir data de una manera similar (Como instashare si no quieres usar datos/internet o dukto si usas diferentes plataformas como Windows, Linux, Android etc. junto con tu iPhone).

En cuanto a drop tests, es algo curioso: Se me ha caído el aparato 3 veces y una de ellas de manera violenta a una altura considerable e incluso de frente. No le ha pasado absolutamente nada más allá de un pequeño talloncito en la esquina superior izquierda que no se nota para nada a menos que lo veas con detenimiento (mi iPhone no tiene case de momento). Digo que es curioso porque he visto drop tests de otras personas del mismo dispositivo en Youtube y parece que es un teléfono de cristal que se rompe completamente ante el más moderado impacto, el mío sin embargo ha demostrado ser rudo y eso me agrada pues tiendo a ser descuidado.

El aspecto "Hacky"


Algo que sí echo de menos de android en el iPhone es el hecho de poder usar un shell linux del teléfono directamente desde la computadora mediante adb y trabajar en el dispositivo como si de mi computadora linux se tratase mediante la consola, Sin embargo, hay un aspecto (que entra dentro de éste apartado) bastante importante que me gusta de iOS y es que te da acceso a logs detallados y completos desde los ajustes del teléfono, de esta manera puedes checar cuestiones importantes como por ejemplo si alguna pieza se dañó en alguna caída o algo similar al más puro estilo poweruser (detectando "kernel panics" en tus logs). Lo que sí es que al igual que en Android, bien existen aplicaciones para administrar remotamente otros equipos por SSH, VNC etc. y eso es algo que me mantiene contento a pesar de no tener el puente de adb jaja.

Seguridad y Privacidad


Esta fue la principal razón por la que boté mi teléfono Android y me cambié a un iPhone. Además de lo citado en este artículo, Algo importante es que iOS tiene una capa de encriptación directa que se activa al bloquear el teléfono con un passcode en la pantalla de bloqueo. Esto quiere decir (entre varias otras cosas) que si por ejemplo alguien roba tu iPhone y lo conecta a la computadora, no podrá extraer información de él hasta que introduzca la contraseña (misma que puede ser de 4 dígitos en adelante según tus preferencias en el dispositivo), mientras, la data estará encriptada. Lo más interesante de esto, es que en los ajustes del teléfono puedes activar una opción de "nuke" que borra toda la data del teléfono si el passcode se ha introducido incorrectamente 10 veces. Esto aunado a la posibilidad de modificar los permisos de las aplicaciones, el hecho de poder controlar fácilmente qué apps pueden usar tu información de geolocalización y para qué, o el hecho de poder activar un filtro do not track a nivel teléfono para las apps con publicidad sin instalar absolutamente nada además del hecho de que los datos de acceso de tu cuenta de iCloud nunca se guarden en el dispositivo (entre otras cosas) hacen del iPhone una mejor elección (a mi manera de ver) al momento de buscar seguridad y privacidad en un móvil si lo comparamos con android.

Finalizando...

¿Me gusta el iPhone? Bastante. Así como desde hace 5 años o más uso únicamente Fedora Linux en mis equipos de escritorio, es posible que a partir de ahora nunca más elija usar otro móvil que no sea un iPhone. Claro que como todo buen geek & developer no me voy a despegar de las novedades de otras plataformas como Android (que tendré siempre cerca en forma de tablet), Firefox OS, Ubuntu Phone, Windows Phone etc. Pero de momento puedo dejar bien en claro que mi consejo es: Si puedes conseguirte un iPhone, no lo pienses 2 veces... Sé que muchos locos talibanes del software libre dirán misa sobre este artículo, (debido a que este es un blog mayormente linuxero) pero mi respuesta para todos ellos (aún después de haber explicado todo lo comprendido aquí) es:

Si nunca has usado un iPhone enserio, simplemente no puedes entender lo que acabo de escribir.