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?
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.
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?
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.
Håvard Gulldahl
Kult!
Kudos for å bruke åpne løsninger!
dudek
Noen betenkeligheter med GPL lisens?
Andreas Wiik (NRK)
@ dudek
Nei, finfin lisens det 🙂
Da’vi
Hvorfor ikke bruke jabbderd2? Er jo mye lettere å tilpasse enn Openfire.
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 å […]