Vi serve davvero uno speaker smart per ascoltare la musica in streaming? Non la pensa così un inguaribile smanettone che ha trasformato un vecchio Mac SE/30 in lettore di Spotify.
L’utente che ha avuto l’idea è riuscito a fare tutto sfruttando un’app denominata MacPlayer che funziona grazie alla funzionalità Spotify Connect che permette di inviare musica ad altri device e altri dispositivi audio come stereo e amplificatori, sfruttando il cloud.
Lo speaker stesso si occupa dello stream e riproduce la musica, il Mac semplicemente comunica allo speaker il brano da riprodurre (ma anche il volume, l’attuale playlist, l’attivazione della riproduzione casuale), comunicando via WiFi.
L’utente che ha realizzato il progetto spiega che la prima versione dell’app riproduce semplicemente le playlist di Spotify. È possibile eseguire il browsing delle tracce e l’app visualizza le copertine degli album in bianco e nero. È anche possibile scegliere da quale dispositivo riprodurre il tutto.
L’app sfrutta il router OpenWRT Wifi per gestire le comunicazioni HTTPS con le API di Spotify. Sul router è installato il proxy Stunnel che funge da tunnel da HTTP a HTTPS. Uno dei problemi che è stato necessario risolvere è l’autenticazione dell’app con l’account Spotify. Come molte tecnologie web moderne, le API di Spotify sfruttando il protocollo aperto OAuth per l’autorizzazione di sicurezza. È necessario sfruttare un browser moderno per l’autenticazione OAuth per l’indicazione dei dettagli di login. Per risolvere il problema è stato scritto un bridge OAuth per i vecchi Mac che consente di eseguire il login passando per un dispositivo come uno smartphone.
Anche la gestione dell’encoding dei testi non è stata semplice: i browser moderni codificano il testo con la codifica Unicode UTF-8; questa è disponibile solo dai Mac con processori PowerPC in poi con MacOS 8.5 e seguenti,
Lo sviluppatore spiega che ha eseguito il porting di una libreria Unix, libiconv, sul Mac che effettua la conversione mostrando il testo con “la migliore ipotesi” ottenuta dalla conversione da da UTF-8 a MacRoman, elemento che non dovrebbe comportare grandi problemi con la lingua inglese.