8 min read

Strava parte 2: APIgeddon

Strava parte 2: APIgeddon
🗒️
Este post continúa la parte 1, donde analizo la historia de Strava y cómo ha llegado a su posición actual. Aquí paso a intentar entender algunos eventos acontecidos este último mes a raíz de cambios importantes en la política de uso de su API.

Una vez entendido quién es Strava, el punto en el que está y cómo ha llegado allí, vamos allá con lo ocurrido las últimas semanas. El 18 de noviembre sus usuarios recibimos el siguiente email:

Lo que parece un comunicado genérico de cambio de términos y condiciones esconde un auténtico mundo detrás: mientras en este correo la información es bastante escueta, en la versión inglesa del comunicado sí que se incluye un enlace a un post un poco más completo, aunque no queda más remedio que leernos todos los nuevos T&Cs para enterarnos de todo:

Updates to Strava’s API Agreement

En él, se comunican cambios en la política de uso de su API, que entran en vigor... 4 días antes del anuncio. Se señalan tres cambios principales: proteger la marca de Strava para no confundir a los usuarios, prohíben usar sus datos para alimentar modelos de Inteligencia Artificial y también se prohíbe mostrar las actividades del usuario a otros usuarios.

Lo primero que se me viene a la cabeza es que afecta a un pequeño proyecto personal en el que estaba trabajando, donde integrando las APIs de Strava y OpenAI te aconsejaba un entrenamiento para el día de hoy, basándote en tu volumen semanal, actividades recientes y objetivos:

Otra idea que no me saca de pobre

Lo segundo que llama mi atención es lo poco específico de la comunicación: parece ambigua y confusa: comunicada varios días después de que entre en vigor, directamente a sus usuarios finales (no a los consumidores de API), con puntos demasiado globales y difíciles de asegurar (y no digamos auditar).

Implicaciones

La comunicación empieza a generar bastante ruido: DCRainMaker, probablemente el analista de wearables más conocido de internet, publica un artículo criticando la decisión y culpando directamente a Strava de "querer matar las apps". Este post, al margen de ser bastante crítico con la nueva política, señala varios aspectos clave de la misma:

Afecta directamente a las denominadas "coaching apps": Aquellas que recogen de Strava los datos de las actividades para mostrárselas a un entrenador personal. Como ya comentamos, este es un segmento que Strava a lo largo de su historia no ha mostrado mucho interés en atacar y no parece que tenga mucho sentido ser restrictivos con ellos.

FinalSurge ha construido un producto para entrenadores usando la API de Strava

Por otro, aplica también a aquellas aplicaciones que usan la API para comparar rendimientos (por ejemplo, quién ha sido el más rápido en subir un puerto de montaña). Por ejemplo, Veloviewer, de la que ya hablamos en el anterior post, provee de este tipo de funcionalidad. Además, el punto de IA queda muy abierto a interpretaciones juntando dos cláusulas. La primera es la siguiente:

“You may not use the Strava API Materials (including Strava Data), directly or indirectly, for any model training related to artificial intelligence, machine learning or similar applications.”

La segunda, que no está incluida en el resumen principal, dice:

“You may not process or disclose Strava Data, even publically viewable Strava Data, including in an aggregated or de-identified manner, for the purposes of, including but not limited to, analytics, analyses, customer insights generation, and products or services improvements. Strava Data may not be combined with other customer data, for these or any other purposes.

La lectura que hace DC de estos dos puntos es que, poniéndonos estrictos, no puedes procesar los datos que recojas de la API más allá de mostrárselos al usuario.

A los pocos días Strava modifica el post añadiendo más aclaraciones, aunque siguen siendo bastante difusas: Señalan que realmente estos cambios son menores y que "la gran mayoría de aplicaciones no se verán afectadas".

Los afectados: Intervals ICU

Poco a poco, en los foros de algunas de estas pequeñas aplicaciones, empiezan a sucederse diferentes comentarios. Por ejemplo, a Intervals.icu (app orientada a rendimiento y coaching) se les comunica que no van a poder mostrar estas actividades recogidas desde la API y que deberán corregirlas. David, su fundador y único empleado, sugiere a sus usuarios que se evite la integración con Strava y se opte por otro tipo de integraciones:

Unos días después, David mantiene una conversación con Strava y le dicen que no hay intención de romper las apps de coaching y que sólo deberán modificar su aplicación para que no se muestren los datos a otros usuarios que no sean entrenadores.

VeloViewer

