Android ha evolucionado mucho en los últimos años. A pesar de estar basado en Linux y ser un Sistema Operativo libre, vemos cómo todos los fabricantes siguen un camino menos caótico que las distribuciones de Linux en los ordenadores. ¿Cómo es posible que los fabricantes estén de acuerdo en tantos aspectos?
Esto es posible gracias a Google y al documento de compatibilidad de Android, que permiten que los fabricantes mantengan un orden. ¿Qué es ese documento y por qué es tan importante?
Qué es el Android CDD y por qué es importante
Como ya sabréis, Android es un Sistema Operativo libre que permite que cualquier fabricante pueda integrarlo en cualquier dispositivo. Esto nos permite disfrutar solo de algunas ventajas de Android, pero no de las aplicaciones y servicios de Google.
Para que un fabricante pueda integrar Google Play y otras aplicaciones de Google es necesario que los teléfonos que quiera vender pasen por una certificación. Para obtenerla, dichos dispositivos debem cumplir las normas del Android Compability Definition Document.
En ese documento se reúnen todos los requisitos que debe cumplir un teléfono para ser certificado por Google. En cada nueva versión cambian los requisitos. Si hoy fabricásemos un teléfono con Android 7.0 y quisiésemos comercializarlo con las aplicaciones de Google, será necesario que cumpla con las condiciones.
¿Como será Android el año que viene? Google lo tiene claro
Los rumores y filtraciones son el pan nuestro de cada día ya que nos permiten conocer cómo será un teléfono antes de que llegue al mercado. Del mismo modo, las versiones de desarrolladores y betas también nos sirven de anticipo sobre cómo será Android en un futuro cercano.
Sin embargo, existe una fórmula que no falla para saber cómo serán los teléfonos del próximo año: ceñirnos al Documento de Compatibilidad de Android. Cada nueva versión que sale al mercado nos indica qué requisitos debe cumplir un teléfono para ser certificado por Google, por lo que al mirar este documento nos podemos hacer una idea hacia donde se dirige Android, o al menos lo que veremos el próximo año.
Mientras que algunas condiciones están orientadas a desarrolladores, otras son pistas sobre hacia dónde se dirige Android
Hemos analizado el documento con las especificaciones necesarias para un teléfono que quiera salir al mercado con Android 7.0. Y hemos comparado qué nuevas exigencias existen respecto a Android 6.0 Marshmallow. Estas definiciones son de tres tipos distintos:
- Requisitos obligatorios: Requisitos que un teléfono debe cumplir para ser certificado por Google.
- Requisitos altamente recomendables: No es obligatorio que un fabricante los cumpla, pero si recomendable. Estos requisitos suelen volverse obligatorios en siguientes versiones de Android.
- Recomendaciones: Recomendaciones de Google para ofrecer la mejor experiencia de uso. Estos requisitos suelen cambiar, desapareciendo algunos, mientras que otros acaban convirtiéndose en requisitos altamente recomendables.
Vulkan es obligatorio, además de otras librerías
Quizás el punto más polémico, y causa por la que muchos fabricantes han abandonado sus proyectos para actualizar viejos teléfonos a Nougat. En Android 7.0, el soporte a la librería gráfica Vulkan es obligatorio. Cualquier teléfono que salga al mercado debe soportarlo.
Vulkan es capaz de mejorar el rendimiento gráfico, tanto en videojuegos como en la propia interfaz de Android. Destaca no solo por mejorar el rendimiento de Android, sino por ser una librería gráfica más eficiente, que permite mejores resultados con menor consumo del procesador gráfico, con su consecuente ahorro de energía.
En otro orden de cosas, los dispositivos con Android 7.0 deben soportar una serie de librerías para desarrolladores. Es cierto que de forma directa no es algo que nos importe a los usuarios de forma directa, pero gracias a estas librerías los desarrolladores serán capaces de crear mejores aplicaciones. Antes era obligatorio el soporte a 17 librerías de código, mientras que actualmente la cifra ha ascendido a 22. Uno de los añadidos más importantes es la API de Camera 2, que servirá para mejorar la experiencia fotográfica de Android en general.
El modo multiventana
La llegada del modo multiventana era una de las características que más esperábamos para Marshmallow, pero finalmente se quedó en el tintero. Con la llegada de Nougat, anunciaron la llegada de el modo multiventana, algo que es motivo de alegría para muchos de nosotros.
Quizás nos precipitamos al alegrarnos, ya que según el documento de compatibilidad, el soporte para multiventana es opcional, y un fabricante puede optar o no por incluirlo en su terminal.
Por otro lado, existe un requisito interesante: si un fabricante opta por añadir el modo multiventana, tiene que incluir los dos modos existentes de forma obligatoria, siendo imposible elegir uno y descartar el otro. Los modos multiventana existentes son pantalla dividida y aspecto libre (en forma de ventanas).
En las recomendaciones sobre el modo multiventana nos encontramos algunos puntos interesantes que os resumimos a continuación:
- Si una aplicación no está optimizada para el modo multiventana, el sistema debe mostrar una advertencia.
- No es recomentable el modo multiventana para dispositivos con menos de 440 dp.
- Los dispositivos de más de 7 pulgadas deben soportar multiventana en formato libre.
- Android TV debe soportar de forma obligatoria el modo Picture in Picture. Siguiendo una serie de criterios.
Los nuevos requisitos para Android TV
Android TV forma parte de Android, y por tanto tiene una serie de criterios que cumplir también. Las nuevas televisiones con Android 7.0 Nougat deben ser capaces de pausar y continuar el contenido visto en televisión. También han marcado que es altamente recomendable que los dispositivos con Android TV basados en Nougat sean capaces de grabar contenido de televisión y poder reproducirlo.
Parece que Google no se rinde con Android TV, y pretende rivalizar con Tivo, mientras sigue añadiendo características a su sistema que lo diferencian de otra de sus mayores competencias, el Chromecast.
La API Vehicle UI
Hace unos días nos llegó la sorpresa. Android Auto llegó a los dispositivos móviles, siendo compatible con cualquier teléfono. En las especificaciones para Android 7.0 Nougat existe información interesante acerca de esto.
Cualquier dispositivo que se declare como compatible con automóviles debe de incluir una interfaz que soporte aplicaciones de terceros para el coche, entre otra serie de recomendaciones como un modo noche.
Live streaming a través de HTTP
El protocolo HTTP es imprescindible para las tecnologías web, y el streaming de contenidos es cada día más importante. En Nougat es obligatorio el soporte para la versión 7 de HTTP Live Streaming draft. ¿Qué significa esto? Que podremos reproducir los siguientes formatos a través del navegador:
- MPEG-2 Transport Stream con códecs H264,MPEG-4 SP y MPEG-2.
- AAC con ADTS y ID3.
- WebVTT.
Captura de sonido sin procesar
Un nuevo requisito para los profesionales es la captura de sonido sin procesar. Al igual que para la fotografía es importante el formato RAW, la captura de sonido sin procesar nos facilitaría el poder editar cualquier audio que grabemos desde nuestro móvil.
¿Es importante esta característica? Pues según Google sí ya que todo dispositivo con Android 7.0 debe satisfacer las condiciones para capturar audio sin procesar. ¿Será de utilidad para las nuevas aplicaciones? Pronto lo sabremos.
Sensores en automóviles para Android
Los coches con Android integrado tendrán una API para diversos sensores:
- Sensor de marchas.
- Modo diurno y nocturno.
- Estado de conducción.
- Velocidad de las ruedas.
Giroscopio de seis ejes
El giroscopio de seis ejes ofrece mayor precisión que los giroscopios tradicionales. En Nougat los dispositivos pueden tener un giroscopio de seis ejes. Google recomienda que los teléfonos lo comiencen a incluir, imaginamos que para ofrecer una mejor experiencia en Realidad Virtual.
Compatibilidad con bloqueo de números de teléfono
Con Android 7.0, es obligatorio que los dispositivos telefónicos incluyan un sistema para bloquear números de teléfono. En anteriores versiones era una función no especificada, que a partir de ahora los fabricantes tendrán que cumplir. Este bloqueo telefónico debe cumplir las siguientes condiciones:
- Debe implementar la API BlockedNumberContract.
- Debe bloquear cualquier llamada que se encuentre en BlockedNumberProvider antes de interactuar con las aplicaciones de telefonía.
- Las llamadas bloqueadas no deben aparecer en el registro telefónico.
- Los mensajes de los números bloqueados no deben ser escritos en el telephony provider.
- Se debe implementar una interfaz de usuario para gestionar los números bloqueados.
- Los usuarios secundarios no deben tener acceso al registro de números bloqueados.
Todo teléfono con Android 7.0 Nougat deberá cumplir todas esas condiciones.
Ahorro de datos
Los dispositivos que incluyan redes móviles de uso medido (como 3G o 4G) es altamente recomendable que incluyan un modo de ahorro de datos. Ya vimos que Android 7.0 incluye este modo de forma nativa. Cualquier fabricante que cree su propia capa de personalización debería incluirlo también. El modo ahorro de datos debe incluir:
- Soporte para todas las APIs de ConectivityManager.
- Una interfaz de usuario que nos permita añadir y eliminar aplicaciones de la lista.
Las mejoras del USB Tipo C
El USB tipo C es otro de los grandes protagonistas. Ya el otro día vimos como Google quería un sistema de carga estándar. Es altamente recomendable que los fabricantes sigan el estándar de USB Tipo C a rajatable, y se recomienda que soporte una intensidad entre 1,5 y 3 Amperios.
Otros detalles interesantes sobre el USB Tipo C es que el soporte para Display Port es altamente recomendable. Esto significaría que casi cualquier teléfono podría ser conectado a un monitor o televisión a través del conector USB Tipo C, en el que además recomiendan que el propio puerto pueda alimentar la batería de nuestro teléfono mientras lo cargamos.
Realidad Virtual
La Realidad Virtual fue otra de las grandes sorpresas de Android 7.0. Con Nougat hemos conocido Daydream, la plataforma de alto rendimiento para Realidad Virtual. Los fabricantes no están obligados a dar soporte a la Realidad Virtual de Android, con un pequeño pero.
Si el dispositivo soporta Realidad Virtual, es obligatorio que implemente las APIs de Android. Si quieres conocer más detalles sobre la Realidad Virtual de Android te recomendamos leer acerca de los requisitos de Daydream.
Rendimiento Consistente
Creo que esta es sin duda alguna una de las exigencias más interesantes de los requisitos para Android Nougat. Una de las mayores críticas hacia Android es que el rendimiento del sistema no suele ser del todo consistente.
Un ejemplo sencillo es cuando estamos ejecutando un juego o una aplicación potente. A medida que pasan los minutos el rendimiento decae conforme se calienta el dispositivo, ofreciéndonos una peor experiencia a largos plazo.
El rendimiento consistente es un requisito de Google para Daydream, pero además es una recomendación para los fabricantes. Los teléfonos con Nougat deben incluir un modo de alto rendimiento que dé mayor prioridad en los núcleos del procesador para mantener un rendimiento consistente durante largos periodos de tiempo.
Google no lo deja a libre albedrío de los fabricantes. En las herramientas de desarrollo de Android Nougat existe una API para este modo de alto rendimiento. Una recomendación bastante curiosa es que aquellos dispositivos que tengan más de dos núcleos en su CPU deberían dejar al menos un núcleo exclusivo para estas funciones.
Modo de inicio seguro
Ya en nuestro análisis de Android 7.1 Nougat destacamos la presencia de un modo seguro. En este modo conocido como inicio seguro podemos iniciar el teléfono en un modo en el que solo las aplicaciones del sistema están habilitadas, bloqueando las aplicaciones de terceros. El objetivo de este modo es el de poder desinstalar sin riesgo cualquier aplicación peligrosa que hayamos instalado.
Este modo es altamente recomendable que lo incluyan los fabricantes, y en un futuro próximo podría llegar a ser obligatorio.
Seguridad del automóvil
Y como punto final, una nueva condición para los fabricantes de automóviles que quieran incluir Android en sus coches. Android es capaz de intercambiar información con los sensores de los coches a través de la capa de abstracción del sistema.
Esto es una gran ventaja para que el sistema pueda tener un mejor control sobre el automóvil, pero también tiene un gran inconveniente. Imagina por un momento que instalas una aplicación maliciosa que le ordena al coche que tenga un comportamiento peligroso (como dar un volantazo cuando vayamos a 120 km/h). Parece algo surrealista, pero por desgracia es un escenario que podría ocurrir.
Los automóviles que integren Android Auto deben implementar una serie de medidas de seguridad que garanticen nuestra protección al volante, ya sea ante aplicaciones maliciosas o frente a interacciones no intencionadas (como el uso de una aplicación en un momento que no debería usarse).
Android comienza a ser un sistema más maduro
Si hacemos vista hacia atrás, podemos ver cuanto ha evolucionado Android en los últimos años. Si miramos a como eran nuestros móviles ahora y hace unos años las diferencias parecen evidentes, pero consultando los documentos de compatibilidad de Android podemos descubrir que las exigencias de Google para los fabricantes van mucho más allá.
En Android 7.0 Nougat vemos una actitud de Google hacia los fabricantes distintas. Los de Mountain View quieren que el mercado se tome más en serio a Android, y el mejor camino para lograrlo es exigiendo más seriedad para los fabricantes