Yes David, I agree with you, for that reason we have changed our current approach of how to implement WS/new features for the app:
Here you have the rationale:
The current Mobile app is just a Web Services client/consumer that depends on the web service functions available in the remote Moodle
Old Moodle versions only provides a very basic functionality, modern versions like 2.7 provides new webservices for Push notifications, grades, forums, assignments, etc...
This causes some problems:
- Administrator need to have their Moodle installation upgraded to the last stable version in order to allow users to benefit of all the app features (I.e: calendar events are only displayed for sites Moodle 2.6 and above, Push notifications require 2.6 at least)
- We have to create new webservices in the core and wait to be integrated in major releases, or minor releases (but just in current stable) This makes the development process slow
- The app seems to be very simple and limited for most users in a first look (in older Moodle versions).
Create a new add-one (local_mobile) that provides additional features for Moodle version starting 2.4.
This new add-one will have functions backported from 2.7 to 2.4, 2.5, 2.6 etc...
The add-one will be available for download in the moodle.org/Plugins directory, once installed in a Moodle site it will create automatically a new service mobile_app_ext with all the current and new functions
The benefits will be:
- If you install the plugin in a 2.4 version, it will provide all the missing functionality available in 2.7, so the users of the Mobile app will be able to use all the functionalities available in the app.
- We can easily add new functions in that add-one without having to wait for major releases or minor current stable releases
- Contributors can create new webservices to be integrated in this add-one
- For administrators it's easier to update plugins instead the whole Moodle site
- We can use that plugin for adding additional functionalities, like the CAS/Shibboleth support
The only disadvantage of this approach is that it will require to install an add-one to your Moodle site, but the benefits are huge. Notice that if you don't install the plugin the Mobile app will still work but with limited functionalities