Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Mobile @ edX

Mobile @ edX

A technical engineering presentation on mobile development at edX, with challenges, solutions, and open questions in bringing a legacy, open source, monolithic server app into the mobile landscape.

Avatar for Nimisha Asthagiri

Nimisha Asthagiri

November 20, 2015
Tweet

More Decks by Nimisha Asthagiri

Other Decks in Technology

Transcript

  1. Outline - What is edX - Challenges + Solutions -

    Where we are today - Where we’re going
  2. Outline - What is edX - Challenges + Solutions -

    Where we are today - Where we’re going
  3. What is edX? • A non-profit venture • A web

    site: edx.org • A platform: Open edX
  4. edX goals • Expand access to quality education ◦ Goal:

    1 billion students! • Improve on-campus education ◦ 80 members so far • Advance research in online learning ◦ How can we make MOOCs better and better?
  5. Quick history • November 2011: dev started • March 2012:

    first MOOC • January 2013: 20 MOOCs, 500k students • March 2014: 160 MOOCs, 2.3M students • Sept 2015: 500 MOOCs, 5M students
  6. Open edX an open source platform for teaching and learning

    to foster innovation in education What is edX?
  7. Outline - What is edX - Challenges + Solutions -

    Where we are today - Where we’re going
  8. Fundamental Shift - edX was a desktop website - Content

    from course staff on desktops - For students on desktops - Building things for desktops - Had a major investment in desktops
  9. Where to start? - What features? - Videos, Course Content,

    Social? - For students, researchers, professors? - How to build? - APIs, Infrastructure, Open Source - Who should build? - Resourcing, growing and training a team - How to migrate content?
  10. Baby Steps - Users: Focus on Students - Content: Start

    with Videos - Engineering: Basic APIs, Responsive - Resources: 1 developer & outsource - Migrate: Video Pipeline
  11. Challenges + Solutions - Designing Mobile - Engineering Mobile -

    Open Source Apps - Creating Content - Building a Team
  12. Challenges + Solutions - Designing Mobile - Engineering Mobile -

    Open Source Apps - Creating Content - Building a Team
  13. Sweating the Small Stuff - Social Sharing - Wants different

    credentials - Doesn’t want to use popups windows
  14. Sweating the Small Stuff - Social Sharing - Wants different

    credentials - Doesn’t want to use popups windows
  15. - Course Discussion Posts - HTML content - Weird formatting

    - Large Inline Images - Do we: - Have all content - but have it be awkward - Introduce a new future compatible format - Support reduced experience - just text Sweating the Small Stuff
  16. Mobile is Global - Developing world is more mobile -

    Different user base - Older devices - Unreliable connections - Different educational goals
  17. Localization is hard - Lots of rules - Has to

    be maintained - Developers have to be educated
  18. Challenges + Solutions - Designing Mobile - Engineering Mobile -

    Open Source Apps - Creating Content - Building a Team
  19. Building APIs - API conventions and standards - Generic or

    mobile-specific? - Guidelines/process for extending - Guidelines for deprecation - Dogfooding - Documenting PATCH
  20. Course Blocks - Examples: - Basic assessments: checkbox, multiple choice

    - Drag and Drop - Interactive Circuit Simulators - Submitting Essays - Submitting Code Snippets
  21. Course Blocks Framework - Platform extension point - Runtime abstracts

    storage, i18n - Python backend - HTML + CSS + JS frontend - XML serialization (OLX)
  22. Course Blocks on Mobile - Initial approach - HTML in

    webview - Tag as responsive - Native support - “Learn once, write anywhere” - Model versioning - Export as JSON
  23. Platform Differences - UX - Logout experience - Back button

    - Touch and gestures - Push notifications - Swiping - Software upgrade experience - App submission process
  24. No Infrastructure - Web has an automation team - Web

    has three years of infrastructure - Unfortunately, can’t share much
  25. Incremental everywhere - Some webviews up front - Course discovery

    - Embed course content - HTML blocks - Problem blocks - Native later where appropriate
  26. Challenges + Solutions - Designing Mobile - Engineering Mobile -

    Open Source Apps - Creating Content - Building a Team
  27. Broad Community - No idea who these people are -

    We hear about their problems - GitHub Issues - Mailing list - But if things are working…? - open edX conference (once a year!)
  28. - Always need to consider: - Extensibility - Long Term

    Support - Deprecation - Across unknown configurations Support Broad Community
  29. Community - Lots of work - Amazing Pay Off -

    Best way to reach a billion people
  30. Challenges + Solutions - Designing Mobile - Engineering Mobile -

    Open Source Apps - Creating Content - Building a Team
  31. Course Authoring - Content designed for desktop experience - A

    lot of information → Focused content - All at once → Bite-sized content - Large Images → Responsive views - YouTube videos → Video pipeline - Large screen real estate → Singular small pages - Small drop targets → Touch targets
  32. Challenges + Solutions - Designing Mobile - Engineering Mobile -

    Open Source Apps - Creating Content - Building a Team
  33. Outline - What is edX - Challenges + Solutions -

    Where we are today - Where we’re going
  34. Mobile vs Web Usage - On Mobile - 40-60% of

    new visits to edx.org - 36% of registration - 25% of enrollment - 20% of learner usage - 90-95% of traffic for SaudiX
  35. Outline - What is edX - Challenges + Solutions -

    Where we are today - Where we’re going
  36. Push Notifications - Starting with New Course Announcements - Expecting

    to roll out more over time - Important long term
  37. Native Course Discovery - Sorry, no screenshots - Goes through

    edx.org custom website - Want open source implementation - Foundation for future work
  38. Badging (Achievements) - Awards for things like: - Completing Courses

    - Discussion activity - Extensible (of course!)
  39. Infrastructure - Access - Offline support - Audio only mode

    - Latency & bandwidth optimization - xBlocks - React Native? - A/B Testing
  40. Features - Social - Teams - Geospatial discovery - Classrooms

    - Suite of apps - Analytics - Authoring