Antecedents: TRiEM 2005-06
Durant el periode 2005-06 el grup de recerca BCDS de la UdG va treballar amb l'Hospital de Dia de Girona de la FEM en el projecte TRiEM, desenvolupant el prototipus d'una aplicació multiplataforma de videoconferéncia amb gravació, per tal de permetre als especialistes del centre dur a terme activitats de rehabilitació, assistència remota o monitorització a distància (el pacient a casa seva i l'especialista al centre) a través d'Internet.
L'aplicació consisteix a un client de missatgeria instantània modificat i que està escrit en el llenguatge de programació Java (i, per tant, multiplataforma) i fa un ús extensiu de l'estàndard XMPP. El prototipus creat disposava de les següents funcionalitats: videoconferència, enregistrament àudio/vídeo, bloc de notes, llibreria multimèdia i xat.
El sistema va ser dissenyat per fer servir, el més possible, una infraestructura estàndard de baix cost; tant en termes d'equipament informàtic (CPU, tarja gràfica, webcams) com en comunicacions. Per exemple: el prototipus pot oferir una comunicació d'àudio i vídeo bona a dues bandes amb una connexió bàsica que sol ser de 3 Mbps de baixada i 300 kbps de pujada.
L'aplicació AXARM
L'aplicació AXARM parteix de la base inicial del projecte TRiEM. Una de les principals tasques que s'ha perseguit és fer una refactorització complerta de tota l'aplicació. La idea general era modificar el programari per fer més manegables els canvis sense perdre o guanyar (inicialment) noves funcionalitats. Aquesta nova modularització permet llavors afegir noves funcionalitats en forma d'extensions (plugins) que poden ser a nivell de programari (enviar vídeos pregravats a un pacient) o poden incorporar elements extres de maquinari per ajudar a la monitorització d'un pacient (joysticks, catifes de ball, etc).
El procés de la refactorització és progressiu: un cop familiaritzat amb el codi és necessari identificar quines parts són del nucli i quines acabaran sent plugins. D'aquesta manera, s'aconsegueix desfer la seva estructura monolítica, ampliar el seu abast i fer-lo més extensible amb una arquitectura modular. Les parts del nucli són disponibles per fer-les servir en els plugins actuals i futurs, així facilitant la feina de creació. Al ser modular, un programador pot desenvolupar noves funcionalitats sense haver de conéixer tot el programa. La documentació de com desenvolupar una extensió (la seva API) i alguns exemples, són suficients per poder estendre l'aplicació.
Extensions

