Excel-messenger: En helt forfærdelig idé

Illustration: Screenshot af Microsoft-program
På en sløv dag i en unavngiven virksomhed satte en praktikant sig for at finde en metode til diskret at sende beskeder mellem computere på det lokale netværk.

Ud af praktikantens arbejde er der kommet dette underholdende eksperiment. Nedenfor er forløbet beskrevet slavisk, ligesom det er på Tristan Calderbanks blog.

Første del: Peer-to-peer

Den første idé var at skabe to projektmapper i Excel på det lokale drev.

Illustration: Screenshot af Microsoft-program

Hver projektmappe skulle indeholde en celle med sendte beskeder og en indbakkecelle.

Illustration: Screenshot af Microsoft-program

Herefter skulle den ene persons indbakkecelle referere til den anden persons celle med sendte beskeder og vice versa.

Illustration: Screenshot af Microsoft-program

Vupti, så var projektet egentlig færdigt!

Meeeen … der opstod et mindre problem.

Hvis afsenderen ændrede sin besked, blev vedkommende nødt til at gemme Excel-filen, ellers blev referencen ikke opdateret.

Og herefter begyndte det at blive alvorligt. For at løse problemet blev de nødt til at benytte sig af VBA-programmering (Visual Basic for Applications).

Først lavede de en regel om, at der skulle gemmes automatisk hvert 20. sekund. Dette gik dog forholdsvis langsomt på deres maskiner.

Illustration: Screenshot af Microsoft-program

Herefter smed de en ny regel ind om at starte den første regel, når projektmappen blev åbnet.

Illustration: Screenshot af Microsoft-program

Færdig. De havde nu deres første p2p-beskedapplikation i Excel.

Del 2: Klient-server-vanviddet begynder

Det virkede, men det levede ikke op til de urimelige virksomhedskrav, der er ude på markedet. Der manglede noget skalerbart, noget mere dynamisk, noget, der kunne imødekomme kundernes behov. For at løse det lavede de en klient-server-infrastruktur.

Det forløb således:

I stedet for, at de to projektmapper refererede til hinanden, udviklede de i stedet en server-projektmappe og et antal klient-projektmapper.

Illustration: Screenshot af Microsoft-program

Klienterne var nu i stand til at oprette et øgenavn og sende en besked.

Illustration: Screenshot af Microsoft-program

'Serveren' navigerede herefter gennem alle klienterne i mappen, opfangede øgenavne samt beskeder og skabte et master-chat-vindue ved at flytte alt op og ignorere dubletter.

Illustration: Screenshot af Microsoft-program

Det var mere eller mindre det. Nu skulle de bare have alle projektmapperne til at gemme automatisk hvert 20. sekund for at synkronisere. Alle klienterne refererer til serverarket.

Her kan det endelige resultat ses. Som en bonus er ’skindet’ blevet pillet af, så det ligner et regulært Excel-ark.

Illustration: Screenshot af Microsoft-program

Se kildekoden og Excel-filer her.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Kommentarer (8)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Log ind eller Opret konto for at kommentere