Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Perth Hackfest October 2012/Blue Sky System

From MoodleDocs
  • How would you build an LMS, again?
    • Biggest mistakes in Moodle
  • If you were to build an LMS for the cloud, what would you do?
    • Programming language, node.js? python?
    • Frameworks
    • policies are a limiting factor in having a single Moodle site (even if it is sharded)
      • Also customisation
  • Support for other educational models
    • Knowledge maps like Khan Academy (non-sequential model), individual learning plans, intelligent support for curricula
    • LMS == supports teachers to teach
  • Activities
    • Basic concept shouldn’t change
  • Basic concept of a “course” should be revisited
    • Shouldn’t be bound to a “classroom”
    • Moodlerooms has explorer, which allows a mashup of LTI activities, tied with outcomes
    • Getting the real world into the online world
  • Value simplicity over complex interfaces ???
    • Customisability / flexibility is a strength in many’s eyes
  • SOA (Service Oriented Architecture)
    • Programmers write their components in whatever language they want
      • Was what Sakai 3 was trying to do, but died
      • Makes it difficult for contributing developers to learn a common framework if there is no commonality
        • lower barrier to entry, and HTTP/REST is standard
        • contrib can just fire up their component and run it against their instance
    • Components can be scaled individually as required
    • Data backends unique to component, communicate over API only
    • With MVC, view or model can be ‘local’ to the userbase
  • Learner focused?
    • Students/learners can carry their past achievements with them
    • They can search for new learning activities at other schools/sites based on their current learning program/degree
      • Like Moodle Hub, but more fleshed out
  • Social networking integration or add like features
  • A new system (Moodle X) which could feed back into “legacy” Moodle
    • Or a system that can feed from a Moodle site and other sources
  • Being an accreditation facilitator / create your own degree
  • Things to start with
    • Choose a brand colour of the project
    • Mobile/responsive interface
    • Cloud hosted
    • LTI focused
    • Design focussed on a strict pattern
      • One plugin type with different abilities
    • No JS fallback
  • Not just educational institution, consider governmental/corporate/etc learning
  • Teachers want to reinvent the wheel
  • School of one: http://schoolofone.org
    • System is focussed on students and their curricular progress individually
  • Google hangout like feature inside course
    • More student/learner interactivity
    • Blackboard Collaborate, BBB, Wimba, Presenter, ... exists
  1. Separation of concerns
    1. MVC?
    2. HMVC?
    3. Symfony
      1. Composed of battle tested components: http://symfony.com/components
      2. Routing
      3. HttpFoundation
      4. HttpKernel
      5. Makes it easier to test (easier to fake responses)
    4. dependency handling
    5. dispatching
    6. Moodlerooms has a nice documentation of the importance of framework adoption
      1. Can be integrated into Moodle piecemeal, maybe...
  2. Presentation layer
    1. template engine
  3. Single plugin (like Drupal)
    1. flexpage example (right now two blocks and a format, nice to have it as one)
    2. easier for developers to not have to think what “type” of plugin they need to make
    3. plugin parent/child hierarchy

Mike’s crazy ideas:

!Moodle components:

Provide pieces that exist alone but communicate with a standard communication API and share common data.

  • Collector (finds all relevant content for user according to their interests and other profile elements)
  • Aggregator (displays all content to the user for the interest / context / moment in time of relevance)
  • Reporter (provides the report layer for stakeholders)
  • Player (displays content in the appropriate way - platform, location, level)
  • Grader (component to assess progress/learning/competency by stakeholders)
  • Collaborater (social network to provide networking, collaborating, etc.)