Context-driven Progressive Enhancement of Mobile Web ...

16
Context-driven Progressive Enhancement of Mobile Web Applications: a Multicriteria Decision Making Approach Heiko Desruelle and Frank Gielen Department of Information Technology (INTEC) - IBCN, Ghent University - iMinds, Ghent, Belgium Email: [email protected] Personal computing has become all about mobile and embedded devices. As a result, the adoption rate of smartphones is rapidly increasing and this trend has set a need for mobile applications to be available at anytime, anywhere, and on any device. Nevertheless the obvious advantages of such immersive mobile applications, software developers are increasingly facing the challenges related to device fragmentation. Current application development solutions are insufficiently prepared for handling the enormous variety of software platforms and hardware characteristics covering the mobile eco-system. As a result, maintaining a viable balance between development costs and market coverage has turned out to be a challenging issue when developing mobile applications. This article proposes a context-aware software platform for the development and delivery of self-adaptive mobile applications over the Web. An adaptive application composition approach is introduced, capable of autonomously bypassing context-related fragmentation issues. This goal is achieved by incorporating and validating the concept of fine- grained progressive application enhancements based on a multi-criteria decision making strategy. Keywords: Mobile Web applications; Context-awareness; Progressive enhancement; Multicriteria decision making; Adaptive engineering 1. INTRODUCTION Mobile computing has become a powerful mass medium with a greater reach and faster growth than any other known media type [1]. The sales of mobile devices have recently started to outnumber the traditional laptop and desktop computers. Furthermore, the technology itself is rapidly maturing. Advanced features such as the possibility to install and run third party applications are becoming a standard capability of devices throughout all consumer segments. Through the emergence of installable mobile applications, users are given the freedom to customize and personalize their device as desired. Unlike desktop devices, mobile users carry their device practically at all times. As a result, there is a growing need for mobile applications to become available anywhere, at any time, and on any type of mobile device. However, various technological challenges and limitations reside in the development of such mobile applications [2]. This important limitation is set by the heavily fragmented mobile landscape. Despite numerous bold claims from device manufacturers, the mobile ecosystem is absolutely not all about iPhone devices, nor is it all about Android, Blackberry, or any other platform. Thousands of different mobile devices are currently available, each with their specific characteristics and capabilities, ranging from various operating systems, to different screen sizes, interaction modalities, available APIs, etc. Consequently, the absence of a single mobile application platform makes it mainly the developer’s responsibility to resolve fragmentation handling within their application’s code [3]. This article focuses on adaptive mobile application development via Web technology. Within this context, the goal of this research is to create optimized mobile Web applications via a progressive enhancement approach. To support the development of such adaptive mobile applications, a method is proposed for extending existing application frameworks with fine- grained mobile progressive enhancement capabilities. Moreover, a novel adaptive application composition algorithm is introduced, which is driven by each user’s individual context. The approach aims to cover a The Computer Journal, Vol. ??, No. ??, ????

Transcript of Context-driven Progressive Enhancement of Mobile Web ...

Page 1: Context-driven Progressive Enhancement of Mobile Web ...

Context-driven ProgressiveEnhancement of Mobile Web

Applications: a Multicriteria DecisionMaking Approach

Heiko Desruelle and Frank Gielen

Department of Information Technology (INTEC) - IBCN, Ghent University - iMinds, Ghent,Belgium

Email: [email protected]

Personal computing has become all about mobile and embedded devices. Asa result, the adoption rate of smartphones is rapidly increasing and this trendhas set a need for mobile applications to be available at anytime, anywhere, andon any device. Nevertheless the obvious advantages of such immersive mobileapplications, software developers are increasingly facing the challenges related todevice fragmentation. Current application development solutions are insufficientlyprepared for handling the enormous variety of software platforms and hardwarecharacteristics covering the mobile eco-system. As a result, maintaining a viablebalance between development costs and market coverage has turned out to be achallenging issue when developing mobile applications. This article proposes acontext-aware software platform for the development and delivery of self-adaptivemobile applications over the Web. An adaptive application composition approachis introduced, capable of autonomously bypassing context-related fragmentationissues. This goal is achieved by incorporating and validating the concept of fine-grained progressive application enhancements based on a multi-criteria decision

making strategy.

Keywords: Mobile Web applications; Context-awareness; Progressive enhancement;Multicriteria decision making; Adaptive engineering

1. INTRODUCTION

Mobile computing has become a powerful mass mediumwith a greater reach and faster growth than any otherknown media type [1]. The sales of mobile devices haverecently started to outnumber the traditional laptopand desktop computers. Furthermore, the technologyitself is rapidly maturing. Advanced features such as thepossibility to install and run third party applications arebecoming a standard capability of devices throughoutall consumer segments. Through the emergence ofinstallable mobile applications, users are given thefreedom to customize and personalize their device asdesired. Unlike desktop devices, mobile users carrytheir device practically at all times. As a result,there is a growing need for mobile applications tobecome available anywhere, at any time, and on anytype of mobile device. However, various technologicalchallenges and limitations reside in the developmentof such mobile applications [2]. This importantlimitation is set by the heavily fragmented mobilelandscape. Despite numerous bold claims from device

manufacturers, the mobile ecosystem is absolutely notall about iPhone devices, nor is it all about Android,Blackberry, or any other platform. Thousands ofdifferent mobile devices are currently available, eachwith their specific characteristics and capabilities,ranging from various operating systems, to differentscreen sizes, interaction modalities, available APIs,etc. Consequently, the absence of a single mobileapplication platform makes it mainly the developer’sresponsibility to resolve fragmentation handling withintheir application’s code [3].

This article focuses on adaptive mobile applicationdevelopment via Web technology. Within this context,the goal of this research is to create optimizedmobile Web applications via a progressive enhancementapproach. To support the development of suchadaptive mobile applications, a method is proposed forextending existing application frameworks with fine-grained mobile progressive enhancement capabilities.Moreover, a novel adaptive application compositionalgorithm is introduced, which is driven by each user’sindividual context. The approach aims to cover a

The Computer Journal, Vol. ??, No. ??, ????

Page 2: Context-driven Progressive Enhancement of Mobile Web ...

2 H. Desruelle and F. Gielen

wide range of contextual parameters, covering devicecapabilities and characteristics (device context), userpreferences and profile details (user context), locationand time details (environment context). As a result,this process aims to propose a robust and futureproof method for the flexible composition of Webapplications.

The remainder of this article is structured as follows.Section 2 provides background and related workregarding context-awareness and software adaptabilitywithin the Web-based application engineering domain.Section 3 discusses the concepts and algorithmicstructure of the adaptive Web application compositionapproach. Section 4 deals with the architecturalaspects of extending application frameworks withsuch fine-grained progressive enhancement capabilities.Subsequently, Section 5 evaluates the proof-of-conceptimplementation of this architecture. Furthermore,the evaluation is elaborated based on a use casefor implementing an adaptive mobile e-commerceapplication through the proposed approach. Finally,future work and the conclusion are presented in Section6.

2. BACKGROUND AND RELATED WORK

As introduced in Section 1, the goal of this researchis to provide automated application adaptability for abroad range of mobile devices. This section describesa number of supporting methods as well as alternativeapproaches for coping with the numerous adaptabilityrequirements in the development process of mobile Webapplications.

