True Blue

· 600 ord · 3 minut(er) att läsa

De sista dagarna innan min semester tog slut ägnade jag några timmar åt att experimentera med en idé jag fått efter att ha sett följande video av Andie Nordgren från Music Hack Day.

Andie kopplade ihop RFID-taggar med Soundcloud-ljud så att man kunde koppla ihop objekt eller personer med ett soundtrack. Även om jag inte har något emot att införskaffa ny hårdvara funderade jag på om det inte gick att göra med vad jag redan hade hemma. Jag har ingen RFID-läsare men väl en hel del hårdvara som kan prata trådlöst med varandra över Bluetooth.

Nackdelen med Bluetooth är att man måste para ihop enheterna för att de ska överföra data emellan sig. Men ett steg i processen innan ihopparningen finns där data överförs: namnet på enheterna. I alla de mobiltelefoner med Bluetooth jag haft har man kunnat ändra namnet som skickas över Bluetooth (så att man kan särskilja sin Z600 från alla andra Z600 i närheten).

Genom att införa en unik nyckel i enhetens Bluetooth-namn och en databas där man kan slå upp information skulle man kunna genomföra olika aktiviteter när den är i närheten. Men man vill ju inte införa något centralt när det inte behövs, så databasen skulle istället kunna vara webben. Med en konvention där man anger en webbadress i enhetsnamnet skulle systemet kunna kolla upp den adressen och sedan göra något vettigt utifrån informationen där.

Jag skulle förstås kunna ha adressen till en MP3-fil direkt i namnet men man vill nog hellre ha en resurs som är mer allmän och som kan användas för att leta upp rätt musik om det är en fest jag kommer till eller börjar jämföra filmsmak med andra närvarande genom att leta rätt på mitt Movielens- eller Flixster-konto om det är filmkväll på gång. Dessutom vill man nog ha sin vanity-URL i namnet på mobiltelefonen.

Därför kanske man har något liknande delegationsfunktionen i OpenID, en link-tagg på min bloggs förstasida eller min portfoliowebbplats som pekar ut mitt användarnamn i olika sajter. När jag då kommer i närheten av rätt dator med min telefon med enhetsnamnet “Davids N97 (moonhouse.se)” så slår datorn upp moonhouse.se (om det inte redan finns cachat), letar rätt på mitt last.fm-användarnamn och börjar sedan skapa en spellista som stämmer överens med de andra närvarande personernas smak.

När jag avlägsnat mig (eller stängt av Bluetooth på telefonen) så skapas spellistan om så att alla BWO-låtar försvinner (tips: se till att ha mer än ett album i den iPod du använder under en hel höst). Tyvärr så har last.fm inte en funktion för att skapa radiostationer baserat på kombination av flera användare såsom den kan göra för en kombination av artister så i min testimplementation fastnade jag på steget att försöka skapa en spellista som passar flera personer. Att hämta favoritartister för en användare gör man lätt med last.fm:s API. Det är mer en fråga om hur man väger ihop flera användares favoritartister mer algoritmiskt.

För att leta upp namnen på Bluetoothenheter i närheten tog jag hjälp av en liten kommandoradsutility kallad bluelist. När jag testade med telefonerna som låg i närheten av datorn upptäckte jag en allvarlig brist: av någon anledning så tycker Apple att Bluetooth endast är användbart för att koppla ihop telefon med headset så telefonen är endast synlig när man har inställningsmenyn för upptäckbarhet uppe.

Det är förresten intressant att kolla på Bluetooth-enheter i närheten när man åker tåg. Jag tror inte att Macbook-ägare i allmänhet tänker på att deras namn skickas ut till omvärlden om de har godtagit defaultvärdet för datornamn (sitt eget namn med “s MacBook” påhängt i slutet) och har Bluetooth påslaget.