130 likes | 246 Views
Learn about designing mobile apps that can run on different platforms, analyzing design methods and tools, platforms like Series60, and Java, and the impact of operating systems. Understand the importance of platform-independent design in today's fast-evolving mobile landscape.
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?