2.1. The web as an application platform

Developing an application for multiple mobile platformsoften requires a skilled and multi-disciplined develop-ment team [4]. This requirement considerably drivesup an application’s development costs and will evidentlynarrow its target market as well. Against this backdrop,the use of the Web as a generic and cross-platform ap-plication solution is rapidly gaining momentum. Deviceindependent Web technologies such as HTML (appli-cation structure), CSS (style) and JavaScript (behav-ior) offer application developers an unprecedented mar-ket reach compared to native application developmentwith Java, Objective-C, or C++. Moreover, the In-ternational Telecommunication Union (ITU) has esti-mated the use of mobile Internet connectivity to sur-pass the access rates of traditional desktop-based In-ternet by the end of 2013 [5]. Nevertheless, even withthe use of standardized Web solutions, efficiently man-aging mobile fragmentation remains an important re-search topic. Current Web standards are still primarilyagnostic to the variety of available user interaction andpresentation modalities. Furthermore, existing mobileWeb browsers and runtimes contain many variability

FIGURE 1. Traditional progressive enhancement. Aclient-side process for incrementally and unobtrusivelyenhancing a Web application based on a set of specificbrowser capabilities

points, turning the convergence of mobile applicationsvia Web technology not to be expected any time soon[2]. Recent studies revealed the active use of 2,130 dif-ferent mobile devices. This study concludes developerscurrently need to target over 18 devices to reach 50 % ofthe active mobile market. To reach 60 %, 80 %, or even90 % of the active mobile users, this number increasesto 37, 156, and 330 devices, respectively [6]. In orderto reach a sustainable share of the mobile market, Webapplications need to be made dynamically adaptableto the contextual environment in which they are beingexecuted. The adaptation and optimization of an ap-plication should thus be supported based on contextualparameters such as hardware characteristics, softwarelimitations, the user’s profile and preferences, etc. Allof this is without the developer’s explicit intervention.

Since the early days of Web-based software engineer-ing, developers have tried to cope with the distinctdifferences between Web browser capabilities. Grace-ful degradation was one of the first widespread designstrategies aiming to do so [7]. The approach focuseson providing optimal support for the most advancedbrowsers. Less capable browsers are only consideredduring the very last development stages. Such a designstrategy often results in a poor stripped-down version.The graceful degradation methodology expects users tojust upgrade their browser when the degraded versiondoes not fit their needs. However, in the context of mo-bile devices, upgrading the pre-installed browser is inmost cases not an option. The default browsers are of-ten an inherent part of the mobile operating system,and alternatives are not always provided.

The progressive enhancement (PE) design approach,on the other hand, reverses the graceful degradationmethodology and aims at maximizing usability andaccessibility over browsers with different capabilities[8]. Progressive enhancement tries to achieve thisgoal by forcing developers to take less capable devicesinto account from the very start of their developmentprocess. First, a basic markup document is created,providing an optimal experience for devices with

The Computer Journal, Vol. ??, No. ??, ????

Page 3: Context-driven Progressive Enhancement of Mobile Web ...

Context-driven Progressive Enhancement of Mobile Web Applications 3

FIGURE 2. Fine-grained mobile progressive enhancement. Dynamic server-side stack composition, driven by the specificcharacteristics and capabilities of a client’s mobile device

the lowest common denominator (LCD) of availablecapabilities. Incrementally and unobtrusively, one ormore layers of structural, presentational, and behavioralenhancements are added to the core application. Thisstep is executed as a function of the requesting browser’sspecific capabilities. A conceptual overview of theprogressive enhancement approach is shown in Figure1, as it is used for stacking application layers on top ofa core content layer.

Progressive enhancement can also be applied in amobile context to tackle fragmentation related issues.E.g., specific layers can be created to accommodatefor various screen sizes. However, when turning thistheoretical mobile progressive enhancement approachinto actual practice, a considerable number of challengescome into play. Progressive enhancement is a client-side process, executed by the device’s browser. Theuse of CSS3 Media Queries and externally linkedCSS and JavaScript resources are the most commonpractice for selecting an appropriate set of enhancementlayers [9]. The number of detectable variability pointsvia this approach is however very limited. As aresult, enhancements can only be selected based onthe device’s screen characteristics and a coarse-graineddescription of the browser’s supported styling andscripting capabilities.

To provide optimized end-user usability, progressiveenhancement should also reckon with other contextualparameters, such as the different interaction methodsand hardware characteristics offered by mobile devices.E.g., a touch-based device will most likely requiresome additional presentational enhancement layers,providing a user interface with more space to accuratelyclick buttons, links, etc. In order to set up sucha viable mobile progressive enhancement solution,it has become increasingly important to supportmore fine-grained mechanisms for the applicabilityevaluation and selection of progressive enhancement

layers. As shown in Figure 2, an intelligent mechanismis needed, supporting the automated creation ofprogressive enhancement stacks based on the user’sspecific contextual setting.

2.2. Adaptive web engineering

Web-based software systems are traditionally engi-neered along three orthogonal dimensions: the devel-opment phases, the system’s views, and its aspects [11].As illustrated in Figure 3, this approach is characterizedby its separation of concerns. The phase dimension setsout the different stages of the Web development pro-cess, ranging from analysis, to design, and implementa-tion. Each of these phases requires a number of specificviews to be defined, addressing the system’s contentstructures, the navigational structures between contentnodes, and its presentation towards the user. Hence,the views dimension. Finally, the aspects dimensionsets out the structural and behavioral aspects of eachof the above mentioned views.

The growing presence and importance of mobileapplications emphasizes the need for fragmentationmanagement within the Web engineering methodology.As identified by Kappel et al., adaptability can beconsidered as an additional Web engineering dimension,crosscutting all existing Web modeling dimensions [10].Moreover, Schauerhuber et al. as well as Linaje etal. investigated various modeling methods and found anumber of approaches incorporating partial support foradaptability requirements (i.e., UWE, WSDM, HERA,WebML, etc.) [11] [12]. Nevertheless, the applicabilityof these modeling methods for straightforward and(semi-)automated handling of mobile fragmentationremains rather limited. This observation can beexplained through the complex composition of themobile design space. Various contextual aspectsinfluence a modeling method’s expressiveness withregard to adaptability [13]:

The Computer Journal, Vol. ??, No. ??, ????

Page 4: Context-driven Progressive Enhancement of Mobile Web ...

4 H. Desruelle and F. Gielen

• Context of Use: In most cases, an application’sadaptability requirements are defined in termsof the contextual situation in which it is beingexecuted. As formally defined by ISO 9241-11, thecontext of use spans a detailed set of descriptionscharacterizing the application’s user, as well asthe target device, and the objects in its physicalenvironment [14].

• Degree of Adaptation: Adaptability requirementscan be static or dynamic. Static adaptation onlyconsiders pre-defined versions of an application,specified at design time. Dynamic adaptation, onthe other hand, enables applications to be adaptedat runtime based on the parameters of their currentcontextual environment.

• Adaptation Granularity : The granularity ofan application’s adaptability requirements alsoimpacts the engineering complexity. This propertyindicates whether the defined adaptation processaffects the entire application (macro level), or onlya contained number of identifiable subcomponents(micro level).

As a result, adaptability requirements are to be han-dled throughout every stage of an application’s devel-opment life cycle. Especially from a mobile softwaredevelopment perspective, the multi-dimensional impactof adaptability puts a heavy burden on the applicationengineering and development processes.

2.3. Mobile context of use modeling

The availability of detailed and reliable metadataregarding a user’s contextual setting provides animportant driver for enabling a mobile application’sdynamic adaptability requirements. The entitiesrepresented by this contextual information mightinfluence the adaptability requirements regarding theapplication’s user interface, behavior, content, etc. Ininitial context-aware research, context was consideredto be a component described by two parameters:the end-user’s location and the set of objects inhis or her immediate vicinity [16]. The subsequentintroduction of extensible contextual categories hasdrastically increased the flexibility of this definition[17]. Chen and Kotz hereto identified five contextualbase categories: the device context, the user context,the environment context, the time context, and thehistorical context [18].

The device context describes the characteristicsof the target device that is being used to accessthe application. The mobile ecosystem covers awide diversity of screen sizes, interaction methods,software support, etc. In Web-based environments,the device capabilities are generally retrieved throughResource Description Framework (RDF) device profiles,i.e., User Agent Profile (UAProf) and CompositeCapability/Preference Profiles (CC/PP) [19] [20]. Withthis approach, the user’s device is identified by matching

FIGURE 3. Adaptability as a crosscutting aspect on thetraditional modeling dimensions of Web engineering (Kochet al. [15])

its user agent string in the HTTP header. Inorder to facilitate the collection and aggregation ofthese device profiles, the W3C Mobile Web Initiative(MWI) standardized the Device Description Repositoryspecification (DDR). The specification provides an APIand its associated vocabulary for structured accessto context providers services via user agent strings[21]. In essence, a DDR thus provides a standardizedmeans for retrieving contextual information about a-priori knowledge on the characteristics of a particulartarget device or Web runtime. Various open source aswell as proprietary DDR implementations are currentlyactively being maintained. Most notably OpenDDR,WURFL, and DeviceAtlas.

In a mobile setting, the end-user’s profile has gainedmuch importance. Aside from exposing informationon user preferences and specific experience, this modelshould also comprise knowledge regarding the user’sspecific abilities and disabilities. E.g., enablingaccessibility requirements for providing support toelderly people, and people with disabilities. From thisperspective, Heckmann proposed the GUMO formalismas a general user model ontology for representinggeneric user descriptions using the Web OntologyLanguage semantics (OWL) [22]. The current challengein this domain is to model the enormous amountof parameters and relationships that characterize theuser context [23]. To overcome this issue, forces arebeing joined with other ontology-driven projects suchas Linked Data [24], and UbisWorld [25]. Finally,there are various approaches for aggregating the actualuser context knowledge. State of the art reasonersare capable of automatically compose user profiles byexamining a user’s behavior and data traffic contents(e.g., Google Now, Webinos platform, etc.) [26].Alternatively, a widely-used approach is to ratherfocus on aggregating user context knowledge via userpreference profiles. In this case, all knowledge isexplicitly provided by the user via preference settings.Such a light-weight mechanism obviously reduces thecontext aggregation system’s complexity, but in turnincreases the human-computer interface’s complexity.

The environment, time, and historical context

The Computer Journal, Vol. ??, No. ??, ????

Page 5: Context-driven Progressive Enhancement of Mobile Web ...

Context-driven Progressive Enhancement of Mobile Web Applications 5

FIGURE 4. The LSP score aggregation mechanism. Each candidate solution is individually matched to a set of pre-definedperformance variables. The system is subsequently able to derive the candidate solution’s overall suitability score by feedingthe resulting elementary degrees of similarity to a logic network of aggregation operators (derived from Dujmovic et al. [29])

are aspects that define where, how, and when theinteractions between the user and an application aretaking place. The environment context is specifiedby observing the numerous sensors available on theuser’s device (e.g., geo-location, temperature, networkservice discovery, the level of background noise, etc.).Furthermore, the notion of time and historical contextis not to be neglected. As context is a dynamicconcept, support for temporal pattern recognition andmanagement is needed. The W3C Ubiquitous WebDomain is currently in the process of standardizing theDelivery Context Ontology specification (DCO) [27].The DCO provides a formal model of the characteristicsof the environment in which devices, applications, andservices are operating.

3. ADAPTIVE MOBILE APPLICATIONCOMPOSITION ALGORITHM

This section proposes an adaptive application compo-sition algorithm, enabling the above defined objectiveto allow for the fine-grained progressive enhancement ofWeb applications. Mobile applications should provideusers with an optimal experience based on the specificcontextual capabilities of their device and environment.In order to cope with the wide variety of mobile charac-teristics, a quantitative evaluation algorithm is intro-duced, derived from the Logic Scoring of Preference(LSP) method. This adaptive application compositionalgorithm is designed to support fine-grained progres-sive enhancement and is capable of suggesting a stackof layers that optimally fits the user’s mobile device.

3.1. LSP quantitative evaluation method

The Logic Scoring of Preference method is aquantitative decision method, proposed by Dujmovic[28]. It is designed to assist decision makers in

the evaluation, comparison, and selection of complexhardware and software systems. The method hasshown its use in various domains where multiple criteriainfluence the decision making processes. LSP has manyapplications, especially concerning situations with largeand complex solution spaces.

To evaluate a candidate solution, LSP starts byassessing an available solution’s similarity with n chosenperformance variables. The set of performance variablesis denoted as

χ = {x1, x2, . . . , xn} . (1)

Each performance variable defines a specific property,which an ideal candidate solution is expected to posses.As the algorithm deals with complex decision problems,most candidate solutions will not perfectly match thepreset criteria. Nevertheless, such candidates shouldnot be rejected from the very start, as their overallevaluation might still turn out to lead to an acceptablesolution. LSP addresses this issue by taking intoaccount how well a candidate matches the differentperformance variables. For each variable xi in χ (withi = 1, . . . , n), a corresponding degree of suitabilityEi ∈ [0, 1] is calculated. This score expresses the exactsimilarity between a candidate solution and the specificperformance variable xi, ranging from 0 to 100 %. Inorder to attain these scores, LSP requires a predefinedmapping function gxi

for each of the n performancevariables in χ [29].

gxi: Dom(xi)→ [0, 1] ,∀xi ∈ χ . (2)

As defined in Equation (2), the function gximaps

the degree of similarity between performance variablexi and the set of values in its corresponding functiondomain Dom(xi). Hence,

Ei = gxi(ci), ci ∈ Dom(xi) , (3)

The Computer Journal, Vol. ??, No. ??, ????

Page 6: Context-driven Progressive Enhancement of Mobile Web ...

6 H. Desruelle and F. Gielen

TABLE 1. Boolean logic mapping function, leading tovalue concentration.

Interaction capability Match

Touch 0 %

Stylus 100 %

Joystick 0 %

Click wheel 0 %

TABLE 2. Fuzzy logic mapping function for optimizedvalue spreading

Interaction capability Match

Touch 75 %

Stylus 100 %

Joystick 30 %

Click wheel 10 %

by applying the candidate solution’s value ci forperformance variable xi as a parameter to function gxi

.Both Table 1 and Table 2 below illustrate a discretevalued mapping function implementations for the sameperformance variable in a mobile context. Figure 5,on the other hand, illustrates a continuous mappingfunction for calculating variable similarities.

After obtaining the elementary degrees of satisfac-tion, all individual matching scores are to be combinedinto one objective overall suitability score. This aggre-gated score is used to determine the best-matching can-didate. LSP supports the use of aggregation networks,expressing the mutual relationships between individualscores and how to calculate the overall score (see Fig-ure 4). The standard aggregation operators in LSP arebased on the superposition of fundamental GeneralizedConjunction Disjunction (GCD) [30]. These operatorsenable aggregations in terms of partial conjunction, fullconjunction, partial disjunction, full disjunction, andneutrality in a single operator. Moreover, a GCD sup-ports the specification of aggregations in terms of 17graded combinations of conjunction and disjunction. Afrequently used implementation for GCDs are WeightedPower Means (WPM), supporting all 17 GCD conjunc-tion/disjunction grades.

WPM (E1, E2, . . . , Em;W1,W2, . . . ,Wm; r) =

(W1Er1 +W2E

r2 + . . .+WmE

rm)

1r . (4)

The variables Wi in Equation (4) represent therelative weight for each elementary degree of suitabilityEi. These weights are mutually balanced by thefollowing requirement:

W1 + . . .+Wm = 1 . (5)

The exponent r ∈ R, moreover, is determinedin function of the aggregation’s desired degree ofconjunction or disjunction. This flexible exponentallows an evaluator to precisely interlink the mutual

FIGURE 5. Continuous mapping function with valuespreading for matching target devices’ screen heights

importance of individual suitability degrees within theequation. The calculated aggregation network resultsin an objective overall suitability score

E0 = L (E1, . . . , En) , (6)

where the function L defines a logic aggregationnetwork, combining one or more GCDs using a setof individual suitability degrees as input parameters.After calculating E0 for each of the candidate solutions,conclusions regarding the best-matching solution cansubsequently be drawn. The LSP approach selects thecandidate with the highest overall suitability score E0

as the optimal choice for the presented problem.

3.2. LSP selection in a mobile context

The LSP method provides evaluators the ability toflexibly, yet objectively, evaluate complex systemsunder various contextual circumstances. Such amulticriteria decision making (MCDM) approach canbe exploited to implement the envisioned adaptivecomposition of progressively enhanceable mobile Webapplications. In this particular case, a stackof enhancement layers is considered the candidatesolution. Each candidate must define the conditionsin which it should be able to contribute to anapplication’s optimization, and to what extent theconditions are strictly required or rather consideredoptional. The specified conditions will be matched tothe set of performance variables χ reflecting the clientdevice’s supported capabilities and characteristics. Theavailable stacks of progressive enhancement layers arein turn individually evaluated by matching their desiredconditions to the mobile user’s contextual setting (e.g.,the device’s available interaction methods, CSS andJavaScript support, etc.). As with the standard

The Computer Journal, Vol. ??, No. ??, ????

Page 7: Context-driven Progressive Enhancement of Mobile Web ...

Context-driven Progressive Enhancement of Mobile Web Applications 7

LSP approach, the overall degree of desirability E0 isexpressed in terms of a GCD logic aggregation network.Incorporating the LSP method in a mobile contextrequires a defined mobile mapping function gxi

for eachperformance variable xi. The mapping functions specifythe similarity between the target device’s performancevariables and the specific capabilities supported bythe candidate solution (i.e., covered by Dom(xi), thefunction domain of xi).

To illustrate the concept of mobile mappingfunctions, both Table 1 and Table 2 contain theimplementation of a mobile mapping function thatcompares the performance variable “stylus-basedinteraction” with a candidate solution’s expectedinteraction method. The function in Table 1 mapsthe performance variable’s domain values using Booleanlogic. A Boolean approach implies that only a perfectmatch is scored. The function implementation in Table2, on the other hand, uses fuzzy logic and makesmuch better use of the available scoring interval byalso grading the less-than-perfect matches. This secondapproach is more consistent with the LSP philosophy,as it enables LSP to postpone the final selectiondecision until all performance variables are evaluatedand balanced. The above mentioned examples highlightthe importance of carefully thought through mappingfunctions. In this context, the W3C Mobile Web BestPractices Working Group (MWBP-WG), as well as theW3C Web Accessibility Initiative (WAI) have provideda significant resources repository for the development ofmobile LSP mapping functions [31]. The published setof recommendations in the mobile Web usability andaccessibility areas are an excellent example of potentialsources from which usable mobile mapping functionscan be extracted. Figure 5, e.g., depicts a continuousmapping function, matching device’s screen resolutionwith a candidate solution designed for a 960 pixels highscreen.

Finally, the elementary scores Ei which resulted frommatching the candidate progressive enhancement stackswith the device’s specific capabilities are aggregatedinto an overall suitability score E0. During this laststage of the selection algorithm, the overall score isattained by applying the candidate’s predefined GCDlogic aggregation network L. Once all combinations ofavailable candidate solutions have been evaluated, theoptimal layer selection process is concluded by selectingthe highest scoring progressive enhancement stack.

3.3. Progressive enhancement stack applica-tion

Once the optimal stack of progressive enhancementlayers has been identified, the final step of the adaptivecomposition algorithm is to apply the stack’s layersto the mobile application. The set of p progressiveenhancement layers in the selected stack is applied usinga single transformation rule, which can be represented

FIGURE 6. A high level system overview. Integrating thefine-grained progressive enhancement approach to optimallyserve mobile devices within existing Web applicationframeworks

as a generic substitution operation Φ

Φ = ψ [l1/q1, l2/q2, . . . , lp/qp] . (7)

The transformation Φ in Equation (7) covers psimultaneous substitutions. It consists of an expressionψ which is matched for the patterns li that in turnare substituted by their associated expression qi (withi = 1, . . . , p).

Within the context of applying mobile progressiveenhancement layers, ψ represents the lowest commondenominator (LCD) version of the mobile application.Each expression qi represent one of the selectedprogressive enhancement layers, whilst the associatedli defines that layer’s specific target pattern in theapplication. For most behavioral and presentationalenhancement layers, the pattern to be matched isthe Web application’s <head> tag. Nonetheless, theproposed substitution approach also allows for morecomplex structural enhancement layers to be supportedby matching and transforming specific structuralaspects of the application.

4. ARCHITECTURE AND DESIGN

This section discusses the software architecture anddata structures needed to integrate the presentedadaptive application composition algorithm within anapplication development environment. First, thealgorithm proposed in Section 3 is mapped to anextensible software architecture that selects an optimalstack of progressive enhancement layers based onthe client’s contextual description and the availableenhancement stacks in its repository. Next, the datastructure for defining progressive enhancement stacksfor this system is elaborated.

4.1. Web application framework extension

In general, developers dedicate substantial efforts inmastering a specific development environment andapplication framework. From this perspective, itshould thus be desirable to support existing frameworks

The Computer Journal, Vol. ??, No. ??, ????

Page 8: Context-driven Progressive Enhancement of Mobile Web ...

8 H. Desruelle and F. Gielen

FIGURE 7. Detailed system architecture. Enabling an application framework to request a stack of progressive enhancementlayers that optimally suits the user’s device characteristics

FIGURE 8. Simplified representation of the context sub-models, spanning the mobile context of use

rather than to introduce a completely new developmentframework. Hence, support for fine-grained mobileprogressive enhancement is provided as a generic plug-in for existing Web application platforms. A highlevel overview of the approach is depicted in Figure6. The proposed fine-grained progressive enhancementextension interacts with Web application frameworksthrough a Web interface. Calling this interface selectsa progressive enhancement stack that is optimizedfor the particular capabilities of the current end-userand his device. As a result, application developersare no longer required to manually support thewide range of contextual variability points, as mobilefragmentation issues are handled by the proposedframework extension. What follows is a briefelaboration on the main architectural components ofthe system, which are shown below in Figure 7.

The Progressive Enhancement Manager representsthe system’s interface to the outside world. Itdelegates all incoming requests from the applicationframework to return an optimized stack of progressiveenhancement layers. The manager starts by accessingthe Context Manager component, which returnsdetailed information on the current target device’sdelivery context. This contextual description spansall contextual knowledge within the system. Themodel builds upon the W3C’s Delivery ContextOntology (DCO) specification [27] and the Contextof Use (COU) model proposed by the NEXOF-RAProject [32]. The context of use model comprisesthree top-level sub-models: the user context, thedevice context, and the environment context (seeFigure 8 for a simplified UML model representation).The models are internally managed and updated by

The Computer Journal, Vol. ??, No. ??, ????

Page 9: Context-driven Progressive Enhancement of Mobile Web ...

Context-driven Progressive Enhancement of Mobile Web Applications 9

FIGURE 9. Data structure specification of a mobile progressive enhancement stack using XML Schema Definition (XSD).Each layer defines two major components: (a) the suitability GCD aggregation network, and (b) the stack’s enhancementresources (HTML, JavaScript, CSS, etc.)

the system. In order for each of these proposedmodels to support historical evaluation, patterndetection, and conflict resolution strategies, all storedcontext properties are timestamped. The contextualinformation regarding the end-user is described bythe user context model. This model consists ofan aggregation of user profile data, user preferences,social context information, etc. Furthermore, thedevice and its physical environment are described bya separate instance of respectively the device contextmodel and the environment context model. The

device context model comprises knowledge regardingthe corresponding device’s hardware characteristics,supported software, etc. The environment contextmodel contains a description of a certain device’slocation, orientation, etc.

After obtaining all necessary contextual informa-tion, the Progressive Enhancement Manager in turnaddresses the Caching Service component to find outwhether the result for this particular context has previ-ously been calculated and cached. Due to performanceconsiderations, the caching of results for popular devices

The Computer Journal, Vol. ??, No. ??, ????

Page 10: Context-driven Progressive Enhancement of Mobile Web ...

10 H. Desruelle and F. Gielen

is an important part of the system (see performance andscalability evaluation discussion in Section 5). In caseof a cache-miss, the execution of the adaptive applica-tion composition algorithm triggered. This process ismanaged by the Mobile LSP Engine component.

The Mobile LSP Engine is responsible for selectingthe actual progressive enhancement stack which is to bereturned to the application framework. This componentis at the heart of the proposed system, as it objectivelyevaluates the applicability of candidate progressiveenhancement layers. The engine starts by fetching allprogressive enhancement stacks currently deployed inthe system. Next, the mobile mapping functions areretrieved, specifying the degree of similarity betweendesired context of use parameters and the client’s actualsituation. The Mobile LSP Engine calculates theoverall similarity score for each candidate progressiveenhancement stack. Lastly, the engine selects thestack with the highest overall score and thus bestmatches the characteristics of the client. This finalselection is passed back to the Progressive EnhancementManager component. The manager will cache themapping between the current delivery context and theresulting enhancement stack. In parallel, the selectedenhancement stack is delivered to the requestingapplication framework.

4.2. Mobile progressive enhancement datas-tructure

The application composition algorithm relies on aserver-side process for the selection of the mostsuitable progressive enhancement stack. The proposedframework requires a structured description of theavailable layers, as this data will be used to accuratelyperform a fine-grained applicability evaluation. To thispurpose, an XML Schema Definition (XSD) has beenspecified, capturing the syntax of a mobile progressiveenhancement stack within the system.

As shown in Figure 9, a stack description consistsof two major components (specified by the firstcode block, lines 4-11): a suitability aggregationnetwork (code block A, lines 13-23) and the stack’senhancement resources (code block B, lines 25-37).The aggregation network block specifies a combinationof one or more weighted power means and theirassociated performance variables, which can be freelyselected from the available parameters in the contextof use model. The aggregation network is neededto enable the LSP stack selection algorithm. Theenhancement resources specification block, on the otherhand, specifies metadata on the exact type and resourcelocation of this stack’s presentational, behavioral, andstructural enhancement elements. The enhancementresources are used by the system to correctly identifyand apply enhancement layers, once this particularstack has been selected by the LSP selection process.

5. EVALUATION DETAILS

This section evaluates the algorithm and system archi-tecture introduced in Section 3 and Section 4 respec-tively. First, a proof-of-concept platform implementa-tion is realized. The prototype implementation is subse-quently used to validate the adaptive application plat-form’s objectives regarding its usability, performance,and scalability aspects. Two evaluation approaches areapplied to validate the usability of the proposed system.For quick and consistent evaluation, a first iteration ofusability tests is carried out using an objective auto-mated evaluation mechanism. This iteration is thenfollowed by a round of subjective focus group evalua-tions for a more detailed validation. Next, the influenceof the approach on the application framework’s perfor-mance and scalability is evaluated through profiling andbenchmarking.

5.1. Proof of concept implementation

For the system’s prototype, all architectural compo-nents have been implemented as part of an exten-sion to the WAFL open source project [33] [34]. Theproposed fine-grained progressive enhancement exten-sion has been implemented for both the Drupal 1 andJoomla! 2 Web application frameworks. The plat-form’s context manager was implemented based on theWURFL device description repository 3 (see Section2.3). In addition, various mobile progressive enhance-ment layers were created, as a means to validate thesystem’s capability to adapt to the characteristics ofheterogeneous delivery environments. The created en-hancements range from simple CSS styling layers forfeature phones, to complex HTML5/CSS3/JavaScriptlayers providing a native look-and-feel for high-endsmartphones, and even location-aware layers for GPS-enabled devices.

Furthermore, to enable the thorough evaluationof some usability and performance aspects of thesystem, an adaptive m-commerce application hasbeen built on top of the prototype frameworkimplementations. The commerce application’s lowestcommon denominator (LCD) version provides basicfunctionality and presentational capabilities. Theapplication LCD enables a consumer to browse througha movie catalog, search for specific entries, and consultproduct details. Driven by the end-user’s context, thisexperience can be enhanced by enabling the system toautomatically load additional PE layers:

• Provide featurephone devices with predictive textinput when searching for movie items and enhanceit the application’s behavior via collapsible listviews.

1http://www.drupal.org2http://www.joomla.org3http://wurfl.sourceforge.net/

The Computer Journal, Vol. ??, No. ??, ????

Page 11: Context-driven Progressive Enhancement of Mobile Web ...

Context-driven Progressive Enhancement of Mobile Web Applications 11

TABLE 3. Focus group evaluation categorizationGroup Device Characteristics

A Motorola RAZR - Lowest common denominator device- Basic HTML structure support- No CSS, JavaScript support

