miércoles, 14 de diciembre de 2011

RIL, Baseband. Qué son y cómo cambiarlas

Empecemos por los conceptos:
  • Baseband / Radio: Es el software encargado de controlar las funciones de teléfono y el acceso a Internet del móvil. En la mayoría de dispositivos también afecta a la funcionalidad de la cámara. Para cambiarlo es necesario flashear una nueva versión sobre la actual.
  • RIL: Son las iniciales de Radio Layer Interface. Es la capa de abstracción que se encuentra entre el baseband y los servicios de telefonía de Android. Puede instalarse sin necesidad de flashear nada.

Cambiando el Baseband del LG Optimus 2X

Antes que nada, ¿necesito cambiarlo? Pues depende de la versión que tengas, y las ventajas que puedan ofrecerte otras Baseband.

Para ver qué baseband tenéis, id a Ajustes > Acerca del teléfono.

Acerca del teléfono (en mi caso sale con la interfaz tuneada de MIUI, que es la ROM que uso actualmente)

Normalmente, cada Baseband mejora la anterior, excepto en algunas pocas ocasiones en las que (por poner un ejemplo) la nueva pueda consumir un poco más de batería a cambio de ganar más cobertura, lo cual ocurrió con alguna de las anteriores.

Personalmente, tras probar varias, creo que la mejor de todas es la más actualizada (lo cual como digo, suele ser lo normal), que en este caso, a día de hoy, es la versión 1035.21_20110725 (V20l version).

Pasos para cambiar el Baseband
1. Hacer backup de toda nuestra información. Al hacer un cambio de baseband es altamente recomendable flashear de nuevo una ROM, para evitar comportamientos inestables.

ADVERTENCIA: Al flashear con smartflash se borrará absolutamente todo, incluyendo la memoria interna del teléfono. Si tenéis una SD externa, permanecerá intacta, pero recomiendo que si vuestra ROM deposita carpetas en ella como ".android_secure, Android, etc." las eliminéis también., para evitar comportamientos extraños de la ROM que instaléis después.

2. Descargar los archivos siguientes:
- SmartFlash driver
- SmartFlash P990
- Baseband 1035.21_20110725 (V20l version)

3. Descomprimir e instalar el driver.
4. Descomprimir y ejecutar como administrador (clic derecho > ejecutar como Administrador, en Windows Vista y Windows 7) "SmartFlashTool_P990.exe". Dejamos abierta la aplicación.

5. Con el teléfono desconectado, llevar a cabo los siguientes pasos:

  • Apagar el teléfono
  • Quitar la batería
  • Mientras se mantiene pulsada la tecla "Volumen menos" enchufamos el teléfono al ordenador. Si aún no está reconocido vuestro dispositivo, lo detectará e instalará automáticamente.
  • Debería rellenarse el campo "COM Port" de la aplicación SmartFlash automáticamente. Si no se rellena, tened paciencia unos minutos, que detecte vuestro teléfono, y si aun así no se rellena probad desconectar el teléfono y volver a repetir el procedimiento de conectarlo pulsando "Volumen menos".

6. Una vez se rellene el campo "COM Port" automáticamente, id a la pestaña ROM Copy D/L y verificad estos campos (que por defecto deben estar así):
  • Normal mode: Debe estar activado
  • Erase cal: Debe estar desactivado

7. Ahora tenemos que especificar qué baseband queremos flashear. Haced clic en Browse (está al lado de CP Bin) y buscad el archivo del baseband que habéis descargado antes.

8. Haced clic en el botón Start y tened paciencia hasta que el proceso finalice totalmente, sólo tarda un par de minutos.

9. Arrancar en recovery y flashear la ROM que deseéis utilizar. En este post indiqué en su día algunas de las mejores.

10. (Omitir este paso si utilizáis la ROM MIUI por un bug que tiene esta ROM de pérdida de cobertura si actualizáis el RIL. Más info aquí.) Descargar la aplicación GetRIL del Android Market (es necesario tener root para utilizarla). Abrid la aplicación y la aplicación os dirá si vuestro Baseband y RIL coinciden, que es lo ideal. Si no es así, dadle a actualizar y se descargará el RIL correcto para vuestro Baseband. Una vez descargado e instalado (es casi instantáneo) debería salir un mensaje en verde indicando que vuestro Baseband y RIL coinciden.

11. Reiniciad el terminal.

Referencia:

Corrección de algunos errores en la ROM MIUI

He detectado algunos errores en la ROM MIUI, que aunque no demasiado importantes (al menos los dos primeros), no dejan de ser molestos.

Para los dos primeros errores es necesario que seamos root, y tener un explorador de archivos que permita montar el sistema de archivos como lectura/escritura (por defecto está como sólo lectura). Lo ideal y más cómodo es tener Root Explorer, pero si no lo tenéis o no queréis comprarlo, podéis usar ES File Explorer.

Para habilitar permisos de escritura en los archivos de sistema:
- Root Explorer: Darle al botón Mount R/W de la esquina superior derecha.
- ES File Explorer: Entrad en configuración y al final de todo podéis habilitar las dos casillas de Root para modificar archivos del sistema.

Importantísimo: Acordáos de volver a desactivar estas opciones tanto en uno como en otro caso, para evitar modificar archivos importantes del sistema por error (que en caso de hacerlo, en el peor de los casos tendríais que reflashear la ROM encima).

Error 1: No funciona Youtube
(Actualización: Solucionado en la versión 1.12.16 de MIUI.es)

Para hacerlo funcionar, una vez habilitados los permisos de escritura, tenemos que editar el archivo /system/build.prop y añadir al final de todo la siguiente línea:
ro.build.lge.version.release=LGP990-V20l

(por si hay dudas, el último carácter es una "ele" minúscula)

Y reiniciar el teléfono.

Este problema está presente en todas las últimas versiones de la ROM. Y está probado con las últimas versiones, incluida la más actual a fecha de hoy (MIUI Optimus 2X v1.12.9).

Error 2: El GPS tarda en fijar la posición
(ActualizaciónSolucionado en la versión 1.12.16 de MIUI.es)


Básicamente esto ocurre porque no es capaz de conectarse a los servidores correspondientes y por tanto es como si no tuviésemos A-GPS. De esta forma se comporta lento como los antiguos GPSs, al no poder descargar la posición exacta de los satélites.

La solución es, una vez habilitados los permisos de escritura, descargar el archivo gps.conf y sustituir el archivo existente en nuestro teléfono ubicado en la ruta /etc/gps.conf.

Error 3: Pérdida de cobertura
Parece ser que en algunos casos, la cobertura se pierde, y si entramos en las opciones vemos que el modo Avión está habilitado (aunque no salga el avión arriba). En este caso la única solución parece ser reiniciar el teléfono, ya que no hay forma de recuperarla.

He comprobado, aunque igual es simple casualidad, que desde que he activado la "Itinerancia de datos" no me ha vuelto a ocurrir. Si me ocurre desde que posteo esto, lo actualizaré. Vuelve a ocurrir aunque actives la itinerancia, por lo que si no la necesitáis, por precaución si viajáis al extranjero, desactivadla otra vez.

Solucionado: Comprobado, en 2 terminales con el Baseband 1035.21_20110725, y la última versión de MIUI si tras flashear la ROM, no actualizas el RIL a su versión "correcta", este problema desaparece. Básicamente parece que es un problema debido a que "oficialmente" la ROM MIUI para Optimus 2X no contempla la existencia del Baseband más actualizado.
Por tanto, no actualicéis el RIL aunque GetRIL os diga que es incorrecto.

Intentaré comentar estos fixes en los foros "oficiales" de MIUI.es, a ver si los incluyen en próximas versiones.

martes, 13 de diciembre de 2011

¿Qué es una ROM? ¿Cómo cambiar la ROM al Optimus 2X?

(Actualizado 13/12/2011)

Antes que nada... ¿qué es una ROM?
ROM viene del acrónimo inglés "Read Only Memory", y se refiere a las memorias de "sólo lectura"  que contienen ordenadores y demás dispositivos electrónicos, y en nuestro caso particular, un teléfono.

La pregunta del millón: Si es memoria de sólo lectura... ¿por qué hablamos de modificarla? El nombre de "memoria de sólo lectura" lo reciben desde sus inicios, en los que sólo podían escribirse una vez (generalmente antes de salir de fábrica). Desde hace unos años, estas memorias pueden volver a modificarse sin problema, utilizando herramientas que nos permitan hacerlo, y al proceso de escribir en una de estas memorias es lo que llamamos "flashear".

Tras la pequeña reseña teórica, una de las grandes ventajas de un móvil Android, es que ya es altamente personalizable según nos llega a nuestras manos. Pero para los más enredas, para los que aún necesitan llegar más allá probando nuevas personalizaciones, mejoras y optimizaciones; para esto y mucho más, existen lo que conocemos como ROMs.

Realmente el nombre que deben recibir es "Custom ROMs" (o ROMs personalizadas), ya que al fin y al cabo son ROMs creadas por comunidades de usuarios en lugar del propio fabricante.
En la ROM está el sistema operativo, Android en nuestro caso, y al estar creadas por la comunidad, se tiende a eliminar (o no incluir) todo lo innecesario que meten los fabricantes (aplicaciones Vodafone y LG en mi caso), optimizar el rendimiento del teléfono, desbloquear funciones capadas por los fabricantes, y ante todo, disponer de un Android más puro (más como nace de Google), sin más intermediarios que los propios "cocineros" de la ROM. Además de todo esto, cada cocinero, y al igual que ocurre en la cocina, modifica partes de la "receta", personalizando el sistema y haciéndolo más atractivo para los usuarios.

