Marcus Green adapting Moodle plugins for the Mobile App
1. MoodleMoot UK & Ireland 2017 - London 10th - 12th April
Adapt plugins for the App
Presented by Marcus Green
Analyst Developer
2. #MootIEUK17 | @mootieuk
Adapting plugins for the App
This is not about mobile web browsers
But the Mobile App
That you install from
Google Play
Or
The Apple App Store
3. #MootIEUK17 | @mootieuk
A year ago …..
I advised my (then) employer
Forget the Moodle Mobile App for the moment.
It offers a substandard experience
It will be a support nightmare
4. #MootIEUK17 | @mootieuk
I said you will need to…..
Support random hardware
Open up unfamiliar web services
Fix broken Integrations
(all your SCORM no longer belong to you)
6. #MootIEUK17 | @mootieuk
Sojo University Japan
Elton LaClare contacted me
The was possible funding
To adapt gapfill for the mobile app
I thought perhaps I would investigate
7. #MootIEUK17 | @mootieuk
Now I advise…
The Mobile App is the future
Go Mobile App First
It can be a nice experience
You will not miss “the scroll of death”?
8. #MootIEUK17 | @mootieuk
The Big Picture
Most of the world has poor internet Access
The Mobile App mitigates this
Most of the world will never use a
laptop/desktop
The mobile phone and tablet is the future
9. #MootIEUK17 | @mootieuk
How hard is it?
To Convert a web app to the mobile app?
Question types are surprisingly easy
Under 10 days to a working prototype
10. #MootIEUK17 | @mootieuk
You will need real hardware
An android device
And an iOS device
Some things that work on Android
Don’t on IOS
11. #MootIEUK17 | @mootieuk
Enable Web Services
admin/settings.php?section=webservicesoverview
Then enable mobile app on server
admin/category.php?category=mobileapp
Install Chromium (not Chrome)
Check you can view your site through the app
16. #MootIEUK17 | @mootieuk
My Experience
Added some new classes to my renderer
Learned a small amount about angular
Wrote some standard javascript
17. #MootIEUK17 | @mootieuk
Installing your plugin
Included as a single zip file
When a user attempts to access
The zip is transparently downloaded
18. #MootIEUK17 | @mootieuk
Certificate example
Fully documented example
https://moodle.org/plugins/view.php?plugin=
mod_certificate
Install it and test it to see how it works
19. #MootIEUK17 | @mootieuk
Web Services
You may have to create new ones
Get familiar with curl to test them
Read this
https://docs.moodle.org/dev/Moodle_Mobile
20. For more information contact:
marcus@moodle.com
Gapfill question type updated for Mobile app
With support from Sojo University Japan
http://www.sojo-u.ac.jp/en/
Many thanks to Elton LaClare and Rob Hirschel
Editor's Notes
Mobile development is a complex area. This presentation is about giving you a high level overview.
Moodle has worked well with mobile browsers for a long time, but this is about working with the Moodle mobile App. Something you install from the app store for your device.
I was also concerned about integrations such as plagiarism, single sign on, mahara integration and others.
Most scorm editors output Flash and so will work on almost no mobile devices
My gapfill question type plugin is very popular
I was delighted when Elton contacted me and asked me if I could modify the gapfill to support the mobile app. I had read about it but not done any significant work previously.
Students live on their mobile devices, and this will become even more so in the future
http://www.internetwo
https://www.budde.com.au/Research/2014-Africa-Mobile-Broadband-Marketrldstats.com/stats.htm
In Africa mobile broadband is doubling each year, with three-quarters of all connections to be 3G/4G by 2020
https://docs.moodle.org/32/en/Moodle_Mobile_synchronization
When an activity that can generate offline data is opened in the app, that activity will always be synchronized if the device is connected. For example, when opening a wiki while online, any offline data will be synchronized.
Furthermore, each activity type has an automatic synchronization process that runs regularly, usually every 10 minutes.
Ten days to a working prototype but a total elapsed time before putting into the plugins database of about 6 weeks. But I am a cautious developer.