Con Veloviewer pasa un caso similar a Intervals.icu, son capaces de hablar con representantes de Strava y finalmente se acuerda una forma de realizar las cosas. En su caso, sin embargo, son menos restrictivos y no se acuerda quitar ninguna funcionalidad: la solución acordada conlleva que los usuarios den su consentimiento cada 7 días para compartir sus datos.

Preguntas y posibles aprendizajes

El hecho de que esta actualización ocurra en el momento que describíamos en el anterior post, cuando Strava tiene una posición dominante tanto a nivel usuarios como integraciones y aplicaciones dependientes, no parece casual.

Como es habitual, toda esta concatenación de comunicaciones me ocasionan más preguntas que respuestas. La primera es ¿qué habrá causado este cambio de política? Strava parece escudar esta decisión de negocio en los peligros derivados del uso de la IA, pero las acciones van mucho más allá, pues se cubren las espaldas con condiciones extremadamente restrictivas en sus términos y condiciones, para luego abrir opciones a los desarrolladores de forma individualizada. Además indican de forma ciertamente agresiva que no se permitirán posts en la comunidad pidiendo cambios en su política.

La otra gran pregunta que me genera es por qué no ofrece a los usuarios la posibilidad de acceder a la API directamente sin pasar por una app. Obviando el problema del coste (porque podrían por ejemplo ofrecerla sólo a sus usuarios de pago), la única respuesta que se me ocurre es que no quieren hacerlo: parece que la decisión es que su API sólo sea consumida por aquellas apps que ellos autoricen y de la forma que ellos autoricen, es decir, al más puro estilo Apple, controlar su propia App Store. Los que hemos trabajado en aplicaciones móviles sabemos lo restrictivos que pueden llegar a ser y la lotería que supone la aprobación de determinadas aplicaciones.

Fuera de su ecosistema, no parecen estar interesados en proveer de acceso a su API. The Verge señala, a mi juicio con bastante acierto, cómo este cambio ha puesto de manifiesto el problema con la distribución de los datos de fitness.

Strava’s API debacle highlights the messiness of fitness data
As a fitness data middleman, Strava has a lot of power.

¿Cómo actuarán los pequeñas negocios como FinalSurge o Veloviewer ahora? Puede que hayan visto las orejas al lobo pero siguen sin poder permitirse la conexión con más de 50 diferentes integraciones. ¿Cómo afectarán estos cambios a la confianza de estas empresas en su API? Si yo fuera David, de Intervals.icu, me plantearía hasta qué punto está mi compañía expuesta a este tipo de cambios. La intención de Strava hoy, dicen, no es romper las apps de coaching (aunque los T&Cs las prohíban explícitamente). Pero, ¿y mañana?

¿Qué preocupaciones reales puede tener Strava con la privacidad de sus usuarios? Lo que denominan como privacy standards no parecen cumplir con la máxima de la privacidad: que cada persona sea dueña de sus datos y decidan qué, cómo y con quién compartirlos. Por supuesto, los usuarios tienen la capacidad de exportar sus actividades y datos a través de otros medios, pero seamos realistas, la conveniencia de la interfaz de un API es una ventaja masiva a la hora de usarla.

El Year in Sport de 2024 ha salido ya y una métrica me llama la atención sobre el resto: El 72% de las personas suben su actividad a través de la aplicación móvil directamente.

Algunas funcionalidades lanzadas recientemente (e.g. integración con Spotify, eliminar la opción de incluir links) y la ubicación en el menú de registrar una actividad justo en el medio hace pensar que una de las prioridades pueda ser mantener al usuario dentro de la aplicación, algo similar al camino tomado por las mayores redes sociales del mundo tecnológico. Sin embargo, el modelo de negocio de Strava se sustenta en las suscripciones, no en anuncios (más del 90% de sus $265M de ARR parecen venir de ahí), ¿vendrán cambios orientados a monetizar a los usuarios freemium?

¿Cómo afectará este paso en la reputación de Strava? Hasta el momento han mantenido una comunicación bastante abierta con desarrolladores externos, con una documentación bastante seria y han promovido varios hackatones en su historia, pero ahora puede que se pierda confianza en el producto y se estén abriendo oportunidades para negocios cuyo core sea aglutinar la información de salud y tracking proveniente de diferentes wearables. En la comunidad ya la gente se plantea qué opciones self-hosted existen como alternativas.

En cualquier caso, el tiempo dirá cómo evoluciona la situación e irá dando respuestas a algunas de estas dudas, pero lo que es innegable es que ya ha supuesto un importante cambio en la forma de comunicar y hacer las cosas desde esta empresa.