• No results found

Intervju med Johan Holmberg

4.4 Reektion av metodansats

6.3.1 Intervju med Johan Holmberg

Intervju med: Johan Holmberg, lead developer i Elisprojektet. Ämne: Integration av Philips Hue till Elis.

Ansvariga: Joakim Lithell, Per Johansson. Datum intervju: 2014-05-15

Datum transkribering: 2014-05-15

Joakim Lithell: Vi har arbetat med att implementera Philips HUE och märkt att det nns den ganska komplex struktur i Elis. I vårat fall ville vi bara bygga en adaptor för en lampa som skulle kunna byta färg. Men det krävde ju en del imple- mentation av klasser som identiers till exempel. Vad är tanken med dom? Är det något som har med säkerheten och göra?

Johan Holmberg: Identiera nns till för att vi inte vet hur en enhet identi- era av sitt underliggande system. Därför har vi valt att abstrahera bort den biten och låter det vara upp till utvecklarna av adaptern. I många fall behövs den inte alls, i andra fall är dem ganska komplexa.

Joakim Lithell: Hur har ni tänkt dokumentera den biten? När det är så pass generellt är det ju svårt och dokumentera något som skiljer sig så mycket.

Johan Holmberg: Japp, det är det. Det vi tänkt skriva är att den är så pass generell att det är upp till digöch skriva, och vi har inte tänkt skriva mycket mer än så. Jag vet inte riktigt hur man skulle kunna göra på ett annat sätt, det är ett problem med alla system som är stora och generella Det är svårt och förklara det på ett bra sätt.

Joakim Lithell: Vi har märkt att det är rätt svårt och komma igång med ut- veckling mot plattformen. Har ni någon tanke på ett sätt där utvecklare kan komma igång snabbare med någon mockup version?

Johan Holmberg: Dels nns våra enhetstester som i sig är en form av doku- mentation Där nns även mockobjekt. Vi har även en slags början på att ha ett Dummy projektsom är ett skelett men det har vi inte hunnit hålla vid liv, det är fortfarande nedprioriterat.

Joakim Lithell: Vi har ju märkt att det nns dokumentation men det är många ställen där det nns luckor. Är detta något som kommer prioriteras mer mot slutet? Johan Holmberg: Vi hoppas det.

Joakim Lithell: Hur kommer den dokumentation hållas uppdaterad när platt- formen växer?

Johan Holmberg: Vi är snart i ett lägga i plattformsprojektet där det inte ska få växa mera. Då har vi sagda att vi är färdiga med själva plattformen. Det vi kommer göra då är att implementera er adapterar och liknande.

Joakim Lithell: Okej, så ni ska implementera adaptrar?

Johan Holmberg: Ja, och använda den insikt vi fått med att faktiskt dokumentera hur man gör saker och varför man gör saker.

Joakim Lithell: Ser du något värde i att vi implementerar en adapter för Philips HUE mot Plattformen?

Johan Holmberg: Jag ser era värden, även som HUE som i egen enhet. Den kan saker som det nuvarande system inte kan. Den kan även användas till mer än bara tända och slänka, det är lite mjukare värden också som är glädjefullt att an- vända som kan användas som en murbräcka in för att få saker att upplevas som trevligare för användaren vilket man ofta missar. Jag ser också ett stort demo-värde att koppla ihopa ett mer teknolt system som Elis där fokus är mer på att få saker gjorda, med HUE som är mer lekfullt och att få dom att prata med varandra på ett sätt som idag inte går. Det kan bli väldigt häftigt. Jag ser också en fördel med att

låta något annan än vi utvecklare i Elis utveckla en sån här adaptor för att kunna använda input på vad som är enkelt och vad som är svårt och göra. Och eventuellt tweaka(ändra) system eller något api. Och faktiskt få veta vad som behöver doku- menteras.

Joakim Lithell: Du påstod att Elis-plattformen var generell, vi anser det sam- ma. Det är ibland otydligt om vad som ska implementeras i vissa klasser. Ser du någon fördel med detta?

Johan Holmberg: Den största födelen är att du kan göra vad som helst med den. Det är också den största nackdelen med den naturligtvis. Ju mer generelt det är, ju svårare är det att göra saker enkelt. Så är det tyvärr. Det vi har fått fokusera på är sättet att representera objekt och sätt att kommunicera på ett standardiserat sätt. Det är svårt. Fördelen med ett mer generellt system är ju att du kan få era saker att prata med varandra som vanligtvis inte går.

Joakim Lithell: Hur tror du man kan hjälpa utvecklare att överkomma komplexi- teten i framtiden?

Johan Holmberg: Tydligare dokumentation, er exempel och låta apierna i platt- formen itereras ett varv till för att se vad man kan skala bort och vad man kan förtydliga. Ni kan till Ulrik ställa frågor om IoTA, en arkitektur som vi har haft och förhållt oss till men inte följt så skarpt. Vi har hamnat med med något sorts middleware tänk, även om vi haft det som mål.

Joakim Lithell: Per Johansson, under din installation stötte du på problem med installationen av plattformen, vad var det för problem?

