Development of Mobile Educational Services Application to Improve Educational Outcomes using Android Technology

—Mobile devices have become instruments that allow new ways of interacting with institutional services. This paper describes the development of the Mobile Educational Services Application (MES app) for the Android platform. This app allows access to mediated and self-access services, as well as databases, announcements, registration, events, book consultations, schedules, etc. The project provides Mobile and Web-based application tools (apps) that allow online access for different users - students, instructors, and administrators. The app provides students with a user friendly, generic, web-based GUI to request educational services, to send text message inquiries, to add, drop, or defer courses, etc.. The app allows instructors to send or receive text messages to and from students using the mobile or web-based interface of the app. In addition to system monitoring, the app provides administrators an online tool to manage, add, update, and delete system information. This tool seeks to be one of the more useful economic apps that use Android technology for applications, using Tablets and mobile devices, for the use of students, instructors and administrators in accessing services in an educational institution.


INTRODUCTION
Mobile technologies have become a basic part of our lives. The growing demand for mobile devices is a positive sign that these devices are playing an essential role in our lives. Mobile devices are being used as a means of information exchange, chat, entertainment, SMS (texting), and other social communication, leaving computers running the most complex tasks. Because most students today have some sort of internet-enabled mobile device, the development of Mobile-based systems provides students with fast, straightforward access to information needed in their academic lives.
Some research studies have concluded that the integration of tablets, PDAs, and touch screen devices in the curriculum helps increase motivation in students and improves learning outcomes.
The real innovation w i t h tablets is how they're used, t h e w a y the user interacts with the device giving it a little touch on the screen, easy and intuitive, requiring neither manuals nor instructions. In addition, what makes them so powerful for education is that students already use them outside the classroom to download applications, connect to social networks, and immerse themselves in informal learning experiences. These new technologies make it possible today to speak of elearning and M-learning, providing great benefits for the student [1].
The literature on M-learning points to a variety of benefits that mobile devices could have on the educational sector. For heuristic purposes, the impacts of mobile devices on educational outcomes that are identified in the Meducation literature can be classified into two broad categories. On the one hand, mobile devices supposedly impact educational outcomes by improving access to education while maintaining the quality of education delivered. On the other hand, mobile devices purportedly impact educational outcomes by facilitating alternative educating processes and instructional methods collectively known as new educating [2].
Android is the world's most popular operating system (OS) for mobile devices and tablets. It is an open source OS, created by Google, and available to all kinds of developers with various expertise levels.
Android is the first free, open source, and fully customizable mobile platform, a software stack for mobile devices including an OS, middleware and key mobile applications. The Android SDK provides the tools and APIs necessary to develop applications on the Android platform [3,4].
This article aims to introduce the system development life cycle of the MES app that provides educational services to students through their mobile devices, using the Android OS platform. This system provides Mobile and Web-based app tools that allows online access for different users including students, instructors, and administrators. We have tested the system with different type of services and programs. The feedback of both instructors and students has been highly promising.
The paper is organized as follows: in section two we introduce the Android OS architecture; in section three we introduce an overview about recent studies of mobile devices; in section four we present the analysis and design of the Mobile Educational Services Application; and in section five we introduce the implementation of the MES app system. The paper is finally concluded in section six.

