Mit Mediano - et ord fra vores udvikler
Devlog #1: I sidste uge annoncerede vi 'Mit Mediano', vores nye podcast platform under udvikling, og det her er et primært teknisk indblik i selve udviklingen af 'Mit Mediano'. Dette gør vi for at være åbne overfor lytterne om, hvor langt vi er i processen, og hvad man kan forvente af det endelige produkt. Det bliver måske en smule teknisk for nogle, men vi håber, at det giver mening for de teknisk nysgerrige. Det er vores kreative chef, Ludvig, der fortæller om det tekniske og tankerne i arbejdet.
Af Ludvig Brüchmann, kreativt ansvarlig og udvikler på Mediano
Dette er en udviklings-blog primært til de, der har en teknisk interesse i at følge processen med at udvikle ‘Mit Mediano’. Til jer, der gerne bare vil have en app med jeres helt individuelle feed, skal vi også nok forsøge at opdatere om det løbende arbejde.
I løbet af foråret kan du møde ‘Mit Mediano’ - en ny platform, hvor du som lytter kan skræddersy dit podcast-feed helt, som du gerne vil have det.
'Mit Mediano' er en Progressive Web App (PWA), og derfor ikke en app, du kommer til at hente igennem hverken App Store eller Play Store, i stedet henter man en "avanceret" hjemmeside som kan fungere næsten helt som en selvstændig app.
Her kan du læse om baggrunden for Mit Mediano og hvad planerne er med at lave vores egen platform fra sidste uge, hvor vi offentliggjorde planerne, der bliver rullet ud i løbet af foråret.
Tak til alle, der allerede nu har skrevet mails til mit@mediano.nu om at blive Alpha-testere. For at give en idé om et tidsplan arbejder vi lige nu på at få en lille gruppe af vores interne folk ombord og få testet platformen. Sideløbende med dette arbejder vi på at synkronisere playstate på tværs af enheder, notifikationer/email, og 'Mit Feed' hvor man kan personalisere sit eget feed. Efter i hvert fald playstate og notifikationer/email er implementeret og testet internt, vil vi derefter så småt begynde at invitere brugere til en lukket Alpha (snart™).
Her vil vi lade en gruppe lyttere være med til at teste og give feedback i en periode, hvorefter vi så retter til og prøver at optimere, indtil vi er klar til at lancere ’Mit Mediano’ i en åben beta-version, hvor flere kan være med.
Grunden til at vi laver en PWA er et spørgsmål om ressourcer. Ved at lave en PWA laver vi en "app" til alle styresystemer med samme kodebase, i stedet for tre forskellige (web/ios/android). Når vi taler om kodebasen, for at forsøge at gøre processen en smule mere effektiv, er hele kodebasen skrevet i JavaScript. Backenden er en Express server og MongoDB database, og frontenden er skrevet i Vue.js (vue > react). Det er også den stack, vores udvikler hold, (p.t. kun mig) har mest erfaring med.
For at spare på ressourcer (det bliver hurtigt et tema som solo udvikler), og for at beskytte bruger-data bliver indholdet lagret i en 'headless CMS' separat fra MongoDB, i det her tilfælde Directus. Hvis du står og leder efter en headless CMS, kan Strapi også anbefales, men lige til den her user-case passede Directus bedre. Det betyder, at Medianos daglige personale interagerer med indhold igennem Directus uden at have adgang til bruger data fra MongoDB. Dette er vigtigt, da personer, der har adgang til at udfylde data på udsendelser, ikke skal have adgang til info på vores lyttere. Der er så en 'bot', der scraper alle Medianos RSS feeds og uploader nye episoder til Directus, hvorefter en medarbejder fra Mediano vil udfylde 'Mit Mediano' specifikt data, som f.eks. format, liga, eller superliga klub.
Denne data er, hvad vi bruger til at lade lytterne skræddersy deres eget feed. Derfor kan den enkelte lytter få et feed, hvor det f.eks. kun rummer indhold om Superligaen eller om Premier League. Det er derfor, vi kalder det ‘Mit Mediano’, da mange har efterspurgt andre typer kanaler eller kun bestemte typer af indhold.
Vi skal undervejs i processen også finde ud af, hvilke data er relevante at efterspørge hos lytterne og have en dialog med test-holdet om, hvad der er passende.
Da vi er usikre på præcist, hvor mange lyttere vi får til at bruge 'Mit Mediano' er det vigtigt for os at vi hurtigt kan skalere op/ned, derfor valgte vi DigitalOcean som host for 'Mit Mediano' (ingen AWS her).
Her vil jeg så lige efterlade en note til mig selv i fremtiden og alle aspirerende udviklere, når man sætter en firewall op på en server, er det rimelig vigtigt at sørge for at holde SSH porten åben, ellers kan de blive en smule problematisk at arbejde med serveren efterfølgende. Da jeg havde sat alle serverne op og konfigureret SSL certifikater, ændrede jeg firewall konfigurationen til kun at tillade port 80 (HTTP) og 443 (HTTPS), glemte selvfølgelig port 22 (SSH).
Til alle ikke-udviklere, der læser det her og ikke forstår de tekniske termer, svarer det lidt til at skifte låsen på ens hoveddør, hvor ikke nok med at man ikke selv har nøglen, så er der faktisk slet intet nøglehul på den nye lås, og ja, døren låste da du smækkede den. Heldigvis har DigitalOcean en web konsol, hvor jeg kunne logge på og lukke op igen, efter jeg lige havde siddet et kvarters tid og sundet mig lidt. Den proces kan ikke anbefales.
Vi bruger i denne fase mail-adressen mit@mediano.nu. Her har en del af jer skrevet, at I gerne vil være med til at teste ’Mit Mediano’, men skriv endelig også gerne med spørgsmål til udviklingsfasen, kom med input eller foreslå emner i fasen, der kan behandles i denne devlog, som jeg løbende vil forsøge at skrive, så processen bliver så åben som mulig.
Vi glæder os til at udvikle ‘Mit Mediano’ til - og sammen med - vores lyttere.