Tutto il mondo o quasi era in attesa della diretta video del keynote di Apple per la presentazione di iPhone 6 e di Apple Watch ma qualcosa è andato storto. La diretta video infatti ha funzionato senza problemi solo per pochi minuti, prima dell’inizio dell’evento, con la trasmissione delle immagini dalla sala Flint Center mentre giornalisti, media e invitati prendevano posto. In Italia il blocco della diretta video si è verificato prima ancora che Tim Cook salisse sul palco. In USA sembra che i più fortunati siano riusciti a seguire la presentazione Apple con una diretta video solo per i primi 30 minuti circa, ma non in Inglese, bensì con un doppiaggio audio in un’altra lingua non meglio precisata, dopo di che anche qui lo streaming video si è bloccato inesorabilmente.
Contrariamente a quanto la maggior parte delle persone hanno sospettato ieri però il blocco della diretta video non è stato causato dalla capacità insufficiente dei server e dei sistemi di streaming impiegati, bensì da una serie di errori concatenati causati da Apple stessa. Ne è convinto Dan Rayburn, analista di Frost & Sullivan ed esperto di tecnologie streaming e video online, autore anche di StreamingMeidaBlog.com, dove è stata pubblicata la sua analisi sull’incidente del keynote Apple.
Rayburn ha esaminato il codice della pagina del live stream di Apple individuando istruzioni JSON, JavaSCript Object Notation, inserite per la prima volta per mostrare tweet, foto e aggiornamenti interattivi sul keynote. Queste istruzioni richiedono chiamate di aggiornamento ogni pochi millisecondi, rendendo impossibile effettuare la cache della pagina. Secondo Rayburn questo è uno degli errori principali che ha causato il blocco della diretta video: l’infrastruttura Akamai da anni impiegata da Apple per distribuire il carico e servire lo streaming a milioni di utenti in contemporanea, non ha potuto effettuare la cache della pagina, in questo modo tutte le richieste degli utenti hanno avuto un impatto diretto sulla pagina principale dello streaming.
I refresh continui del codice JSON hanno avuto anche un altro effetto: quello di abbassare la qualità video dello streaming, questo si è verificato perché il sistema, inondato dalle richieste di aggiornamento continue per il live blog, ha rilevato un traffico superiore a quello effettivo, riducendo così la qualità video per ridurre banda e servire il maggior numero possibile di utenti. Rayburn rileva problemi di configurazione e di setup da parte di Apple anche per l’encodiing video infine per la configurazione del servizio cloud S3 di Amazon che, sommati ai primi, hanno provocato il crollo completo della diretta video del Keynote.