Y por fin, entrando ya en materia, paso a detallar algunas de las ROMs más destacadas para este gran terminal, las cuales he podido probar personalmente. Comento ventajas y desventajas muy básicas de cada una. Si alguien tiene una duda concreta y puedo solucionársela lo haré encantado.

CyanogenMod 7.1 (CM7.1)
Cyanogen quizás sea el cocinero de ROMs para Android más conocido, y su CyanogenMod junto con la enorme comunidad que hay detrás, está extendida a prácticamente todos los dispositivos Android (y algunos que no son Android) que existen.

En el Optimus 2X empecé probando la versión RC1, que salío hace unas semanas, y tras eso me lancé a probar las Nightlies (las versiones que van sacando cada noche) en las que seguían añadiendo funcionalidades y corrigiendo pequeños errores.

Ventajas:
- Android 2.3.5
- Muy estable
- Personalizable
- En constante desarrollo (actualmente están desarrollando CM9 con Ice Cream Sandwich - Android 4.0)

Desventajas:
- Pequeños cortes al reproducir video por HDMI en una pantalla externa (al menos hasta la última nightly que he probado)
- No funciona la radio FM (aunque yo personalmente no la uso).

SuperOSR V2
Es un proyecto del Superte@m, un grupo al que le tengo bastante cariño, y cuyas ROMs para mi antiguo HTC Magic, fueron (y son) las que más tiempo han estado instaladas en él (SuperFroyo, SuperBler, SuperAOSP...). Será la próxima ROM que instale en mi móvil.

Ventajas:
- Kernel propio
- Android 2.3.5
- Muy optimizada

Desventajas:
- No funciona la radio FM


Modaco FR19
Esta ROM básicamente es la ROM de LG muy optimizada y en la que se corrigen algunos de los fallos que traía de serie.

Ventajas:
- Es la ROM oficial de LG corregida y mejorada en rendimiento.

Desventajas:
- Android 2.2.2 (ROM de LG)



MIUI
Mi ROM actual desde hace aproximadamente un par de semanas. Y he de decir que estoy encantado con ella.

Ventajas:
- Kernel CyanogenMod
- Totalmente personalizada y personalizable, desde el laucher hasta el locskcreen, bootscreen...
- Repositorio local y online de temas aplicables con un clic

Desventajas:
- Oficialmente sólo disponible en chino e inglés para Optimus 2X. Ya está en castellano
- Pequeños cortes reproduciendo vídeos por HDMI
- No funciona la radio FM
- Algunos errores pendientes (aquí se explica cómo solucionarlos)

¿Cómo instalar cualquiera de estas ROMs?

Generalmente, el procedimiento es similar para todas estas ROMs.

Paso 1. Descargar los archivos de la ROM que queremos:
CM 7.1
Última nightly que he probado (gran ROM, muy estable). (Link oficial)
- Google Apps (en CM se instalan por separado). (Link oficial)

Fuente: CyanogenMod for Optimus 2X

Modaco FR19
Ojo, para esta ROM es imprescindible actualizar el Baseband a la última versión (aquí se indica cómo hacerlo).
- Post oficial

MIUI
- MIUI en castellano
MIUI en inglés

Siempre encontraréis la última versión para vuestro terminal en este mismo enlace

SuperOSR V2
- Desde Movilzona (donde se da soporte a esta ROM por parte de sus geniales cocineros).

Antes que nada, hay que copiar el/los archivo/s de la ROM elegida en la raíz de la tarjeta microSD (sí, hace falta tarjeta microSD, y no en la memoria interna)

Paso 2:
1. Rootear
2. Instalar recovery
3. Entrar en recovery (si no sabes cómo moverte por el recovery, mira aqui)
4. Realizar un backup (por si tenemos que volver a la ROM anterior), siempre antes de cambiar de ROM.
5. Seleccionar Wipe data/factory reset (esto borrará todos los datos del teléfono, asegúrate de haber hecho antes un backup!)
6. Seleccionar Wipe cache partition
7. Install zip from SD card y Choose zip from sdcard.
8. Seleccionamos el archivo de la ROM deseada (sólo el de la ROM que queremos obviamente):
- CM 7.1: En este caso tenemos que instalar los dos que hemos descargado. Primero la ROM, y después las Google Apps repitiendo el mismo proceso (choose zip from sdcard...)
- MIUI: El zip de la versión descargada, cuyo nombre suele ser miuiandroid_Optimus2x-X.X.XX.zip.
- SuperOSR: El archivo SuperOSR-ST@-p990-X.X.X.zip
- ModacoFR19: El archivo previamente descargado Fr19-vanilla-update-modacocustomrom-2x-kitchen-unsigned.zip

9. Damos a OK y "empezará la fiesta".
10. Tras unos instantes la ROM estará instalada en nuestro teléfono. Basta con dar a ++++Go Back++++ y Reboot system y arrancaremos con ella.

El primer arranque tras instalar una nueva ROM siempre tarda algo más, pero ya veréis que en los siguientes no es así.

Tras instalar una nueva ROM, y dependiendo de cuál sea, es fácil que los primeros días consuma la batería más rápido, ya que digamos que está "asentándose en su nuevo hogar" y también que solemos enredar más con ella.

Recomiendo darle un poco de uso, instalar algunas aplicaciones, y reiniciarla de nuevo. He comprobado que algunas de las ROMs realizan algunos pre-ajustes en el segundo reinicio (como me ha ocurrido con alguna versión de MIUI). Además, con eso ya veréis que por ejemplo MIUI, SuperOSR y CM7.1 arrancan a la velocidad del rayo después del segundo reinicio.

sábado, 9 de julio de 2011

Resucitar un LG Optimus 2X

Son muchas las ocasiones en las que nos ponemos a enredar con nuestros smartphones y nos pasamos de "enredas", o hay un corte de luz en mal momento, o cualquier otro acontecimiento aleatorio extraño...

Es normal que a veces la liemos, es lo que tiene "enredar", pero lo más importante es no perder la calma y descubrir cómo solucionarlo.

En el caso de la gran mayoría de smartphones, hay un punto donde es imposible resucitarlo, y es lo que llamamos un Full Brick, que en español vendría siendo la expresión "te has quedado con un ladrillo/pisapapeles".
El LG Optimus 2X tiene una gran ventaja al respecto, y es que, a no ser que haya algún daño hardware por alguna caída o defecto de fabricación, si el fallo lo hemos producido intentando rootearlo o hacerle cualquier "perrería", es posible despertarlo en prácticamente cualquier situación de Brick.

En primer lugar tenemos que saber que el LG Optimus 2X, al tener un "corazón" NVIDIA, cuenta con un modo de restauración adicional con la que la gran NVIDIA dota a sus dispositivos. Este modo se denomina modo APX y nos permitirá acceder y escribir directamente en la ROM del dispositivo, a muy bajo nivel.

Empezamos:

Requisitos
- Ordenador con Windows. Si nuestro Windows es Vista o 7, para utilizar NVflash tendremos que deshabilitar el control de cuentas de Windows (UAC), ya que si no no podremos flashear a nivel bajo.
Para desactivar el UAC, hay que ir a Panel de control > Cuentas de usuario > Cambiar control de cuentas de usuario > Desplazar el control a la parte inferior (Nunca notificar).
Tras hacer cualquier cambio en el UAC, hay que reiniciar obligatoriamente.

Preparando el software
1. Descargamos NVflash y la ROM original de LG (stock ROM) versión 10b de aquí (o aquí si el anterior falla) y extraemos su contenido. Por ejemplo en C:\nvflash
(Actualización: Podemos encontrar las ROMs más actualizadas en este enlace de XDA. Por ejemplo, aquí están las de Vodafone Spain. Las mejoras introducidas básicamente son que corrige más errores y mejora aspectos de fluidez. También mete las aplicaciones de Vodafone, que bueno, ya sabemos cómo quitarlas)
2. Descargar el driver del recovery de arranque de NVidia (modo APX) de aquí (o aquí) y extraemos su contenido en otro directorio. Por ejemplo en C:\apxdriver

Preparando el teléfono
1. Apagar el teléfono
2. Quitar la batería
3. Para entrar en modo APX hemos de hacer exactamente lo siguiente: Con la batería quitada, mantener pulsados los botones "volumen más" y "volumen menos" y enchufar el cable USB al ordenador. El ordenador debería detectar un nuevo dispositivo, aunque si intenta instalarlo fallará, ya que aún hemos instalado el driver.
4. Abrir el Administrador de Dispositivos de Windows (En Windows Vista y 7: Botón inicio > Botón derecho sobre Equipo > Administrar > Administrador de dispositivos).
5. En la lista del administrador de dispositivos deberíamos ver un elemento con un nombre similar a "APX device" con un símbolo de error (ya que no encuentra driver para hacerlo funcionar).
6. Hacemos clic derecho en él, y le damos a "Actualizar driver/software". Le decimos que queremos escoger uno manualmente y buscamos donde extrajimos anteriormente el driver (C:\apxdriver). Debería aparecer un archivo cuyo nombre es algo como: "NVIDIA USB boot recovery driver for mobile devices".
7. Aceptamos y debería empezar a instalar el driver. Si aparece alguna advertencia o warning debemos seguir adelante.
8. Si todo ha ido correctamente, Windows nos dirá que el driver se ha instalado de forma satisfactoria.

