Abstract—Nowadays, a large set of mobile applicationsare provided in several types, one of these apps called mobile web applicationwhich standardized by World Wide Web Consortium (W3C), and based on web appmanifest that gives the ability for developers to include metadata informationabout the web application into JSON datatype file. This metadata provides thedevelopers to declare properties that control the behavior of web applicationin the device and add restrictions, for example,specified a labeled icon for webapplication when application added to home screen.This research collected a large dataset of mobile web applications that haveJSON metadata file, these metadata fileshave been analyzed to extract some statistical information about the featuresand properties that used to provide mobile web application.
Also, this researchanalyzed some of the sub-properties intometadata such as (display, background_color, icons, lang, orientation,permissions, and theme_color).Keywords—Android, Mobile, Web, Applications,Manifest, Analysis.I. Introduction Mobileapplications in the Android platform canbe delivered in two ways: as client-side appsor as web apps. In the client-side apps, an app is installedon the user devices in an Android Package Kit (APK) and developed using the AndroidSoftware Development Kit (SDK), in another hand,web applications are client-servercomputer programs in which a client, including client-side logic and the userinterface, runs using embedded web browser 1.Thereare common examples for web applications such as webmail, online auctions,online retail sales, instant messaging services, wikis and others 2.
Themain distinction between a web application and a dynamic web page of any kindis unclear, however, websites are mostlikely to be indicated as web applications which have similar functionality toa mobile app, or to a desktop software application 2.In a web application, there are several ways oftargeting mobile devices in the mobile web:responsive web design and progressive web apps. Responsive web design used formaking a web application, mobile apps or native apps to directly run on amobile device. In another hand,progressive web apps are a hybridization of a mobile application and regularweb pages (websites), in which a mobile websiteis embedded inside a native app 3 4.The webapp manifest contain metadata about an application in a JSON datatype file suchas (name, theme_color, icon, permissions). Themain goal of the manifest file is to store web applications to the home screenof a device as a site bookmark and act like installable application, alsogiving users with more wealthy experience and more quick access 5. webapp manifest gives the responsibility of the developer for controlling theapplication appears to the user inregions that they expect for watching an app, guiding what they can launch, anddetermine the appearance at launch. Whena site is launched it has a unique name and icon which users can differentiateit from other sites, it shows for user something while resources are restoredor downloaded from cache, it gives default display features to the browser toprevent t abrupt transition when site available and it does all this over thesimple techniques of metadata in a text file, which called the web app manifest5.
Webtechnologies involve web app manifest as progressive web apps, that can bedownloaded to the device without usingthe application store, in addition toother features like getting push notifications and being available whenoffline.In this paper,our target is to analysis the manifest.jsonfile for a large dataset of web apps to extract some useful statisticalinformation for a set of selected properties. The rest of the paper isorganized as follow: section 2 shows some of related works, section 3 describesthe steps performed to collect and process our dataset, section 4 theexperiments and results and a briefdiscussion of them, finally a conclusion and proper future work are representedin section 5.II. Related work (Charland et. al, 2011)6, discussed the weakness andcompared between the two types of apps in term of code, user interface code, user experience,performance, and design. (HenningHeitk¨otter et.
al 2013) 7 developed eleven criteria to evaluate mobileweb frameworks, the need of developing these criteria is due to the difficultyof selecting an appropriate framework among aplenty of them. The authorsclassified the proposed criteria into two categories; developers and user’sperspective. Seven of the proposed criteria are from a developer perspective: License and Costs, Long-term Feasibility, Documentation and Support,Learning Success, Development Effort, Extensibility, and Maintainability, andfour of them are from user’s perspective: User Interface Elements, Native Look& Feel, Load Time, and Runtime Performance. The authors then used thesecriteria to evaluate four mobile web frameworks: jQuery Mobile, Sencha Touch,The-M-Project, and Google Web Toolkit. The results showed that jQuery Mobile isthe best for mobile UI, while Sencha Touch is suitable for mobile webapplications that have high complexity. (Serrano et. al, 2013)8, examined the differentcurrent approaches for developing mobile web apps to help developers making acorrect decision when they need to select an approach, they classified theseapproaches into five types: standardweb apps, responsive web apps, mobile web apps, hybrid apps, and native apps.
The authors then provide set of technical and non-technical criteria which canbe used by the developers to help them decidewhich type of the above-mentioned approaches will be more suitable to theirsituation than the others. The technical and non-technical criteria. Thetechnical criteria are platforms and version support, device capabilities, userexperience, performance, and upgrade. On anotherhand, the non-technical criteria are distribution, approval cycle, andmonetization. (Ivano Malavolta et. al, 2016) 9, describe the content of a tutorial forweb-based hybrid mobile applications.
The tutorial discusses the problemsoccurred when the development and maintenance of the mobile apps are platform dependent (i.e. each platform using different programming language andtools). Web-based hybrid mobile apps arethe solution proposed by well- known companies such as IBM and Adobe.
Theproposed solution enables the developers to use standardized web technologiesand then use cross-platform wrappers and other tools to spread them in appstores. Many benefits will be gained by using the proposed solution such as theability of use cross-platform, exploitation of the existing knowledge of thedevelopers, simpler, and less expensive. However, on another hand, there are some drawbacks such as constrained accessto the hardware, the differences between user’s experiences, and decreasing inperformance.
(Sheppardet.al, 2017) 10, provide a good tutorial to how you can add anapp to your mobile home screen and how you can control it using web appmanifest. The authors then provide a description of the properties which can becontrolled using manifest.json file.
Because of following the tutorial, a webapp will be as same as possible to its corresponding native app; it will havelaunched faster, work as offline apps, loaded faster, and will be lunch from the home screen.III. DatasetThedataset has been collocated as domain names from “publicwww” 11, whicha website that has a search engine usedto search into source code (HTML) of websites over internet, to cover a bigdataset we have used this query keyword “
json” file in their root directoryinto a CSV file and we have collocated19222 domains.Afterthat the domain names in CSV file havebeen preprocessed into MySQL database using our “read.php” script which storethe dataset into programmer friendly style, the MySQL database has threecolumns (id,url, rank), the URL contains the domain name, and rank contains the domain rank over the web from CSV file. Then the list of domain names hasbeen crawled using “crawler.php” script which downloads”manifest.json” files and store it into dataset directory with their id valuefrom the database as a filename. Thedataset has been reviewed and removed bad results that do not have normal “manifest.
json” file structure and the totaldataset for the experiment was 14784 files. IV. EXPERIMENTS and results After collecting and processing dataset the “json.php”file decoded the dataset JSON files into Array datatype, the code algorithmcount Array keys (property of JSON file) and values for each JSON file, theresult of first iteration that counts the JSON properties from Arrays we foundthat 62810 main property in all JSON files which can be seen in figure 1, properties less than 200 have been excluded from figure 1 which have(y-axis shows properties names, x-axis have the count of each property and eachcolumn have the percent of property in dataset), we notice that most of the mobile web applications have “name” property and15.
3% doesn’t have icons the rest of results displayed in the figure and thewhole table can be seen in Appendix Table 1. Figure 1 Main properties After counting primaryproperties, we have selected some of these properties to be analyzed:A- display: thedisplay property has three main types:I. standalone: that make applicationact like a native application.II. browser: make the application actlike a bookmark of the webpage.III. fullscreen: make the ability to launch the applicationon the wholescreen.
IV. minimal-ui:like full screen but with less content in the userinterface and minimum navigation buttons.The results were after the analysis: (standalone:96.03%, browser: 2.38%, fullscreen: 1.05%, minimal-ui: 0.
54%).B- orientation:in this property restrict the application to specific orientation the resultswere: (portrait: 69%, natural: 12.4%,any: 8.6%, landscape: 6.4%, portrait-primary: 3.4%, landscape-primary: 0.
2%),which indicate that the most of mobile web applications use portrait orientation mode.C- lang: thisproperty declares the language of application in ISO representation, the mostlanguage with their localization of applications was English around 47% of the dataset.D- permission:this property identifies the special permissions that the application need fromthe device, the most applications around58.45% uses “gcm” (Google CloudMessaging) permission, 19.
2% uses notifications permission and 14.61% use thestorage of the device, the restpermissions shown in Table 1. Permission Percentage gcm 58.45% notifications 19.20% storage 14.61% pushMessaging 2.
29% webRequest 0.57% webNavigation 0.29% background 0.29% tabs 0.
29% cookies 0.29% webRequestBlocking 0.29% activeTab 0.
29% Table 1 Permissions E- theme_color:this property serves default color of the themein the context of the application, theresult for over 1% was (62.44% for white color, 2.61% for black color and 1.61%for steel blue color).F- background_color:this property describes the predictable color of background in application theresult for over 1% was (64.
5% for white color, 4.1% for gray color, 2.2% forlight steel blue color and 1.7% for black color)G- icons: thisproperty represents iconic of applicationin mobile with three sub-properties (src:which identify image file location and all images have src, sizes: describe theicon size, type: classify icon meta-type). Size Percentage 192×192 21.0% 144×144 14.
1% 96×96 13.4% 72×72 12.9% 48×48 12.9% 36×36 12.2% 512×512 4.4% 256×256 3.1% 384×384 1.
2% Table 2 icons sizes The results for sizes for sizes that bigger than 1% intable 2 and for icon meta type the result was (“image/png” has 99.2%, “image/jpeg” has 0.21%, and other types have percentage under 0.2%). V. Conclusion and future work In thiswork, we discussed the statistical analysis of metadata mobile web applicationfiles for a large dataset. the results indicate that a lot of applications doesnot use all the properties of metadata and a lot of applications have missedimportant properties such as icons that have 84.
6% of overall dataset.In future, we plan to study more properties indeep using data mining models to extract knowledge about metadata manifest.