A. Android Architecture
Android is a software framework and OS for mobile devices and tablets based on a Linux kernel. It was initially developed by Google, and later under the Open Handset Alliance. The framework is based on the Linux 2.6 kernel and consists of an operating system, middleware stack, customizable user interface and applications. It allows the software developers to write managed code in Java, and controlling the device through Google developed Java libraries. Apps written in C, C++ and other languages can be compiled to ARM native code and run, but this development type is not officially recommended by Google [4,5,7].
The main components of the Android OS architecture are shown in Figure 1. The Figure show that: at the bottom layer, Android relies on Linux version 2.6 for core system services such as memory management, process management, network stack, security, and driver model.
Android includes a set of Core Libraries that provide most of the functionality available in the core libraries of Java. Every Android application runs in its own process, with its own instance of the Dalvik virtual machine. The Dalvik VM executes files in the Dalvik Executable (.dex) format which is optimized for minimal memory footprint [6,7].
Android includes a set of C/C++ libraries used by various components of the Android system. These capabilities are exposed to developers through the Android application framework. Some of the core libraries are [8]: • System C library-a BSD-derived implementation of the standard C system library (libc), tuned for embedded Linux-based devices • Media Libraries-based on PacketVideo's Open-CORE, the libraries support playback and recording of many popular audio and video formats, as well as static image files, including MPEG4, H.264, MP3, AAC, AMR, JPG and PNG • Surface Manager-manages access to the display subsystem and seamlessly composites 2D and 3D graphic layers from multiple applications • LibWebCore-a modern Web browser engine which powers both the Android browser and an embeddable Web view • SGL-the underlying 2D graphics engine • 3D libraries-an implementation based on OpenGL ES 1.0 APIs; the libraries use either hardware 3D acceleration (where available) or the included, highly optimized 3D software rasterizer. • FreeType-bitmap and vector font rendering • SQLite-a powerful and lightweight relational database engine available to all applications Also, Android contains a set of core applications that include: email client, SMS (texting) program, browser, calendar, maps, contacts, and etc.. All applications are written in Java. Developers have full access to the same framework APIs used by the core applications.
The application architecture is designed to simplify the reuse of components. Any application can publish its capabilities and any other application may then make use Figure 1. Android architecture [4] of those capabilities. This same mechanism allows components to be replaced by the user. Underlying all applications is a set of services and systems, including: • A rich and extensible set of Views that can be used to build an application, including lists, grids, text boxes, buttons, and an embeddable web browser; • Content Providers that enable applications to access data from other applications or to share their own data; • A Resource Manager that provides access to noncode resources such as localized strings, graphics, and layout files; • A Notification Manager that enables all applications to display custom alerts in the status bar; • An Activity Manager that manages the life cycle of applications and provides a common navigation backstack [7]. The Android SDK includes a comprehensive set of development tools including a debugger, libraries, a handset emulator, documentation, sample code, and tutorials [4,7]. Currently supported development platforms include x86based computers running Linux, Mac OS X 10.4.8 or later, Windows XP or Vista. Requirements also include Java Development Kit, Apache Ant, and Python 2.2 or later. The officially supported integrated development environment (IDE) is Eclipse (3.2 or later) using the Android Development Tools (ADT) Plugin. Alternatively, developers may use any text editor to edit Java and XML files then use command line tools to create, build and debug Android applications.

III. OVERVIEW
Recent studies show that mobile devices are especially suitable tools for enhancing education in developing countries. In addition to voice communication, mobile devices allow data transfer, which can be useful for delivering educational content over long distances. Nowadays, many lecturers use mobile devices to deliver course content and other information that students need for a given course.
Mobile devices have been used to assist in training teachers [13], keeping students and parents informed about school information [14], and teaching students [15]. Mobiles have relatively low physical infrastructure requirements and can reach remote areas in a more costeffective fashion than other ICTs such as the Internet or fixed phone lines. In some places, mobile devices are simply the only option available. One advantage of the mobile phone is that it requires only basic literacy, making the barriers to entry much lower than with other modern ICTs.
As mobile technologies become increasingly prominent in the lives of young people worldwide, government agencies and local schools in USA are experimenting with the use of these popular devices for a range of different teaching and learning purposes. As a result, mobile technologies are starting to have a permanent influence on human development which directly enhances the development of different areas such as health, education, health, agriculture, employment, environment, etc.
Many research studies indicate that Mobile devices help to improve educational outcomes by, on one side improving access to education and on other side promoting new learning. In fact, mobile learning increases access for those who are full-time employees, handicapped, or have household activities, and cannot physically attend academic learning institutions to follow courses in a traditional educational setting due to the constraints of work or any other competing demands on their time. In this aspect, mobile learning makes education more accessible since it enables learners to pursue their studies via mobile devices according to their own schedule at anytime from anywhere. The portability of mobile technology means that mobile learning is not bound by fixed class times; mobile learning enables learning at all times and in all places.