Flasheando la ROM
En este momento tenemos el teléfono en modo APX y con el driver instalado, por lo que podemos seguir adelante:
1. Accedemos a la carpeta donde descomprimimos el NVflash y la ROM (C:\nvflash) y ejecutamos flash.bat.
2. Cuando termine el proceso, desconectamos el teléfono del ordenador, le ponemos la batería y lo arrancamos. Tras unos instantes deberíamos tener el teléfono tal y como llegó la primera vez que lo recibimos.

Referencias:
NVflash stock ROM [MoDaCo]
NVflash Setup instructions [MoDaCo]
- ROMs oficiales (XDA)

lunes, 20 de junio de 2011

Eliminando aplicaciones de serie en el LG Optimus 2X

Bueno, tras un tiempo con la ROM oficial, hay ciertas aplicaciones basura innecesarias que debemos podemos eliminar, dado que, en su mayoría, no sirven para nada.

A continuación os mostraré un pequeño tutorial de cómo hacerlo, qué aplicaciones podemos borrar y por qué borrarlas (en mi humilde opinión). Ya cada cual es libre de eliminar las que no utilice/necesite.

  1. En primer lugar, lo más recomendable es, como comentamos en la entrad del blog anterior, hacer un backup, por si eliminamos algo que no deberíamos por error.
  2. Rootear el teléfono
  3. Hay varias formas de eliminar aplicaciones. En este caso, y aprovechando para presentar una aplicación bien consolidada en el Android Market, utilizaremos Titanium Backup. Por tanto, instalamos la aplicación. Pueden activarse funciones adicionales comprando Titanium Backup PRO (es necesario tener instalada la anterior), cosa que aconsejo totalmente si enredáis bastante, y ahora veréis por qué.
  4. El proceso es el mismo para todas las aplicaciones que no deseemos tener:
    1. Abrir Titanium Backup (en el primer uso de la aplicación solicitará permiso de Root, el cuál concederemos y marcaremos la casilla "Recordar"). Podremos ver que la interfaz es muy simple.
    2. Seleccionamos la opción "Copiar/Restaurar" para ver la lista de aplicaciones instaladas en el teléfono.
    3. Seleccionamos la aplicación de la lista que deseamos eliminar. Yo he eliminado sin problemas:
      1. Vodafone 2.2.2: evitamos el mensaje ¿Cómo estás? de la SIM cuando hacen "barridos de red"
      2. SNS 1.0: Twitter, Facebook y MySpace de LG... son malísimos, y mantiene un servicio que consume bastante batería. Siempre es preferible utilizar otros clientes.
      3. F-Secure Mobile Security: Responsable de la mayoría de FC esporádicos que ocurren. Recomendable quitarlo. Si queremos uno equivalente, y más potente, utilizar Lookout.
      4. Consejos iniciales
      5. Club 2020
      6. App Advisor
      7. Gol T
    4. Hacemos clic en congelar (sólo versión PRO), que es lo más recomendado especialmente si vamos a modificar una aplicación marcada en rojo (del sistema); o bien darle a desinstalar (sólo si estamos seguros 100%).
    5. Reiniciamos
Titanium backup - Pantalla principal (izquierda) y menú de una aplicación (derecha)

Cómo realizar un backup desde el recovery

Antes de hacer cualquier cosa que implique riesgo, o simplemente para guardar una copia exacta de nuestro sistema en un momento dado, es recomendable hacer un backup completo del sistema.
En cualquiera de los casos, pensad que este proceso es altamente recomendable realizarlo, ya que puede evitarnos más de un susto.

Para ello basta con seguir estos pasos:

  1. Meter una microSD en el teléfono: Es imprescindible para hacer backups, instalar otras ROMs, etc. ya que son operaciones que no pueden hacerse en la memoria interna del teléfono.
  2. Rootear el teléfono
  3. Instalar ClockworkMod recovery
  4. Arrancar en recovery (aquí indicábamos también cómo hacerlo y cómo desplazarse por el recovery)
  5. Entrar en la opción Backup and Restore
  6. Seleccionar Backup. Tras unos segundos, tendremos una copia exacta de nuestro sistema en nuestra tarjeta SD.


Más adelante, si quisiésemos restaurar nuestro teléfono por algún cambio que no podamos deshacer, repetiríamos el proceso anterior, pero escogiendo la opción Restore en lugar de Backup y eligiendo el backup que queremos restaurar (pueden guardarse varios backups, siempre y cuando quepan en la tarjeta microSD).

miércoles, 15 de junio de 2011

Hard Reset en Optimus 2X mejora la duración de la batería

En principio pensé que esto no era algo lógico, pero tras verlo en tres LG Optimus 2X más, además del mío propio, empiezo a ver que sí es así... Lo detallo a continuación.

Básicamente, cuando recibes el teléfono con su ROM oficial de LG, a gran cantidad de usuarios la batería les dura menos de un día, o un día como mucho, sin prácticamente utilizar el teléfono. Todo esto lógicamente sin contar las aplicaciones que luego instaléis y que puedan quedar residentes consumiendo memoria.

La cuestión es que cuando haces un hard reset (reseteo de fábrica) la batería empieza a durar lo que es lógico para una batería de 1500mAh. En mi caso, viene durando un día y medio, dándole bastante uso, con la conexión 3G activada todo el tiempo.

La pregunta es: ¿por qué leches ocurre esto? Varias teorías "conpiranoicas":

  • Vodafone hace algo en el teléfono antes de entregárnoslo, que desaparece con el reset de fábrica (que lo deja como salió de LG).
  • El sistema tal y como viene preinstalado en masa tiene algún ajuste que produce ciertas comprobaciones internas innecesarias, y que al restaurarlo de fábrica desaparecen.
  • Algún proceso interno oculto (al menos en "Servicios en ejecución" no hay diferencia, ya lo he comprobado con dos teléfonos antes y después del reset) que está ejecutándose y consume batería...
  • WTF?


Para hacerle el hard reset sólo hay que seguir estos pasos:
NOTA: Tened en cuenta que esto borrará todos vuestros datos del teléfono, dejándolo tal y como vino de fábrica.
  1. Entrar en Ajustes > Privacidad
  2. Darle a Rest. datos de fábrica


jueves, 9 de junio de 2011

LG Optimus 2X - Instalando un Recovery

Como lo prometido es deuda, en este post veremos cómo instalar un recovery en el LG Optimus 2X.

Antes de nada, contestar un par de preguntas para los nuevos androides:

¿Qué es un recovery?
Definiéndolo brevemente, podríamos decir que un recovery es la herramienta que nos permite restaurar nuestro teléfono en caso de que el software esté dañado.

¿Qué me ofrecen los recovery no oficiales como el de ClockworkMod?
Una serie de ventajas:

  • Sistema de backup/restauración infalible: Podemos hacer copias de seguridad completas del sistema, y restaurarlas exactamente igual que estaban en el momento que se hicieron. Es posible que también veáis referencias a este concepto como nandroid, cuyo nombre que proviene de cómo funciona este backup: hace una copia exacta de la memoria NAND. Dedicaré el próximo post a este punto, dada su importancia.
  • Formateo y particionamiento de la tarjeta SD: Tenemos la opción de crear diferentes particiones en nuestra tarjeta SD y formatearlas. Esta es una opción que por ejemplo utilizan algunas ROM para ampliar el espacio del teléfono utilizando parte de la SD como si fuese memoria interna, utilizar una partición swap para ganar "memoria RAM virtual", etc.
  • Limpieza (Wipe): Tenemos la opción de borrar los datos del teléfono. Existe la opción de borrar sólo la caché de las aplicaciones, hacer un reseteo de fábrica borrando todos nuestros datos, etc.
  • Sistema de flasheo: Tenemos la opción de flashear/instalar las aplicaciones que deseemos desde el recovery, siempre y cuando vengan preparadas para instalarse desde el mismo. Pero lo más importante de esta función, es el poder cambiar el sistema por completo, flasheando una ROM nueva.
  • Sistema de recuperación: En caso de tener algún problema con nuestro teléfono, utilizando las opciones de backup o flasheo del recovery, podremos restaurar/reinstalar nuestro teléfono.


Instalando un recovery en el LG Optimus 2X
En el caso del LG Optimus 2X lo tenemos fácil. Hay que llevar a cabo los siguientes pasos:

Opción recomendada (coste 1.15€)

  1. Rootear el teléfono
  2. Comprar la aplicación LG Optimus 2X Recovery Flash / Boot en el Android Market.
  3. Ejecutar la aplicación.


Otra opción (gratuita)
  1. Rootear el teléfono
  2. Instalar la aplicación ROM Manager desde el Android Market.
  3. Abrir la aplicación
  4. Darle a la opción Flashear ClockworkMod Recovery y seleccionar el terminal (LG Optimus 2X).
  5. ROM Manager descargará el recovery, lo instalará automáticamente y confirmará que la instalación se ha realizado con éxito.
  6. Reiniciamos el teléfono (es normal que tarde un poco más en el arranque tras la instalación).
    ROM Manager


¿Cómo entramos en modo recovery?
Tenemos dos opciones:
  1. Si tenemos el teléfono encendido: utilizar la opción "Reiniciar en Recovery" que podemos encontrar en ROM Manager, y que también puede verse en la imagen anterior.
  2. Si tenemos el teléfono apagado: mantener pulsado la tecla "Volumen menos" y pulsar la tecla de encendido SIN SOLTAR AMBAS TECLAS, hasta que aparezca el recovery o se enciendan los led capacitivos.