Per Johansson: När jag installerar bundlarna med felix, så har ju dom en re- ferenstruktur där jag får många fel. Men sen när jag listar dom får jag upp att dom är aktiva. Så då har jag undrat på om dom fungerar eftersom jag får upp listan på att dom är aktiva trots att fel genereras när dom körs. Och sen när det läggs in i Eclipse, får jag fel med super-pom referenserna, och det är weard, det borde jag

kunna lösa men det räcker inte med att bara ändra referensen.

Johan Holmberg: Just super-pom är problemet är spännande, du kör Windows va? Per Johansson: Ja.

Johan Holmberg: Jag har märkt också va, att det blir ofta problem när man går från en Unix-miljö till en Windows-miljö.

Per Johansson: Jag har funderat på om det är någon teckenuppsättning?

Johan Holmberg: Ja det är det jag funderar på också. Jag har märkt när man har projekt och det gäller alla projekt även hobby projekt så blir det ofta problem när man går över till windows eftersom det ofta blir sökproblem och sådana grejer eftersom det hanteras inte på samma sätt. Det nns vissa sådan diskrepanser som gör att det inte fungerar lika bra i Windows.

Joakim Lithell: Så plattformen som det är nu är inte anpassad för Windows? Johan Holmberg: Den är skriven i Linux och Mac OS/x liksom. Ingen av oss som har skrivit den har skrivit i Windows. Vi har inte testat i Windows faktiskt. Joakim Lithell: Det kan vara en parentes i framtida dokumentation att det in- te är testat i Windows.

Per Johansson: Ja jag pratade med Marcus och han sa att han aldrig sett felet förut och att man skulle söka på google för en lösning.

Joakim Lithell: Där kommer det in också att det är en sak att sätta upp hela plattformen när man behöver den, bara för att utveckla en adapter kanske man inte behöver hela plattformen.

Det nns ju ett gäng bundles med bara api:er va. Det är dom du behöver egentligen, du behöver inte en implementation för att utveckla, för att testa, om du inte kör en mockup alltså. Men det är också en av tankarna bakom arkitekturen som vi har, eller, ja designen det är att det vi erbjuder är ett gäng api:er, sen har vi även en referensimplementationer av den också men den ska ni kunna tabort och plugga in en egen.

Joakim Lithell: Vilken är det? Vilken är referensimplementation är det?

Johan Holmberg: Men asså det är dom här bundlarna som bara innehåller api:er. Dom som heter device api och storage api, det är api:erna och det nns även dom här sakerna som storage-service och user-implementation och det är implementatio- ner av service och storage-service.

Joakim Lithell: Okej så tanken är framtida utvecklare ska kunna göra sina eg- na versioner av api, för den är implementerad som MySql nu va?

Johan Holmberg: Ja.

Joakim Lithell: Så då ska man kunna göra en egen med MongoDB eller? Johan Holmberg: Precis.

Joakim Lithell: Så det är också det där komponentbaserade tänket kommer in? Johan Holmberg: Precis.

Joakim Lithell: Vilka säkerhetsaspekter har ni tagit in i plattformen?

Johan Holmberg: Vi har inte hunnit implementera så mycket av det vi har tänkt men vi har funderat mycket på vem som har access till vad av data och sånt här framförallt har vi lagt mycket energi på att designa men inte implementera säkerhet i REST-api:t och det som exponeras mot tredjepartsutvecklarna. Det vi har pratat

om där borde du fråga Axel om det är han som håller koll på det.

Joakim Lithell: Ni hade ju nån del om det här vi snackade med CMO om, det här med att man behöver skriva så mycket mer kod för att det ska vara generellt. Var går gränsen för vad som är för generellt och för vad som är för specikt? Hur bestämmer man att det inte ska nnas en specik deviceidentier exempelvis? Johan Holmberg: Det är väldigt svårt. Jag har inget bra svar på det. Det vi gjorde här var att vi sa att vi skjuter brett och designar för det mesta. Sen får vi se vad dom faktiskt behöver implementera.

Joakim Lithell: Men har ni tittat på dom underliggande systemen och vad dom brukar använda sig av?

Johan Holmberg: Ja, delvis. Vi valde att inte titta för djup i alla för då får man för specika lösningar. Och det är det här vi har gjort när det gäller användandet av lösenord, som är för specikt, eftersom det inte används av exempelvis Philips Hue. Och det är något som kanske hade kunnat hamna i en identier som är väldigt specik.

Joakim Lithell: Tror du det kommer nnas någon praktiskt användning för Philips Hue?

Johan Holmberg: Ja, absolut. Man kan använda den som, om man tänker sig Elis som specikt en plattform för att visualisera energianvändande så kan man tänka sig att man kan använda färgkodningen med Philips Hue för att visa hur energiåtgången varit idag kontra gårdagen eller förra veckan. Grönare ju bättre det är. Man kan också tänka sig Elis som en automationsplattform för hemmaautoma- tion. Add du har den för att sätta stämningsbelysning vilket Hue är tänkt för från början. Om man vill tänka sig mer häftiga grejer så kan man tänka sig Hue som en del av ett spel som större grej.

Related documents