A. Functional requirements
Functional requirements describe the interactions between the system and its environment independent of its implementation. The environment includes the end user and any other external system with which the system interacts. The system allows different types of users to interact with the app according to given privileges. There are three main actors: student, instructors and administrator. The system provides various services for each user as shown in Figure 2, of the use case diagram: • The MES app provides the student with many academic services include: register to the system, login, change account password, register to one program, add course, drop course, send text message to admin or instructor, receive text message through the mobile, update his/her record, show timetable, and others. • The MES app provides the instructor with many services include: registration, login, change password, program registration, send text message to selected or all of his students, receive text message through his mobile, update his records and show his timetable. • The MES app provides the administrator with many services include: registration, login, change pass-word, System management, activate the registration for different users, manage users accounts, manage the data of the academic programs and courses, upload admin information, reply to students and instructors requests. Figure 3, presents part of the sequence diagram of the proposed system that shows the functions between instructor and student.

B. Sequence Diagram
The diagram shows that, if an instructor or student requests any service from the registrar, the registrar determines the classification of service then chooses the service via web page, and the system checks the security setting, and confirms validation for the process in the database, then the system sends the response to the registrar about the requested service and displays it. Finally the registrar sends a text message to the student(s) containing the instructor's request.

C. Data requirements
The list of some important data requirement includes:

D. Relational Database Schema of the MES app
We have designed the database of the MES app project, using UML, and ERD diagrams. We mapped the entities in the ERD to generate the relational database schema diagrams of the system, as shown in Figure 4.

A. Android installation
To develop the Mobile Educational Services project, using Android OS, we started by installing the Android SDK and the Eclipse plug-in. We used Windows XP professional OS, with Eclipse IDE a s supported development environments.
The recommended way to develop an Android application is to use Eclipse with the ADT plugin. Eclipse ADT plug-in provides editing, building, and debugging functionality integrated right into the IDE. However, applications can also be developed in another IDE, such as IntelliJ, or use Eclipse without the ADT plug-in. The steps for installing and configuring the Android SDK and Eclipse Plug-in are as follows. The directory contains the subdirectories tools/, samples/, and others. Adding tools to the path allows running Android Debug Bridge (ADB) and the other command line tools without needing to supply the full path to the tools directory. 3. Install the Eclipse plug-in (ADT): To use the Eclipse IDE as the environment for developing Android applications, a custom plug-in called Android Development Tools (ADT) is to be installed, which adds integrated support for Android projects and tools. The ADT plug-in includes a variety of powerful extensions that make creating, running, and debugging Android applications faster and easier. If the Eclipse IDE is not used, then the ADT plug-in needs not to be downloaded and installed.

B. Database implementation
The database is designed to have the following tables:

