Home

Engineering Wireless Mobile Applications

image

Contents

1. Jacobsen I Booch G amp Rumbaugh J 2000 The unified software develop ment process Boston Addison Wesley Httperf Retrieved January 13 2005 from http www hpl hp com research linux httperf HttpUnit Retrieved January 13 2005 from http httpunit sourceforge net Mahmoud Q 2002 MobiAgent An agent based approach to the wireless Internet Journal of Internet Comput ing special issue on Wireless Internet 3 2 157 162 Morisio M amp Oivo M 2003 Software engineering for the wireless Internet Guest Editor s Introduction JEEE Transactions on Software Engineer ing 29 12 1057 1058 Motorola Application Certification Program n d Retrieved February 10 2005 from http qpqa com motorola iden Nikkanen M 2004 User centered de velopment of a browser agnostic mobile e mail application In Proceedings of the Third Nordic Conference on Hu man Computer Interaction Tampere Finland pp 53 56 New York ACM Press Ocampo A Boggio D Munch J amp Palladino G 2003 Towards a refer ence process for developing wireless Internet services IEEE Transactions on Software Engineering 29 12 1122 1134 Open Mobile Alliance 2005 Retrieved from March 15 2005 http www openmobilealliance org Pressman R S 2005 Software engi neering A practitioner s approach 6 ed New York McGraw Hill Satoh I 2003 A testing framework for mobile computing software I
2. Write the application Several Integrated Development Environments IDEs are available for developing Java based wireless applications for example Sun s J2ME Wireless Toolkit and Metrowerks CodeWarrior 2 Test the application in an emulation envi ronment Once the application compiles nicely it can be tested in an emulator 3 Download the application to a physical device and test it Once the application s performance is satisfactory on one or more emulators it can be downloaded to a real device and tested there If it is a network application it is tested on a live wireless network to ensure that its performance is acceptable It is clear that many important soft ware engineering activities are missing from this ad hoc development process For example there is no formal requirements analysis phase and so following an ad hoc development process may lead to building a product different from the one custom ers want Also testing an application with out knowing its requirements is not an easy task In addition issues related to the oper ating environment such as network band width should be considered during the de sign so that the performance of the appli cation will be satisfactory WIRELESS SOFTWARE ENGINEERING While wireless application develop ment might appear to have less need for the coordination that a process provides aspects of development testing evaluation deployment and maintenance of a
3. and need no access to external data sources through a wireless network Examples include calculators and single player games e Network applications consist of some components running on a wireless de vice and others running on a network and thus depend on access to external resources An example would be an e mail application with a client residing on a wireless phone that interacts with an SMTP server to send messages Although these two types of applica tions are different they are deployed in the same way The big difference shows up later Local applications are easier to test than network applications For example a calculator application can run on a wire less phone even when it is not connected to any network but an e mail client won t work without a connection to the SMTP server that actually transmits the messages Over the Air Provisioning For some time wireless portals in Europe such as Midletcentral have allowed customers to download applications directly to their phones over the air Over the air provisioning of wireless applications OTA is finally available in North America Nextel customers for example can download net work aware wireless applications without an update data cable OTA is the deploy ment of wireless Java applications MIDlet suites from the Internet to wireless devices over a wireless network Users need not connect their devices to the desktop with a data cable or visit a servi
4. ex ample This environment could very well be a WAP browser as shown in Figure 2 Similar to Java Applets that are inte grated into HTML MIDlIets can be inte grated into a WML or an XHTML page Such a page can then be called from a WAP browser and the embedded MIDlet gets downloaded and installed on the device In order to enable this a WAP browser is needed on the device Another alternative approach for over the air provisioning is the use of a Short Message Service SMS which has been done by Siemens where the installation of MIDIlets is accomplished by sending a corresponding SMS If the SMS contains a URL to a Java Application Descriptor JAD file specifying a MIDlet Suite then the recipient can install the ap plication simply by confirming the SMS DESIGN CHALLENGES AND POSSIBLE SOLUTIONS In this paper we are more concerned with native interactive applications that can be developed using the J2ME platform or a similar technology J2ME based wireless applications can be classified into local stand alone and network applications Local applications perform all their opera tions on a handheld wireless device and need no access to external data sources through a wireless network Examples in clude calculators and single player games Network applications on the other hand consist of some components running on a wireless device and others running on a network and thus depend on access to external resources An exam
5. paths that show how the user moves from one screen to another to access services Figure 4 shows a simple example where the user will have to login before she is able to check her messages The user interface is the face of the application to users A poorly designed user interface will scare the user away and a Copyright 2006 Idea Group Inc Copying or distributing in print or electronic forms without written permission of Idea Group Inc is prohibited Int J of Information Technology and Web Engineering 1 1 59 75 January March 2006 67 Figure 4 Screen mockups well designed user interface will give a good first impression and improves the user s perception of the services offered by the application The user interface must be well structured and easy to use Here are some guidelines that can help in designing simple yet effective user interfaces for mobile devices with tiny screens e Keep the application s interface simple enough that the user seldom needs to refer to a user manual to perform a task e Reduce the amount of information dis played on the device e Make input sequences concise so the user can accomplish tasks with the mini mum number of button clicks e Offer the user selection lists e Do not depend on any specific screen size The output of this phase is a user manual that describes the screen mockups and the navigational paths Implementation In this phase de velopment tools ar
6. that the methods developed for con ventional systems are not optimal for wire less applications In particular wireless application development doesn t always fit into the development model originated to cope with conventional large software sys tems Most wireless application systems will be smaller than any medium size project however a software development method can be just as critical to a small software project success as it is to that of a large one In this paper we have pre sented and discussed a systematic approach to wireless application development and presented practical guidelines for testing wireless applications The proposed ap proach takes into account the special fea tures of the wireless environment We have successfully used the approach presented to develop various wireless applications ranging from a stock portfolio management application to a mobile agent platform for mobile devices Mahmoud 2002 Our fu ture work includes evaluating the effective ness of the proposed methodology docu menting wireless software design patterns and building tools to automate the task of testing wireless applications There are several interesting research problems in the emerging area of wireless mobile applications and services Some of these research issues include novel mo bile services in the area of m commerce and health care security and privacy is sues mobile agents for mobile services discovery and
7. the user must traverse several screens to per form a function that s likely to be very popular you may wish to consider moving that particular function up the screen lay ers Some of the questions you should ask during usability testing include is the navi gation depth the number of screens the user must go through appropriate for each particular function does the application minimize text entry painful on a wireless phone or should it provide more selection menus can screens of all supported de vices display the content without truncat ing it and if you expect to deploy the appli cation on foreign devices does it support international character sets Network Performance Testing The goal of this type of testing is to verify that the application performs well in the hardest of conditions for example when the battery is low or the phone is passing through a tunnel Testing performance in an emulated wireless network is very im portant The drawback with testing in a live wireless network is that so many factors affect the performance of the network it self that you cannot repeat the exact test scenarios In an emulated network envi ronment it is easy to record the result of a test and repeat it later after you have modi fied the application to verify that the per formance of the application has improved Server Side Testing It is very likely that wireless applications communicate with Copyright 2006 Id
8. EEE Transactions on Software Engineer ing 29 12 1112 1121 Sun Microsystems J2ME 2005 Re trieved from http java sun com j2me Sun Microsystems J2ME Wireless Toolkit 2005 Retrieved from http java sun com products j2mewtoolkit ENDNOTE We use the terms wireless application and mobile application interchangeably throughout this article Copyright 2006 Idea Group Inc Copying or distributing in print or electronic forms without written permission of Idea Group Inc is prohibited Int J of Information Technology and Web Engineering 1 1 59 75 January March 2006 75 Qusay H Mahmoud qmahmoud cis uoguelph ca earned his PhD in computer science from Middlesex University UK in 2002 Currently he is an assistant professor in the Department of Computing and Information Science University of Guelph and associate chair of the Distributed Systems and Wireless amp Telecommunications Systems Technology program at the University of Guelph Humber His research interests include wireless computing agent technology and Web based systems Zakaria Maamar zakaria maamar zu ac ae earned his PhD in computer science from Laval University Canada in 1998 Currently he is an associate professor in the College of Information Systems Zayed University Dubai UAE His research interests lie in the areas of mobile computing Web mobile services and software agents Copyright 2006 Idea Group Inc Copying or distribu
9. IDEA GROUP PUBLISHING 701 E Chocolate Avenue Suite 200 Hershey PA 17033 1240 USA Tel 717 533 8845 Fax 717 533 8661 URL http www idea group com ITJ3052 This chapter appears in the publication International Journal of Information Technology and Web Engineering Volume 1 Issue 1 edited by Ghazi Alkhatib and David Rine 2006 Idea Group Inc Engineering Wireless Mobile Applications Qusay H Mahmoud University of Guelph Canada Zakaria Maamar Zayed University United Arab Emirates ABSTRACT Conventional desktop software applications are usually designed built and tested ona platform similar to the one on which they will be deployed and run Wireless mobile application development on the other hand is more challenging because applications are developed on one platform like UNIX or Windows and deployed on a totally different platform like a cellular phone While wireless applications can be much smaller than conventional desktop applications developers should think in small terms of the devices on which the applications will run and the environment in which they will operate instead of the amount of code to be written This paper presents a systematic approach to engineering wireless application and offers practical guidelines for testing them What is unique about this approach is that it takes into account the special features of the new medium mobile devices and wireless networks the operational environment and the mul
10. L provides tags and possible pre sentation attributes but it doesn t define an interaction model For example WML defines a SELECT tag for pro viding a list Some WAP enabled devices interpret the SELECT tag as a popup menu list while others interpret it as a menu that can be used for navigation Therefore there is no standard interac tion model defined for this element If a developer uses it the application may run well on some devices and poorly on others MIDIets on the other hand pro vide a clearly defined standard for in teraction using commands A Micro Browser is Needed MIDlets combine excellent online and off line capabilities that are useful for the wireless environment which suffers from low bandwidth and network disconnection Integrating WAP and MIDP opens up pos Copyright 2006 Idea Group Inc Copying or distributing in print or electronic forms without written permission of Idea Group Inc is prohibited 62 Int J of Information Technology and Web Engineering 1 1 59 75 January March 2006 Figure 2 Combining WAP and J2ME sibilities for new wireless applications and over the air distribution models Therefore WAP and MIDP shouldn t be viewed as competing but rather as complementing technologies In order to facilitate down loading wireless applications over the air there is a need for some kind of an envi ronment on the handset that allows the user to enter a URL for a MIDlet Suite for
11. Native applications Compiled applica tions where the device has a runtime environment to execute applications Highly interactive wireless applications are only possible with the latter model Interactive applications such as mobile computer games are a good example Such applications can be developed us ing the fast growing Java 2 Micro Edi tion J2ME platform http www java sun com j2me and they are known as MIDlets Another stream is the hybrid applica tion model that aims at incorporating the best aspects of both streams above The browser is used to allow the user to enter URLs to download native applications from remote servers and the runtime environ ment is used to let these applications run on the device WAP Might be Dead but What Did We Learn WAP and J2ME MIDP solve similar problems but each can learn a couple of things from the other There are special features that are available in WAP but not in MIDP and vice versa These features are summarized as follows e MIDP provides a low level graphics APIs that enable the programmer to have control over every pixel of the device s display This is important for entertainment applications such as games in a wireless environment e MIDP is the way to go for games The nature of MIDlets they exist on the device until they are explicitly removed allows users to run them even when the server becomes unavailable support for disconnected operations e WM
12. ce center to install or upgrade software To take advantage of OTA you must equip your handheld device with a mechanism to discover MIDlet suites available for download using the device s browser such as a WAP browser or a resi dent application written specifically to iden tify downloadable MIDlet suites The pro cess of downloading MIDlets over the air is illustrated in Figure 5 RELATED WORK The explosive growth of the wireless mobile application market raises new engi neering challenges Morisio amp Oivo 2003 what is the impact of the wireless Internet on engineering wireless mobile applications for the new wireless infrastructure and wireless handheld devices Due to the lim ited experience with wireless technologies and developing wireless applications little Copyright 2006 Idea Group Inc Copying or distributing in print or electronic forms without written permission of Idea Group Inc is prohibited 72 Int J of Information Technology and Web Engineering 1 1 59 75 January March 2006 Figure 5 Over the air provisioning 2 Pass to JAM work has been in the area of wireless soft ware engineering We found a special is sue in the JEEE Transactions on Software Engineering on Software Engineering for the Wireless Internet Morisio amp Oivo 2003 However out of the six papers ac cepted in the special issue only two papers deal with the development process Ocampo Boggio Munch and Palladi
13. ces and platform extensions but it allows for the application to look appealing and to offer a user friendly interface on a wide range of devices Once the application has been tested on an emulator you can move on to the next step and test it on a real device and in a live network Usability Testing In usability test ing the focus is on the external interface and the relationships among the screens of the application As an example consider an e mail application that supports entry and validation of a user name and password enables the user to read compose and send messages and allows maintenance of re lated settings using the screens shown in Figure 3 among others In this example start the test at the Login window Enter a user name and a pass word and press the soft button labeled Login Enter a valid user name and password The application should display the main menu Does it The main menu should display a SignOut button Does it Press the SignOut button Does the application return to the Login screen Write yourself a note to raise the question Why does the user log in but sign out Now enter an invalid user name or password The program should display a meaningful message box with an OK button Does it Press the OK button Does the ap plication return to the Login screen You need to test the GUI navigation of the entire system making notes about usability along the way If for example
14. d customers request new features In this phase users report errors to and request new features from the service pro vider and developers fix errors and en hance the application TESTING ISSUES AND TESTING ACTIVITIES The wide variety of mobile devices such as wireless phones and PDAs re sults in each device running a different implementation of the J2ME environment Varying display sizes add to the complex ity of the testing process In addition some vendors provide proprietary API exten sions As an example some J2ME ven dors may support only the HTTP proto col which the MIDP 1 0 specification re quires while others support TCP sockets and UDP datagrams which are optional Copyright 2006 Idea Group Inc Copying or distributing in print or electronic forms without written permission of Idea Group Inc is prohibited Int J of Information Technology and Web Engineering 1 1 59 75 January March 2006 69 Here are some guidelines for testing wire less applications Implementation Validation Ensur ing that the application does what it is sup posed to be is an iterative process that you must go through during the implementation phase of the project Part of the validation process can be done in an emulation envi ronment such as the J2ME Wireless Toolkit Sun Microsystems 2005 which provides several phone skills and standard input mechanisms The toolkit s emulation envi ronment does not support all devi
15. d specifies the scope of the first increment In addition the costs of the overall project are estimated the risks are evaluated and a tentative sched ule is set Mobile user analysis First we must understand the audience of the appli cation and the environment in which it will operate As an example if the application is a wireless network aware application such as a multi player game the study will include the users of the application and how they plan to use it The output at the end of this phase is a wireless application plan document that serves as the mobile end user requirement Scenario analysis This phase is simi lar to conventional software requirements analysis and therefore concepts and prin ciples of requirements analysis can be ap plied here Pressman 2005 In this phase the mobile end user an interaction designer and a developer sit together to come up with a complete scenario analysis model that takes into account the following types of scenario analysis e Screen and interaction analysis The basic unit of interaction between the user and the mobile device is the screen which is an object that encapsulates de vice specific graphic user input There fore the content to be displayed on the screen is identified Content may include text fields menus lists and graphics Copyright 2006 Idea Group Inc Copying or distributing in print or electronic forms without written permission of Idea G
16. ding cell A wireless mobile application is de fined as a software application a wireless service or a mobile service that can be ei ther pushed to users handheld wireless devices or downloaded and installed over the air on these devices Such applica tions must work within the daunting con straints of the devices themselves e Memory Wireless devices such as cel lular phones and two way pagers have limited amounts of memory obliging de velopers to consider memory manage ment most carefully when designing ap plication objects e Processing power Wireless devices also have limited processing power 16 bit processors are typical e Input Input capabilities are limited Most cell phones provide only a one hand key pad with twelve buttons the ten numer Wireless XN x a Mobile client Uy cell Information server als an asterisk and a pound sign e Screen The display might be as small as 96 pixels wide by 54 pixels high and 1 bit deep black and white The amount of information that can be squeezed into such a tight screen is severely limited In addition the wireless environment imposes further constraints 1 wireless networks are unreliable and expensive and bandwidth is low 2 they tend to experi ence more network errors than wired net works and 3 the very mobility of wire less devices increases the risk that a con nection will be lost or degraded In order to desi
17. e device can handle the processing that the application needs to perform Use compact data representation Data can be represented in many forms some more compact than others Consider the Copyright 2006 Idea Group Inc Copying or distributing in print or electronic forms without written permission of Idea Group Inc is prohibited 64 Int J of Information Technology and Web Engineering 1 1 59 75 January March 2006 available representations and select the one that requires fewer bits to be trans mitted For example numbers will usu ally be much more compact if transmit ted in binary rather than string forms e Manage message latency In some applications it may be possible to do other work while a message is being pro cessed If the delay is appreciable and especially if the information is likely to go stale it is important to keep the user informed of progress Design the user interface of your applications to handle message latency appropriately e Simplify the interface Keep the application s interface simple enough that the user seldom needs to refer to a user manual to perform a task To do so re duce the amount of information displayed on the device make input sequences concise so the user can accomplish tasks with the minimum number of button clicks and offer the user selection lists AD HOC DEVELOPMENT PROCESS An ad hoc development process for wireless applications comprises three steps 1
18. e used to implement the wireless application There are several tools available for building wireless applications such as Sun s J2ME Wireless Toolkit We would recommend using a tool that allows installing the application in various emula tion environments Conventional implemen tation strategies and techniques such as coding standards and code reviews can be used in this phase Testing Software testing is a sys temic process to find differences between the expected behavior of the system speci fied in the software requirements docu ment and its observed behavior In other words it is an activity for finding errors in the software system and fixing them so users can be confident that they can de pend on the software Errors in software are generally introduced by people involved in software development including ana lysts architects designers programmers and the testers themselves Examples of errors include mismatch between require ments and implementation Many developers view the subject of software testing as not fashionable and as a result too few of them really under stand the job software testers do Testing is an iterative process and should start from the beginning of the project Software de velopers need to get used to the idea of designing software with testing in mind Some of the new software development methodologies such as eXtreme Program ming XP Beck 1999 stress incremen tal dev
19. ea Group Inc Copying or distributing in print or electronic forms without written permission of Idea Group Inc is prohibited 70 Int J of Information Technology and Web Engineering 1 1 59 75 January March 2006 server side applications If your application communicates with servers you control you have a free hand to test both ends of the application If it communicates with servers beyond your control such as quotes yahoo com you just need to find the prerequisites of use and make the best of them You can test server side applica tions that communicate over HTTP con nections using testing frameworks such as HttpUnit http httpunit sourceforge net and measure a Web site s performance using httperf http citeseer nj nec com mosberger98httperf html a tool designed for measuring the performance of Web servers Testing Checklists Here we provide checklists that are useful when testing your application in both emulation and live environments These checklists include tests that are usually per formed by certification programs offered by Nokia and Motorola Motorola Appli cation Certification Program Navigation Checklist Here are some items to check for when testing the navigational paths of wireless applications e Successful startup and exit Verify that your application starts up properly and its entry point is consistent Also make sure that the application exits properly e Application name Make su
20. elopment and testing XP is ideally suited for some types of applications de pending on their size scope and nature Copyright 2006 Idea Group Inc Copying or distributing in print or electronic forms without written permission of Idea Group Inc is prohibited 68 Int J of Information Technology and Web Engineering 1 1 59 75 January March 2006 User interface design for example ben efits highly from rapid prototyping and test ing usability with actual users Wireless applications like all other types of software must be tested to en sure functionality and usability under all working conditions Testing is even more important in the wireless world because working conditions vary a lot more than they do for most software For example wire less applications are developed on high end desktop machines but deployed on handheld wireless devices with very dif ferent characteristics One way to make testing simple is to design applications with testing in mind Organizing the system in a certain way can make it much easier to test Another impli cation is that the system must have enough functionality and enough output informa tion to distinguish among the system s dif ferent functional features In our approach and similar to many others the system s functional requirements features that the system must provide are described using the Unified Modeling Language Booch et al 2000 to create a use case model
21. gn and build reliable wireless applica tions designers need to keep these con straints in mind and ask themselves what impact do wireless devices with limited re sources have on application design The motivation for this paper is pro vided in part by the above characteristics that form some of the foundations for per vasive computing environments Such char acteristics pose several challenges in design ing wireless mobile applications for mobile Copyright 2006 Idea Group Inc Copying or distributing in print or electronic forms without written permission of Idea Group Inc is prohibited Int J of Information Technology and Web Engineering 1 1 59 75 January March 2006 61 computing This paper provides a detailed treatment of the impact of these character istics on engineering wireless mobile appli cations and presents a systematic approach for designing them In addition it offers prac tical design techniques for wireless applica tion design and development WIRELESS APPLICATIONS Wireless applications can be classi fied into two streams Beaulieu 2002 Burkhardt Henn Hepper Rintdorff amp Schack 2002 1 Browser based Applications developed using a markup language This is similar to the current desktop browser model where the device is equipped with a browser The Wireless Application Pro tocol or WAP http www openmobile alliance org follows this approach Open Mobile Alliance 2005 2
22. gn patterns can be used in this phase to reuse experience in order to come up with an extensible high performance ar chitecture Some of the most important design goals should be to minimize the amount of data transmitted over the wire less link and to anticipate errors and handle them intelligently Other design and archi tecture issues include e Application partitioning Designers need to think carefully when deciding which operations should be performed on the server and which on the wireless device J2ME allows designers to locate much of an application s functionality on the device it can retrieve data from the server efficiently then perform calcula tions and display information locally This approach can dramatically reduce costly interaction over the wireless link but it is feasible only if the device can handle the processing your application needs to perform e Message latency In some applications it may be possible to do other work while a message is being processed If the delay is appreciable and especially if the information is likely to go stale it is important to keep the user informed of progress The outcome of the architectural de sign phase is a design document that de tails the system architecture Navigation and user interface de sign Once the application architecture has been established and its components iden tified the interaction designer prepares screen mockups and navigation
23. her personal information The solution needed really depends on the level of sensitivity To provide a complete end to end security solution you must imple ment it on both ends the client and the server and assure yourself that inter mediary systems are secure as well Possible Solutions Here are some practical hints useful to consider when developing mobile applications Understand the environment Do some research upfront As with developing any other software application we must un derstand the needs of the potential us ers and the requirements imposed by all networks and systems the service will rely on Choose an appropriate architecture The architecture of the mobile applica tion is very important No optimization techniques will make up for an ill con sidered architecture The two most im portant design goals should be to mini mize the amount of data transmitted over the wireless link and to anticipate er rors and handle them intelligently Partition the application Think care fully when deciding which operations should be performed on the server and which on the handheld device Downloadable wireless applications al low locating much of an application s functionality of the device it can retrieve data from the server efficiently then perform calculations and display infor mation locally This approach can dra matically reduce costly interaction over the wireless link but it is feasible only if th
24. ications Our work is different in the sense that we provide a detailed treatment of the im pact of the characteristics of mobile de vices and the wireless environment on en gineering wireless mobile applications we discuss the challenges and offer practical solutions for developing mobile applications We present a systematic approach for de signing wireless mobile application Our approach is iterative just like in Ocampo et Copyright 2006 Idea Group Inc Copying or distributing in print or electronic forms without written permission of Idea Group Inc is prohibited Int J of Information Technology and Web Engineering 1 1 59 75 January March 2006 73 al 2003 but differs in the sense that our process has more focus on requirements elicitation and more importantly scenario analysis We do not provide a testing framework but our testing strategy and checklist is more practical than using just an emulated environment Finally unlike the work reported in Chen 2004 our method ology is targeted at developers and research ers rather than managers And unlike the work in Nikkanen 2004 our guidelines and systematic approach is not limited to WAP based applications but can be applied to engineering any wireless application CONCLUSION AND FUTURE WORK As the wireless Internet becomes a reality and software developers become comfortable with the methods and pro cesses required to build software we rec ognize
25. interaction of mobile services enabling roaming of applications and pro files between different wireless standards and location aware and context aware mobile services We are currently address ing some of these research problems and research results will be presented in future articles ACKNOWLEDGMENTS The authors would like to thank the anonymous reviewers for the many help ful suggestions for improving this paper The first author was supported in part by the Natural Sciences and Engineering Re search Council of Canada NSERC Dis covery Grant No 045635 REFERENCES Beaulieu M 2002 Wireless Internet applications and architecture Boston Addison Wesley Beck K 1999 Extreme programming explained Embrace change Addison Wesley Booch G Rumbaugh J amp Jacobsen I 2000 The Unified Modeling Lan guage user guide Boston Addison Wesley Copyright 2006 Idea Group Inc Copying or distributing in print or electronic forms without written permission of Idea Group Inc is prohibited 74 Int J of Information Technology and Web Engineering 1 1 59 75 January March 2006 Burkhardt J Henn H Hepper S Rintdorff K amp Schack T 2002 Per vasive computing technology and ar chitecture of mobile Internet applica tions London Addison Wesley Chen M 2004 A methodology for build ing mobile computing applications In ternational Journal of Electronic Business 2 3 229 243
26. ireless network protocols may be able to de tect and correct some errors error han dling strategies that address all kinds of transmission errors that are likely to oc cur are still needed Message latency Message latency or the time it takes to deliver a message is primarily affected by the nature of each system that handles the message and by the processing time needed and de lays that may occur at each node from origin to destination Message latency should be taken into account and users of wireless applications should be kept informed of processing delays It is es pecially important to remember that a message may be delivered to a user long after the time it is sent A long delay might be due to coverage problems or trans mission errors or the user s device might be switched off or have a dead battery Some systems keep trying at different times to transmit the message until it is delivered Other systems store the mes sage then deliver it when the device is reconnected to the network Therefore itis important to design applications that avoid sending stale information or at least to make sure that users are aware that it is not up to date Imagine the pos sible consequences of sending a stock quote that is three days old without warn ing the user Security Any information transmitted over wireless links is subject to inter ception Some of that information could be sensitive like credit card numbers and ot
27. no 2003 provided an initial reference process for developing wireless Internet applica tions which does not differ significantly from traditional iterative process models but includes domain specific guidance on the level of engineering processes Satoh 2003 developed a framework for build ing and testing networked applications for mobile computing The framework is aimed to emulate the physical mobility of portable computing devices through the logical mo bility of applications designed to run on them an agent based emulator is used to perform application level emulation of its target device More recently Chen 2004 proposed a methodology to help enterprises develop 1 Get URL from WAP Gateway or HTTP Server 4 Download JAR file jar 5 Store JAR file 6 Launch KVM and Application business strategies and architectures for mobile applications It is an attempt to for mulate a life cycle approach to assisting enterprises in planning and developing en terprise wide mobile strategies and appli cations This methodology is more con cerned with business strategies rather than technical details and thus it is targeted at managers rather than developers And fi nally Nikkanen 2004 presented the de velopment work of a browser agnostic mobile e mail application It reports on ex periences porting a legacy WAP product to anew XHTML based browser applica tion and offers guidelines for developing mobile appl
28. ple would be an e mail application with a client residing on a wireless phone interacting with a Simple Mail Transfer Protocol SMTP server to send receive e mail messages A major difference between local and net worked applications is in the way they are tested Local applications are easier to test than network applications For example a calculator application can run on a wire less device even when it is not connected to any network but an e mail client will not work without a connection to e mail serv ers Challenges The constraints discussed earlier pose several crucial challenges which must be faced in order for wireless applications to function correctly in the target environment e Transmission errors Messages sent over wireless links are exposed to inter ference and varying delays that can alter the content received by the user the target device or the server Appli cations must be prepared to handle these problems Transmission errors may oc cur at any point in a wireless transac tion and at any point during the sending Copyright 2006 Idea Group Inc Copying or distributing in print or electronic forms without written permission of Idea Group Inc is prohibited Int J of Information Technology and Web Engineering 1 1 59 75 January March 2006 63 or receiving of a message They can occur after a request has been initiated in the middle of the transaction or after a reply has been sent While w
29. re your ap plication displays a name in the title bar e Keep the user informed If your appli cation does not start up within a few sec onds it should alert the user For large applications it is a good idea to have a progress bar e Readable text Ensure that all kinds of content are readable on both grayscale and color devices Also make sure the text does not contain any misspelled words e Repainting screens Verify that screens are properly painted and that the appli cation does not cause unnecessary screen repaints e Soft buttons Verify that the functional ity of soft buttons is consistent through out the application Verify that the whole layout of screens and buttons is consis tent e Screen navigation Verify that the most commonly used screens are easily ac cessible e Portability Verify that the application will have the same friendly user inter face on all devices it is likely to be de ployed on Network Checklist Some of the items that should be inspected when test ing wireless applications are e Sending Receiving data For network aware applications verify that the ap plication sends and receives data prop erly e Name resolution Ensure that the ap plication resolves IP addresses correctly and sends and receives data properly e Sensitive data When transmitting sen sitive data over the network verify that the data is being masked or encrypted e Error handling Make sure that er
30. ror messages concerning network error con ditions such as no network coverage are displayed properly and that when an error message box is dismissed the application regains control e Interruptions Verify that when the de vice receives system alerts SMS mes Copyright 2006 Idea Group Inc Copying or distributing in print or electronic forms without written permission of Idea Group Inc is prohibited Int J of Information Technology and Web Engineering 1 1 59 75 January March 2006 71 sages and so on while the application is running messages are properly dis played Also make sure that when the message box is dismissed the applica tion continues to function properly PROVISIONING WIRELESS APPLICATIONS Developers usually build test and evaluate an application on a platform simi lar to the one on which it will be deployed and ran Development of wireless applica tions is more challenging because they typi cally are developed on one platform such as Solaris or MS Windows but deployed on a totally different one such as a cell phone or PDA One consequence is that while emulators enable developers to do some of their testing on the development platform ultimately they must test and evaluate the application in the very differ ent environment of a live wireless network Wireless applications fall into two broad categories e Local applications perform all their op erations on a handheld wireless device
31. roup Inc is prohibited 66 Int J of Information Technology and Web Engineering 1 1 59 75 January March 2006 Interaction analysis specifies how the user interacts with the application In order to find out how the user will inter act with the application UML Booch et al 2000 use cases are developed e Usage analysis The use case model developed during screen and interaction analysis is mainly related to how users interact with the application through the screen The whole functionality of the application should be described with use cases e Environment analysis The environ ment in which the application will oper ate should be described in detail This includes the different wireless networks and back end systems used In addition target mobile devices such as cellular phones and PDAs on which the appli cation will run should be described in detail The output of this phase is an infor mation analysis model document produced by the interaction designer and developer that outlines the functional requirements of the application and the constraints of the environment This document is reviewed by developers and other stakeholders and modified as required Architectural design This phase is concerned with the overall architecture or structure of the wireless application Ar chitecture is very important for any appli cation and no optimization techniques will make up for an ill considered architecture Desi
32. then detailing the use cases in a consistent writ ten form Documenting the various uses of the system in this way simplifies the task of testing the system by allowing the tester to generate test scenarios from the use cases The scenarios represent all expected paths users will traverse when they use the features that the system must provide Deployment Deploying and running applications in an emulation environment is avery good way to test the logic and flow of your application generally but you will not be certain it will satisfy users until you test it on a real physical device connected to a wireless network Your application s performance may be stunning in the emu lator which has all the processing power and memory of your desktop machine at its command but will it perform well on the handheld device with its limited memory and processing power low band width and other constraints In this phase the application is deployed on a live net work and evaluated Customer Evaluation Once the ap plication has been deployed it is ready to be downloaded by users for evaluation and usage In this phase users start using the deployed application and report any prob lems they may experience to the service provider Maintenance Software mainte nance encompasses four activities error correction adaptation enhancement and reengineering Pressman 2005 The ap plication will evolve over time as errors are fixed an
33. ting in print or electronic forms without written permission of Idea Group Inc is prohibited
34. tiplicity of user backgrounds all of which pose new challenges to wireless application development Keywords mobile technologies process design screen design software design testing activities testing issues wireless technologies INTRODUCTION called wireless cell An MC can communi The general mobile computing model in a wireless environment consists of two distinct sets of entities Figure 1 Mobile Clients MCs and fixed hosts Some of the fixed hosts called Mobile Support Sta tions MSSs are enhanced with wireless interfaces An MSS can communicate with the MCs within its radio coverage area cate with a fixed host server via an MSS over a wireless channel The wireless chan nel is logically separated into two sub chan nels an uplink channel and a downlink chan nel The uplink channel is used by MCs to submit queries to the server via an MSS whereas the downlink channel is used by MSSs to disseminate information or to for Copyright 2006 Idea Group Inc Copying or distributing in print or electronic forms without written permission of Idea Group Inc is prohibited 60 Int J of Information Technology and Web Engineering 1 1 59 75 January March 2006 Figure 1 Mobile computing model Mobile support station ward the responses from the server to a target client Each cell has an identifier CID for identification purposes A CID is periodically broadcasted to all the MCs residing in a correspon
35. wire less application have to be integrated in the design process throughout the full devel opment life cycle We have put forward a systematic approach to developing wire less applications which is compatible with the Rational Unified Process or RUP Jacobsen Booch amp Rumbaugh 2000 in the sense that it is iterative and responsibil ity driven We have developed this system atic approach based on our experience de signing and building wireless applications We recognized that the development of a wireless application is not a one shot task and testing wireless applications is more challenging than testing conventional desk top software applications therefore an ad hoc development process cannot be used Copyright 2006 Idea Group Inc Copying or distributing in print or electronic forms without written permission of Idea Group Inc is prohibited Int J of Information Technology and Web Engineering 1 1 59 75 January March 2006 65 Figure 3 Wireless application development activities Development Activities Our software engineering approach to wireless application development consists of a set of manageable activities that if fol lowed properly leads to reliable and main tainable wireless applications The activities of our approach are shown in Figure 3 Planning This iterative process be gins with a planning phase which is an ac tivity that identifies the objectives of the wireless application an

Download Pdf Manuals

image

Related Search

Related Contents

User`s manual - Vt.vtp  FRS1000 Installation Manual M1 1-8-02  Lirio by Philips Ceiling light 37593/31/LI  PG 2-A(X)-bal/etl-de  Vivitek D859 data projector    maintenance work on chassis and engine  The Giant Destroyer “Un tueur à gaz efficace” Tue  2014 Space Reservation Agreement  StageFlexer® User`s Manual - Flexcell International Corp.  

Copyright © All rights reserved.
Failed to retrieve file