¿Cómo me muevo por el recovery?
Para desplazarse en modo recovery, hay que utilizar las teclas de volumen como cursores, y para aceptar utilizar el botón de bloqueo.

miércoles, 8 de junio de 2011

Ventajas y desventajas de ser root en Android

Como veo que es una duda extendida entre los androides primerizos, paso a detallar las ventajas y posibles desventajas que tiene el hecho de "ser root".

Antes que nada hay que responder a la siguiente pregunta: ¿es necesario ser root para personalizar mi teléfono?

La respuesta es NO si por personalización entendemos cosas como: cambiar el teclado, el "gestor de escritorio" o Launcher, utilizar fondos animados, etc. A diferencia de iOS de Apple (y esto va para los que también utilizáis iOS como es mi caso), Android no necesita "hackear" el teléfono para poder personalizar estos aspectos, y todo esto puede conseguirse mediante aplicaciones.

Entonces... ¿para qué quiero ser root? Veamos qué ventajas tiene:

Ventajas

  1. Control total del sistema, es decir, podemos modificarlo absolutamente todo, incluso la versión del sistema operativo cambiándole la ROM al teléfono.
  2. Gestión de conexiones: Con aplicaciones como DroidWall, disponemos de un Firewall donde podemos especificar qué aplicaciones queremos que se conecten a internet, y cuáles no. Además, podemos controlar si queremos que ciertas aplicaciones se conecten sólo por WiFi, sólo por 3G, o ambas.
  3. Uso de aplicaciones especiales: Existe una gran variedad de aplicaciones que necesitan privilegios de root para funcionar, como por ejemplo para controlar el teléfono desde el ordenador (en los móviles que no disponen de forma nativa de esta función), aplicaciones de gestión de memoria avanzada (especialmente para móviles con pocos recursos), control de aplicaciones al arrancar el sistema, etc.
  4. Control sobre todas las aplicaciones y servicios: Podremos eliminar/modificar/bloquear todas las aplicaciones que vienen por defecto en el sistema, desde las principales de Android, hasta aquellas aplicaciones basura que las operadoras a veces incluyen (en próximos posts se hablará de cómo deshacerse de ellas).
  5. Función de Backup/Restauración del sistema: Una vez que disponemos de un recovery,  es muy sencillo realizar una copia de todo el sistema exactamente en el estado en que está, con todos sus datos y aplicaciones. Del mismo modo, podemos restaurar cualquiera de nuestros backups anteriores. Esta función es muy útil si por ejemplo no queremos perder la ROM oficial que trae de serie, y queremos probar otras alternativas como por ejemplo ofrece CyanogenMod.
  6. Parches de la comunidad androide: Funciones que mejoran ciertas características del teléfono, y que para aplicarlos es necesario modificar archivos del sistema que sólo puede modificar el usuario root. Por poner un par de ejemplos:
    1. Para el HTC Magic hay un hack para ganar 15MB adicionales de RAM, aumentando considerablemente la fluidez del teléfono.
    2. Para el LG Optimus 2X existe un parche que permite grabar vídeo a 30FPS a 1080p, cuando la versión oficial graba a 24FPS a 1080p.
  7. Overclocking/Underclocking: Podemos modificar las  frecuencias máximas y mínimas del procesador, consiguiendo mejor rendimiento en el caso de overclocking y mayor ahorro de batería en el caso del underclocking.
  8. ROMs personalizadas/cocinadas: La comunidad androide es cada vez mayor, y las diferentes personalizaciones de Android crecen como la espuma. Existe una gran variedad de ROMs para todos los gustos y necesidades, pudiendo escoger la que más se adecue a cada persona.


Desventajas

  1. Posibilidad de cagarla "liarla parda": si le damos privilegios de root a cualquier aplicación. Para esto generalmente se utiliza la aplicación de Superusuario, para gestionar y otorgarle ese privilegio a las aplicaciones que "lo merezcan". No debería haber problema siendo medianamente racional y no regalando root a todas las aplicaciones que lo pidan, sin saber qué hacen o para qué lo necesitan.
  2. Actualizaciones via OTA: Si cambiamos de ROM, perdemos las actualizaciones via OTA (Over-The-Air, llevadas a cabo a través de la red de datos o Wi-Fi) oficiales. Si queremos volver a las ROMS oficiales con sus actualizaciones, siempre queda la posibilidad de volver a la ROM de fábrica  restaurando un backup o reinstalando la ROM oficial.

LG Optimus 2X - Root (versión 2.2)

(Actualizado 14/12/2011)

Tras llevar un tiempo prudencial (un par de meses) con esta maravilla de teléfono, he esperado para "rootearlo" todo lo que he podido. En este tiempo he podido observar en detalle las "joyas" (nótense las comillas) que meten tanto compañías telefónicas como las propias marcas.


Una gran ventaja del LG Optimus 2X es que su bootloader está desbloqueado, haciendo muy fácil el proceso de root, y por supuesto reduciendo riesgos de quedarnos con un pisapapeles. Aun así, siempre es importante que tengáis cuidado.


Antes que nada, y como se suele decir en estos casos, tened presente dos cosas:

  1. No me responsabilizo del daño que podáis hacerle a vuestro terminal. En cualquier caso, si algo raro os pasase en el proceso, podéis comentármelo, por si puedo ser de ayuda.
  2. Recordad que es importante guardar toda la información local al teléfono y que pueda ser importante (registros de llamadas, SMSs, notas, etc.)



"Rooteando"...
Personalmente soy de la opinión de que si voy a hacer algo, me gusta saber qué estoy haciendo, así que en lugar de utilizar métodos más sencillos como SuperOneClick para rootear, vamos a hacerlo desde el terminal, por el método que utiliza la gente de CyanogenMod:

ADVERTENCIA: el método de este artículo sólo es válido para la versión 2.2 oficial de LG.
ACTUALIZADO: Si tenéis la versión 2.3 podéis hacerlo de esta otra forma.

1. Descargad estos tres archivos:

2. Descomprimid los archivos en la ruta donde tengáis el SDK, dentro de la carpeta tools (donde tengáis el archivo adb.exe, que es el que nos interesa).


3. Instalad el driver del teléfono si no lo habéis hecho ya. Podéis descargarlo de este enlace.

4. Conectad el teléfono al PC


5. Abrid un terminal  en vuestro ordenador (Por ejemplo desde: Inicio > Ejecutar > cmd) y moveros hasta la ruta donde tengáis instalado vuestro SDK. Desde ahí hay que ejecutar los siguientes comandos
  1. adb push busybox /data/local/
  2. adb push psneuter /data/local/
  3. adb push su /data/local/
  4. adb shell chmod 777 /data/local/busybox
  5. adb shell chmod 777 /data/local/psneuter
  6. adb shell
  7. /data/local/psneuter
  8. adb shell
  9. mount -o remount,rw -t ext3 /dev/block/mmcblk0p25 /system
  10. mkdir /system/xbin
  11. /data/local/busybox cp /data/local/su /system/xbin/su
  12. chown 0:0 /system/xbin/su
  13. chmod 6755 /system/xbin/su
  14. ln -s /system/xbin/su /system/bin/su
  15. exit
  16. adb push Superuser.apk /system/app/Superuser.apk

6. Reiniciad el teléfono y tendréis privilegios de usuario root.

Siguiente paso... cómo instalar un "Recovery" para facilitarnos la vida a la hora de hacer por ejemplo un backup de todo el sistema y poder además instalar otras ROMs.


Referencias:
CyanogenMod Wiki

viernes, 15 de abril de 2011

Captura de pantalla en LG Optimus 2X

Una pega de algunos teléfonos Android es que no podían hacer capturas de pantalla sin rootearlo o al menos conectarlo al ordenador y sacarla utilizando las herramientas del SDK.

En el caso del LG Optimus 2X (al igual que ocurría también en el Samsung Galaxy S) es mucho más sencillo.

Simplemente basta con mantener pulsada la tecla Home (la casa) mientras pulsamos y soltamos la tecla de bloqueo (que también se utiliza para encender o apagar el teléfono).

Esto a los usuarios de iOS les sonará, porque es exactamente como se hacen también las capturas en el iPhone/iPad/iPod Touch.

Captura de pantalla

LG Optimus 2X de Vodafone - Modo 2G

Más adelante posiblemente haré una review de esta maravilla de teléfono, que desde ayer tengo en mis manos. En esta ocasión simplemente voy a hablar de algo que para mi era un problemilla, y de cuáles son las posibles soluciones.

Todo en el teléfono es perfecto, salvo una característica, que a algunos (como es mi caso) nos fastidia bastante no disponer de ella. Estoy hablando del modo 2G, que en los nuevos teléfonos viene como GSM Only.

Hoy día, con los smartphones, el consumo de batería ya no es lo que era, nos gusta tener nuestro móvil conectado a internet, ya sea para que puedan chatear con nosotros con gTalk, WhatsApp, etc. y/o para recibir las notificaciones de correo electrónico.

Normalmente uno no se da cuenta de estas cosas, hasta que se pone a rebuscar por las opciones del teléfono para cambiar y optimizar todo (de hecho los menos enredas ni siquiera llegarán a dar con esta opción o ni saben que pueden hacerlo), de forma que consigamos el objetivo de que la batería nos dure lo máximo posible sin prescindir de funcionalidades del teléfono.