C. GUI implementation
The Mobile Educational Services Application system takes advantage of the latest development technologies in its implementation. It is an ASP.NET web-based application to be used on the Internet and was written using Microsoft's Visual Studio .NET development environment in the C# programming language. Code that executes on the server to process event handlers for events such as button clicks is written in C#. Microsoft's SQL Server 2008 R2 is used for database operations, including the storage and retrieval of login information, as well as submission data. Successfully logging into the system, users are taken to an action page that dynamically presents options to them based on their privileges. The system used XML Web service to communicate with database. The Android OS with Eclipse plug-in is used also for Mobile GUI apps. The Web-based interface of the proposed system, started with the "Home Page", and the system contains GUI for Admin, Instructor, and Student as shown in Figure 5.
The admin GUI includes: Login, Admin managementmanages users (Instructor/Student); Activate User Account-manages the program's information (add, program, edit, delete), manages the course info (add, delete, update courses for the selected program), manages and sets up other pertinent information (cityname, nationality, country, class room, and services), manages time table information (add/change program and course data), sends a message interface (admin can send text messages to instructors and students via this interface); and a Read Message Interface (admin can read text messages that are sent from instructors and students via this interface). Figure 6, shows the snapshot of the class administrators: The Instructor GUI includes: Instructor Registration; Login; Program interface -(instructor can show his program and courses from this interface); Instructor Information interface -(the instructor can use the interface for editing, changing, and deleting courses, as well as basic information including the password; Send Message Interface -(an instructor can send a text message to a student, another instructor, or admin); Read Message interface -PAPER DEVELOPMENT OF MOBILE EDUCATIONAL SERVICES APPLICATION TO IMPROVE EDUCATIONAL OUTCOMES USING… (an instructor can receive and read text messages from students, instructors, or admin); and the Timetable interface -( using this interface an instructor can view the time table). Figure 7, shows the snapshot of the class instructor: The Student GUI includes: Student Registration, Login, Student Program interface -(student can use this interface to view all the offered programs and then can select one of them); Student Information interface -(student can use this interface to edit, add, delete, or update his info including the password, and courses information); Send Student Message interface -(student can use this interface to send text message to an instructor, student, or admin): Read Student Message interface -(student can use this interface to send text messages, read messages received from instructors, students, or admin); and Timetable Interface -( using this interface student can view the time table). Figure 8, shows the snapshot of the class students:

D. Android GUI implementation
Among the devices offered on the market, we use a Tablet to implement the Mobile Educational Services Application system. Tablets are considered the most appropriate as they possess hardware capabilities close to those of a laptop but have a smaller size. Tablets possess unique capabilities and functions [9, 10]: • Operating system (e.g., Windows 7, Android, or iOS) • Improved Internet connectivity via different wireless technologies and by using various communication protocols • Supports text, video, and audio files with various extensions (e.g., for video files: avi, mp4, mkv, mov, flv and for audio files: mp3, wma, wav, ape, ogg, glac, aac) • Availability of camera, internal flash storage, or micro Secure Digital High Capacity (SDHC) card slot • Easy screen navigation-better accessible than laptops, especially in crowded places Tablets give students the opportunity to work in larger groups. These mobile devices help maintain an uninterrupted dialogue within the group, sharing and transferring resources. Every student is able to test his/her hypotheses and ideas and then share the results with the rest of the group. The advantage of this technology is the ability to constantly exchange information between students even while they are working on a specific task [9][10][11][12].
The Mobile GUI includes: Instructor app to send and receive text messages to/from students, instructors, or admin. The app provide the users with "New Messages" interface (this interface displays the "unread" messages to the users) and Open Messages (notifications) interface -(helps the user to see new notifications and to show new messages). Figure 9, shows the Mobile GUI of the Mobile Educational Services Application.

VI. CONCLUSION
By providing educational services using wireless and mobile technologies, educational institutions can potentially bring great convenience to those off-campus students who do not always have time to find Internet enabled computers to get important educational information from their academic institutions. With the M-educational services apps, students and instructors can access services any time and any place they want. The paper has introduced the development of the Mobile Educational Services Application (MES app) for the Android platform.
This app allows access to university services, as well as announcements, registration, events, book consultation, and schedules, among others. The project provides Mobile and Web-based app tools that allows online access for different users. The app provides a user friendly, generic, web-based GUI to request educational services such as SMS text messaging, course drop/add/defer queries, and etc. The app provides instructors with an app tool to send/receive SMS text messages to/from students using a mobile device or using a web-based interface of the app. The app provides administrators with online tools to manage, add, update, and delete system information. The main objective of the project has been the use of Android technology for providing an app tool for mobile devices, for the use of students, instructors, and administrators in accessing educational services.