För några veckor sedan letade jag febrilt efter något onlineprogram för att editera texter med flera användare samtidigt.
Anledningen var att jag och en kille från andra sidan världen (nåja, Italien var det iof men ändå långt från Götet!) tränat på parprogrammering+TDD tillsammans ett par gånger tidigare i vår, men lackat ur pga de stora fördröjningar den ena hela tiden utsätts för. Tekniken vi använde då var s.k. Desktop Sharing, t.ex. via Fjärrskrivbord eller VNC. Läs detta inlägg om du vill veta mera om vad vi använde för verktyg och hur det funkade.
I alla fall; jag kände ju till Google Docs sedan tidigare, som är utmärkt för att t.ex. skriva uppsats tillsammans (skolarbete/grupparbete/förening…) men det kräver att alla har så kallat google-konto. Dessutom är det ganska nedsmetat med funktioner man inte är speciellt intresserad av som programmerare.
Nåväl, jag hittade till slut ett par olika alternativ för ”kollaborativt textskrivande”. Det första är Etherpad:
Etherpad kräver ingen inloggning, och varje deltagares text färgas efter dennes val av färg. Det ger en tydlig och enkel översikt över ”vad som händer”. Det är helt klart ett attraktivt alternativ för ”remote pair programming” som är målet. Nackdelen med etherpad är att det bara stödjer så kallad syntax highlighting för språket JavaScript.
Eftersom jag kodar C#/Python/C++ mestadels, letade jag vidare. Min Italienske vän hittade följande program: Collabedit:
I Collabedit finns det stöd för färgkodning (som syntax highlighting heter på svenska) i alla de språk jag vardagligen använder, och många fler. Inte heller Collabedit kräver inloggning utan funkar rakt upp och ned.
Det som återstår för att uppfylla målet ”remote pair programming” är ett script som gör föjlande:
1. Laddar ned dokumentet från nätet (t.ex. med hjälp av wget)
2. Kör dokumentet i ”testläge” (t.ex. via någon flagga så att dokumentets tester körs)
3. Väntar på användarens knapptryckning
4. Hoppar till ett
På så sätt kan varje deltagare köra testerna vid behov. Alternativet är att byta ut (3) mot lämplig paus, t.ex. 10 sekunder, så behöver man inte ens trycka tangent för att köra om testerna. Jag kallar denna teknik ”kontinuerlig testkörning” och använder den ofta på jobbet. Det blir som en ”hjärtmonitor” på programsystemets ”hälsa”.
Det ska bli intressant att experimentera med dessa verktyg! Jag kommer att återrapportera hur det känns och funkar när jag kommit längre.
Taggar: programmering, tdd, parprogrammering, agile, remote pair programming, etherpad, collabedit
Etherpad har vi faktiskt använt lite i mitt nya projekt – jag gillar själva idén/principen även om det känns otäckt att informationen är helt oskyddad. Security by obscurity, som man säger. Men jag kommer säkerligen att använda det fler gånger – för ren textdelning. 🙂
Mia;
Det är därför program som Etherpad (helt utan säkerhet alltså) funkar bäst med Open Source-utveckling. Tänk att slippa tänka på att gömma saker hela tiden!