Hey! Are you looking for this year's 24HBC? Then, go to 24hbc.se

2009-10-30

Radioboxen är live!

Vi i Openworks är supernöjda över det camp som vi fått vara del av. Stort tack till alla som tittat förbi med glada tillrop, och faktiskt varit med om att forma hur Radioboxen faktiskt blev tillslut.



Radioboxen är alltså en backchannel för radiolyssnare. Borta är tiden då radio bara handlade om envägskommunikation, eller ett mail här och där. Nu kan lyssnarna ses och diskutera programmen direkt, med eller utan radiostudion med på båten. Hoppas ni ska gilla den!

Utvecklingen stannar förstås inte bara för att campet är slut, vi vill gärna höra vad ni tycker! På startsidan finns därför en Tyck-till-knapp (Kundo, vår förra sajt), använd den gärna!

Vi har uppdaterat den gamla posten om radioboxen, som fortfarande stämmer, men tänkte också skriva lite mera om tekniken här.

Radioboxen bygger alltså på två ramverk som vi har slagit ihop, Django och Tornado, plus en mindre JQuery-klient i javascript som syr ihop de båda.

Startsidan, och informationen om kanaler och program finns i Django. Django är smidigt just för att det gör det enkelt att hitta på en valfri datamodell, och fylla den med data, antingen programmatiskt eller via ett enkelt admingränssnitt. Vi fyllde det mesta automatiskt, genom att parsa SR:s XML-filer med kanal och programinformation). Gränssnittet till chatten ligger också i Django, men all hämtning/sparning av data ligger i stället i Tornado.

Tornado å sin sida är perfekt för att skriva realtidsapplikationer i. Dom har stöd för asynkrona HTTP-requests (long-polling) som vi använder för att chattmeddelanden snabbt ska tryckas ut till alla klienter. Ingen databas än så länge, för hög hastighet ligger alla meddelanden i minnet tillvidare, men vi planerar förstås att arkivera diskussioner framöver. Tornado var grymt kul att experimentera med under campet, och något som vi känner höll bra, även under de tveksamma uppkopplingshastigheter vi hade under 1-minuts demot för er.

Slutligen har vi då JQuery-klienten, som AJAX-hämtar programinformation från Django, och skickar/tar emot chattmeddelanden till Tornado. Den sköter även koordinering av vad den ska göra med olika meddelanden från Tornado, eftersom vi både skickar chattmeddelanden och uppdateringar av vem som är online på samma sätt. All animering sker förstås med JQuery också. Ytterligare en javascript-snippet ser också till att uppdatera gränssnittet när det är dags att byta program, något som gjorde att vi jublade extra högt när vårt första publika programbyte sammanföll med campets slut :)

Vi har haft otroligt skoj under hela campet, vill återigen passa på och tacka alla för er feedback under campet. Tack!

Ses på festen!

Emil Stenström, Björn Lilja, David Billskog, Jonatan Larsson.

2 kommentarer:

  1. Jag har hört från säkra källor att det är ni som byggde webbradion.se. ;) Eller inte ...

    Hur som helst, måste säga att ni har en riktigt bra idé. Lyckas ni bara få in radiospelningarna direkt i samband med diskussionen så blir det riktigt trevligt.

    SvaraRadera
  2. Japp David, det är högsta prio nu! Vi hade en spelare som fungerade för de flesta, men eftersom Flip4Mac är så dålig så trodde vi att det skulle förstöra intrycket på vår sajt för mycket. Vi ska se till att lösa det framöver. Tack för feedbacken!

    SvaraRadera