MC Squared Widgets talk to each other!

At the beginning of the MC Squared project there were several independent software systems from development teams coming from various European countries - with a common vision of a c-book-environment enabling authors to create creative e-books with lots of interactivity easily.

 During the first year of the project, all these diverse systems were integrated into the back-end-system, so that various quite diverse widgets could then be used within a single c-book, even within a single c-book page.

But while the communities of interested were designing creative books (c-books), they realised that, from time to time, the available flexibility within the authoring environment “C-Book Author" was still too limited:
In the M C Squared project, almost any software feature needed for the teaching of mathematics at school level was available, but sometimes it was still not sufficient. So, some huge widgets with lots of features had to be developed by the development teams in order to fulfil the needs of the authors.
Cdy Ordinary versus Log Scale

Then, during one of the MC Squared team meetings, a completely new idea popped up which the team called “cross-widget-communication”, or “x-widget-com” for short.

The idea behind X-Widget-Com

For the creative process of the design of c-books the new idea of communication between widgets lifts the options offered by the c-book-environment to a new dimension. The idea is the following:

If one widget does not support some feature, but another widget does, then the first widget can simply talk to the second and ask it to do part of the job.

How it works in Practice: an Example

Without x-widget-com:
The EpsilonWriter widget is a wonderful tool allowing students to manipulate algebraic expressions interactively within c-books. Often it is useful not only to work in the abstract world of algebra, but to see some related graphics, but EpsilonWriter does not provide such visualzations.

The French group of c-book-authors wanted to allow the student to manipulate some equation of a function using EpsilonWriter, and then to visualize its graph. The only solution without x-widget-com was:
The authors had to ask the EpsilonWriter developer team if it could - please, please, please (!) - implement a function grapher tool in their software; a huge amount of work for which the developer team did not have enough time, of course.

And even if authors are able to convince developers to implement new features in this way then it will take a lot of time and it will prevent the c-book-authors for a long time from continuing their creative work.

With x-widget-com:
With x-widget-communication, however, the above situation was easy to solve:
EpsilonWriter simply implemented a “send function in x" feature so that it was able to send an equation of a function to other widgets (which was not much work).
Cinderella, on the other hand, implemented a “receive function in x” feature, and then used its built-in grapher tool to visualize the graph of the function sent from the EpsilonWriter widget via x-widget-com to the Cinderella widget.
All this was possible in very short time, so that the creative process of designing a good c-book did not have to be interrupted.

2015 ICME Locus screenshot x widget with correct graph

The Future of this new Feature

Although x-widget-com is still in its infancy within the project, it already proved to be an extremely powerful tool allowing for creative processes of c-book development which would never have been possible without this idea of communication between widgets.
The whole M C Squared team is looking forward to seeing all the innovative kinds of c-books which may be created using this new feature.

Latest Tweets

  • Come at C452 @Bett_show. Learn about our research, the EdTech & Digital Media MAs, our MAGICAL projects and the EdTech Hub EDUCATE Come at C452@Bett_show. Learn about our research, the EdTech & Digital Media MAs, our MAGICAL projects and the EdTech Hub EDUCATE#Bett2017

  • „Math to Touch“ von science-to-touch jetzt im App Store@MC2Project built with CindyJS