- Adrian B
- Medlem ●
- Umeå
Efter att Spotify släppte sitt Metadata API och speciellt efter att ha läst en artikel om spellistor från NRK:s P3 blev jag sugen på att se vad jag kunde åstadkomma med låtlistorna från Sveriges Radios P3. Jag tog det som en chans att vässa mina kunskaper i PHP, javascript mm.
Nu är det någorlunda klart och jag har döpt det till p3spotify.
Sidan må se enkel ut, men det finns lite avancerade rutiner bakom det hela för att cacha låtlistorna på ett intelligent sätt och inte göra en förfrågan mot P3 resp Spotify så fort någon laddar en sida, samtidigt som jag måste uppdatera cachen då och då eftersom P3 lägger in låtinformationen i efterhand, ibland flera dagar i efterhand.
Hursomhelst, säg gärna vad ni tycker, om ni hittar buggar osv. Som det står under Vanliga frågor så finns det inte någon möjlighet att generera spellistor för Spotify ännu, men när de släpper på den funktionen i API:et ska jag titta närmare på det.
Sidorna är bara testade i Safari 4 och Firefox 3 på Mac än så länge. Har inte riktigt vågat dra igång Internet Explorer *ryser*.
Funkar bra på min dator med Firefox. Öppnade även den norska spellistan och kunde hoppa mellan den norska länksidan och din sida öppna samtidigt i två flikar. Hittade inte något problem på den lilla stund som jag hade kraft kvar innan sömnen blev för påträngande...
Bra jobbat!
Tre ord. Fett med najs! :cool::cool::cool:
J-kligt bra service, dessutom väldigt bra design. Enkelheten uppskattas.
Enda som jag personligen skulle vilja se är senaste låtarna längst upp så man slipper scrolla.
(Jag vet att SR visar samma ordning)
Snyggt!
Enda som jag personligen skulle vilja se är senaste låtarna längst upp så man slipper scrolla.
Det är en rimlig önskan.
Tekniskt: Idag lagrar jag varje låtlista i en textfil (JSON-kodad) och därmed är det inte bara att sätta "ORDER BY time DESC" som om det varit en databas, men jag kan sortera hela arrayen eller - och det är jag mest sugen på att testa faktiskt - så funderar jag på att använda javascript som t.ex. jQuery Tablesorter eller liknande (helst med en cookie som kommer ihåg vald sorteringsordning). Mest för att få en chans att testa det men även för att det lägger belastningen på klientsidan för de som vill ändra ordningen.
Vore kul om man även skulle kunna göra på samma sätt med p3:s spellistor, och presentera dessa på samma sätt.
Det vore inte omöjligt. Jag har även tittat på Trackslistan. Den finns visserligen representerad i och med att alla låtar finns i låtlistan, men vissa kanske ändå vill se enbart Trackslistan.
Fast min högsta prio är faktiskt att ta nattradion (kl 00.00 till 06.00) från P4 eftersom P3 inte lägger ut nattradion i sina låtlistor då de samkör den med P4. Samt en bättre cachning och mera frekvent uppdatera under dagen eftersom SR faktiskt fyller på låtlistorna väldigt snabbt ibland.
Bra jobbat Adrian!
Skulle inte vara fel och använda JSON-datan live i webbläsaren. Synkronisera datan så fort det dyker upp nya låtar (utan att behöva ladda om sidan). Kanske kan vara något?
Skulle inte vara fel och använda JSON-datan live i webbläsaren. Synkronisera datan så fort det dyker upp nya låtar (utan att behöva ladda om sidan). Kanske kan vara något?
Mm, jag har funderat lite i dom banorna. En form av "ticker" som automatiskt lägger till nya låter vartefter de dyker upp (endast vettigt för dagens datum). Då är också en omvänd ordning ännu mera befogat. Det vore en kul teknisk utmaning dessutom
Bra initiativ! Funkar jättebra även på FF 3.6b1.
Efter att Spotify släppte sitt Metadata API och speciellt efter att ha läst en artikel om spellistor från NRK:s P3 blev jag sugen på att se vad jag kunde åstadkomma med låtlistorna från Sveriges Radios P3. Jag tog det som en chans att vässa mina kunskaper i PHP, javascript mm.
Nu är det någorlunda klart och jag har döpt det till p3spotify.
Sidan må se enkel ut, men det finns lite avancerade rutiner bakom det hela för att cacha låtlistorna på ett intelligent sätt och inte göra en förfrågan mot P3 resp Spotify så fort någon laddar en sida, samtidigt som jag måste uppdatera cachen då och då eftersom P3 lägger in låtinformationen i efterhand, ibland flera dagar i efterhand.
Hursomhelst, säg gärna vad ni tycker, om ni hittar buggar osv. Som det står under Vanliga frågor så finns det inte någon möjlighet att generera spellistor för Spotify ännu, men när de släpper på den funktionen i API:et ska jag titta närmare på det.
Sidorna är bara testade i Safari 4 och Firefox 3 på Mac än så länge. Har inte riktigt vågat dra igång Internet Explorer *ryser*.
Fantastiskt tjänst! Bra jobbat, visst är det ok att jag sprider den vidare?
Absolut.
Jag har ingen aning om hur väl det håller om belastningen skulle bli hög, men jag tror det ska hålla.
Har du kunnat mäta något hur sidan har klarat av belastningen? Vore intressant och veta...
Bra jobbat, inte min kopp av TE men riktigt bra gjort.
Nu har jag knådad och fixat med koden och lagt ut lite förändringar, vi kan kalla det version 1.1.
De viktigaste förändringarna är:
Sortering.
Det går att sortera stigande och fallande på klockslag eller låt (i praktiken artistnamn) via javascript.
Sökning efter video och sångtext.
När man för muskpekaren över en låtrad får man upp två extra länkar, "Video" och "Sångtext". Det är helt enkelt direktlänkar till google-sökningar av typen "Jag har tur" ("I'm Feeling Lucky"). Google tillåter inte alltid direktlänkar till "Jag har tur", speciellt inte om ordet "lyrics" är med (har väl missbrukats av spammare kan jag tänka mig), så ibland får man upp en google-lista, ibland hamnar man på första träffen.
Bättre sökresultat.
Jag noterade att låtar med &-tecken i artistnamnet ofta inte fungerade hos Spotify. Jag testade att ta bort dessa tecken och då fick jag fler träffar. Sen såg jag att P3 gärna skriver ut alla artistnamn medan Spotify hellre vill ha ett enda. Till exempel gav denna låt ingen träff hos Spotify: Promoe & Andreas Grega & Supreme & Timb - Mammas Gata men när jag gjorde om den till enbart Promoe - Mammas Gata fick jag träff. Därför kollar jag nu en extra gång på de fall där ingen träff hittas och om det finns flera artistnamn med &-tecken mellan tar jag bort alla utom det första och försöker igen. Samma sak för +-tecken. Jag gör även vissa andra kontroller och rensar ut udda tecken för bättre sökresultat.
Några saker som inte är fixade ännu:
Jag har fortfarande inte fixat nattradion från P4 och det finns ingen fräck automatisk ajaxuppdatering. Sorteringen sparas inte med någon cookie, så för er som vill ha listan i omvänd ordning behöver ni klicka varje gång, sorry.
En baksida av den nya bättre sökningen är att jag varit tvungen att radera all cache så att nya bättre listor kan skapas. Därför är det färre sidor som syns direkt nu i början.
Förövrigt kan jag säga att html-tabeller är ett h-vete att försöka styla (stajla?) vettigt med CSS. Men jag var tvungen att göra om låtlistorna till tabeller för att använda javascript-sorteringen av låtarna.
Jag har meckat om i koden ganska mycket, så det är fullt möjligt att jag introducerat nya buggar, men det lär väl märkas
En redan bra sida blev ännu bättre. Har du fått någon respons från sr och p3 om sidan?
Näe, men jag har inte tagit någon kontakt aktivt heller. Däremot skulle Spotify kunna klaga på att jag bryter mot detta stycke i deras Terms of Use
5. Restrictions of use
1. You must not use the API in any manner that is not expressly authorized in this Agreement. Without limiting the foregoing, you may not:
[...]
aggregate Metadata to create data bases, or any other compilations of Metadata;
Jag cachar ju resultatet för att sidan inte ska ta flera minuter att ladda varje gång (precis som den norska sajten gjorde i sitt kodexempel som jag utgick ifrån), och den cachen skulle kunna ses som "compilations of Metadata". (Jag kan närsomhelst tömma den eftersom det återskapas när man besöker ett visst datum, men poängen är ju att ha den kvar för att få kvicka sidor.)
Kanske inget ska sägas till de, vill minnas att sr för några år sedan hotade med jurister för alla som på något sätt inkräktade på deras varumärke.
Sen har jag en undran, går det att göra samma sak med p3:s övriga kanaler? Dessa publicerar ju också spellistor på sina sidor. Kanske något enkelt meny-val. En fundering bara, p3spotify är mer än tillräckligt för mig.
Kanske inget ska sägas till de, vill minnas att sr för några år sedan hotade med jurister för alla som på något sätt inkräktade på deras varumärke.
Jo, jag tänkte på det, det var ett av skälen till att jag bara gjorde det som en subdomän än så länge. Ska man göra något mera seriöst av det och regga en riktig domän bör varken P3 eller Spotify vara med i produktnamnet. (Jag funderade på radiospot.se men det var taget.)
Sen har jag en undran, går det att göra samma sak med p3:s övriga kanaler? Dessa publicerar ju också spellistor på sina sidor. Kanske något enkelt meny-val. En fundering bara, p3spotify är mer än tillräckligt för mig.
Antar att du menar SR:s övriga kanaler? Jag har har funderat på det, det är nog bara P4 som är aktuellt i så fall. P2:s musik lär inte ge många träffar hos Spotify och P1 har mest prat.
Närmast till hand är dock att ta nattradion från P4 så jag täcker P3:s hela dygn. Nattradion är ofta väldigt bra dessutom.
Antar att du menar SR:s övriga kanaler? Jag har har funderat på det, det är nog bara P4 som är aktuellt i så fall. P2:s musik lär inte ge många träffar hos Spotify och P1 har mest prat.
Jag syftade mest på p3 svea, p3 star, p3 street, p3 rockster eftersom de utöver p3 är de kanaler jag mest lyssnar på. Men jag förmodar att det går och skapa spellistor från alla sr:s kanaler som publicerar spellistor.
Men jag är som sagt redan mycket nöjd med webbsidan, att enkelt kunna få fram låtarna i spotify är kanon, så ta utvecklingen i din takt och med dina prioriteringar. Jag förmodar att du lagt ner en del obetald tid på detta så vi som använder sidan kan vara tacksamma.
Jag syftade mest på p3 svea, p3 star, p3 street, p3 rockster eftersom de utöver p3 är de kanaler jag mest lyssnar på. Men jag förmodar att det går och skapa spellistor från alla sr:s kanaler som publicerar spellistor.
Ah, du menar dom kanalerna, dom hade jag inte tänkt på faktiskt, trots att jag lyssnat rätt mycket på dom. Det vore ett bra tillägg att ha med dom, ska kolla på det.
Men jag är som sagt redan mycket nöjd med webbsidan, att enkelt kunna få fram låtarna i spotify är kanon, så ta utvecklingen i din takt och med dina prioriteringar. Jag förmodar att du lagt ner en del obetald tid på detta så vi som använder sidan kan vara tacksamma.
Det är ett kul hobbyprojekt och jag lär mig på köpet, så jag kan se det som en investering i personlig utveckling. Så förslag, önskemål eller kritik är välkommet. Sen om om jag håller med eller inte är en annan fråga