En nog wat nieuwe technologieën..

Ik werk dus niet alleen voor Lithium, maar ook voor City-Live, de NV die het platform ontwikkelt dat binnen i-City getest wordt, maar ook commercieel op de markt wordt gebracht. Op 28 en 29 maart organiseert i-City een internationale brokerage, waar aan de hele wereld wordt getoond wat i-City nu precies inhoudt. Om dat een beetje aanschouwelijk te maken, zijn er rondleidingen door Hasselt gepland, waarbij op verschillende plaatsen demo’s worden gegeven. Om alles een beetje te stroomlijnen, worden die demo’s gegeven voor bevallige hosts en hostessen (ze zoeken er nog, dus als je een beetje proper bent, kan je je hiervoor nog kandidaat stellen). Op het einde van de tour krijgen de deelnemers echter zelf een pda in hun handen, zodat ze ook merken dat het niet allemaal smoke & mirrors is. Het is de bedoeling dat er een soort van stadsspel komt, waarbij de deelnemers merken dat er interactie is tussen hun pda en een groot scherm dat daar staat opgesteld. Op die manier toon je dat het niet enkel om die pda’s gaat, maar dat er ook een hele infrastructuur achter zit.

Voor deze applicatie staat in de planning dat er dertig dagen werk is voor één senior .NET developer. En dat ben ik dus. Ik heb nu welgeteld twee applicaties gemaakt (een GPS-tracker en een halve Pictionary), maar ja, .NET is een library, dus daar bestaan naslagwerken voor, en C#, dat bouwt verder op C++ en Java, dus daar merk je ook niet echt verschil.

Het programmeren is dus niet het moeilijke punt, wel het ontwerpen van heel dat spul. Je moet je inbeelden dat er een tiental pda’s zijn, negen laptops die elk een scherm aansturen (ja, het wordt zo’n videowall van plasma-schermen), en één laptop die alles een beetje aanstuurt. Dat allemaal via een Telenet hotspot, die zo ingesteld is dat je niet peer-to-peer kan werken. En ik, die wel het vak Gedistribueerde Systemen heb gevolgd, maar toch liever in de theoretische informatica blijf. Netwerken, dat geeft alleen maar prul met hosts die uitvallen en zo, waardoor sockets niet goed afgesloten, en alles in een vlammende vuurzee neerkomt. Zie ook ons programmeerweekend.

Heb ik gezegd dat de clients voor de pda op 5 maart af moeten zijn? Dan is er nog een kleine week voorzien om te testen, en wordt de code naar alle demotoestellen verspreid. Dat vraagt belachelijk veel tijd (het zijn niet echt gemakkelijke platformen), dus moet dat voldoende op voorhand gebeuren). Dat geeft mij nog een dikke twee weken om die dingen rond te krijgen.

En wat moeten die applicatie allemaal kunnen? Wel, het geheel bestaat uit verschillende spelletjes, dus moet ik ook verschillende dingen kunnen. Een kleine greep uit het aanbod: genetwerkt tekenen (daar kan ik gelukkig verderbouwen op code uit het weekend), een foto maken en uploaden naar “ergens”, geluid opnemen en uploaden, een soort van barcode inlezen (daar kunnen we hopelijk een bestaande toepassing gebruiken), een video opnemen en uploaden, en een bestaand simpel spelletje ook genetwerkt maken. Dat zijn een tweetal eenvoudige zaken, en voor de rest heb ik nog maar half een idee of het gaat lukken. Gelukkig is het idee wel dat als er bijvoorbeeld één spel niet af geraakt, we een ander hergebruiken. Ik hoop persoonlijk dat dat niet nodig zal zijn, mijn trots zou toch een beetje geraakt zijn :p

Voor de communicatie probeer ik het warm water niet opnieuw uit te vinden, en gewoon een bestaand en betrouwbaar protocol voor vlotte multicast-communicatie in een dynamisch netwerk te gebruiken: IRC. Het idee is dat we een eigen IRC-server ergens opzetten, waar alle pda’s, schermen en de contoller op laten connecteren. Er is één algemeen kanaal dat alles aanstuurt, en dan aparte kanalen voor de verschillende spelletjes. Van de server moet ik mij dan niet veel aantrekken, daar zorgt i-City voor, en voor de pda’s heb ik ook al een goede library gevonden, die LGPL is (zodat we hem in een gesloten toepassing mogen gebruiken), en mits een paar kleine aanpassingen ook draait op het .NET Compact Framework, het voor mobiele toestellen geoptimaliseerde .NET Framework. Gisteren heb ik toch zelf wat berichtjes kunnen sturen naar een IRC-kanaal, en ik moet zeggen: het doet wat als je dat daar ziet aankomen. Echt wel tof.

Deze communicatielaag zal voor de rest van de toepassing abstract worden gemaakt, zodat we in een noodsituatie nog altijd kunnen overschakelen van IRC naar iets anders. De data zal waarschijnlijk simpelweg geserialiseerd worden naar binaire data (al zit dat niet in het Compact Framework, maar ook daar zijn er LGPL alternatieven), en dan over IRC gestuurd. Je moet dan wel natuurlijk de gevoelige bytes escapen, maar daar bestaan ook standaard oplossingen voor.

Als dat geen boeiend werk is, dan weet ik het ook niet meer :p

Eén reactie to “En nog wat nieuwe technologieën..”

  1. Peter Dedecker Says:

    Coole dinges, idd ferm boeiend. Ik zou er nooit aan gedacht hebben IRC voor zoiets te gebruiken.

Reacties zijn gesloten.


%d bloggers op de volgende wijze: