This is a beginner textbook on astronomy. It is first and foremost a book, never betraying the familiarity of text.

The highlights are the sketch-like sun animation, and a 3-D rotating globe with an observer figure on it in various observation points.

The dead-tree analogy might be popups, but with those, the entire physical structure of the book is cutout and the text is not “normal”. Here the text is perfectly normal, but what would be static illustrations are interactive, almost magically. The critical point is that the interactivity is not “overdone”. What would be illustrations, are interactive animations, but still embedded conservatively a standard print textbook layout. They are not overbearing, but totally complimentary, and that is the real achievement.

This type of thing really could only be implemented in virtual text, and currently only HTML5 at that.

Like a carved wooden toy, this app represents handmade craftsmanship with character, the gorgeous illustrations and charming animations in particular. The sprites move as if an actual human hand is behind them. They are the moving analogy of hand-drawn artwork.

All this without interfering with the normal text experience. The interactive parts are embedded in a printed book, rather than text appearing in a whole-screen animation, and this distinction cannot be overstated: It feels like a traditional book with magical illustrations, instead of a cartoon with text.

There is no question something like this is the future of children’s books.

–

The original demo apps for AppOpus were pure text, ripped straight from pdf. These are much closer to the original vision. Hopefully they can get the popularity deserving of their work, they could change the face of education.

This functionality is API-only and meant for advanced users with Javascript understanding.

We currently do not have a GUI-based “player”, although anyone with enough time should be able to implement one.

The AOSound object is automatically loaded into your page, so all you have to do is call these functions (from your HTML page):

AOSound.load("your_sub_folder/your_file_name.mp3"); // should be called on window.onload
AOSound.play(); // plays the loaded file
AOSound.pause(); // pause, ready to resume on AOSound.play()
AOSound.stop(); // stop, permanantly
AOSound.dur(); // length in milliseconds
AOSound.pos(); // current position in milliseconds
AOSound.playing(); // is AOSound playing a file?
AOSound.seek(your_time_in_milliseconds); // seeks through the loaded file to the specified time