Vamos al lío (aconsejo leer el artículo entero antes de hacer nada en vuestros teléfonos).

Problema: Los últimos smartphones de Vodafone (como el Samsung Galaxy S y el LG Optimus 2X) no ofrecen modo 2G (GSM Only), siendo las únicas opciones posibles:
  1. GSM/WCDMA (modo automático)
  2. Sólo WCDMA
Solución: No hay. Bueno, al menos no hay lo que sería una solución normal.

¿Qué podemos hacer entonces? Dos cosas:

Tipos de redes
1. Entrar en el menú técnico del teléfono pulsando *#*#4636#*#* y en "Información sobre el teléfono" cambiar la opción "Establecer tipo de red preferido" por GSM Only.

Esto funciona estupendamente, excepto que la próxima vez que intentemos entrar en el menú de "Ajustes > Conexiones inalámbricas > Redes móviles" nos va a salir un maravilloso FC (Forzar cierre) del proceso com.android.phone. Para que no os vuelva a dar el error, tendréis que hacer un Reset (en este artículo se indica cómo hacerlo).

Esto para muchos será una solución a medias, ya que si queremos volver a cambiar a otro tipo de red, hemos de entrar en el menú técnico y volver a hacerlo desde ahí...

En cambio para otros puede ser una solución válida, ya que probablemente no entren nunca en ese menú, y si por lo que sea necesitan cambiarlo de nuevo, puedan hacerlo desde el menú técnico.



FC al entrar en Redes móviles
tras usar la primera opción
2. La segunda opción es la que ya muchos conocemos, y es cambiar la ROM del teléfono por otra que contemple todas las opciones, pero que por ejemplo en mi caso esperaré al menos unos días... ya que el teléfono no tiene ni un día, y está bien conocer otras ROMs, aunque sean las oficiales :)

Más adelante dedicaré un artículo a cómo "meterle mano" a esta bestia parda de teléfono, que en este caso es muuuy sencillo, ya que los de LG son listos y no capan los teléfonos.

Si queréis más detalles de este smartphone, podéis echar un ojo a la review que la gente de El Androide Libre ha preparado y que tenéis en este enlace.

Concluyendo: la opción existe, incluso con la ROM oficial como hemos visto, pero Vodafone ha querido caparla, igual que ocurre con los Samsung Galaxy S (que en los de Movistar sí que sale GSM Only). ¿Lo habrán hecho con la intención de que gastemos más en tráfico de datos? (con el planteamiento: como me va rápido, no hace falta poner la Wi-Fi...)

De cualquiera de las formas, sea quien sea el culpable, es un grave error no incluir esa opción. Yo siempre digo que al usuario hay que darle todas las opciones, y ya que él elija (razón por la cual también me gusta más Android que iOS). Y yo elijo que la batería me dure más y cuando quiera navegar rápido ya me conecto a la Wi-Fi o tiro de 3G.

Conectado en modo 2G (GSM Only)

miércoles, 23 de marzo de 2011

SmartScreen para iPhone/iPad: Widgets al estilo Android en iOS

IntelliScreen (Fuente img)
Buscando una forma de hacer iOS más práctico en el iPad, mediante widgets y accesos directos como tengo en Android, he estado haciendo un repaso por todas las formas de reemplazar la pantalla de bloqueo típica, conocida como Lockscreen.

Para empezar, como vamos a modificar características del sistema que no son aplicaciones, evidentemente necesitamos jailbreak en nuestro dispositivo.

Entre las más utilizadas por la comunidad, están las típicas LockInfo e Intelliscreen, ambas accesibles a través de los repositorios de Cydia.

En el caso del iPad, Intelliscreen directamente no sirve porque no está adaptada para iPad, funcionando a pantalla completa sólo para iPhone, así que descartada.


LockInfo (Fuente img)
LockInfo sí que está adaptada en su última versión para funcionar en iPad y de hecho funciona bastante bien, sólo que por muchos plugins que añadamos, a mí personalmente no me acaba de "llenar" (no en sentido de rellenar la pantalla, sino de "gustar"). Es quizás una gran elección para un teléfono, no para un tablet, porque tiene el formato adecuado para notificaciones: llamadas perdidas, últimos mensajes, etc. siendo configurable los plugins que queremos mostrar en función de nuestras necesidades.

Otras de las opciones que probé antes incluso de IntelliScreen y LockInfo, fueron dos temas de Winterboard (para los que no la conozcan, es una aplicación que permite cambiar la apariencia o ciertas partes del sistema, actuando como gestor de temas de iOS):
  • SlantedLock: Cambia la pantalla de LockScreen de  forma bastante atractiva visualmente, mostrando hora, fecha e información meteorológica. Sin duda es una opción sencilla y vistosa para los que no necesitan más. En mi caso, es insuficiente y sólo está para iPhone.
  • Weather Elements: Cambia la pantalla de LockScreen mostrando la información meteorológica con animaciones al estilo HTC Sense - Android. Las animaciones al activarlas son bastante curiosas, pero es lento para responder a los toques y sólo muestra información meteorológica.

Y  por último, la opción elegida: SmartScreen para iPad (también disponible para iPhone) de la compañía MediaPhone.

Partamos de la base, que el LockScreen antes de instalar nada, es poco más que un fondo de pantalla con la hora y la fecha:

LockScreen por defecto

SmartScreen (iPad en vertical)
SmartScreen cuesta 5.00$ (3.53€ aprox.) para iPhone y 7.00$ (5€ aprox) para iPad y puede comprarse por transferencia, tarjeta de crédito o PayPal. Entre sus características más interesantes están:
  • Funciona como un escritorio de widgets, totalmente estable y práctico, pudiendo interactuar con los widgets con total fluidez y posicionarlos donde queramos.
  • Permite utilizar varios "escritorios de widgets" dejando siempre el primero cómo la pantalla que aparece por defecto.
  • Permite configurar de diferentes formas los widgets (y las posiciones de los mismos) para cuando tenemos el dispositivo en horizontal o vertical (en las capturas podemos ver que hay más widgets en la versión horizontal y están en diferentes posiciones)
  • Si se pulsa dos veces el botón Home, aparecen accesos directos para activar/desactivar Wi-Fi, Bluetooth, 3G, controles de reproducción de música y un indicador de batería (ver última captura).
  • Cuenta con gran variedad de widgets (más por el momento en la versión de iPhone que en iPad, pero suficientes para este último)
SmartScreen (iPad en horizontal)

En las capturas podéis ver que tengo instalados los siguientes widgets (de arriba hacia abajo)
  • Reloj y fecha
  • Meteorología: Puede desplazarse con un gesto hacia los lados y cambia de información detallada del día, a lo que se conoce como Forecast (información de los próximos días).
  • Correo: muestra los últimos mensajes no leídos (configurable), permite marcar como leído, hacer scroll, etc.
  • Calendario: Permite moverse por los meses y puede hacerse clic en días concretos que tengas eventos para verlos (resaltados en azul).
  • Traductor: Configurable con gran cantidad de idiomas, al darle se abre una ventana para que podamos introducir el texto a traducir.
  • Calculadora
  • Launcher: Permite mostrar 4, 8 o 12 iconos (configurables) para abrir las aplicaciones directamente desde el LockScreen. Si tenemos un bloqueo por contraseña configurado y utilizamos alguna de las aplicaciones, antes de abrirla pide el código, cosa muy lógica y de agradecer.
  • Buscador: El buscador abre el teclado y muestra cinco pestañas: Google, Yahoo, Bing, Baidu y Twitter. Basta introducir el texto habiendo seleccionado previamente la pestaña del buscador que queremos utilizar.
Pantalla que aparece al hacer doble clic al botón Home en el LockScreen

¿Y cómo se instala esta aplicación tan práctica que añade los widgets que los usuarios necesitamos, y que el señor Jobs no quiere implantar de forma nativa?

1. Añadir a Cydia el repositorio de MediaPhone: http://apt.media-phone.ch

2. En "Sections > Utilities" seleccionar la versión de SmartScreen correspondiente o bien, buscar desde Search.
    • SmartScreen for iPad iOS: iPad versiones iOS 4.x
    • SmartScreen for iPad: iPad versión iOS inferior a 4.0
    • SmartScreen for iOS: iPhone versión iOS 4.x
    • SmartScreen: iPhone versión iOS inferior a 4.0
3. Darle a Install.

4. Instalar los Widgets que queramos desde la sección de Cydia correspondiente al dispositivo:
    • SmartScreen iPad iOS Widgets: iPad versiones iOS 4.x
    • SmartScreen iPad Widgets: iPad versión iOS inferior a 4.0
    • SmartScreen iOS Widgets: iPhone versión iOS 4.x
    • SmartScreen Widgets: iPhone versión iOS inferior a 4.0

Hay una versión Lite de la aplicación que es gratuita. La versión de pago, al abrirla por primera vez para configurarla pide un código de activación. Permite comprar la licencia desde el propio dispositivo, o bien, puede hacerse desde el ordenador y simplemente introducir en el iPad el código de activación que se os proporciona una vez que la pagáis.

En resumen, estas aplicaciones son, sin duda alguna, grandes motivos para hacer jailbreak a un iPhone/iPad y así encontrar la comodidad que ofrecen los widgets de Android :)

lunes, 21 de marzo de 2011

Android (Google) vs iOS (Apple) - Carencias y virtudes de ambos sistemas