B Nokia N96 - Mid-range feature phone- Basic HTML structure support- Elementary CSS, JavaScript support

C Google Galaxy Nexus - High-end smartphone- HTML5, CSS3, JavaScript support- Android look-and-feel

D Apple iPhone - High-end smartphone- HTML5, CSS3, JavaScript support- iOS look-and-feel

(a) (b)

FIGURE 10. Adaptive mCommerce Web application on two feature phones. (a) The Motorola RAZR, a low-end featurephone and (b) the Nokia N96, a mid-range feature phone

(a) (b)

FIGURE 11. Adaptive mCommerce Web application on two smartphones. (a) An Android smartphone, the Google GalaxyNexus and (b) an iOS smartphone, the Apple iPhone

The Computer Journal, Vol. ??, No. ??, ????

Page 12: Context-driven Progressive Enhancement of Mobile Web ...

12 H. Desruelle and F. Gielen

• Provide Android and iPhone client devices with amimicked native application look-and-feel.

• Enhance geolocation-enabled devices with direc-tions to nearby store locations.

• Enhance HTML5 notification-enabled client’s withinformation on store promotion via the device’snative notification center.

Listing 1. Movie catalog prototype: LCD applicationskeleton

1 <html>

2 <body>

3 <h1 id="title">Products</h1>

4

5 <ul id="items" role="navigation">

6 <li id="bolt" role="item">

7 <a href="bolt.html">

8 Bolt ($10.00)

9 </a>

10 </li>

11

12 <li id="clonewars" role="item">

13 <a href="clonewars.html">

14 Clone Wars ($22.99)

15 </a>

16 </li>

17 ...

18 </ul>

19 </body>

20 </html>

As shown in Listing 1, the developer starts by defininga basic LCD version of the movie catalog application.This generic application version ought to work oneach targeted device. The application platform, inturn, aims to autonomously find the optimal set ofprogressive enhancement layers by evaluating their LSPapplicability scores. Listing 2, depicts an entry in thesystem’s layer repository. This layer is based on the iUIWeb framework 4 and specifically targets iOS devices(lines 14-19). For this purpose, the layer defines asimple full disjunction LSP network matching the targetdevice’s context description for an iPhone or iPad modelreference, or a Safari mobile browser (lines 1-12). Thepower of the proposed enhancement approach, however,lies with the mapping functions’ fuzzy logic support. Aspreviously noted, this allows less-then-perfect matchesto be taken into consideration as well. As a result,e.g., the technologically similar Android browser canfall back to this enhancement in case no specific AndroidOS enhancement has been deployed in the system (seeTable 4).

The remainder of this section will evaluate whetherthe proposed approach is capable of handling mobiledevice fragmentation by automatically enhancing themovie catalog application’s LCD version in a usable andefficient manner.

4https://code.google.com/p/iui/

TABLE 4. Mapping the mobile browser to SafariMobile browser Match

Safari 100 %

Chrome Mobile 75 %

Webkit 70 %

Opera 65 %

IE Mobile 15 %

Listing 2. Movie catalog prototype: iOS enhancemententry from the system’s layer repository

1 <!-- iOS UI enhancement layer -->

2 <PElayer>

3 <LSPnetwork>

4 <preferences aggr_type="full_disjunct">

5 <criteria type="model_name"

6 value="iPhone" />

7 <criteria type="model_name"

8 value="iPad" />

9 <criteria type="mobile_browser"

10 value="Safari" />

11 </preferences>

12 </LSPnetwork>

13

14 <enhancements>

15 <behavior

16 src="./iui/iui-bootstrap.js" />

17 <presentation

18 src="./iui/iui-iphone.css" />

19 </enhancements>

20 </PElayer>

5.2. Usability evaluation

The proof-of-concept m-commerce application is firstof all evaluated using a set of automated usabilitytests provided by the W3C MobileOK test suite service[35]. The MobileOK service checks the usability ofWeb applications in a mobile context, and is driven byW3C’s recommendations and best practices on mobileWeb development [36]. The suite of 30 independenttests is based on the validation of markup, applicationaccessibility, content and navigation structuring, loadtime latencies, and the use of network resources. Theprototype m-commerce application gets a perfect scoreon all MobileOK subtests. Moreover, the applicationattains a score in the top 10th percentile of all Web-based applications evaluated by this W3C service [37].

The second stage of usability evaluations is carriedout using a focus group research methodology. Focusgroups are a widely used method for performingqualitative usability evaluations regarding humancomputer interaction (HCI) [38]. This type ofevaluation is designed to obtain a clear perceptionon the evaluated artifact by running a number ofcarefully planned discussions with a small group ofpotential stakeholders [39]. The evaluation interviewis conducted in a natural way, where participants are

The Computer Journal, Vol. ??, No. ??, ????

Page 13: Context-driven Progressive Enhancement of Mobile Web ...

Context-driven Progressive Enhancement of Mobile Web Applications 13

free to provide their perspective. In this context, testusers are categorized according to the type of mobiledevice they used to evaluate the prototype. As shownin Table 3, four focus groups are held for four differenttypes of mobile users, with devices ranging from low-endfeature phones to high-end smartphones. Each focusgroup has five participants and a moderator guiding thediscussion. An additional observer also attends eachfocus group for aggregating their feedback. During afocus group session, participants are first briefed for 5to 10 minutes on the context of the system they areabout to evaluate. This in order to assure that allparticipants understand and appreciate the objectivesof the approach. Next, the actual evaluation discussioncan be initiated and in general lasts for about 30minutes. As discussed further on, this evaluation showspromising results amongst all test groups.

The user groups operating the devices with limitedcapabilities (i.e., focus groups A and B) were unani-mously positive about the fact that all main applica-tion functionality was supported. The application looksand feels optimized for their particular device, with-out creating the perception of being presented with astripped-down copy of the smartphone application ver-sion. Figure 10(a) shows the basic LCD structure ofthe m-commerce application, containing only a simpleHTML markup. For more capable devices, such as themid-range feature phones of focus group B, the sys-tem detects the applicability of elementary CSS andJavaScript layers. Figure 10(b) depicts this scenario,where the LCD version is automatically enhanced withvarious presentational as well as behavioral layers.

The feedback from the groups using high-endsmartphones (i.e., focus groups C and D) was mainlyin the same line. All users recognize the intuitivenessof the provided application. The advanced HTML5,CSS3 and AJAX (Asynchronous JavaScript and XML)support offered by these devices allows the systemto select complex enhancement layers. Moreover, alarge majority of these groups’ participants (80%) werealso positive about a Web-based application beingable to automatically mimic the underlying operatingsystem’s native look-and-feel (see Figure 11(a), andFigure 11(b)). On the other hand, however, therewere two users in focus group C raising issues onthe interaction fluency of the application. This issuewas traced back to the implementation of an AJAXenhancement layer in the system, not the platformitself. The problem was subsequently solved by creatingan optimized AJAX enhancement layer for Androiddevices and deploying it to the system’s enhancementrepository. After addressing the issue it was no longeridentified in one of the later evaluation iterations.

5.3. Performance and scalability evaluation

The adaptive application composition algorithm pro-posed in Section 3 has a significant influence on the

FIGURE 12. System response times for generatingoptimized progressive enhancement stacks. Measuredin function of the number of candidate progressiveenhancement stacks in the system

