iTEC pilots are now commencing in schools around Europe. Our tool TeamUp is used in many of the pilots, and we have already received much valuable feedback in form of bug reports and feature requests. For a developer, the bug reports are the most disliked, but also the most prominent and important part of the feedback, and often the issues are so serious that they require immediate fixes.
One of the lasting source of problems in TeamUp has been when the TeamUp-widget (javascript) launches the team’s Note Recorder (Flash) which in turns saves recordings to the server (PHP). Taking photos of the learners also uses the same chain of components. These three parts have to communicate with each others, and problems surface because the javascript and flash -parts can run in many different browsers and operating systems with small but infuriating differences.
Today, after several tries and smaller fixes, we fixed the major source of the problems and I think that we finally have a solid communication between the flash parts and the actual widget. The problem was that some browsers tend to remove flash videos when they are hidden from the page and reinitialize them when they are displayed, and my mistake was to rely on that behavior. When the recordings were made, the information about who is making the recording and where it should be saved was put into flash object’s initialization arguments.
It seems that for some systems hiding flash objects means just hiding them and then revealing the same object. When the system behaves like this, it won’t re-initialize the recorder and read new arguments when we switch the active team or learner, and it will keep making new recordings with the same old arguments, in effect overwriting previous recordings. This is now replaced with a system where the arguments for who is recording and where are explicitly created, sent and read only when the learner clicks the button to save the photo or save the note.
Then there were of course other communication problems that tend to occur when many different systems talk to each other. One system wants to replace spaces with %20 when forwarding class names, the other has serious problems with ‘/’-character and all should be able to handle accented characters and different writing systems. Orchestrating these normalizations to work in same way in all parts is error prone, but those cases have been solved one by one.
During the last two months there have been exactly 101 changes (commits) in TeamUp, tuning features, fixing bugs and adding translations. The pilot testing is now happening in teacher workshops and in actual classrooms and the following graph from our log system can help to give an impression of what kind of activity there has been this week.
Each pixel is one action. Green dots are people entering classes, pink dots are people creating classrooms, brown dots are failed attempts to enter class (wrong name for the class), yellow dots are people taking photos and cyan dots are teams making records. During the days teacher workshops and classroom activity is visible in bursts, and later in the evening there are tests related to bug fixes.