¿Cuáles son los mayores errores técnicos que cometió Google al diseñar Android?

Tal vez sea parcial, pero creo que Android ha sido muy bien diseñado técnicamente, siendo muy robusto para admitir tantas configuraciones de hardware diferentes, así como tener buenas capas de abstracción y API de aplicaciones, marcos y kernel. Aunque estoy orgulloso de en qué se ha convertido Android, nada es perfecto.

– Usando Binder (http://elinux.org/Android_Binder). El uso de una tecnología probada como los enchufes locales nos habría ahorrado algunos dolores de cabeza. Incluso hoy todavía veo a Binder la causa de algunos bloqueos del dispositivo.

– Representación gráfica que inicialmente carece de aceleración hw. Esto se ha solucionado en Honeycomb 3.0+. Sin embargo, desde el principio, especialmente cuando el hardware era más débil (días G1), el método de iOS para representar páginas web como mosaicos GL hizo que el desplazamiento fuera súper suave. Lo que es mejor aún es discutible, pero creo que los consumidores masivos tienden a notar la suavidad del desplazamiento más que la precisión de la representación de la página web cuando se desplaza / hace zoom.

– Un subsistema de filtrado de entrada más robusto, ojalá hubiéramos sido más estrictos con los requisitos de filtrado de entrada (táctil), ya sea que los haga o no en hardware / kernel driver / framework. Los diferentes paneles táctiles tienen diferentes niveles de filtrado en el hardware, lo que puede agregar latencia, lo que puede generar todo tipo de peculiaridades que debe ajustar por dispositivo. Para ser sincero, ha pasado mucho tiempo desde que examiné esta parte de Android (2.0), por lo que tal vez se solucionó.

Probablemente hay más, pero esto está fuera de mi cabeza.

Los siguientes son los que siguen causando los problemas:

– Mayoría de la responsabilidad de la seguridad en manos del usuario a través de permisos y acceso administrativo.

– Wakelocks y ninguna opción para hacer que las aplicaciones hibernen / duerman manualmente para el usuario.

– Permitir aplicaciones de carga lateral sin verificar los dispositivos del desarrollador.

– Caché continuo que se rompe mal durante las actualizaciones y las copias de seguridad de la aplicación.

– Diseño de Dalvik VM, ART debería haber estado allí desde ICS.

– Permitir teclas físicas para la navegación.

– Soporte inconsistente de almacenamiento externo a través de tarjeta microSD, USB OTG o flash. Una mayor memoria interna debería haberse convertido en el estándar, habría disminuido efectivamente el costo de NAND Flash a lo largo de los años.

– Creación de una cadena suelta de verificaciones de actualización del sistema operativo o de OEM, lo que provoca actualizaciones lentas La ventana de 18 meses podría haber sido reemplazada por un marco de tiempo de soporte de generación de hardware.

Pero aún así Android está madurando y aprendiendo de sus errores.
Google debería tomar un control más fuerte del ecosistema y hacerlo ininterrumpido.

– No controlar toda la pila desde la experiencia del usuario hasta el hardware
– Falta de enfoque en la experiencia del usuario.
– Uso de una máquina virtual.
– Inicialmente haciéndolo un clon BB.
– Elección de idioma. (volviendo para perseguirlos con problemas de patentes).