Como primer artículo, he escogido una de las temáticas más de moda, especialmente en el mundo de los smartphones: Android vs iOS.
Antes que nada, resaltar que he sido poseedor de un iPhone, y a día de hoy poseo y utilizo a diario un iPad (iOS) y un HTC Magic (Android).

También advertir, que este post no es para crear una guerra entre ambos sistemas operativos, sino para resaltar las carencias/virtudes de ambos, y de las que tanto uno como otro pueden aprender. Todo por supuesto desde la experiencia que he tenido con ambos sistemas. Si metiese la pata en algo de la comparativa, o surge alguna duda comentádmelo y lo corregiré.

Empezamos:

1. Teclado

El teclado es el alma máter del dispositivo (smartphone, tablet...), permitiendo que introduzcamos textos en él, para buscar, navegar, enviar emails, chatear, enviar aquello que llamábamos SMS, etc.

En iOS tenemos un teclado de serie y es bastante sencillo de utilizar, simplemente pulsar las teclas en pantalla, o dejar pulsado para mostrar más opciones dentro de un carácter (tildes, otros símbolos, etc.).
El teclado de iOS no se puede cambiar, ni modificar, es menos intuitivo "educar" al teclado añadiendo y borrando palabras del diccionario.
El intento más conocido de crear otro teclado para iOS (y que hubiese sido genial que llegase a buen puerto) fue ShapeWriter, que aguantó unos días en la App Store antes de que Apple lo retirase. A día de hoy está disponible el enlace a iTunes desde la web, pero no conduce a ninguna parte.



En Android contamos con un teclado de serie muy similar al de iOS, cómodo, sencillo y al que introducen notables mejoras en cada actualización del sistema operativo.
La predicción del teclado de Android está bastante conseguida, especialmente desde la última actualización, y posiblemente debido a la compra hace tiempo de la empresa BlindType por parte de Google.



Pero el verdadero portencial de Android en cuanto al teclado se refiere, es que el usuario puede cambiar el teclado que el sistema operativo ofrece según sus preferencias. Existen decenas de tipos de teclados diferentes para Android, que podemos instalar desde el propio Android Market. Entre estos teclados, destacan especialmente los que permiten construir palabras deslizando el dedo por el teclado, sin necesidad de hacer un clic/tap por cada letra de la palabra, ni depender de las sugerencias. Entre ellos están: Swype, SlideIT y el vetado por Apple, ShapeWriter.

Personalmente, tras utilizar los 3 durante unos meses cada uno, mi favorito es Swype. Estando aún en beta abierta (y por tanto es gratuito), no necesitas ni pasar por encima de las letras exactas, con que el trazo sea aproximado, tu palabra aparece de forma "mágica".

Escribiendo la palabra "quick" con Swype
(Fuente img: Swype)


En cuanto a las particularidades de trabajar con el teclado:

El teclado de iOS tiene una gran carencia, que a mí personalmente me saca de quicio: no puedes posicionarte en medio de una palabra para borrar una letra, o la borras entera, o le das dos veces sobre ella y le das a sustituir. La única opción que añadieron fue una especie de lupa que aparece al quedar pulsado el dedo un rato y con la que puedes apuntar donde quieras, pero el tiempo que tardo en sacar la lupa y encontrar la posición es mayor a lo que tardo en escribirla de nuevo...

En Android tocas donde quieres y modificas rápidamente.

Por tanto, por todos estos grandes y pequeños detalles en cuanto al teclado, Android gana por goleada, e iOS tiene mucho que aprender de él (y esperemos que dejen su orgullo a un lado, y así sea).



2. Pantalla

La pantalla táctil de los dispositivos con iOS, como el último iPhone y el iPad, tienen una calidad impresionante. El último iPhone (iPhone 4), con su conocida pantalla Retina Display, dada su gran densidad de píxeles, quizás sea la pantalla con mejor definición de todos los smartphone actuales.


Las pantallas de los dispositivos Android, generalmente cuentan con menor densidad de píxeles que la del iPhone 4, pero no por ello son malas pantallas. Hay diversos tipos, cuya calidad suelen ir en función de la gama en la que esté el dispositivo.

Ante esto hay un mito de que programar para Android es un infierno por la fragmentación, tanto en versiones, como por los tamaños de pantalla. De las versiones ya hablaremos más adelante. En cuanto a las pantallas, basta con incluir los "recursos gráficos" en diferentes calidades, cada una en su carpeta, sin tener que hacer referencias a cada tipo en ningún momento, ya que el sistema se encarga de cargar la que le corresponda en función del terminal en el que se ejecute la aplicación. Si queréis más información al respecto, echadle un ojo a esta página del SDK.

En este aspecto, podríamos decir que Apple gana.

Algunos dispositivos Android podrían mejorar la calidad de su pantalla para conseguir la nitidez de la pantalla del iPhone/iPad, cosa que se está consiguiendo con los nuevos modelos que van apareciendo como el Samsung Galaxy S.

Pantallas del iPhone 4 (3.5' - 960x640) y Samsung Galaxy S (4' - 800x480)
(Fuente img: ConfiguraEquipos)


3. Widgets

En este caso la comparativa es sencilla: Android permite widgets e iOS desgraciadamente no.

Los widgets son, la forma más rápida de ver información sin tener que entrar en ninguna aplicación. Además existen widgets de control que nos permiten habilitar y deshabilitar ciertas funciones del teléfono.

Esto es algo que debería ser obligatorio para un smartphone o tablet (especialmente para este último con sus grandes pantallas), y que Apple debería plantearse seriamente incluir en iOS.

En Android encontramos widgets para todo, desde ver los últimos mensajes de twitter, eventos del calendario sin entrar en sus respectivas aplicaciones, hasta activar/desactivar la conexión de datos, wifi, sincronización, cambiar el brillo,  etc.

Una captura de uno de mis humildes escritorios en mi HTC Magic con sus comodísimos widgets


En iOS siempre tenemos que ir a Ajustes, seleccionar la opción y cambiarla, lo que supone hacer un mínimo de tres "clics" frente a uno que hace falta en Android.

En iOS, si tenemos hecho jailbreak al dispositivo, existen aplicaciones como SBSettings, la cual deslizando el dedo por la barra de estado muestra una especie de widget de control con algunas opciones (habilitar/deshabilitar wifi, datos, regular brillo...). Aún así son dos clics y es vergonzoso depender de hacer jailbreak para disponer de algo muy necesario como son los widgets y que permite ahorrar muchísimo tiempo.

Ha habido intentos en la App Store, de aplicaciones que simulaban un escritorio donde incluir widgets, pero tal como aparecieron, fueron eliminadas, por "simular un escritorio" diferente al que ya ofrece el dispositivo. Es decir, de nuevo la política de Apple, de "si es mío, usas lo que a mí me da la gana", ya sea el teclado (usando sólo el suyo, como comentábamos anteriormente) o widgets, teniendo que entrar en diferentes aplicaciones y no poder solucionar las cosas con echar un vistazo o hacer un clic. Apple, sólo mira la cantidad de usuarios (con jailbreak por supuesto y yo entre ellos en mi iPad) que utilizan Winterboard, PerPageHTML y similares para disponer de un simple widget del tiempo o sus últimos tweets...

Esto no lo considero sólo una carencia por parte de los dispositivos de Apple, sino un fallo garrafal el hecho de no incluir esta funcionalidad.


4. Notificaciones

En iOS las notificaciones son por el método tradicional del "pop-up" (lo que viene siendo una ventanita emergente de toda la vida). Realmente son bastante molestas, porque interrumpen lo que estés haciendo, tanto para decirte que tienes una cita con el médico, como para decirte que puedes cosechar las zanahorias del FarmVille... Además, si cierras las notificaciones porque quieres leerlas más adelante, no puedes hacerlo, o les haces caso o las olvidas. Lo único que te recuerda algunas de estas notificaciones son los iconos de algunas aplicaciones que muestran un numerito en su esquina superior derecha, pero es realmente incómodo tener que recorrer todas las aplicaciones "buscando numeritos".

Notificación de que pueden cosecharse las calabazas, en medio de una partida a un juego de coches


En Android las notificaciones tienen su propia barra dedicada, donde se van acumulando, y cuando queramos atenderlas sólo tenemos que deslizar el dedo hacia abajo en la barra y aparecerán todas ellas, pudiendo seleccionar cualquiera y no interrumpiendo lo que estemos haciendo con el dispositivo en ese momento.

Barra de notificaciones desplegada

En mi opinión, iOS podría hacer lo mismo que Android, y darle uso a la barra de estado que no sirve absolutamente para nada excepto para mostrar la hora y la carga de la batería...

Y de nuevo, epic win por parte de Android.

5. Sincronización

Año 2011, en el mismísimo siglo XXI, los dispositivos de Apple siguen necesitando un cable para sincronizar sus contenidos con el ordenador, ya sean contactos, calendario, aplicaciones, música o vídeos...

La sincronización en tiempo real con servicios online como podría ser el correo, para mantener actualizados por ejemplo los contactos, sólo está habilitada para los usuarios que pagan MobileMe de Apple (79€/año).

Si se hace jailbreak al dispositivo, hay una aplicación imprescindible, que se denomina Wi-Fi Sync (cuesta unos 10$), y que permite sincronizar con iTunes via WiFi. En Windows falla bastante a veces, pero es un gran avance.

