La “chiusura” di Instagram

Instagram è forse il mio social network preferito, come utente, perché amo la fotografia. Come sviluppatore, invece, non mi piace per niente.

Per chi non lo sapesse i social network generalmente mettono a disposizione degli sviluppatori degli strumenti (chiamati API) per poter costruire delle applicazioni che interagiscono con i dati del social network stesso. Lo fanno non perché sono buoni e generosi ma perché spesso tali applicazioni arricchiscono e contribuiscono alla crescita del social network.

Evidentemente quelli di Instagram non la pensano così. L’impressione è che siano un po’ infastiditi da tutto ciò e invece che non mettere a disposizione le API (che farebbe brutto) semplicemente le rendono poco utili e poco facili da usare.

Da giugno 2016, infatti, tutte le applicazioni che vogliono fare uso dei dati di Instagram che consentono di costruire applicazioni di un certo interesse e utilità, devono passare la fase di approvazione da parte dello staff di Instragram. E fin qui non c’è nulla di male, è una tutela comprensibile quella di consentire solo applicazioni che facciano buon uso delle API.

La differenza con altri social network però è nell’approccio. Di solito quella che viene indicata agli sviluppatori è una serie di limitazioni e di casi vietati. Cioè: io social network metto a disposizione queste API, tu sviluppatore devi usarle con certi limiti di frequenza e non puoi usarle per fare certe cose anche se tecnicamente sarebbero possibili (ad esempio: fare copie massive dei dati, replicare esattamente l’applicazione originale, eccetera).

Instagram fa una cosa diversa. Non ti dice come non puoi usare le API, ma ti dice come devi usarle. Se tu hai in mente una applicazione che sfrutterebbe in modo apparentemente lecito le loro API, ma che non rientra nei seguenti e un po’ fumosi casi d’uso, non la approvano.

Use case and permissions compliance:
We will approve submissions of apps that fall into these use cases:
To help individuals share their own content with 3rd party apps
To help brands and advertisers understand and manage their audience and digital media rights
To help broadcasters and publishers discover content, get digital rights to media, and share media with proper attribution

(da https://www.instagram.com/developer/review/)

Quindi la mia piccola applicazione (https://samskeyti.github.io/staralfur/), totalmente gratuita e senza alcuno scopo di lucro, usata solo da me qualche volta e forse da poche decine di utenti, il cui carico sui server di Instagram sarebbe stato insignificante, per cui stavo realizzando la versione per iPhone e Android (soltanto per fare pratica con lo sviluppo di app sulle quali non sono esperto), dovrò probabilmente chiuderla perché da giugno sarà inutilizzabile.

E attenzione, ciò che fa la mia applicazione è soltanto: ricerca tra le proprie foto, ricerca tra le foto di un altro, visualizzazione dei propri like su una mappa. Tutte cose consentite dalle API ma che l’app di Instagram non fa e che ad un utente possono far comodo.

Ho anche provato ad aggiungere una funzionalità (ricerca di foto combinando nome località e hashtag usato) sperando che rientrasse nel loro terzo caso d’uso (to help publishers discover content), ma a quanto risulta dalla loro risposta burocratica non basta. Magari riproverò, aggiungerò qualcos’altro, con l’assurdità che eventualmente mi approverebbero l’applicazione per una funzionalità in più, non perché quello che faceva prima non andava bene (e quindi continuerebbe a farlo).

Quindi uno sviluppatore non può avere idee originali su come sfruttare le loro API. Deve avere una idea che sia già prevista da loro. Più banale di una foto di un piatto, con vicino un gattino, con dietro un paio di piedi e sullo sfondo un tramonto.

Sinceramente, che delusione.