Mobile Computing: Sviluppo Applicazione VoIP su Symbian OS S. Impedovo, IAPR Fellow, IEEE S. M., P. Campanella Dipartimento di Informatica Università degli Studi di Bari Aldo Moro Via Orabona, 4 70126 Bari (Italy) impedovo@di.uniba.it, pasqua13.cp@libero.it Negli ultimi anni si sta assistendo ad una vera e propria trasformazione su larga scala di dispositivi mobile, quali cellulari, palmari, smartphone che da semplici oggetti personali utili alla comunicazione stanno diventando potenti dispositivi adatti alla visualizzazione di contenuti multimediali. Tale scenario informatico, definito dall insieme di queste infrastrutture e dal software che permette di utilizzarle porta verso quello che viene definito Mobile Computing. In questo, l articolo definisce l esigenza di dover sviluppare un applicazione su sistema mobile Symbian, che offra servizi VoIP o Instant messaging in maniera semplice, immediata e trasparente. 1. Introduzione Nel campo tecnologico, l ultimo decennio è stato caratterizzato da significativi sviluppi nel mondo dei dispositivi mobili, si è passati dal tradizionale telefonino cellulare, ai più recenti palmari e smartphone che integrano funzionalità avanzate su hardware. In questo, l articolo mostra come su un dispositivo mobile sia possibile utilizzare, tramite un interfaccia user-friendly, una tecnologia molto diffusa quale il VoIP in maniera tale che qualunque utente possa utilizzarla [Jipping, 2010]. Si evidenzierà che programmare un applicazione per dispositivi mobili vuol dire scontrarsi con alcune problematiche che difficilmente si incontrano nello sviluppo di applicazioni per calcolatori [Blanchette e Summerfield, 2006, Badura e Becher, 2009]. Riassumendo nella prima sezione verrà descritta la tecnologia VoIP e a seguire la piattaforma Symbian, nella terza sezione lo sviluppo architetturale e l applicazione realizzata con screenshot. La quarta sezione riporterà le problematiche riscontrate e i possibili sviluppi futuri. 2. VoIP La tecnologia VoIP, acronimo di Voice over Internet Protocol rende possibile una conversazione telefonica utilizzando il protocollo IP. (Fig.1). S. Impedovo, IAPR Fellow, IEEE S. M., P. Campanella (Eds.): DIDAMATICA 2012, ISBN: 978-88-905406-7-7
DIDAMATICA 2012 Fig. 1 - Esempio VoIP Le conversazioni VoIP non devono necessariamente viaggiare su Internet, ma possono anche usare come mezzo trasmissivo una qualsiasi rete privata basata sul protocollo IP [Babin, 2007]. 3. Symbian OS Symbian è un sistema operativo progettato per fronteggiare le problematiche relative alle diverse caratteristiche hardware embedded degli smartphone [Babin, 2007, Bass et al, 1998]. Nel 2008 Nokia con la creazione di Symbian Foundation lo rende open source. Il linguaggio nativo è il C++, ma è anche possibile sviluppare in OPL, Python, Visual Basic, Simkin e Perl, oltre a Java ME e PersonalJava. Per garantire questi principi, Symbian è stato concepito su un architettura a microkernel che dispone di funzionalità multithreading, multitasking e possiede un approccio del tipo request and callback per i servizi. 4. Sviluppo Applicazione Per le funzionalità richieste si è deciso di sviluppare l applicazione su più strati intermedi così strutturati (Fig.2): Fig. 2 - Grafico sviluppo applicazione dove VoipManager è la classe che permette di far dialogare l interfaccia grafica sviluppata con le librerie Qt Symbian che implementano le funzionalità VoIP. Dall analisi delle applicazioni VoIP esistenti per la piattaforma Symbian, si può affermare che non esistono soluzioni open in grado di fornire uno strumento user-friendly per effettuare comunicazioni VoIP [Blanchette e Summerfield, 2006, Badura e Becher, 2009]. L interfaccia utente dell applicazione progettata consiste di un insieme di finestre che consentono la 2
MOBILE COMPUTING: SVILUPPO APPLICAZIONE VOIP SU SYMBIAN OS navigazione [Edwards e Barker, 2004, Digia, 2003, Jipping, 2010]. Seguono gli screenshot del testing. Per accedere è necessario essere registrati al fornitore di servizi VoIP (Fig. 3): Fig. 3 - Area di Login: dettaglio login e parametri di comunicazione. Dopo aver premuto il tasto register per la richiesta di registrazione, all utente viene notificato il risultato dell operazione (Fig. 4). Fig. 4 - Area di Login - dettaglio registrazione Per operare sulla rubrica dall Area Contatti è sufficiente accedere al menu a tendina utilizzando il tasto options del dispositivo (Fig. 5). Fig. 5 - Area Contatti - Menu delle opzioni Quando l utente decide di effettuare tale operazione, viene visualizzata una nuova finestra in cui è possibile visualizzare lo stato della conversazione e inserire nuove stringhe di testo (Fig. 6). 3
DIDAMATICA 2012 Fig. 6 - Dettaglio conversazione testuale Sia le chiamate in entrata che quelle in uscita vengono annotate in un registro delle chiamate esclusivo dell applicazione (Fig. 7). Fig. 7 - Registro delle chiamate Per chiudere l applicazione e inviare una richiesta di disconnessione dal fornitore del servizio VoIP, l utente può utilizzare il tasto di chiusura personalizzato o quello di default del dispositivo (Fig.8). Fig. 8 - Chiusura dell applicazione L applicazione è stata implementata utilizzando l IDE Carbide.c++ [Forstner et al, 2005, Stichbury et al, 2004]. 5. Problematiche riscontrate Le maggiori difficoltà incontrate si sono presentate durante la fase di testing e debugging, dove si è utilizzato l emulatore fornito con l SDK di Symbian, che presenta limiti rispetto al dispositivo reale. In particolare utilizzando il dispositivo mobile reale non sono state riscontrate delle anomalie nel comportamento delle finestre di dialogo e di altri elementi grafici che nell emulatore erano presenti. Perciò si può concludere che l emulatore come strumento di testing è poco consigliabile rispetto al dispositivo reale che ha risposto in modo efficiente. 6. Conclusioni e Sviluppi Futuri Col passare del tempo l evoluzione continua della rete, quale mezzo di comunicazione variegato, ha giovato al VoIP a tal punto che oggi la comunicazione vocale in tempo reale è tuttavia molto diffusa. Il lavoro è consistito nella realizzazione di un applicazione per dispositivi mobili che fornisse in maniera semplice e intuitiva utilizzando il VoIP, le principali 4
MOBILE COMPUTING: SVILUPPO APPLICAZIONE VOIP SU SYMBIAN OS operazioni previste da un normale dispositivo mobile. Si è dato risalto ai fattori diffusione, portabilità, performance che ottimizzano l utilizzo su piattaforma Symbian della Nokia. In particolare è possibile effettuare, ricevere e visualizzare il registro aggiornato delle chiamate, è possibile gestire la rubrica del dispositivo tramite l applicazione e instaurare delle conversazioni testuali con altri utenti. In futuro sarebbe utile implementare ulteriori funzionalità quali la gestione di conferenze vocali. Bibliografia [1] Babin S., Developing software for Symbian OS: a beginner's guide to creating Symbian OS v9 Smartphone applications in C++, 2007. [2] Badura T., Becher M., Testing the Symbian OS Platform Security Architecture, Univ. of Mannheim, Mannheim, Advanced Information Networking and Applications, 2009, AINA '09, IEEE. [3] Bass L., Siegel J., Martin R., Bennington B., Siewiorek D., Smailagic A., A mobile computing system for maintenance and collaboration, Second IEEE International Conference on Wereable Computers, Proceedings, Ottobre 1998. [4] Blanchette J. and Summerfield M., C++ GUI Programming with Qt 4 - The official C++/Qt book. Prentice Hall, second edition, 2006, http://qt.nokia.com/developer/books/cpp-gui-programming-with-qt-4-2nd-edition/. [5] Edwards L., Barker R., Developing Series 60 Applications: A Guide for Symbian OS C++ Developers, ACM, 2004. [6] DIGIA Inc., Programming for the Series 60 Platform and Symbian OS, Wiley, 2003. [7] Forstner B., Lengyel L., Kelenyi I., Supporting rapid application development on Symbian platform, 2005. [8] Stichbury J., Symbian OS Explained - Effective C++ Programming for Smartphones, Wiley, 2004. [9] Jipping M., Mobile Operating Systems Using Symbian OS: A Tutorial Guide, Symbian Press, 2010. Forum Nokia Library. Introduction to Symbianˆ3. http://library.forum.nokia.com/index.jsp - http://www.symbian.org/. 5