En cuanto al sistema de archivos, yo, al igual que otros cientos de miles de usuarios de iOS, odiamos la política de Apple, básicamente porque en iOS no contamos con un explorador de archivos.

Si yo quiero copiar un MP3, película, ODT, DOC, o PDF, al igual que lo hago en un Pendrive, ¡¡no puedo!!

Dos casos comunes:

  • Quiero pasar un vídeo de las vacaciones o una película: Pues vamos allá, conectamos el cable, abrimos iTunes, arrastramos el archivo... ¡Aghh! Error, el formato no es válido... Abrimos el conversor de vídeo, lo convertimos para iPad/iPhone y ahora lo arrastramos en iTunes y tras sincronizar ya puedo verlo desde la aplicación Vídeos ¡¡¡Dios, pero por qué tengo que realizar tanta cosa!!!


  • Quiero pasar un documento PDF para verlo en el iPad/iPhone: (Conozco muchos usuarios de iPhone que me han preguntado cómo hacerlo, porque no es para nada intuitivo) Conectamos el cable, abrimos iTunes, seleccionamos aplicaciones, y dentro de la aplicación que tengamos instalada que soporte PDFs podemos copiar el archivo como documento de esa aplicación... La más utilizada para diferentes formatos es GoodReader (3.99€), sí de pago como suele ser todo en la AppStore.


Si hacemos jailbreak al dispositivo, existe la aplicación iFile (de pago en Cydia) como administrador de archivos, pero si no se conoce bien la estructura de directorios de Apple, es totalmente desaconsejable utilizarla, ya que puede ser peligroso utilizarla. Además, su uso no nos permitirá abrir estos ficheros con comodidad, es más bien una herramienta para "trastear" con algunas de las opciones de otras aplicaciones que puedes utilizar tras hacer jailbreak.


En Android, la sincronización (además de ser evidentemente gratuita), cuenta con notificaciones push, es en tiempo real, y tanto si lo modificas en el ordenador, como en el teléfono, está sincronizado al instante, y por supuesto, como el siglo XXI dicta: SIN NECESITAR UN CABLE ni depender de un ordenador.

En Android, contamos con un explorador de archivos, como si de cualquier ordenador se tratase. Bueno, en realidad hay decenas de ellos, porque se permiten en el Android Market, y los desarrolladores han hecho auténticas maravillas, destacando EStrongs File Explorer y Astro entre los más utilizados.

Siguiendo con los dos casos planteados en el caso de iOS:
  • Quiero pasar un vídeo de las vacaciones o una película: Bien vía Wi-Fi o por cable sin necesidad de una aplicación intermedia, copio el archivo de vídeo como si de un pendrive se tratase. (Si nuestro dispositivo es de los primeros que aparecieron hace más de un año y medio, es posible que algunos no reproduzcan determinados formatos de vídeo por su potencia). Android reproduce casi todo sin problemas, y para archivos más complejos, existen reproductores de vídeo alternativos como el reciente RockBasePlayer (que reproduce todos los DivX, AVI, XviD, MKV, además de los comunes)

  • Quiero pasar un documento PDF para verlo en el iPad/iPhone: Igualmente, bien vía Wi-Fi, o cable copiamos el archivo. Después podemos abrirlo desde cualquier explorador de archivos, y al seleccionarlo nos ofrecerá con qué aplicación de las instaladas queremos verlo. Para PDFs destaca el propio Adobe Reader para Android (gratuita). Para otros documentos como XLS o DOC (PDF también), recomiendo Documents To Go (gratuita para ver, de pago para editar). Recomendable leer este artículo de "El Androide Libre" (uno de los mejores blogs para estar al día de las mejores novedades y aplicaciones de Android). 




6. Integración entre aplicaciones

Ésta es quizás una de las características que diferencia de forma más clara Android de iOS. Personalmente para mí, y como ya he escuchado a más de uno: un teléfono con Android es como un ordenador en pequeño, mientras que un teléfono con iOS no es más que un móvil más avanzado que los que teníamos antes. Y ¿por qué digo esto? Precisamente por la característica de este apartado (Abtenerse Apple fan boys de contestar antes de leer, y menos si no utilizan diariamente Android/iOS y tienen una respuesta coherente para defender esta característica de iOS).

Podría dedicar un artículo completo a hablar de este tema, pero me limitaré a resaltar lo más obvio. Este apartado está muy relacionado con algunos de los aspectos y los ejemplos del apartado anterior.

Esta vez empezamos por el androide:
En Android, la forma en que las aplicaciones trabajan con los archivos están pensadas para funcionar como en prácticamente cualquier sistema operativo para ordenador que conocemos, es decir, seleccionas un archivo determinado y se abre con la aplicación por defecto. Y si no hay una aplicación por defecto, te ofrece la lista de las que pueden abrir ese tipo de archivo. Y todo esto es posible desde cualquier aplicación, ya sea un adjunto del correo o un PDF que abrimos desde el explorador de archivos.

Además, hay una política muy abierta en cuanto a la forma que unas aplicaciones comparten sus datos con otras. Por ejemplo:

  • Desde la propia galería nativa del teléfono, si tengo instalada la aplicación de DropBox y le doy a compartir, me aparece una opción más para poder subir las fotos/vídeos a DropBox.
  • De igual modo, si tengo instalada una aplicación para Twitter (yo uso twicca, el icono negro que veis en la captura) aparece la opción de usar el archivo en su aplicación. Las aplicaciones se integran entre ellas sin ningún problema, y esto es una política totalmente extendida a casi todo lo implementado para Android.

En la galería, con algunas aplicaciones instaladas

En la galería, con más aplicaciones instaladas
  • De igual modo, por ejemplo para compartir enlaces, noticias u otros archivos en redes sociales como Twitter o Facebook, puede hacerse incluso desde el propio navegador nativo.


He de reconocer que la integración de las aplicaciones de Android en este aspecto, es realmente admirable y muy cómoda.

El hecho de poder utilizar unos archivos desde unas aplicaciones a otras, con total soltura y libertad, hacen que Android convierta un dispositivo en ese ordenador en miniatura que comentaba al inicio del apartado.
Ademas, es increíblemente fácil, tanto para usuarios como para desarrolladores, aprovecharse de estas características.


En iOS esta característica no sólo es pobre, sino que casi la totalidad de las aplicaciones no disponen de ellas.

Intentemos llevar a cabo los dos mismos ejemplos que hemos comentado para Android:


  • Subir una foto a DropBox desde la galería nativa (o cualquier otro sitio): No se puede hacer. La única posibilidad es ir a la propia aplicación y seleccionar una foto existente. Pero esto NO es integración entre aplicaciones.
  • Compartir la foto en Twitter: No se puede hacer. Nuevamente tendríamos que ir a la propia aplicación de Twitter que utilicemos. Pero esto tampoco es integración entre aplicaciones.
  • Compartir un enlace/noticia en Twitter/Facebook: Desde navegador nativo, simplemente no se puede (SkyFire sí lo permite). Desde la aplicación de Twitter sólo podemos mandar correos (utilizando la aplicación nativa de email, por supuesto). Y donde más me dolió este aspecto, es en el magnífico FlipBoard, que quizás sea la mejor aplicación posible para leer noticias/twitter/facebook en un tablet, a la que sólo le falta la posibilidad de compartir las noticias de un sitio en otro, o con otra aplicación! In-te-gra-ción, por favor!

Sólo he visto en una aplicación este tipo de integración, y es GoodReader, que al entrar en un archivo, hay uno de los iconos que ofrece la opción "Open In..." la cuál muestra las aplicaciones que pueden abrir ese tipo de archivos (es imprescindible que haya más de esto en iOS, pero ¡ya!).

Recalco de nuevo que esta característica es imprescindible que forme parte de cualquier aplicación que pueda ser fuente o destino de archivos, ya sean imágenes, vídeos o documentos, y Apple tiene que trabajar mucho para hacer "usable" su sistema en este aspecto si lo comparamos con la facilidad que ofrecen otros sistemas como Android.

El primer paso lógico y muy relacionado con este tema, sería disponer de un explorador de archivos nativo, pero me temo que esto, para Steve Jobs y compañía, es un lujo que los mortales que usemos iOS no pueden disfrutar (Apple, WTF?! ¬¬)


7. Multitarea

Antes que nada, definamos qué es Multitarea: "Es una característica de los sistemas operativos modernos. Permite que varios procesos sean ejecutados al mismo tiempo compartiendo uno o más procesadores."

Por desgracia, iOS NO es un sistema multitarea, te lo venden como que sí, pero al utilizarlo te das cuenta de que es mentira. iOS deja "suspendidas" las aplicaciones, y al volver a activarlas es como si acabases de abrirlas en su enorme mayoría.

La "multitarea" (nótese las comillas) de iOS funciona de la siguiente forma: Estamos en una aplicación, le damos al botón Home del dispositivo y la aplicación se queda abierta. Si queremos volver a la aplicación, hay que dar dos veces a Home para que aparezca la lista de aplicaciones "abiertas".

Lista de aplicaciones suspendidas

De hecho, por ejemplo hay aplicaciones que al abrirlas descargan contenido de su servidor, y si damos a Home se suspenden, y no siguen descargando en segundo plano, como se supone que funciona un sistema multitarea.

Pero sin duda lo más molesto de todo, es que no puedes cerrar una aplicación después de usarla, sin tener que:

  1. Volver al Home (1 toque botón home)
  2. Acceder al menú de aplicaciones abiertas (2 toques más al botón home)
  3. Mantener pulsado sobre la aplicación que queramos cerrar
  4. Hacer clic en el símbolo 