performance of the approach. As the algorithm eval-uates the applicability of all available progressive en-hancement stack, running time increases linearly withthe total number of performance variables to be con-sidered during the selection process of the candidateprogressive enhancement stacks. Moreover, if the sys-tem contains a repository Γ of n candidate progressiveenhancement stacks and each stack si ∈ Γ specifies asuitability aggregation network of mi performance vari-ables to be evaluated, the stack selection algorithm ona single computation thread is expected to consume

O

(n∑

i=1

mi ∗ 2− 1

)(8)

time for completing the LSP evaluation process.Since the maximum number of nodes in si’s aggregationnetwork equals (mi ∗ 2 − 1). In this worst casescenario, all WPMs mean the applicability of onlytwo similarity scores. Nevertheless, the individualevaluations of candidate enhancement stacks aremutually independent and can thus be executed inparallel without considerable overhead. Particularly,the expected computational complexity on a server withτp processing threads can be refined to

O

(maxi=1..n

(mi ∗ 2− 1) ∗[n

τp+ εsync

]). (9)

With εsync the thread synchronization overhead.Benchmark and profiling tests on the prototypeimplementation with Apache JMeter5 and Xdebug6

confirm this theoretical prediction. Figure 12 and Table5 show the average response times of the framework in

5http://jmeter.apache.org6http://www.xdebug.org

The Computer Journal, Vol. ??, No. ??, ????

Page 14: Context-driven Progressive Enhancement of Mobile Web ...

14 H. Desruelle and F. Gielen

TABLE 5. Stack generation response timesDeployed stacks 1 2 4 8

Cache-miss, 1 thread 24ms 47ms 95ms 192ms

Cache-miss, 2 threads 25ms 25ms 49ms 101ms

Cache-miss, 4 threads 25ms 25ms 25ms 53ms

Cache-hit 11ms 11ms 11ms 11ms

function of the total number of performance variablesto be evaluated before being able to reach conclusion.Two types of tests are performed. In the firstseries of tests, a cache-miss is simulated by disablingthe system’s cache service. This evidently resultsin a performance degradation due to the algorithm’scomputational complexity. Because of the algorithm’sscalability through parallelization, this effect can bereduced to an acceptable threshold (see Figure 12).For the second series of tests, on the other hand, thesystem’s caching capabilities are enabled. The use ofa caching mechanism further improves performance ofthe system. Results show that in case of a cache hit, thetime for selecting an optimal progressive enhancementstack is reduced to a constant execution time. Thisexecution time is regardless of the number of candidatesolutions that have to be evaluated by the system.

6. CONCLUSION AND FUTURE WORK

This article introduces a methodology and supportingsoftware framework for the development and deliveryof adaptive mobile applications through Web technol-ogy. The proposed approach drastically facilitates thedevelopment of accessible and usable mobile applica-tions covering a wide range of mobile devices and othercontextual parameters. Application developers are nolonger solely responsible for manually handling the var-ious aspects of mobile device fragmentation. Only alowest common denominator (LCD) version of a mo-bile application needs to be specified. The applicationpresented to the end-user is automatically optimizedto the target delivery context through a series of fine-grained progressive enhancements. The proposed adap-tive application composition algorithm is based on amulticriteria decision making (MCDM) method derivedfrom the Logic Scoring of Preference (LSP) algorithm.This process is entirely driven by the characteristics ofthe user’s contextual setting, in order to enable an op-timal user experience. A proof-of-concept realizationwas implemented and validated. The extensive end-user usability evaluation of the prototype implementa-tion shows promising results, both for automated as wellas focus group validations.

Future work includes the further validation of theproposed approach from the perspective of mobileapplication developers. From an end-user’s pointof view, the impact of composing the user contextvia a more light weight preferences-based approachrather than profile modeling should be investigated.

Furthermore, the possible extension of the algorithmtowards real time request handling ought to beanalyzed. Other research steps in the furtherdevelopment of this adaptive application compositionmethod are related to broadening its scope in termsof supported device types. As the Web is becomingmore and more ubiquitous, the diversity of devices thatenable access to Web-based applications is extendingrapidly. Such devices include tablet computers, homeentertainment systems, and even devices from theautomotive industry, etc. This evolution furtheremphasizes the impact of fragmentation handling onapplication developers. Therefore, the applicabilityof the proposed application composition algorithmshould be evaluated and optimized for more ubiquitousapplication environments.

ACKNOWLEDGEMENTS

The research leading to these results has receivedfunding from the European Union’s Seventh FrameworkProgramme (FP7-ICT-2009-5) under grant agreementnumber 257103 (Webinos project).

REFERENCES

[1] Ahonen, T. (2008) Mobile as 7th of the massmedia: cellphone, cameraphone, iPhone, smartphone.Futuretext, London.

[2] Frederick, G.R. and Lal, R. (2009) Beginningsmartphone web development. Springer-Verlag, NewYork.

[3] Desruelle, H. and Lyle, J. and Isenberg, S. andGielen, F. (2013) On the challenges of building a web-based ubiquitos application platform. Proceedings ofthe 14th ACM International Conference on UbiquitousComputing, Pittsburgh, PA, 5–8 September, pp.733–736. ACM, New York.

[4] Cozza, R. and Milanesi, C. and Zimmermann, A. andGlenn, D. and Gupta, A. and De La Vergne, H.J. andLu, L.K. and Sato, A. and Nguyen, T.H. and Shen, S.(2011) Market Share: Mobile Communication Devicesby Region and Country, Gartner inc., Stamford.

[5] International Telecommunication Union (2010) Mea-suring the Information Society 2010, ITU, Geneva.

[6] Gordon, E.D. (2013) Are Indie App Develop-ers Becoming an Endangered Species? [online].http://blog.flurry.com/bid/94811/Are-Indie-

App-Developers-Becoming-an-Endangered-Species

[Accessed 8 April 2014].

[7] Florins, M. and Vanderdonckt, J. (2004) Gracefuldegradation of user interfaces as a design methodfor multiplatform systems. Proceedings of the 9thInternational Conference on Intelligent User Interfaces,Funchal, Portugal, 13–16 January, pp. 140–147. ACM,New York.

[8] Wells, J. and Draganova, C. (2007) Progressiveenhancement in the real World. Proceedings ofthe 8th Conference on hypertext and hypermedia,Southampton, UK, 6–11 April, pp. 55–56. ACM, NewYork.

The Computer Journal, Vol. ??, No. ??, ????

Page 15: Context-driven Progressive Enhancement of Mobile Web ...

Context-driven Progressive Enhancement of Mobile Web Applications 15

[9] Lie, H.W. and Celik, T. and Glazman, D. and VanKesteren, A. (eds) (2010) Media Queries [online]. W3CCandidate Recommendation. Available from: http://

www.w3.org/TR/css3-mediaqueries [Accessed 8 April2014].

[10] Kappel, G. and Proll, B. and Retschitzegger, W.and Schwinger, W. (2002) Modeling ubiquitous webapplications: the WUML approach. In Olive, A. (ed),Conceptual Modeling for New Information SystemsTechnologies. Springer-Verlag, Heidelberg.

