jax is a new technology that have specific requires and need modern browsers to open Ajax Web application. Today the mobile phones are widely used and are multifunctional. In these devices is used Mobile Ajax as a special case of Ajax that is designed for adaptability with these devices' technology. A question that we make is: "Can all the mobile phones and their browsers support Mobile Ajax?" To answer at this question we decided to test the performance of some Ajax mobile web application. Another reason is because testing the performance of mobile web application is very crucial.
In the first part of this paper, we evaluate the performance of 4 mobile browsers using 8 Ajax toolkits. Then we evaluate and compare the performance of two applications; Mobile Ajax Chat application and Java ME Chat application. In the end conclusions will be drawn regarding the outcome of performance evaluation.
We have measured the performance and the support of 8 Ajax toolkits in 3 mobile phones. We have chosen the most used mobile phones today. In Tab. 1 are the mobile phones and the corresponding browsers that we used for testing the performance of Ajax toolkits. Last years Ajax Technology is widely used, which is why different toolkits, libraries and framework have been released as open source to benefit others in their work. We used for our tests 8 toolkit listed in Tab. 2 that are the most used toolkits based in the yearly polls of Ajaxian [1], a web page for Ajax developers.
For testing the performance of these toolkits in mobile browsers we used the demo application of the toolkits in their web sites. The tests consist in two phase: We first evaluate the capability of the browser to display the application correctly. We look the display and the functions of the applications in the browsers. Based on the result we gave each browser a grade on a scale from 1 to 4, explained as follows:
1 -represents the highest grade, the application has no defects during the test. 2 -Represents a minor grade, the application has minor problems in missing functionality and/or with the layout. 3-Represents a grade with major problems, the application has major problems in missing functionality that prevent the user from getting the full functionality. 4-Represent the lower grade, the application has failures in the workflow which means that the user does not receive the requested functions.
After the grading of the browser we evaluate the performance of the application by measuring the initial loading time of the application. The loading time of an application is the time from the moment that the user click in the application until it is loaded to the phone. The time is measured using a stopwatch and represent A the user-perceived clock time. So we evaluate the time tests of an application are realized in 10 sequential iterations. In all tests we use the same very highbandwidth WLAN network connections. The tests are separated in two categories (cached and cached cleaned) for calculating the upper and the lower bound of the perceived delay.
The cached category is where the cache of the browser in not cleaned between each test's iteration. Those results are considered as the best case as a part of the application is stored in browser's cache.
The cache-cleaned category is where the cache of browser is cleaned between each test's iteration.
c) The testing result At Tab. 3 are the results for the tests we have done of the grand of the browsers. From the table we see that S60 Opera Mobile and Safari iPhone are the only browsers that are rated with 1 grade. S60 Opera Mobile has the greatest number of 1 grade and it has the best display of the applications. Second come Safari iPhone that beside S60 Opera Mobile does not take any 3 grade. If we take in consideration the total value of the 1 and 2 grades, the Safari iPhone browser has the best performance for the applications. The S60 Browser and BlackBerry Browser do not take any 1 grade so they have problems supporting the Ajax toolkits. The worst browser is BlackBerry Browser.
Tab. At Fig. 1 are the results of the measure of performance for the browsers using Ajax toolkits. The results of loading time for each toolkit presented in the figure are calculated as the average of 10 iterations. The y-axis on the figure shows the measured loading time. The legend shows the name of the browsers and the case (cache or cache cleaned) of the tests. The x-axis on the figure shows the Ajax toolkits. For each toolkit is showed the average loading time for all the browsers. Those results are summarized at Table 4.
Fig. 1 : The performance of browsers At Table 4 are the results of the loading time tests listed by speed, calculated as the average times of each measurement respectively. We have determined with 1, 2, 3, 4 scale the speed of browsers, were 1 represent the fastest and 4 the slowest. And with x we have determined the failure of measurement; in this case the application does not open at the browser. From the table we conclude that the faster browser is S60 Opera Mobile, after it come Safari iPhone. BlackBerry browser is the lowest one and it has the higher numbers of failures. Analyzing the result of the tests we resume that the browser that has the best display and the lower loading time is S60 Opera Mobile. BlackBerry Browser has the lower support and the higher loading time for all the Ajax Application.
The second phase of our tests is the testing of the performance of two chat applications. The first application is a Mobile Web Ajax Chat application and the second is a Chat Application designed with Java ME. These are applications for commutation in chat room and they use the same database. The purpose of tests is to evaluate and compare the performance of those applications. The test of applications is realized in two phases: Phase 1: Computer and Emulator : the tests are realized in computer using the emulators. For testing the Mobile Ajax Chat [7], [2], [5] we have used Firebug, YSlow and Mozilla Firefox Browser configured with User Agent iPhone 3.0. For testing the performance of Java ME Chat we have used the "Sun Java Wireless Toolkit 2.5.1 for CLDC" emulator. We analyzed the performance at the client side of the Mobile Ajax Chat application. We have tested all the pages and functions of the application. During the tests we analyzed the loading time, the HTTP request and the role of cache browser in all the component of the application. In the end of the tests we have analyzed the performance of the application using YSlow program.
At Figure 2 and Figure 3 are the results from YSlow program of the login form in two cases. The first figure shows the case where the browser's cache is cleaned and the second figure shows the case where the browser's cache is not cleaned. For loading the login form 5 requests are generated. In the first case the loading time is 1.29s and the amount of loaded byte is 12.2 KB. In the second case the loading time is 781 ms and the amount of loaded bytes is 3.1 KB because 7.1 KB are saved in cache. We see an improvement of 37 % in the loading time when the browser's cache is not cleaned. And the amount of bytes loaded is smaller.The browser send a GET request to call a source that is saved in cache. The source saved in cache returns answer through a 304 status that means the source is available in cache. This means lower loading time. At Table 5 we summarized the results taken by all the tests of application's forms for number of request taken, loading time and the transferred bytes. The time to send a new message to the server depends from the size of the message but is low. As shown at Table 5, to logout from the application takes 6 requests and the time of this process is lower because 7.1 KB are retrieved from cache.
The last test is for the registering form. To load the registering form the application takes 4 requests and to register a new user it takes 2 more requests. The time needed to register a new user is lower because the application verifies the registering information entered by the user in time that he entered it.
Then we test the performance of the application with YSlow program. This program classifies our application with grade A that is the higher grade and it takes 90 points that is a very good evaluation. We have reached this grade after we have improved and tested during the development of the application. But there are some parameters that needed to improve. The application is evaluated with grade D for the use of CDN An Approach on Performance Evaluation of Mobile Ajax Application and the program suggests specifying CDN hostname in the references. The application is evaluated with grade D for compress components with gzip and the program suggests compressing some components to reduce the amount of bytes transmitted and to improve the performance. In other components the application is evaluated with grade A.
S60 Browser S60 Opera Mobile | Blac kBerry Browser | Safari iPhone | ||
JQuery | 2 | 1 | 2 | 1 |
Prototype | 2 | 1 | 3 | 2 |
Script.aculo.us | 2 | 3 | 2 | 2 |
YUI | 2 | 2 | 2 | 2 |
Dojo | 4 | 1 | 4 | 1 |
Ext JS | 3 | 1 | 4 | 1 |
GWT | 4 | 1 | 4 | 2 |
ASP.NET AJAX | 3 | 2 | 3 | 2 |
Also we test the performance of Java ME Chat application with "Sun Java Wireless Toolkit 2.5.1" emulator. All components of the application work perfectly. b) Phase 2 : Testing in Mobile Phones i. Testing Mobile Ajax Chat
The Mobile Ajax Chat application is accessed through the browser and need the connection to internet. This application does not need to be downloaded and installed at the devise. The tests at S60 Browser: The application is correctly displayed and all the functionalities are working. But the application has little problems when we communicate in chat rooms and the message is not displayed correctly. For these reasons we evaluate it with 2 grade.The tests at S60 Opera Mobile: The application is correctly displayed and all the functionalities are working. We can communicate in the chat without problems. For these reasons we evaluate it with 1 grade.
The tests at BlackBerry Web Browser: The application is not displayed correctly, it has problems with the layout and the browser crashes suddenly when we are communicating in the chat rooms. The application has problems in sending and receiving messages. For these reasons we evaluate it with 2 grade.The tests at Safari iPhone: At this browser the application has the better display and functionality. The change of the display of the phone from vertical to horizontal does not bring any problem. The display of the message form is the best. For these reasons we evaluate it with 1 grade.
The Java ME Chat application needs to download and to install in the mobile phone. After we have installed the application we test the performance of the application in all the mobile phones. In all the three mobile phones (Nokia N96, BlackBerry and iPhone) the application is displayed and functions correctly because those devices support Java. Also we have tested the communication of a Mobile Ajax Chat application user with a Java Me Chat application user. The two users can communicate perfectly and without problem with each other.
IV.
As we discussed the goal of this paper is to evaluate performance of Ajax applications in mobile phones. Out tests demonstrate that there are problems in supporting Ajax applications from the browsers. S60 Opera Mobile and Safari iPhone browsers have the better performance for Ajax toolkits. BlackBerry Web Browser has the worst performance for Ajax toolkits. The browser's cache has an important role in improving the performance of the application.Mobile Ajax Chat application has higher performance and the loading time of all forms is smaller. This application is evaluated with A grade from YSlow programe.
Java ME Chat application is executed and has correct functionalities in all mobile phones, because all mobile phones support Java and the application does not need a browser to run.When we are developing a new Mobile Ajax application we need to take care of the characteristics of users' browsers. We need to study and known all the characteristics of users' browsers.To eliminate the problems of browsers for Mobile Ajax application we need to design a new browser that satisfy all the request of Mobile Ajax. This browser must support all Ajax's requires and toolkits.
At this phase we have tested the performance of the two applications at three mobile phones in the respective browsers.