Para 2014, el HTML de Hacker News se había convertido en una base frágil para un ecosistema grande: muchas aplicaciones y proyectos de terceros hacían scraping del marcado del sitio para leer sus historias y comentarios, y el marcado distaba mucho de ser apto para móviles. Y Combinator quería modernizar el front end e iterar sobre él más rápido, pero un cambio ingenuo en el HTML habría roto de golpe todas las herramientas que dependían del scraping.
El movimiento de YC fue publicar los datos como un producto propio antes de tocar la presentación. El 7 de octubre de 2014 anunció una API oficial de Hacker News creada en colaboración con Firebase (YC S11), que servía el contenido del sitio casi en tiempo real en hacker-news.firebaseio.com, con documentación y ejemplos publicados en una cuenta de GitHub de Hacker News. Los SDK de iOS, Android y Web de Firebase listos para usar, más una API REST, permitieron a los desarrolladores cambiar sin reconstruir sus stacks.
La secuencia era el punto: el anuncio dio al ecosistema tres semanas de margen antes de la fecha objetivo de YC del 28 de octubre para un nuevo motor de renderizado, todavía impulsado por Arc, cuyo marcado más limpio permitiría al front end iterar más rápido y finalmente hacer que Hacker News estuviera optimizado para móviles. Como la API era estrictamente mejor que el scraping para la mayoría de los usos —actualizaciones casi en tiempo real, SDK mantenidos, sin análisis frágil de HTML—, convertirse era una mejora y no una tarea pesada, y el sitio podía cambiar su presentación sin tener a sus usuarios como rehenes.
El movimiento se leyó como una labor de custodia del ecosistema: el hilo de Hacker News reunió 1.714 puntos y 298 comentarios el mismo día. La API se lanzó de solo lectura, con acceso OAuth a datos privados por usuario previsto para más adelante, y YC atribuyó su creación a su equipo de software —kogir, dang y sctb—.
Publicar primero el contrato de datos: una API oficial casi en tiempo real que es estrictamente más fácil que el scraping, con aviso antes del cambio incompatible
Desacoplar los datos de la presentación significa que el front end puede cambiar sin romper a nadie que consuma el contenido.
La sincronización casi en tiempo real de Firebase con SDK mantenidos hizo que la API fuera estrictamente más fácil que el scraping, de modo que la adopción fue una migración voluntaria y no una conversión forzada.
Anunciar un margen fijo de tres semanas antes del cambio de marcado dio a cada aplicación una fecha límite y una razón para moverse temprano.
Mantener el mismo motor Arc mientras solo cambiaba el marcado de salida redujo el riesgo de que la API y el sitio se desviaran.
Para cambiar una plataforma sobre la que otros construyen, extrae primero el contrato de datos, hazlo estrictamente mejor que el hack que reemplaza y publica la fecha del cambio incompatible para que los usuarios migren por su cuenta.
La API entró en funcionamiento el mismo día en hacker-news.firebaseio.com, de solo lectura, con SDK oficiales de iOS, Android y Web más una API REST, y YC dijo que el acceso OAuth a datos privados por usuario podría llegar después. El anuncio de Hacker News reunió 1.714 puntos y 298 comentarios el 7 de octubre de 2014. La publicación fijó el 28 de octubre como objetivo para cambiar al nuevo motor de renderizado, de modo que el marcado pudiera modernizarse y optimizarse para móviles una vez que el ecosistema tuviera tiempo de convertirse; la API se presentó como el facilitador de ese cambio y no como un fin en sí mismo.
CONSULTA LAS PRUEBAS
Las fuentes
- Hacker News API Y Combinator Blog · blog.ycombinator.com ·
- Hacker News discussion: Hacker News API Hacker News · news.ycombinator.com ·