Programmeerfoutjes in website Apple oorzaak falende stream

20 reacties

Meestal gaat er bij ons wel iets mis bij het verslaan van een Apple Event, maar gisteren ging het goed fout bij Apple. Wereldwijd viel het eerste deel van de livestream weg, zat er een chinese dame doorheen te babbelen én moest de stream regelmatig herstart worden.

Wat was er aan de hand? Dan Rayburn, expert van StreamingMediaBlog.com zocht het uit en kwam tot de onthutsende conclusie dat de oorzaken van de problemen bij Apple zelf lagen.

In Apple’s liveblog onder de videospeler zat een onhandig stukje AJAX-code. Deze zorgde ervoor dat de pagina ongemerkt om de zoveel milliseconden ververst werd, zodat nieuwe blog-items op de pagina konden verschijnen. Een onbedoeld bijeffect was echter dat Akamai, het bedrijf dat Apple inhuurt om dit soort grootschalige events te distribueren over het internet, niet in staat was om de live-pagina van Apple te cachen. Het gevolg: veel meer pagina-verzoeken op de Apple-servers zelf, waardoor deze het niet meer konden bolwerken.

Ook een foutje in het gebruik van Amazon’s S3 cloudhosting infrastructuur zorgde voor een hogere belasting: de afbeeldingen in het live-blog werden gehost op S3 en niet op de Apple-servers zelf. Dit vond plaats vanuit één ‘bucket’ waardoor ook dit volgens Rayburn amper gecached kon worden.

Apple verzorgt zelf de encoding van hun streams. Dit betekent dat de Aziatische tolk die gedurende 27 minuten wereldwijd te horen was ook in Cupertino moest zitten. Tenslotte liet de planning die de eerste 5 minuten getoond werd op het testbeeld er ook geen twijfel over bestaan dat dit probleem in Cupertino lag. We vragen ons af hoeveel Apple-medewerkers door de bovengenoemde problemen niet meer op het werk hoeven te verschijnen…

Reacties

20 reacties
  • Profielfoto
    vuurvreter

    We vragen ons af hoeveel Apple-medewerkers door de bovengenoemde problemen niet meer op het werk hoeven te verschijnen…

    Tsja zo arrogant zullen ze wel zijn bij Apple:sad:

  • Profielfoto
    Devdennis

    Dit was idd wel 1 van de slechtste Keynote presentaties ooit, qua stream maar ook qua presentatie.

  • Profielfoto
    lennartbader

    Lees de comments bij het betreffende artikel ook even…

    De verklaring van de auteur wordt door velen ernstig in twijfel getrokken en ik sluit me daar bij aan.

    De pagina zat niet heel handig in elkaar, met (onnodig) veel requests op de achtergrond. Maar JSON calls zijn juist heel goed cachebaar, omdat de content via javascript wordt ingeladen, los van de basispagina. Er moet iets anders met caching verkeerd zijn gegaan, wat de access denied meldingen veroorzaakte.

    De stream haperde ook op Apple TV, dat staat echt los van een player in een website. In de video encoding ging dus sowieso iets verkeerd. En de live en backup stream liepen niet sync, waardoor ‘ie soms weer terug sprong in tijd.

    Op lokatie hebben aantal mensen flink geblunderd, van het schakelen van testbeeld tot de Chinese dame. Verbazingwekkend dat er niet eerder is ingegrepen.

    Het lijkt een ongelukkige opeenstapeling van fouten, iets wat je van Apple niet verwacht. Benieuwd of er een officiële of echte inside verklaring komt.

  • Profielfoto
    CvB1988

    Een onhandig geschreven stukje json code doet helemaal niets, want het is een data-formaat, zoals XML dat ook is.

    Daarnaast valt er weinig te cachen aan een live video-stream, dus ook dat is onzin.

  • Profielfoto
    bitrip

    Een onhandig geschreven stukje json code doet helemaal niets, want het is een data-formaat, zoals XML dat ook is.

    Daarnaast valt er weinig te cachen aan een live video-stream, dus ook dat is onzin.

    Gelukkig hebben we jou nog, die écht niet weet waar ie over praat…

  • Profielfoto
    SunKeeper

    Het is ook niet de live-stream die je moet cachen, maar de page waar die op staat. Dit scheelt een flinke hoop verkeer als iedereen de site zoveel mogelijk in zijn cache heeft.

  • Profielfoto
    koen

    In het artikel is JSON vervangen door Ajax. Het lijkt wel Griekse mythologie:grin:

  • Profielfoto
    Noest

    Zijn er geen programma’s die dergelijke projecten kunnen doormeten en testen? Ik vond het ook vreemd dat het zo mis kon gaan.

    Maar zo zie je maar, hoe goed je ook probeert alles te controleren, ergens loopt er dan wel weer iets uit de rails:)

    Maar gelukkig was er OMT!:D

  • Profielfoto
    Buzz

    Ik vind de verklaring ook niet geloofwaardig en ben het met lennartbader en thabemmz eens. Misschien wil bitrip even kort toelichten waarom wij het dan verkeerd begrijpen.

  • Profielfoto
    polansky

    Inderdaad weinig geloofwaardig – door een foutje in de Ajax code krijg je heus geen stream met een Chinese vertaalster…

    De presentatie was een behoorlijke misser voor een technologie bedrijf als Apple. Juist op de belangrijke momenten ‘introductie’ ‘specificaties’ ‘prijs’ en ‘beschikbaarheid’ vloog de stream er telkens uit.

  • Profielfoto
    pruus

    Jammer van de haperingen, jammer van de hype. Complimenten voor Onemorething hoe jullie er iets goeds van gemaakt hebben. Dank.

  • Profielfoto
    defores

    Ajax code?:confused:
    Dat bestaat niet, Ajax is een ontwerp term, geen taal.:idea:

  • Profielfoto
    CvB1988

    Gelukkig hebben we jou nog, die écht niet weet waar ie over praat…

    Thanks! Ik werk inmiddels zo’n 3 jaar dagelijks met JSON, dus ben er vrij zeker van dat ik daar gelijk heb. Correct me if I’m wrong. Wat betreft live-stream caching heb ik wél voor mijn beurt gesproken, dat kan via een server aan de edge van het CDN gecached en gedistribueerd worden.

    Dit artikel wekt echter de indruk dat de live-widget op de HTML-pagina iets te maken heeft met de beschikbaarheid van de video. Een video wordt alleen ge-embed binnen deze HTML-pagina, waardoor deze twee resources los van elkaar beschikbaar zijn. Een HTML-refresh zou geen invloed moeten hebben op de video-feed en vice versa.

    Verder was de pagina van Apple zelf juist heel erg goed te cachen, daar veranderde niets. Het dynamische gedeelte van de pagina (de live-blog) werd van een externe resource gehaald en ook dat was prima te cachen, omdat iedere keer dat er een update op de live-blog kwam de cache ververst werd.

    Tijdens de live-stream waren er wel regelmatig Acces Denied meldingen te zien, welke wel duiden op het feit dat de Apple-webpagina’s het vele verkeer niet meer aan konden. Dit heeft echter weinig te maken met de live-stream zelf, die op bijvoorbeeld de Apple TV ook niet werkte.

    Wat er wél gebeurd is weet ik niet, simpelweg omdat ik niet bij Apple of Akamai werk. Bovenstaande bron doet op web development gebied vrijwel alleen maar foute aannames (check ook de comments op het originele artikel).

  • Profielfoto
    Hermanko

    Als Samsung denkt met een parodie op, de inderdaad klungelige vertoning van die  livestream, klanten te winnen hebben ze het mis. Negatief zaken ophemelen werken averechts. Misschien kan OMT weer zo een Android-fan, met een nare stem, aan tafel halen om het Samsung standpunt uit te leggen. Zelf ben ik al gauw gestopt met kijken en luisteren en heb via MacDailyNews de voorstelling gelezen en de volgende ochtend de video op de  site, zonder mankeren, bekeken. Was Steve er nog bij geweest : die was zo ongeveer ontploft na deze miszending.

  • Profielfoto
    Domtoren

    Van videostreams heb ik geen verstand maar gezien de hoeveelheid mensen en hoeveelheid geld die Apple tegen zo’n evenement aan kan gooien (en gooit!) vond ik het een ontstellend amateuristische vertoning.

  • Profielfoto
    Aerea

    Naast de technische missers vind ik de presentatie inhoudelijk ook slecht. Iedereen leek gehaast, niemand vertelde iets met passie en zelfs alle idioot positieve termen kwamen eruit alsof het robots waren. Volgens mij schaamde iedereen zich een beetje met die iPhone, omdat drie jaar terug Samsung die telefoon al verkocht.

    Daarnaast vind ik oprecht dat er zo overdreven wordt gedaan in de presentatie, alsof iPhone 6 en Apple Watch nu echt zo bijzonder zijn. Zeker iPhone 6 is letterlijk geen enkele feature uniek aan (sterker nog, meeste is ondermaats). En die iWatch. Tja, duidelijk nog niet af. Leuk concept. Maar om daar anderhalf uur over te lullen en dan niet eens met specificaties te komen gaat nergens over.

  • Profielfoto
    SunKeeper

    Was Steve er nog bij geweest : die was zo ongeveer ontploft na deze miszending.

    Nou, niet Steve, maar toch zeker een paar anderen zullen wel ontploft zijn nu.

    Doet mij meteen denken aan die spotprenten die je vaak in kranten ziet.
    Dat er iemand langs de Apple campus loopt en het volgende door het open raam hoort:
    ”What is a live-stream supposed to do!!?”
    ”Eughmm, streaming the, eh, event?”
    ”Then why the fuck didn’t it do that?!?!%#&@$”

    :grin:

  • Profielfoto
    iDeMi

    Iets wat door mensenhanden gemaakt is kan fouten bevatten. Echter, door een goede voorbereiding en goed testen, zeker bij dit soort belangrijke events waar heel veel van afhangt, had men dit kunnen voorkomen.

    Naar mijn mening heb ik het idee dat bij Apple hier niet meer voldoende tijd en effort in wordt gestoken. Heel jammer want dit geeft wel de kwaliteit van het bedrijf aan en waar ze voor staan.

  • Profielfoto
    defores

    ‘apple is niet meer wat het was’ … ‘als steve jobs er nog was’

    Allemaal van die roekeloze uitspraken,
    – Steve Jobs heeft nooit in zijn eentje Apple gerund; ten tweede als Steve Wozniak er toen niet was, was er helemaal geen Apple geweest;
    – Apple is helemaal niet anders dan 8 jaar terug; Voorheen zijn er ook wel eens livestream problemen voorgekomen; Ook Apple is niet perfect, zijn ze nog nooit geweest; Maar ze wel zo’n beetje de beste in wat ze doen;

    Het probleem ligt meer bij de onrealistische verwachting die ontstaan is uit hebberigheid.

  • Profielfoto
    lennartbader

    Deze pagina geeft een veel betere uitleg over wat er verkeerd ging met de pagina:

    http://perf.fail/post/97144331419/learning-from-apples-livestream-perf-fiasco