wiki:ProjectIdeas

## page was renamed from SummerOfCode?

Project Ideas

Looking to get your feet wet with contributing to the eXe project? Here are some project ideas, some of which are small and relatively independent of the rest of the code base. If you would like to contribute, please start with our [:Developers: Developer Resources]. There you will find information about the existing team, tools and technologies we use, and notes about things like coding standards. Stop by IRC (irc.freenode.net, #exe channel) and chat with the developers. [:BuildingFromSource:Pull down the source code] and start exploring. Talk to the community and find out where they would like help.

Content Packaging
eXe currently supports exporting in IMS Content Package and SCORM 1.2 formats. Recent versions contain a prototype of Common Cartridge export. We see the Common Cartridge as an important emerging standard for the interoperability of learning resources. Many projects touch on in it in one or more ways:
  • improve metadata capture to facilitate indexing and access in repositories
  • allow metadata to be recorded for individual nodes, and resources within a node
  • allow import and editing of existing cartridges
  • allow embedding other packaged resources (SCORM packages, etc.) within a cartridge
  • generalize existing quiz functionality so that it works across export types (QTI)
Wiki integration
Provide integration with wikis (especially MediaWiki, e.g. http://wikieducator.org/) for offline content editing. There are two key aspects to this work:
  1. a clear user interface for selecting pages for offline editing and publishing them on completion, with conflict resolution
  2. being able to isolate iDevices within a wiki page, so that iDevice templates in WikiEducator (see: http://www.wikieducator.org/All_iDevices) can be edited inside eXe as iDevices and visa-versa: iDevices used in eXe are displayed with the appropriate wiki template markup in WikiEducator.
Publishing
Provide FTP/WebDAV one-click publishing.
Metadata
Improve package metadata options, including customizable subsets of standard schema and support for defined vocabularies (VDEX).
File format
Change the native file format to XML using an established schema, ideally either a content package or content cartridge, or a SCORM package (see above).
PyXPCOM or PyDOM
Demonstrate how PyXPCOM or PyDOM can be used to improve performance and security by replacing parts of the interprocess communications with direct Python manipulation of editor objects.
User Interface
Enhance the eXe user interface, for example add drag-and-drop functionality to both the course hierarchy and the content authoring panes. Or make better use of AJAX or COMET techniques to improve the user interface, allowing drag-and-drop image and media placement.
Multimedia
Make it easier to control embedded multimedia types. Investigate collaborative video editing such as Kaltura.
Translation
Add the ability to translate Javascript/XUL-based messages.
Spelling
Take advantage of either Firefox or system spelling dictionaries.
Updates
Add the ability to check for updates, and download install (incremental) updates.
OLPC
We have demonstrated that eXe can be built and used on the OLPC/XO. Take this demonstration to the next level by packaging it as an Activity and tailoring it for the resource-constrained laptop.
OLPC Export
Add the ability to export resources in OLPC Library format.
Packaging
Producing packages for popular Linux (and BSD?) distributions. This requires solving technical problems with eXe's dependencies as well as automating the production process. Move the Windows installer from NSI to MSI to accommodate institutional deployments. Change the Ready-to-Run to a single binary rather than its current explode-and-run scheme.
Collaboration
Extend the eXe client-server architecture to allow multiple teachers to simultaneously author a shared document. Investigate using Google Gears to make the environment move smoothly between connected and disconnected states.
LAMS
Connect the eXe community with the learning design community by providing a useful interface for offline editing of LAMS activities.
Customization
Improve the institutional use of eXe by facilitating sharing custom iDevices and styles within an organization.
Import
Implement the ability to import Open Office (and Microsoft Office?) documents within a resource, and allow editing and structuring them in a way consistent with eXe's pedagogical goals.
Documentation and Demonstration
Work to improve the documentation, best practice guides, and screencasts and HowTos for eXe users in your native language.