130 likes | 236 Views
Platform Independent Design of Mobile Applications. WIM Workshop 2004 Teemu Ihalainen Information Technology Research Institute University of Jyväskylä, Finland E-mail: Teemu.Ihalainen@titu.jyu.fi. Overview. Introduction Design methods and tools analysis
E N D
Platform Independent Design of Mobile Applications WIM Workshop 2004 Teemu Ihalainen Information Technology Research Institute University of Jyväskylä, Finland E-mail: Teemu.Ihalainen@titu.jyu.fi
Overview • Introduction • Design methods and tools analysis • Platforms and operating systems analysis • Results and a brief summary
Introduction • Mobile data-enabled devices have become increasingly popular within last few years • Fast development of technologies • Usually very device specific solutions Platform = Series60, 80, 90, UIQ 2.0, 2,1 and java (J2ME) Platform independent design = A design solution that can be implemented to different platforms Mobile application = non-standalone (wireless link) software running on portable device
Mobile Applications Design • Wireless connection to network • Availability of network (adapt) • Reliability of network (recover) • Communication properties (GPRS, Bluetooth etc.) • Usage model: One or two handed, or both • Limited input and output properties (display, keys etc.) • Limited battery life • Limited processing power
Motivation for Independent Design • Heterogeneity of mobile terminals • Many combinations of operating systems and platforms • Devices properties may vary significantly -> Need for porting, modifying, redesigning • Fast development • Fast cycle of devices • Old designs mainly useless • General trend of design • Ambitions of MDA and SysML
Design Methods and Tools • Open Distributed Processing (ODP) • Closer to a framework than a method • Five viewpoints to approach the design problems • Platform independent, but too abstract for direct use • Mobility: Good abstract, but some problems with connectivity • Model Driven Architecture (MDA, OMG standard) • Three levels of models • Utilises other OMG standards, such as UML (2.0) • Problematic, cause “accidental complexity” (D. Thomas) • Abstract level models are platform independent • Mobility: Shares the problems of ODP and UML
Design Methods and Tools • Unified Modelling language (UML 1.0) • A modelling tool, but also a suitcase of design instruments • Platform dependency increases with level of detail • Mobility: Lacking proper means to model connectivity • MetaEdit+ • Commercial meta-modelling tool • “create your own, domain specific modelling language” • Design patterns • Mobility patterns • Platform independency vary by pattern (i.e. Java patterns)
Platforms and Symbian Operating System • Symbian • Open, defines four system definition categories • Common S, Common R, optional S and optional R • No UI (or only developer UI) • Series 60 • Nokia smartphone platform for Symbian based devices • Series 80 and Series 90 • Nokia Communicator and mediaphone platforms • UIQ • Symbian based smartphone platform • Differences to Series 60: UI (Ideally 20%)
Java Platform Java application Java Profile • Java 2 Micro Edition J2ME • Platform independent? • Virtual machine provides platform independence • Connected Limited Device Configuration (CLDC) • Mobile Information Device Profile (MIDP) • How underlying system affects the virtual machine and, thus, the java application? Java Configuration Host OS and platform
Other Operating Systems • Microsoft Windows Mobile • Version 2002 divided: PocketPC and Smartphone • Version 2003 combined(?) • .NET and CF frameworks • Platform independence through server processing • Palm OS • OS for PDA’s and PDA-like smartphones • Linux • Offers very differently open operating system • “Hobbyists toy”, some commercial terminals (Sharp Zaurus)
Results • A model for designing platform independent mobile applications indicating: • Assessment of design methods and tools for mobile applications design • What are the design decisions that make a design platform dependent and how to avoid them? • What properties of specific platform designer should take account when designing a mobile application for it? • Master’s thesis in information systems science
References • ISO/IEC 10746-1:1998. Open Distributed Processing (ODP) Reference model: Overview • Java 2 Micro Edition (J2ME), http://java.sun.org • Microsoft developer network, http://www.msdn.com • Model Driven Architecture (MDA), http://www.omg.org/mda/ • Mobile Internet Technical Architecture, MITA. (2002) • Series 60 platform, http://www.series60.com • Symbian developer network, http://www.symbian.com • Thomas D. (2004) MDA: Modellers revenge or UML utopia?
Thank you Questions?