Thanks for chipping in in defence of my design decisions Gordon!
I hope that Martin Langhoff and Martin Dougiamas read this thread as well as they seemed doubtful of my design decision and I do think the decision was the best for this project. It is possible that I've missed something in my planning and I'd be very interested if someone could point this out to me.
- Older phones choke on a page including images which is more than 2Kbytes!
- The screen is smaller and so we really need the ability to completely rework the user interface.
We did get cookieless session support included in the main Moodle distribution thanks to Martin Dougiamas's interest in this. Still the code needed to output pages for a Japanese mobile phone involved significantly reworking the Moodle code. About the only thing we are doing exactly the same with the Moodle for Mobiles code is storing stuff in the db in the same way, in the same db tables.
There were two other options that I saw :
- to make massive changes to the Moodle core code put a lot of if switches and so on in the main Moodle code.
- or to filter the output of Moodle to control as much as possible
the output of Moodle by making changes in CFG settings and then
stripping out unwanted tags and manipulating the xhtml output to output
it in a form suitable for mobile phones.
My plans to track changes in Moodle code
The structure of the code for the Moodle for Mobiles project is very similar to the structure of the code of Moodle itself. What I plan to do is to track the Moodle code in CVS and release a version of the code that will work with the stable version of Moodle 1.6 when it is released. Barring any major changes in Moodle 1.6 stable after it is released then the code should work well besides 1.6 for 1.6s life time.
If there are changes that break the Moodle for Mobile code then I will update the Moodle for Mobile code. There will need to be updates of the code for at least for every major release of Moodle. I think it makes sense that I track the changes in Moodle and merge them into the Moodle for Mobiles code or make the appropriate changes in the Moodle for Mobiles code and that this will not be that difficult to do.