Met de scripttaal AmbientTalk kunnen ontwikkelaars een versnelling hoger schakelen wanneer ze mobiele applicaties schrijven. “Wanneer je in Java 600 lijnen code nodig hebt, moet het in AmbientTalk lukken op 20 lijntjes”, oppert senior researcher Tom Van Cutsem.
De app-hype inspireert niet alleen softwareontwikkelaars, maar ook onderzoekers aan de universiteit. Enkele doctoraatstudenten aan de VUB hebben zelfs een nieuwe objectgeoriënteerde programmeertaal in elkaar gestoken waarmee toepassingen voor smartphones sneller ontwikkeld kunnen worden.
“AmbientTalk kan nog het beste vergeleken worden met Python of Ruby on Rails, maar dan specifiek voor mobiele telefoons”, aldus Tom Van Cutsem van het ‘Programming Technology Laboratory’ aan de VUB. “Het belangrijkste is de productiviteitswinst. We willen vooral het aantal lijnen code verminderen. De scripttaal voorziet bijvoorbeeld in een automatische manier om smartphones te detecteren, via bluetooth of wifi. Klassieke programmeertalen doen dat niet.”
“Om AmbientTalk wat bevattelijker te maken, organiseren we demosessies met onze collaboratieve painting app WeScribble”, gaat junior researcher Dries Harnie verder. “Stel dat je met een aantal mensen samen zit in een kamer, en je wil een route uitleggen aan de anderen. Iedereen pakt zijn smartphone, je start WeScribble op, en alle mobieltjes ontdekken elkaar meteen. Vervolgens kan de persoon die de weg uitlegt beginnen tekenen op zijn scherm, en verschijnt die tekening tegelijk op alle andere schermen.”
Kan je zulke dingen dan niet met traditionele scripttalen? “Toch wel, maar als je met Java-sockets werkt en iemand verlaat de kamer, dan moet je dat opvangen en moet je de code compleet binnenstebuiten draaien. Als je in AmbientTalk programmeert, dan ziet het systeem meteen dat de bewuste persoon vertrokken is, en worden alle boodschappen bijgehouden tot hij of zij terugkomt. Enkele lijntjes die losstaan van de tekenapplicatie volstaan. In Java krijg je een monster van 600 lijnen, en nog ben je niet zeker dat het werkt.”
Momenteel is AmbientTalk een proof of concept, en te traag voor productie. “Wanneer je tekent met WeScribble, duurt het drie tot vier milliseconden voor je geesteskind op de andere schermen verschijnt. Maar als de scripttaal een onderdeel zou worden van Android, zou alles nog veel sneller kunnen gaan. Dan moet je niet constant doorheen de Java-laag manoeuvreren.”
Naar de toekomst toe wordt er gewerkt aan support voor meerdere netwerktechnologieën. “Later moet er ook over 3G kunnen gewerkt worden”, klinkt het nog. “Dan is het mogelijk om voortdurend in verbinding te staan met iemand aan de andere kant van de wereld. En als de verbinding toch verbroken wordt, kan AmbientTalk daar meteen op inspelen omdat de taal zo veel primitieven heeft die onderbrekingen kunnen verwerken.”
“Het soort toepassingen die dan mogelijk worden zie je nu al bij de Nintendo DS, waar er meerdere personen tezelfdertijd hetzelfde spelletje spelen”, besluit Van Cutsem. “Opnieuw: het is niet dat je met AmbientTalk fundamenteel méér kan doen dan in Java of in Objective C, het gaat hem om de productiviteitswinst. Waardoor je sneller apps kan bouwen, sneller kan testen en sneller de markt kan betreden.”
“Belangrijk is dat we Android-api’s die bijvoorbeeld gps-data uitlezen of contactlijsten opvragen, vertalen naar api’s van een hoger niveau, opdat je die dingen sneller kan opvragen. In Java heb je tientallen lijnen nodig om gps-gegevens uit te lezen. Bij AmbientTalk moet dat in één lijn kunnen.”
BRON TOP 10 APPS: DISTIMO
Frederik Tibau
“ALS AMBIENTTALK ONDERDEEL ZOU WORDEN VAN ANDROID, ZOU ALLES NOG VEEL SNELLER KUNNEN GAAN”
Fout opgemerkt of meer nieuws? Meld het hier