## 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:
- a clear user interface for selecting pages for offline editing and publishing them on completion, with conflict resolution
- 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.