[11] Schauerhuber, A. and Wimmer, M. and Schwinger,M. and Kapsammer, E. and Retschitzegger, W.(2007) Aspect-oriented modeling of ubiquitous webapplications: the aspectWebML approach. Proceedingsof the 14th International Conference and Workshops onthe Engineering of Computer-Based Systems, Tucson,AZ, 26–29 March, pp. 569–576. IEEE, New York.

[12] Linaje, M. and Preciado, J.C. and Sanchez-Figuero,F. (2010) Multi-Device Context-Aware RIAs Usinga Model-Driven Approach. Journal of UniversalComputer Science, 16(15), 2038–2059.

[13] Kappel, G. and Proll, B. and Retschitzegger, W.and Schwinger, W. and Hofer, T. (2001) Modelingubiquitous web applications - A Comparision ofApproaches. Proceedings of the 3rd InternationalConference on Information Integration and Web-based Applications and Services, Linz, Austria, 10–12 September, pp.163–174. Ostereichische ComputerGesellschaft, Vienna.

[14] International Organization for Standardization (1998)Ergonomic requirements for office work with visualdisplay terminals (VDT)s - Part 11 Guidance onusability, ISO 9241-11, International Organization forStandardization, Geneva.

[15] Koch, N. and Knapp, A. and Zhang, G. andBaumeister, H. (2008) UML-Based web engineering. InRossi, G. and Pastor, O. and Schwabe, D. and Olsina,L. (eds), Web engineering: modeling and implementingweb applications. Springer-Verlag, London.

[16] Schilit, B. and Adams, N. and Want, R. (1994)Context-aware Computing Applications. Proceedingsof the 1st Workshop on Mobile Computing Systems andApplications, Santa Cruz, CA, 8–9 December, pp. 85–90. IEEE, New York.

[17] Brown, P.J. and Bovey, J.D. and Chen, X. (1997)Context-aware Applications: From the Laboratoryto the Marketplace. IEEE Personal Communications,4(5), 58–64.

[18] Chen, G. and Kotz, D. (2000) A Survey of Context-aware Mobile Computing Research, Technical ReportTR2000-381, Dartmouth College, Dept. of ComputerScience, New Hampshire.

[19] Open Mobile Alliance (2001) WAG UAProf, TechnicalReport WAP-248-UAProf-20010530, Open MobileAlliance.

[20] Kiss, C. (ed) (2010) Composite Capability/PreferenceProfiles (CC/PP): Structure and Vocabularies 2.0 [on-line]. W3C Working Group Note. Available from: http://www.w3.org/TR/CCPP-struct-vocab2 [Accessed 8April 2014].

[21] Rabin, J. and Trasatti, A. and Hanrahan R.(eds) (2008) Device Description Repository Core

Vocabulary [online]. W3C Working Group Note.Available from: http://www.w3.org/TR/ddr-core-

vocabulary [Accessed 8 April 2014].

[22] Heckmann, D. (2005) Ubiquitous User Modeling.Thesis (PhD). Dept. of Computer Science, SaarlandUniversity, Saarbrucken.

[23] Silva, J.L.T. and Ribeiro, A.M. and Boff, E. and Primo,T. and Viccari, R.M. (2011) A Reference Ontologyfor Profile Representation in Communities of Practice.Metadata and Semantic Research, 240(1), 68–79.

[24] Heath, T. and Bizer, C. (2011) Linked data: Evolvingthe web into a global data space (1st edition). Morgan& Claypool Publishers, San Rafael, CA.

[25] Heckmann, D. and Loskyll, M. and Math, R. andRechtenwald, P. and Stahl, C. (2009) Ubisworld 3.0:A Semantic Tool Set for Ubiquitous User Modeling.Proceedings of the 17th International Conferenceon User Modeling, Adaptation, and Personalization,Trento, Italy, 22–26, June. Springer-Verlag, Heidelberg.

[26] Desruelle, H. and Isenberg, S. and Lyle, J. andGielen, F. (2013) Multi-device Application Middleware:Leveraging the Ubiquity of the Web with Webinos.Journal of Supercomputing, 66(1), 4–20.

[27] Cantera, J.M. and Rhys L. (eds) (2010) DeliveryContext Ontology [online]. W3C Working Group Note.Available from: http://www.w3.org/TR/dcontology

[Accessed 8 April 2014].

[28] Dujmovic, J.J. (1996) A method for evaluation andselection of complex hardware and software systems.Proceedings of the 22nd International Conference forthe Resource Management & Performance Evaluationof Enterprise Computing Systems, San Diego, CA, 10–13 December, pp. 368–378. Computer MeasurementGroup, Turnersville.

[29] Dujmovic, J.J. and De Tre, G. and Van de Weghe,N. (2010) LSP suitability maps. Soft Computing- A Fusion of Foundations, Methodologies andApplications, 14(5), 421–434.

[30] Batyrshin, I. and Kaynak, O. and Rudas, I. (1998)Generalized conjunction and disjunction operationsfor fuzzy control. Proceedings of the 6th EuropeanCongress on Intelligent Techniques & Soft Computing,Aachen, Germany, 7–10 September, pp. 52–57. VerlagMainz, Aachen.

[31] Caldwell, B. and Cooper, M. and Reid, L.G.and Vanderheiden, G. (eds) (2008) Web ContentAccessibility Guidelines (WCAG) 2.0 [online]. W3CRecommendation. Available from: http://www.w3.

org/TR/WCAG/ [Accessed 8 April 2014].

[32] Cantera, J.M. and Tsouroulas, N. (2010) Contextmodel and universal APIs [online]. NEXOF-RAProject. Available from: http://www.nexof-ra.eu

[Accessed 8 April 2014].

[33] Desruelle, H. (2009) Website Adaptation and Format-ting Layer [online]. Sourceforge . Available from: http://wafl.sourceforge.net [Accessed 8 April 2014].

[34] Desruelle, H. (2010) CMS-driven development ofadaptive mobile web applications using progressiveenhancement techniques. Thesis (MSc). Dept. ofInformation Technology, Ghent University, Ghent.

[35] Rabin, J. and Archer, P. (2009) W3C mobileOKScheme 1.0 [online]. W3C Work Group Note. Available

The Computer Journal, Vol. ??, No. ??, ????

Page 16: Context-driven Progressive Enhancement of Mobile Web ...

16 H. Desruelle and F. Gielen

from: http://www.w3.org/TR/mobileOK [Accessed 8April 2014].

[36] Connors, A. and Sullivan, B. (eds) (2010) MobileWeb Application Best Practices [online]. W3C Recom-mendation. Available from: http://www.w3.org/TR/

mwabp/ [Accessed 8 April 2014].

[37] W3C (2010) mobileOK usage statistics [on-line]. W3C mobileOK Checker. Available from:http://www.w3.org/2008/04/mokstats/public/

global/20080401-20100110/Overview.html [Ac-cessed 8 April 2014].

[38] O’Donnell, P.J. and Scobie, G. and Baxter, I. (1991)The use of focus groups as an evaluation technique inHCI. People and Computers, 5(1), 211–224.

[39] Kontio, J. and Bragge, J. and Lehtola, L. (2008) Thefocus group method as an empirical tool in softwareengineering. In Shull, F. and Singer, J. and Sjoberg,D.I.K. (eds), Guide to advanced empirical softwareengineering. Springer-Verlag, London.

The Computer Journal, Vol. ??, No. ??, ????