Mobile OpenTeacher

Registered by Marten de Vries

A mobile version of OpenTeacher.

Blueprint information

Status:
Started
Approver:
None
Priority:
High
Drafter:
None
Direction:
Approved
Assignee:
OpenTeacher Maintainers
Definition:
Approved
Series goal:
Accepted for 3.x
Implementation:
Good progress
Milestone target:
milestone icon 3.3-mobile
Started by
Marten de Vries

Related branches

Sprints

Whiteboard

~ODS-3x-discussion: Nice future idea! (combine (partly) with: https://blueprints.launchpad.net/openteacher/+spec/web-openteacher ?)

~marten-de-vries: Started now, using jQuery Mobile. The plan is to build the result with PhoneGap, maybe we could even use the build service they're offering since that's free for open source projects, and seems to work pretty easy (just pushing to a github branch). The application isn't coded directly, it's generated from a few templates and some module data by a python OT module (org/openteacher/mobileGenerator).

~marten-de-vries: https://github.com/commandoline/openteacher-mobile keeps the generated source so PhoneGap Build can pull from there. I already did a first build (https://build.phonegap.com/apps/226062/share), but after testing for android by Milan and me we found a few bugs:
- icon is wrong (but the icon isn't included by mobileGenerator.py, that might fix it)
- flickering. http://outof.me/fixing-flickers-jumps-of-jquery-mobile-transitions-in-phonegap-apps/ might work
- the app doesn't respond when the device is turned, especially annoying when going from landscape to portrait. Try reacting to the orientationchange event. Also, I saw a suggestion online this was related to the fixed headers and footers.
- Themes based on OS:
-- https://github.com/jjoe64/jquery-mobile-android-theme
-- https://github.com/sgrebnov/jqmobile-metro-theme
-- https://github.com/taitems/iOS-Inspired-jQuery-Mobile-Theme
-- https://github.com/blackberry/jQueryMobile-BB10-Theme
-- fallback: default jqm theme.

~marten-de-vries: the one remaining thing (syncing with OT web) should be pretty easy. Just replacing localStorage operations with their pouchdb equivalents and add syncing (mostly logging in i.e.)

UPDATE: port to react-native or the like?

(?)

Work Items

Work items:
- Convert shared code from Python into JavaScript, re-using the test suite via QtScript: DONE
- Make a user interface with jQuery Mobile: DONE
- Write the glue code: DONE
- Writing the code to make it a valid PhoneGap app: DONE
- In mind teach type: DONE
- Synchronising lists with OpenTeacher Web: TODO
- Packaging (via PhoneGap Build): DONE

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.