Development of an Android application for Campus.
The ECE Campus system allows students to retrieve courses, hand-in, grades, attendance and other kind of information through a web interface. This system is composed by an open-source education-targeted application, Moodle, which handles the course related activities, and several internally developed web applications, WebApps, which display the administrative information, such as grades, attendance, and student information.
Campus is not optimized for small screens, slow networks, or mobile browsers. Using Campus in a mobile environment can result in compatibility issues, so most of the students prefer to consult it on a computer. Allowing the access to the most useful Campus information from a smartphone would be a great improvement in the student’s life, this is why the Campus application project, MyEceParis, tries to address these problems by proposing an Android application for Campus.
The process of conceiving such mobile application for Campus included several major steps to be completed. Determining the necessary information for a student, studying the existing solution, thinking about the innovation this project could bring were a first base. The choice of Android over IOS or WP8 had to be made.
The study of the Campus system, and its underlying technologies (Moodle/Webapps/CAS) lead to identifying constraints to work with. A deep search into Moodle architecture through its online documentation, as well as the mobile application projects already started was completed. The Central Authentication Service (CAS), an open-source authentication server is used at the ECE, had to be included in the project in order for the application to respect the ECE security policy. WebApps and Moodle had to be simulated, as the access is restricted. These steps helped to build the overall solution architecture.
As a result of this project is a proof of concept of the Campus application (MyEceParis), including an Android application as well as a server meant to be plugged behind the CAS. The Android application has been implemented, allowing through a lightweight, smartphone adapted navigation the display of selected Campus information, including grades, attendance, courses, student information, and maps of the course sites. Moreover, it is able to receive PUSH message, and to display notifications about new grades, new absence, or a message from a teacher, and also implements CAS login and logout, as the ECE security policy requires.
To be able to send PUSH messages to a mobile user, the Google Cloud Messaging (GCM) API was used. A GCM module in the MyEceParis server sends instructions to the GCM servers which will push them on the Android smartphone.
Also, to trigger the PUSH other than a teacher’s message, a synchronization module is present on the server. This synchronization module detects the changes in Moodle and WebApps databases, and triggers pushes to the users concerned by any modification through the GCM module.
To send data to the Application, a communication module has been developed. When the mbile application receives a push indicating new data, it requests it to this module, which sends back a JSON file with the required information through https.
This project lead to a proof of concept of a Campus smartphone application, with its associated server, using technologies such as GCM, Moodle, CAS, JSON, Android. Further wok could be made on server synchronization, Moodle integration (plugin), integration.