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
- Programmers write their components in whatever language they want
- 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
- Like Open Badges
- https://www.coursera.org
- http://www.open.edu.au
- 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
- Separation of concerns
- MVC?
- HMVC?
- Symfony
- Composed of battle tested components: http://symfony.com/components
- Routing
- HttpFoundation
- HttpKernel
- Makes it easier to test (easier to fake responses)
- dependency handling
- dispatching
- Moodlerooms has a nice documentation of the importance of framework adoption
- Can be integrated into Moodle piecemeal, maybe...
- Presentation layer
- template engine
- Single plugin (like Drupal)
- flexpage example (right now two blocks and a format, nice to have it as one)
- easier for developers to not have to think what “type” of plugin they need to make
- 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.)