Article Preview
TopIntroduction
Increasing tendency of learners to use portable devices to acquire information beside significant improvements in smartphone and tablet technologies have been attracting enterprises to deliver e-contents, and m-learning activities via handheld devices. Furthermore, the soft aspects like programming practices, interaction mechanisms and other web technologies related to develop m-learning applications has also been progressing. The enthusiasm to m-learning, and success of its application is stressed in myriad recent studies such as (Gikas & Grant, 2013); Dahlstrom, 2012; Martin & Ertzberger, 2013). Moreover, works like (Mills, Knezek, & Khaddage (2014); Sung & Mayer, 2013; Almeida, Bolaert, Dowdall, Lourenço, & Milczarski, 2013) reported prosperity of m-learning applizations. However, the quality attributes such as which mentioned in below are really important in developing m-learning systems and are less considered:
- •
Device adaptability of e-contents which sent as response to clients;
- •
Interoperability, usability, efficiency, and performance of the m-learning applications targeted to handle heavy multimedia e-contents.
The m-learning systems as distraction is a result of the lack of attention to the quality attributes like usability and inconsistency (Gikas & Grant, 2013). As emphasized in (Keengwe & Bhargava, 2013), “one size fits all” or “one technology for all contexts” is outcast features which are emerged when developing the m-learning web apps. It prevents mobile web apps from gaining educational materials anywhere and anytime which is completely critical criteria to achieve successful user experience. Keeping synchronized when calling functions remotely generates performance challenge that is discussed in (Martin, Diaz, Plaza, Ruiz, Castro, & Peire, 2011). Extensibility, reusability, and privacy are three of important encountered shortages in existing implementations that are discussed in (Martin, Diaz, Plaza, Ruiz, Castro, & Peire, 2011).
The need to high speed connection and response time are the main challenges that architecting the hardware and software components in appropriate form can help the applications to tolerate this difficulty (Zadahmad Jafarlou, Manouchehr, Arasteh, Bahman, & Yousefzadeh Fard, Parisa., 2011). MCC allows a web application like m-learning application to serve a majority of mobile devices e-learning services using state of the art hardware tools. With performing heavy computation in server side, MCC allows mobile devices connected to it to enjoy sophisticated services using a thin client in a speedy manner.
Our approach to m-learning put to practice an MCC environment which offers m-learning services to an array of m-learning web apps connected to it (tenants) through the Internet. These web apps, in turn, deliver specific functionalities to mobile devices connected to them. The objective serves the e-learning components hosted by MCC in an attempt to help connected m-learning systems to cope with challenges originated from the disadvantages of mobile devices like diversity of capability and mobile network related problems. To estimate the cost and effort needed to construct the m-learning systems using proposed method and to show efficiency of proposed method to develop m-learning applications we used the well-known lines of code (LOC) software metric. It is also known as Source lines of code (SLOC) and is used to predict maintainability and productivity of the method. The main contributions of this study are as below:
- •
Defining a service oriented architecture to a MCC-learning system;
- •
Determining the basic components of a MCC-learning system;
- •
Deciding the position of each component in the architecture;
- •
Using a Device Adaptive Rendering component to help m-learning systems (tenants) to adapt responses (e-contents) to the client devices;
- •
Increasing the development speed to build m-learning systems by decreasing the Lines Of Code (LOC) required for developing such systems;
- •
Qualifying system by showing the effect of system to improve time taken by learners, to answer the learning task questions and accuracy rates.