La tediosa tarea de cerrar aplicaciones en iOS

Maldita sea Apple, ¡queremos un botón CERRAR en cada aplicación de iOS! para así no tener que salir de ella pulsando Home y tener que hacer todo este proceso para cerrar las aplicaciones suspendidas (que no abiertas...).


En Android sí que han pensando en esta característica, y la política de uso de las aplicaciones en este aspecto está muy conseguida.

Básicamente, en Android al utilizar una aplicación tenemos dos casos:



  • Si le damos al botón "Atrás" (la flechita hacia atrás), la aplicación se cierra, a no ser que esté programada para funcionar como un servicio residente, caso en el cual se queda "dormida" hasta que el evento que la dispara la vuelva a despertar. Además, también muchas aplicaciones cuentan con algún elemento "cliqueable" (una simple X, Menú > Salir, etc.) para cerrar la aplicación.
  • Si hacemos clic en el botón "Home" la aplicación se mantiene abierta siempre y cuando así lo necesite porque esté alguna de sus funciones en uso, si no, Android de forma totalmente transparente para el usuario, la cierra. Esto es especialmente cómodo, ya que no tienes que preguntarte "¿qué tengo abierto?".

Como esta gestión es transparente, la forma más simple de recurrir a una aplicación abierta recientemente, esté en ejecución o no, es quedar pulsado el botón "Home" para que Android muestre la lista de aplicaciones recientes.

Lista de aplicaciones recientes


Por otro lado, si somos más minuciosos (cosa que no es necesaria en Android), siempre podemos recurrir a Ajustes > Aplicaciones > Administrar aplicaciones, donde veremos 4 pestañas, entre las cuales está "En Ejecución". Otra opción es instalarse un gestor de tareas/procesos, como Advanced Task Manager, Advanced Task Killer, etc. pero su uso se desaconseja, ya que está comprobado que hacen poco más que consumir más batería, ya que la mejor gestión de procesos es la que lleva a cabo el propio sistema operativo.




8. Android Market vs App Store

En este apartado comentaremos las diferencias desde varios puntos de vista: Tipo de aplicaciones, Sistema de pago y Calidad/precio de las aplicaciones.

A día de hoy (Marzo 2011), en iOS, la AppStore cuenta con más de 350.000 aplicaciones.

Tipo de aplicacionesSiguiendo la política altamente restrictiva de Apple, en la AppStore no se permite cualquier tipo de aplicación, donde como ya hemos visto antes, estaría cualquier cosa que sustituya alguno de los elementos básicos del sistema (teclado, escritorios, administración de procesos, etc.).

Sistema de pago: Apple sólo acepta pagos a través de su propia plataforma. Es necesario introducir el número de la tarjeta de crédito en tu configuración de cuenta de Apple y una vez hecho esto, desde el dispositivo pueden comprarse aplicaciones simplemente introduciendo la contraseña de tu cuenta.

Calidad/precio de las aplicaciones: En Apple, tal y como estamos acostumbrados por el precio de sus componentes y sin andarnos con rodeos: todo es bastante (demasiado a veces) caro. En mi caso, siendo poseedor de un iPad, las aplicaciones que se hacen para iPad tienen la "maravillosa" costumbre de ser más caras que las de iPhone, en muchos casos varios euros más, y en otros el doble.

Las aplicaciones de iOS en general son en su mayoría de pago, y en muchas de ellas, sólo compras el "envoltorio" por decirlo de algún modo, ya que si después quieres algunos añadidos tienes que pagar para completar tus juegos o aplicaciones. Por ejemplo, es muy común tener que pagar para comprar más niveles en ciertos juegos.

Hay que tener en cuenta que la mayoría de las aplicaciones/juegos que merece la pena tener/jugar, son todas de pago.


En cuanto al sistema operativo de Google, Android Market cuenta a día de hoy con más de 250.000 aplicaciones, creciendo a un ritmo "de locos" (véase imagen) y que según los expertos, alcanzará a Apple en los próximos meses.



Tipo de aplicaciones: Android es bastante más permisivo que Apple, permitiendo que cada usuario pueda instalar en su teléfono las aplicaciones que necesite para adaptarlo a sus necesidades. Aun así, Android Market también cuenta con un proceso de revisión de las aplicaciones, fundamentalmente para evitar que aplicaciones dañinas puedan llegar a distribuirse a través del Android Market.

Sistema de pago: Google permite realizar pagos en Android a través de su plataforma Google Checkout donde podemos tener configurados los métodos de pago que deseemos y utilizarlos simplemente dándole a comprar las aplicaciones que queramos, de forma tan sencilla como ocurre en el App Store de Apple.

Calidad/precio de las aplicaciones: En este caso Android es el rey, la política de Android es totalmente diferente a la de Apple, y en Android las aplicaciones son, en una gran mayoría, gratuitas. Muchas simplemente de ellas cuentan con algún pequeño banner de plublicidad en la parte superior/inferior de la pantalla para que sus desarrolladores puedan obtener beneficios.

Por otro lado y comparándolo con la AppStore, las aplicaciones de pago son muchísimo más baratas por norma general. Y a diferencia de Apple, muchas de las aplicaciones que merecen la pena, son totalmente gratuitas.

En cuanto a la calidad de las aplicaciones, hay algunas aplicaciones que tendrían que aprender algunas nociones de las de Apple (y que con el tiempo así será), especialmente a nivel visual.


9. Desarrollo

En este apartado, ya que podría ser muy extenso, simplemente describiré en una línea las diferencias fundamentales:


  • Desarrollar una aplicación para Android es muy sencillo si conoces Java, y puede hacerse desde cualquier plataforma (Windows / GNU/Linux / Mac).


  • Desarrollar una aplicación para iOS puede ser bastante complicado empezar a programar y es obligatorio tener un Mac.


11. Fragmentación

Antes que nada, intentaré dar una definición: Entendemos fragmentación por la convivencia de varias versiones de un sistema operativo y diferentes dispositivos hardware de diferente gama.

En iOS la framentación es poco notable, ya que los dispositivos que van saliendo digamos que reemplazan a los anteriores, y cuando el iPhone 3G se quedó obsoleto para una gran parte de las aplicaciones muchos programadores simplemente dejaron de preocuparse por él.


El tema de la fragmentación es quizás el más polémico de Android, y ha dado bastante que hablar, pero en la mayoría de los casos la gente no se documenta antes de empezar a hablar ("trollear" más bien en muchos casos).

Partamos de la base de que Android es un sistema muy reciente, que ha crecido de forma desmesurada en muy poco tiempo, y un gran número de dispositivos y fabricantes lo han adoptado como su sistema operativo.

En un principio quizás sí que fuese en cierto modo un problema (de cara al desarrollador fundamentalmente) desarrollar para todas las versiones que convivían, siendo éstas 1.5, 1.6, 2.1 y 2.2.

Dispositivos con 1.5 quedan muy pocos, y serán especialmente aquellos que cuenten con una versión virgen de un HTC Dream de Movistar. Y es lógico que sean pocos, ya que la versión 1.5 tiene ya sus dos añitos.

En cuanto al resto de versiones de la 1.6 en adelante, si quisiésemos programar "a pelo" y hacer una aplicación sin ningún requisito especial que haga uso exclusivamente de características de las nuevas versiones, las aplicaciones son totalmente compatibles entre versiones.
Si esta aplicación hiciese uso de características implantadas en nuevas versiones siempre hay alternativas, pero ya sí que tendríamos que readaptarla.

¿Pero realmente es necesario esto? Hace no mucho sí, aunque tampoco era un quebradero de cabeza, excepto quizás para las aplicaciones más exigentes, pero el caso es que era un problema. Ahora no, y Google ha puesto su granito de arena para ello con Fragments API.

Por otro lado, los diferentes fabricantes de dispositivos Android, también se han puesto las pilas en su mayoría y están actualizando casi todas las gamas de sus dispositivos hasta la versión 2.2, siendo a día de hoy la versión más ampliamente utilizada en dispositivos Android.

Conclusión

Hemos visto cómo Android gana sin duda en funcionalidades del dispositivo, y cómo iOS garantiza que todo el sistema va a funcionar como Apple quiere, limitando para ello todo lo que no sea de su cosecha y cerrando el sistema a nuevas posibilidades.

En este punto, ¿qué es mejor? No hay nada mejor, ni peor, simplemente lo que cada uno necesite. Yo personalmente apuesto por Android, ya que prefiero la funcionalidad y un sistema abierto, que puedo moldear a mi antojo. Prefiero encontrarme aplicaciones que sustituyan cualquier función del teléfono, para adaptarlo a mis necesidades, en lugar de ni siquiera poder contar con ellas como ocurre en iOS. Aunque esas aplicaciones fuesen horribles (que no es el caso), prefiero poder contar con la posibilidad.

Espero, como usuario de ambas plataformas, que esta comparativa sirva para que ambos sistemas aprendan el uno del otro mejorando todo lo posible de cara al usuario final, y también para que los desarrolladores nos concienciemos que nuestro objetivo es precisamente ese usuario final.

Sin más, espero que este artículo pueda resultar útil, tanto para los simpatizantes de un sistema como de otro, a la hora de decidirse por qué plataforma escoger como su próximo móvil, tablet, o cualquier otro gadget al que la tecnología se proponga dotar de un sistema operativo :)