¿Por qué la aplicación de Facebook para iOS es tan mala?

Principalmente porque eligieron una solución optimizada para Facebook por encima de sus usuarios: sirven el contenido como HTML dentro de un wrapper de iOS.

La ventaja de esto es que pueden servir el contenido de una manera consistente a múltiples dispositivos, lo que definitivamente suena atractivo para los desarrolladores.

Desgraciadamente no es adecuado para las aplicaciones responsivas. ¿Has visto alguna vez un timeline de Facebook con imágenes o estilos rotos? Están cargando la línea de tiempo en un navegador, con toda la sobrecarga que conlleva:

* Múltiples peticiones HTTP
* Análisis de HTML / JavaScript
* Descarga de iconos comunes: Botón "Me gusta", etc.

Además el navegador que usa FB es más lento que Safari, debido al sandboxing.

Las mejores aplicaciones de iOS, en cambio, optan por enviar sólo los datos básicos necesarios para una tarea específica, como la lista de comentarios. Estos datos se almacenan en la caché y están muy optimizados. Si se hace bien, incluso es posible ver cosas sin conexión a Internet (por ejemplo, la aplicación de Twitter recuerda los tweets que has visto antes - FB tiene que recargarlos cada vez).

Facebook se ha dado cuenta de esto y se rumorea que tiene una aplicación nativa casi terminada [1]. Es exactamente la misma interfaz de usuario pero mucho más rápida.

[1] http://bits.blogs.nytimes.com/2012/06/27/facebook-plans-to-speedup-its-iphone-app/