Software Projects

Here is a list of software work that we need help with:

Virtual Talking Book Device

We would like to implement a virtual device simulator, that behaves
exactly like the physical Talking Book device. This simulator will allow users to
interact with audio applications without needing a physical device. It would
also allow testing of applications from the Authoring Application.

Ideally we would like to achieve an iPhone SDK-similar solution: from
within the Authoring Application the user should be able to select whether
to test content on the virtual device or on the (per USB connected) physical
device.

Contributors to this project should have experience in C programming,
as the device's operating system is written in C. The goal
is to create an interface that can be used to fully control the device, i.e.
playback and recording of sound and navigation. This interface should have
two implementations for the virtual and physical device.

Kiosk Features added to Authoring Application

One of our major open source projects is a Flash-based Authoring
software, which allows a user with a desktop computer and limited
computer skills to create interactive audio applications for the
Talking Book device by recording audio and then using a drag-and-drop
GUI interface to trigger audio events based on key presses.

This desktop software now needs the ability to store, annotate,
search, and browse these interactive audio applications. In addition,
this software needs to be able to deploy the Talking Book application
onto a Talking Book that is connected by USB. Deploying means
inspecting the Talking Book as a mass-storage device and then making
the chosen metadata entries to place the application in the
appropriate part of the system menu.

Talking Book Device low-level code

We are looking for C developers to help us improve our existing
embedded code base that runs the Talking Book device. Some of the
features needed include rewriting the engine that runs the high-level
declarative language mentioned above and adding kiosk-lite features to
the device, so that a community that does not have access to a kiosk
library can use a memory-upgraded Talking Book with upload and
download community content. Developers who work on this device will
be sent PCBs to develop on.

Authoring Application: Component Wiring

The current version of the Authoring Application is not intuitive enough
for users you might have never used a computer before. Technical
concepts like events and actions are familiar to programmers, but might
be hard to learn for others.

The idea is it to change the Authoring Application to have a similar user
interface to e.g. Lego MindStorms or National Instruments LabView.
These offers graphical programming languages, in which you can wire
components together to "program" the flow.

We will offer a library of different components, e.g. a
"Multiple-choice question" component, which has one output connector
per possible answer. This will allow users to reuse existing functionality
in a very intuitive way.

We are looking for contributors to work on this new, intuitive UI in Adobe
Flex.

Building applications for the Talking Book

Our Talking Book Device uses a high-level declarative language to
control what audio is played in response to button presses. We need
developers to use this language to build new, engaging interactive
applications. The Talking Book device could be programmed as a
calculator, dictionary, hyperlinked audio wikipedia, or even a musical
instrument; but we are looking for your ideas too!

Rewriting control language

The high-level declarative language was originally written to support
audio books and their application along side text books. However, the
applications described above push the limit of what this architecture
should handle. We are looking for developers to help us restructure
it into a Turing-complete language.