nrk.no

Hva var det vi brukte XMPP til?

Kategorier: Det sosiale nettet,Internett,Nettjenester,NRK & TV


Fredag gjorde vi vår første test av NRKs TV-prat. Hvordan er det skrudd sammen og hvilke teknologier og verktøy bruker vi?

Arnt Obsidian fra Keep of Kalessin er klar for Oslo Spektrum! Foto: Line Snekvik/NRK
Arnt Obsidian fra Keep of Kalessin er klar for Oslo Spektrum! Foto: Line Snekvik/NRK

Denne saken skulle jeg egentlig legge ut på torsdag 7. januar, men på grunn av problemer med å få applikasjonen til å kjøre på produksjonstjeneren vår, kokte det litt for mye til at jeg turte å legge den ut. Derfor har dere vel gjettet at det er TV-prat vi brukte XMPP til. Anders har skrevet en del om bakgrunn osv, så jeg tenkte jeg kunne skrive litt om teknologien.

Teknologien

Vi har altså tatt i bruk XMPP. Nærmere bestemt Openfire som er en av flere implementasjoner av (deler av) standarden. I tillegg har vi en liten PHP-applikasjon med en database for å koble det sammen med Facebook og NRK’s brukerbase.

Hovedarbeidet har ligget i utviklingen av klienten som kjører i din nettleser, her falt valget på Javascript. XMPP og Openfire er fantastisk! Facebook API-et kan jeg styre meg for. Forvirrende og til dels selvmotsigende dokumentasjon. De er riktignok i ferd med å rydde opp og lanserer nye og bedre ting mens du leser dette. Det har ført til at deler av det vi har bygd er «deprecated» om få dager, uten at de har tilbudt et alternativ ennå.

Openfire har også sørget for utfordringer. Vi oppdaget blant annet at meldingene ikke har unike id-er. Det har ført til at svar-funksjonen vår ikke er som vi hadde håpt ennå, og at meldingene kan komme i litt feil rekkefølge.

På den annen side kan jeg nevne en bonus vi fikk da vi begynte å se på Openfire og XMPP. Ved hjelp av PubSub-utvidelsen skal vi bruke Openfire til å tilby levende programinfo i den nye nettradioen som bygges i disse dager. Jeg er helt sikker på at vi vil få flere slike bonuser.

Testen

Under sniktitten på TV-prat på fredag, gikk det som forventet. En god del stabilitetsproblemer, flere større og mindre detaljer må rettes, noen brukere opplevde at de ble kastet ut, og kommer seg ikke inn igjen osv.

Jeg var nysgjerrig på ytelsen, spesielt i klienten. Det er mye ajax i tillegg til BOSH. Så vidt jeg så, virket det som klientene klarte seg nogenlunde. Men det ble rapportert at noen nettlesere ikke fungerte, og noen kræsjet.

Openfire skryter av å tåle mye, og den svettet ikke en gang. Nå skal det sies at det var svært få brukere. Som dere skjønner, var dette en alfa-test i ordets rette forstand.

Videre

På lørdag er det MGP-delfinale igjen, og vi håper å ha noe bedre oppe til den tid. Her er det bare å hive seg på, om du er modig.

For ordens skyld må jeg nevne at dette er en tidlig utgave, og det er lagt til rette for og planlagt å kunne bruke denne applikasjonen uavhengig av Facebook.

7 kommentarer

  1. Frode Slettum

    Morsomt at valget falt på Openfire, det samme produktet jeg pleier å bruke når jeg setter opp intern chat-kommunikasjon i bedrifter.

    Hørte noen rykter om at prosjektet ikke er spesielt aktivt lenger, og at programmererne fra Jive Software har fått beskjed om å jobbe med andre prosjekter. Har dere eller noen andre kunnskap om dette?

    Svar på denne kommentaren

  2. Andreas Wiik (NRK)

    @Frode

    Har ikke hørt noen rykter. Men det er 2 måneder siden det skjedde noe der.

    På den annen side skal det jo gå an å bytte 🙂

    Noen som kjenner Oracle Coherence, forresten? Trenger den for å kunne clustre OpenFire.

    Svar på denne kommentaren

  3. Hvordan vi bygde en facebook chat-applikasjon på NRKbeta i løpet av bare en måned | Programmerer.com

    […] feil og mangler. Men på kun en liten måned har vi lagd et produkt som kan vises frem og brukes. De første brukerne vil kunne komme med tilbakemeldinger og dermed være med på å forme det videre produktet slik at det blir noe de kunne tenke seg å […]

    Svar på denne kommentaren

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *. Les vår personvernserklæring for informasjon om hvilke data vi lagrer om deg som kommenterer.