Shengkui Gao, gaoshengkui@wustl.edu (A paper written under the guidance of Prof. Raj Jain) | Download |
Keywords: smart phone, performance evaluation, measurement, user experience, RRC, 3G, directional antenna, keypad, GPS, Visual interaction, VoIP, Wi-Fi, code-offload, mobile security, smart phone OS, smart phone usage, middleware, cross-cultural factor.
Smart phones are becoming more and more popular in recent years due to its multiple functions, portability and easy to access anywhere. Accompanying with the development of 3G and 4G communication network, the smart phone is gradually replacing the regular cell phone. In 2009, 14% of the worldwide mobile phone shipments were smart phones [CanalysPress], and it's predicted to surpass the desktop PC sales by 2011. The performance analysis and measurement of smart phones are becoming a hot research topic in mobile computing research society. However, since the smart phone only becomes as a commercial product recently and many aspects still need to be further studied. Moreover, the smart phone configuration and specs are relatively confidential among different cell phone producers. Therefore, there are quite few public performance standards existing for smart phone performance evaluation.
Phone brands | IPhone4 | HTC Evo 4G | Motorola Droid X | Blackberry 9700 | Palm Pre Plus | Samsung Focus |
---|---|---|---|---|---|---|
OS | Mac iOS | Android | Android | Blackberry | Web OS | Windows Phone 7 |
GPU speed | 28m triangles/sec | 22m triangles/sec | 14m triangles/sec | N/A | 14m triangles/sec | 22m triangles/sec |
CPU speed | 1GHz | 1GHz | 1GHz | 624MHz | 500MHz | 1Ghz |
Memory size | 512MB LPDDR1 | 512MB LPDDR1 | 512MB LPDDR2 | 256MB LPDDR1 | 512MB LPDDR1 | 512MB LPDDR1 |
Storage | 16/32 GB internal | 1 GB internal, microSD up to 32GB | 8 GB internal, microSD up to 32GB | 1 GB internal, microSD up to 32GB | 16 GB internal | 8GB internal, microSD up to 32 GB |
Resolution | 960x640 3.5" LCD | 880x480 4.3" TFT | 854x480 3.7" LCD | 480x360 3.25" LCD | 480x320 3.1" LCD | 800x480 4" LCD |
Cellular | 3G EDGE/3.5G HSDPA | 3G EV-DO Rev.A | 3.5G EV-DO Rev.A | 3.5G HSDPA/3G EV-DO Rev.A | 3.5G HSDPA/3G EV-DO Rev.A | 3G EDGE/3.5G HSDPA |
Camera resolution | 5MP 720P@30fps | 8MP 720P@25fps | 8MP 720P@30fps | 3.2MP 480x352@30fps | 3MP | 5MP 720p@23fps |
Battery | 1420 mAh | 1500mAh | 1570 mAh | 1550 mAh | 1150 mAh | 1500 mAh |
Some main stream smart phone specs are shown in Table 1. Since the main specs of the smart phone such as CPU speed, memory size, I/O specs in hardware domain, code efficiency, function realization in software domain and mobile system design have been studied by following the similar evaluation metrics and methods used in computer design. But in normal smart phone use, the advanced smart phone may not perform well due to the constraints such as network, battery power and used applications. Therefore, this paper will focus on the special characteristics performance and their impacts on smart phone, and also smart phone usage performance.
In this paper, some latest design progress and new evaluation methods for different parts of smart phones are being briefly introduced. This paper is organized as follows: Session 2 introduces the hardware (network, radio resource, directional antenna) performance and evaluation metrics of smart phone. Session 3 introduces additional modules (GPS, camera and Wi-Fi) performance; Session 4 discusses about the software performance issues (code offload and mobile security); Session 5 states the system level (different platforms, different task modeling and middleware design) performance and evaluation methods; Session 6 discusses the usage (diversity of the usage and cross-cultural factor on smart phone usability) performance of the smart phone. And a brief summary of the smart phone performance is given in the Session 7.
The hardware design of smart phone is a very important aspect due to its size limitation and battery life. The core parts of smart phone such as CPU, memory and I/O peripheral are used the similar performance analysis methods as used in computer evaluation, power and speed are the key metrics. Furthermore, there are other special components and constraints in the smart phone hardware design, such as cellular network performance, antenna configuration, keypad style, which are going to be stated below.
The cellular communication network is the most important aspect to guarantee the smart phone realizing most of its functions. Different network operators and different radio resources could greatly influence the performance of smart phones.
Different network carrier can offer different network performance for the smart phones, even the same type of phone used in different networks can performs differently. Since the main function of smart phone is surfing internet and getting network based services, the main evaluation object for smart phone network performance will be the data network. Recent published papers of network performance evaluation focused on understanding the network behavior for cross-layer measurement [Mattar07], multi-rate multi-user measurement [Ghaderi07] and multi cellular network carriers' measurement [Huang10].
Major parameters used in network performance analysis are: downlink/uplink, time of day, signal strength.
The main metrics considered on the network side are: Throughput, round trip time (RTT), retransmission rate, local DNS lookup time, handshake time and Ping latency.
Different types of network service workloads are: web browsing, email service, stream video and voice over internet protocol (VoIP) communication, etc.
Several cellular network measurement tools are currently available online, like 3GTest [Huang10], Speedtest.net [Speedtest] and FCC's broadband test [FCCBroadbandtest] etc. And current results show the real 3G network performance is much lower than the theoretical limitation, so large amount of work is still needed to improve current 3G network performance.
In current 3G communication network, the radio resource control (RRC) state mechanism for smart phone could cause large performance inefficiency due to state promotion overhead. The tradeoff between saving battery power and quick network response is critical for smart phone design. Recent work are focusing on discussing the impacts of inactivity timers for network performance [Chuah02], the impact of different timer values on energy consumption and network service quality [Liers07] and dynamic RRC control optimization for 3G network [Qian10].
The RRC for current smart phones (Figure 1) mainly have three states: IDLE: default state when phone turns on. (No radio power consumption, no bandwidth) Cell_DCH: the connection is established and data is in transmission. (High power consumption, high bandwidth) Cell_FACH: on connection but no data is in transmission. (Low power consumption, low bandwidth)
Different carriers offer different strategies to optimize these three states and apply for different network services (web browsing, streaming video, etc). Downlink/Uplink difference, State promotion overhead and tail effects should also be considered.
Main metrics used to evaluate radio resource allocation are: interaction time delay for state transitions, power consumption for sending certain size of data, throughput, the time ratio of Cell_DCH and Cell_FACH.
Classic workloads for testing are: email service, map data, streaming video and streaming audio.
Current experiment results RRC optimization could bring great improvement of energy saving and high service quality, and dynamic RRC control could perform better in saving power consumption without losing too much speed performance than the existing fixed state RRC control.
Good antenna design could bring great power savings and high network performance to the smart phone. Right now most of smart phones are still using Omni directional antenna, which is power waste and can also introduce interference among peers. Some researchers are focusing on improving antenna performance by applying two or more Omni-directional antennas for diversity [Norklit01]. The new multi-directional antenna system [Sani10], which uses accelerometer and compass (commonly existing in current smart phones) to assist orientation estimation, are being studied in order to achieve good signal strength, goodput, and further power savings.
A complete smart phone antenna evaluation should consider different environment factors: outdoor/ line-of-sight indoor/non-line-of-sight indoor and different signal strength.
Different parameters of antenna: The number of directional antennas being used, antenna configuration positions, Different signal noise ratio and the modulation styles
The workload is constant size of data packets.
The simulation results show that multi-directional antenna system could achieve better signal strength, goodput and lower power than Omni-directional antenna. Moreover, the antenna performance can be effectively improved by using accelerometer and compass assistance for orientation estimation, and then based on the orientation information result select the corresponding combined signal of directional antennas.
The styles of the keypads for smart phone have several different categories: traditional digital keypad, Qwerty keypad and on-screen keypad. The different keypads style could greatly influence the user experience for the smart phone. In order to increase the input speed of keypads and make users feel more comfortable to use smart phone. Smart phone designers have designed many input methods and add user preference memory function to the smart phone. Recent researches of keypad evaluation are focusing on using statistical models and emulation to do keypads evaluation, such as using Keystroke-Level-Model to decompose task into primitive operations and predict completion time [Holleis07], paper mockups emulation of keypad layout [MacKenzie07] and TnToolkit evaluating keystrokes per character (KSPC), word per minute (WPM) [Castellucci09].
Main metrics for keypads evaluation are: complete time, error rate of tapping, language-based disambiguation, KSPC [MacKenzie02] (the average number of keystrokes required for a single character of text using given interaction technique in give language) and WPM performance prediction [Silfverberg00] (predict movement time by considering button distance and button width).
Common workload for keypad is usually constant size of text, or some text benchmark such as KSPC26 and KSPC27 [MacKenzie02].
The workload is constant size of data packets.
The smart phone keypad is always a bottleneck for working efficiency of mobile devices comparing with desktop PCs due to its area and less number of keys. More and more tools and models are developing for evaluating and improving current keypad styles, and we believe better keypads will dramatically increase the input efficiency for the smart phones.
Comparing with normal mobile phones, other than fully used the network advantage to do data communication, smart phones also have many additional modules such GPS, camera and Wi-Fi, which could help smart phones to possess new functions and improve performance.
The GPS module can not only make the smart phone to become a GPS navigator, but it can also help the smart phone to provide location-based and context-aware services. Though the navigation function could also be realized by GSM/Wi-Fi based positioning system, the GPS can supply more precise information. The disadvantage of GPS is high power consumption. So a better GPS control mechanism and combined use multiple different localization methods could achieve a large power saving for the smart phone.
Recent GPS based localization and power tradeoff research for mobile devices is quite hot. Several ongoing research projects are listed: RAPS: A rate-adaptive positioning system for smart phone applications are presented by using GPS as often as necessary to achieve accuracy and reduce power consumption, using accelerometer on smart phone as motion reference and Bluetooth communication to reduce uncertainty among neighboring devices [Paek10]. Enloc: dynamic programming for finding optimal accuracy under given energy limitation among GPS/GSM/WiFi [Constandache09]. A-Loc: using probabilistic models to dynamically balance accuracy and energy use by choosing among different localization methods [Lin10]. A location-sensing frame with accelerometer based suppression, location-sensing piggybacking, substitution of location-sensing mechanism and adaptation of sensing parameters during low battery to increase power efficiency [Zhuang10].
Main parameters considered in GPS performance evaluation are: Different weather conditions (large influence on GPS signal strength), outdoor/indoor, object movement (still/ low/ high speed).
Main metrics used for GPS evaluation are: power, distance error and positioning time interval.
Due to the researchers' different areas, no common workload or benchmarks for GPS testing, common workloads are certain routines near the researchers' working place.
Due to large power consumption of GPS, current researches are focusing on the dynamic usage of GPS/GSM/Wi-Fi services based on the accuracy requirement, use other sensor like accelerometer to provide motion information for positioning interval prediction and other communication method like Bluetooth to reduce positioning uncertainty among neighboring devices [Paek10], which can provide smart phone an efficient way to supply positioning information at low power level without losing too much precision.
The camera is one important part of the smart phone. It can not only capture pictures, but also provide support for control or data collection of other applications in the smart phone system, like motion detection, face reorganization, visual input for smart phone control, etc. Due the power limitation of the phone battery, the imaging sensor with large number of pixels and high visual quality is hard to implement in a smart phone. Therefore, in current smart phone camera research, how to use vision based interaction to increase current camera capture efficiency is focused by many researchers. They try to optimize the image results and increase process speed is another way to improve camera performance for smart phone. Different programming languages (C++, Python and Java, etc) are evaluated under the same smart phone operating system (OS) system.
Several metrics in image processing domain are applied to evaluate their performance: Frame per second: The number of full size bitmap frames captured from the camera and then saved to memory in one second. Read latency: the time interval between picture captured and shown on screen. Pixels skip n: image de-sampling processing. Time to track: the time track a small object from the background (example: a red dot in a white background) in the center of view finder.
The workloads are usually constant number of images with certain frame rates.
Several commercial benchmarks are available for smart phone image processing, game performance, such as SPMark [SPMark11], 3DMark Mobile, etc.
The experiment results show different programming languages have quite different performances. Better memory controlled and lower level language, like C++, has better speed, but less deploy-ability, for Java, though it has lower speed, but higher deploy-ability [Kerr09].
The Wi-Fi network access is another important function for smart phone, because it could offer higher bandwidth and lower response latency comparing with cellular network. However, since Wi-Fi doesn't have efficient RRC mechanism for smart phone, it could be power hungry in default mode for data communication and VoIP using Wi-Fi. Designing a better Wi-Fi control mechanism is critical for smart phone design. Moreover, though Wi-Fi is quite power consuming in the default mode, it consumes less power when doing VoIP communication than normal phone call using GSM/3G network. So mixing control for Wi-Fi and normal GSM/3G operation could provide a large power save. Some recent researches discuss the energy-delay tradeoff by seeking power saving for both Wi-Fi and GSM/3G network while maintaining the data transmission efficiency [Ra10], and Cell2Notify: Wi-Fi wakeup mechanism to better manage the power consumption [Agarwal07].
Main parameters considered in Wi-Fi performance are: different signal strength, different object movement (still/low/ high speed).
Metrics mainly used in Wi-Fi function evaluation of smart phone are: power, battery lifetime, connection latency, failure rate and bandwidth.
Common workloads for Wi-Fi are: certain size of data packets, stream video and VoIP communication, etc.
The experiments results show by optimizing the energy-delay tradeoff, the smart phone could save 10%-40% power [Ra10], and applying wakeup control mechanism for Wi-Fi to do VoIP or data communication could greatly save power for smart phone by a factor from 1.7 to 6.4 [Agarwal07].
The software efficiency for smart phone largely influences the execution speed and power consumption of the smart phone. Two main software aspects are discussed below: the code offload mechanism and security performance smart phones.
Code offload is one popular technique used to reduce power consumption, break through the hardware constraints (CPU, memory) of the smart phone and achieve high speed for the task execution of smart phone. It divides executing tasks into two categories: For small computation required and less power consumed task, it will execute locally in the smart phone; For large computation required and heavy power consumed task, it will take advantage of delegating code at rich resourced remote server side to increase execution speed and save battery power for the smart phone. But the latency of the communication between the server and the smart phone and the power cost by the communication and synthesizing results need to be considered.
A basic diagram of code offload mechanism is shown in Figure 2. The smart phone side applications send requirements, tasks to the server, then server finishes the tasks and sends back results to the smart phone. Recent research in code offload are focusing on: using code offload to achieve power saving and high speed [Cuervo10], or break the hardware limitation on smart phone [Gu03].
System parameters considered in code execution are: Different types of network connection (Wi-Fi, 3G), code size, task types (document processing, video game, image processing)
Main metrics used for evaluation are: power, frame per second (used in game and image processing), data throughput.
Common workloads for code offload evaluation are: image processing files (video games), data computation (chess) and database based work (face recognition, etc)
The simulation results show code offload can reduce the power consumption of the smart phone and increase the execution efficiency for heavy computation required task. But the strategy of network connection, task profile standards, synchronization between server/user device and code transmission protocols are critical for code offload application in smart phone design [Cuervo10].
Since the smart phones are widely used in personal data service (email, shopping, bank service), company business and government work, the security issue has became an important issue for smart phone design. Many security standards has been published to protect web safety and message encryption, such as WS-Security [IBM02], SAML [IBM02] and LA [LA06].
The performance of different security standards are mainly evaluated after applying a constant length of SOAP (a XML based transport protocol) or HTTP data, the data packet size differences among different encryption standards and their data transmission latency [Srirama07].
Due the limitation of smart phone hardware and its power, the security standard for smart phone is still under developed, and it's especially lack of evaluation benchmarks and standards for different security standards performance in protecting information and detecting phone virus or spam.
Due to commercial reason and cell phone development history, the smart phone OS is quite isolated. So different smart phone OSs show large performance differences even when they execute the same task. It's important to evaluate system performance of smart phones for better designing future smart phone OS. The phone task organization and middleware design are two important aspects for smart phone system performance.
Today's different smart phones can execute almost the same tasks like phone call, messaging, email, web service and gaming, etc. But they show dramatically different performance due to the different platforms they base on and different task models they use.
Current smart phones are based on three main different platform types: cell phone type platform (Nokia), PDA type platform (Palm, Blackberry) and PC type platform (Windows Mobile, Mac iOS, Android). They perform differently when executing the same type of task. Some recent researches evaluated the different types of tasks on different smart phone platforms [Keijzers08].
Main tasks considered to evaluate different platform performance are: 1) Phone task: go to contacts to search certain people and make phone call. 2) Internet task: browse certain website. 3) Calendar task: make certain memo and set up alarms. 4) Mail task: receive and reply an email.
The main parameters considered while evaluating performance are: user's age, careers, past experience of using the smart phone.
The metrics used to examine the performance are: time cost, number of menus used, number of detour steps and user satisfaction.
The current experiment results show none of different platform systems can win all tasks. In general, cell phone type platform performs better in phone task and calendar task. PDA type platform works better when doing push mail task. And PC types platform perform better when used to do internet task and calendar task [Keijzers08].
One big convenience of the smart phone is that it can do some tasks that people used to finish only on a PC. But due to the hardware limitation and undeveloped smart phone OS and application program. People always feel trouble using smart phone to finish certain type of job instead of using PC. Identify the different task modeling on smart phones and the poor performed task of smart phone could help the designers to improve smart phone in future. Recent works in this area focus on investigating people's manner of accessing information from laptop and smart phone [Dearman08], difficulties of managing data from various devices [Oulasvirta07] and the task accessing difficulties among smart phones of different Oss and PC [Karlson10].
The basic idea for testing task modeling for smart phones is to do the same task under different smart phone Oss (Windows Mobile, Mac OS X and Android, etc), then compare the difference of user experiences, users take snapshots or write comments when they have trouble while executing certain task.
Main tasks and workloads considered for evaluation are: email, web surfing, maps, calendar, social networking (MSN, Gtalk, etc), file management and multi-media playing.
Based on analyzing the snapshots and user's answer of certain questions, the task usage problems under different smart phone OSs show the in general the similar experiences, which means current smart phone OSs still need to be further developed to satisfy the users daily requirement.The metrics used to examine the performance are: time cost, number of menus used, number of detour steps and user satisfaction.
Middleware is the control management part between the OS/external sensors/wireless communication and specific applications, which is shown in Figure 3. It offers expansibility and compatibility for the smart phone to act as a pervasive computing device, which could be widely used in scientific research, medical care and daily life. Due to the isolation of smart phone OS and limited application programming interfaces (API) it supplies to the application developers, the traditional applications could not achieve the best performance and even poor power management when applied to the smart phone. Therefore, recent middleware researches focus on improve power consumption performance and optimize application execution efficiency. Some featured researches are: Fuego Core: using XML messaging, synchronization and mobile distributed event-based communication for smart phone communicating with other equipment [Riva08]; CAMPH: context-aware middleware for pervasive homecare [Pung09].
Main metrics are considered in middleware design are: data communication specs (throughput, latency), power consumption, execution speed for different programming languages and OS platforms, the precision per recall.
Current research results show building up a generic middleware layer between the smart phone OS/external sensors and applications can greatly save power and increase the application execution efficiency while using smart phone as a pervasive computing device, and it also provide the portability for pervasive computing. The context-aware mechanism can offer good querying processing and accurate activity recognition.
As a daily used equipment, the usage of smart phone is different among different groups of people and people from different parts of the world. The smart phone could perform poor to a user if it cannot satisfy the requirement of this specific user. Therefore, the usage diversity and cultural differences evaluation are important for smart phone design and performance.
Different people use smart phones to accomplish different tasks. The capability of the smart phone to adapt to user behavior could largely affect the smart phone performance and user experience. Comparing the users' interaction activities with the smart phone can provide the smart phone designer more information on how to improve the smart phone configuration and its OS. Some recent works focus on analyze user's behavior using statistical models for task diversity usages [Falaki10] and battery consumption characteristics [Shye09], etc.
System parameters considered to evaluate smart phone usage are: user's age (youths, mid-age knowledge workers, etc), career (social communicators, life power user, business power user, practical organizers, etc), time of day and user percentile.
The main metrics used to evaluate smart phone usage are: 1) User interaction (session time and number of sessions). 2) Application use (different types, time and number of sessions). 3) Network traffic (different application related (web browsing, online game, streaming video, etc ) data transmitted). 4) Energy drains (Battery drain).
The workload is usually daily usage of the smart phone.
Based on the evaluation results, the application popularity for users is approximately follow the exponential distribution [Falaki10]. But the popular applications for different types of users are largely different, so the usual smart phone design mechanisms that is only based on average case could not be effective for common use, the smart phone designer need to focus on the improving the smart phone to be more adaptive and learn from the user behavior.
Cross-cultural factors have a great influence on how user experiences of people from different countries are. The smart phone usability performs different under different cultural environment. The main impacts of cultural differences can be divided into two categories: Objective issues (language, dates and number format convention, text directionality) and subjective issues (value systems, behavioral and intellectual systems, and the cultural interactions with computers and websites) [Walsh10].
The main analysis method for cross-cultural usage of smart phones is using online survey and let user complete certain description under different environments. The Hofstede's culture dimensions are commonly used to analyze cultural differences [Schumacher10]. It has five metrics:
The survey questions should be developed based on these five Hofstede's metrics, and cover usability, aesthetic aspect, subjective feeling, identification and brand/image [Walsh10]. Based on the survey results, different cultural people do have different preference on smart phones usability and performance evaluation. Even for the same model product, people from different countries usually give different evaluations. Doing a detail research of cross-cultural factor can provide a good reference for smart phone manufacturer to design their product for specific regions.
Based on the evaluation results, the application popularity for users is approximately follow the exponential distribution [Falaki10]. But the popular applications for different types of users are largely different, so the usual smart phone design mechanisms that is only based on average case could not be effective for common use, the smart phone designer need to focus on the improving the smart phone to be more adaptive and learn from the user behavior.
In this paper, the latest development, performance evaluation and measurement methods for different aspects (hardware, additional modules, software, system and usage) of the smart phone are introduced. Though different aspects of the smart phone may have different metrics and parameters to consider, accomplishing the high power and performance efficiency and the better user experience are the two common design goals for all the aspects of smart phone design. Several observations could also be made:
Currently, the smart phone design is still a new research area that lacks of systematic performance evaluation method and standards. Many papers referenced in this paper are reported as the first work in the corresponding domain. But many components of the smart phone, like GPS, Wi-Fi, smart phone usage and OS task evaluation, they're quite possible to design a unique benchmarks for evaluation. On the other hand, the customers are eager with smart phone because of its portability and fancy functions. Therefore, with the technology development, more advanced and powerful hardware will be integrated into the smart phone and large volume battery will effectively improve the performance of smart phone. The performance analysis of the smart phone has a bright future.
*The references are listed by the importance.
Acronym | Definition |
---|---|
API | application programming interface |
KSPC | keystrokes per character |
OS | operating system |
RRC | radio resource control |
RTT | round trip time |
VoIP | voice over internet protocol |
WPM | word per minute |