This Is the Title
Total Page:16
File Type:pdf, Size:1020Kb
Master’s Thesis LUVIT for mobile platforms By Anders Forslund and Christian Veinfors Department of Electrical and Information Technology Faculty of Engineering, LTH, Lund University SE-221 00 Lund, Sweden Abstract Luvit is a web based learning management system used by about one hundred companies, authorities, organizations and universities in seven different countries. The purpose of this project was to examine and develop a solution that worked well on mobile devices such as mobile phones and tablets. The first part of this thesis investigates what kind of solution is best suited for Luvit. A mobile web based one that works on several platforms or an application that is developed in the native language of the device. The main reason for choosing a web solution is that it is easy to maintain since there is only one single application. The main advantages of native solutions are their superior performance and that they have access to more hardware functionality. Different web based solutions were tested and compared against each other. With the help of developing prototypes the choice was made to develop Luvit Mobile using the JavaScript frameworks Sencha Touch and PhoneGap. In the second part of the thesis the application was developed using these frameworks. Sencha Touch was used to build the application so that it looked like a native one. PhoneGap was used to wrap the application and compile/deploy it on different platforms such as Android and iOS. This makes it feel like a real application and not a web based one. 2 Acknowledgments This Master’s thesis would not exist without the support and guidance of Rickard Nygren, CEO at Grade, and our supervisor Christian Nyberg, associate professor at LTH. We would also like to thank Stefan Larsson and Anna Johansson at Grade for their help. 3 Table of Contents ABSTRACT ....................................................................................................................... 2 ACKNOWLEDGMENTS ..................................................................................................... 3 TABLE OF CONTENTS ...................................................................................................... 4 1 INTRODUCTION ....................................................................................................... 6 2 ABOUT GRADE AND LUVIT ....................................................................................... 8 2.1 PARTS OF LUVIT .......................................................................................................... 8 2.2 UNDER THE HOOD ....................................................................................................... 9 3 INTRODUCTION OF THE FRAMEWORKS ................................................................. 11 3.1 WHY WEB BASED MOBILE APPLICATIONS ........................................................................ 11 3.2 SENCHA TOUCH ........................................................................................................ 12 3.3 JQUERY MOBILE ....................................................................................................... 13 3.4 TITANIUM MOBILE .................................................................................................... 14 3.5 PHONEGAP .............................................................................................................. 14 4 COMPARISON OF THE FRAMEWORKS .................................................................... 16 4.1 INTERCHANGE OF DATA .............................................................................................. 16 4.2 SENCHA TOUCH ........................................................................................................ 19 4.2.1 Getting started ............................................................................................. 19 4.2.2 Developing the prototype ............................................................................. 20 4.2.3 Performance and appearance ...................................................................... 23 4.2.4 Functionality ................................................................................................. 25 4.2.5 Developing in the framework ....................................................................... 26 4.3 JQUERY MOBILE ....................................................................................................... 27 4.3.1 Getting started ............................................................................................. 28 4.3.2 Developing the prototype ............................................................................. 29 4.3.3 Performance and appearance ...................................................................... 31 4.3.4 Functionality ................................................................................................. 32 4.3.5 Developing in the framework ....................................................................... 33 4.4 TITANIUM MOBILE .................................................................................................... 33 4.4.1 Getting started ............................................................................................. 34 4.4.2 Performance ................................................................................................. 34 4.4.3 Difficulties ..................................................................................................... 34 4.5 PHONEGAP .............................................................................................................. 35 4.5.1 Getting started ............................................................................................. 35 4.5.2 Developing the prototype ............................................................................. 35 4.6 CONCLUSIONS .......................................................................................................... 37 4.6.1 Performance ................................................................................................. 37 4.6.2 Functionality ................................................................................................. 37 4.6.3 Final decision ................................................................................................ 38 4 4.6.4 Tools ............................................................................................................. 38 5 REQUIREMENTS SPECIFICATION ............................................................................ 40 6 RESULTS ................................................................................................................. 42 6.1 APPLICATION STRUCTURE OF THE FRONT-END ................................................................. 42 6.2 THE BACK-END .......................................................................................................... 44 6.3 ENCOUNTERED PROBLEMS .......................................................................................... 46 6.3.1 Downloading on Android .............................................................................. 46 6.3.2 Embedding files in Sencha Touch .................................................................. 47 6.4 PERFORMANCE ......................................................................................................... 48 6.5 FINAL RESULT ........................................................................................................... 50 7 CONCLUSIONS........................................................................................................ 51 7.1 DISCUSSION ............................................................................................................. 51 7.1.1 Native versus web based .............................................................................. 52 7.2 FUTURE WORK .......................................................................................................... 53 REFERENCES ................................................................................................................. 54 LIST OF ACRONYMS ...................................................................................................... 56 5 CHAPTER 1 1 Introduction In 1997 a learning management system called Luvit [1] was created. It is today used by approximately one hundred companies, authorities, organizations and universities in seven different countries. Luvit was a result of a project initiated by system developers and teachers at Lund University because they needed a tool for distance learning [3]. In 1998 the company Luvit AB was started. Three years earlier, in 1995, the company Grade was started [2]. They worked mainly with a course development tool called Composer and a small learning management system called Maestro. Luvit AB and Grade merged in 2008 and became just Grade. They scrapped Maestro and decided to concentrate only on the Luvit Learning Management System (LMS). Grade is today a subsidiary of the company Avensia Innovation and has offices in Lund and Stockholm. There are several competing LMS to Luvit, for instance PingPong, E-gate and It’s Learning. The latter one is the only one that offers mobile solution. It has limited functionality and lacks more advanced features. The use of modern mobile devices, such as smart phones and tablet computers has increased significantly in the recent years. Consequently, the demand for mobile friendly web applications has grown larger. With bigger displays, better hardware