Felipe Lopez Toledo "SubZero" is creating a prototype for Karma as a Google Summer of Code project. Bryan Berry is serving as his mentor.
- Create a single prototype activity which could be used as a template for sugarizing AJAX activities. The GSoC participant should not create her own activity but recreate an existing activity such as one of OLE Nepal's flash activities.
- This prototype should have the following features:
- Simple interactive animation and audio using html5 tags like <canvas> and <audio>
- An assessment section that stores results of student's progress and gives them suggestions on improvement. Assessment info should be persistent.
- Has embedded pdf or pdf like document reader for activity lesson plan and teacher notes.
- Integrates with the Journal
- Navigation and Help elements, ideally reusing widgets from jQuery
- ToDo* need to update this
Karma will work with basic functionality on any W3C standards-compliant browser. This notably excludes Microsoft's Internet Explorer. Karma will be particularly tailored to work within Sugar's Browse activity. Longer-term we hope to extend Karma to take advantage of Sugar's collaboration features.
jQuery currently lacks full animation support but there are a number of other projects underway to create that functionality. For this reason, Karma will extend jQuery when we need to add new animation functionality rather than creating independent libraries. This should ease collaboration with others working on animation support for jQuery and ease possible integration/merging later.
Possible Underlying Components:
- Google Gear's Filesystem API because it seems to have the most traction in the linux world
- Some mechanism to support dbus events
- Anatomy of a Karma Lesson
- Source Code stored in http://git.sugarlabs.org/projects/karma
- Project Documentation kept in the SugarLabs wiki
- Code naming conventions ?
- file naming conventions ?
- Regular meeting between Felpe and Bryan every Tuesday 0200 UTC at #sugar on irc.freenode.net
- General GSOC meeting for participants from Sugar every Tuesday 1400 UTC #sugar-meeting
Before GSoc - June 1:
- get familiar with Sugar
- get familiar with html5
- Felipe to acquire XO
- select the appropriate js framework -- jQuery
June 2 - June 12:
- “Karming” the "Quadrilaterals" activity using a non-elegant approach
- Post blog entry detailing challenges encountered and ideas on how to simplify the animation methods
- Post message to jquery-en and jquery-dev mailing lists asking for feedback
June 13 - July 12:
- Developing the first Karma widget (easy animation tool, boost animation tool from the selected js framework)
- Getting familiar with Sugar/Browse code
- Providing Karma + audio
- Providing Karma + client-side i18n
- Developing an activity template for Karma
- Changing the original activity to include above features
July 13: Publish blog post that showcases updated activity. Explain problems encountered, what works, what still doesn’t.
July 15 - July 25:
- Fixing bugs
- Work on gears+karma support
July 26 - July 31:
- Documenting examples
- Improving documentation
August 1 - August 9: time for any eventual emergencies
- It could be very difficult to interface titanium with telepathy. Risk Level: High