SynergyMesh

Despite the multi-touch framework SynergyNet still being useful, it is starting to show its age. Its now time for a new framework to take its place which offers the same functionality but uses modern technologies. SynergyMesh is the spiritual successor to the SynergyNet framework. It offers most of the distinguishing features of SynergyNet, such as its multi-touch gesture support and advanced networking, as part of a web-based platform. This allows the framework to be used on a much wider range of devices without any complicated set-up.

SynergyNet has far exceeded its initial expected lifespan in the last few years. Despite the project which created it ending in 2012 the framework has gone on to be used in numerous new projects by different research groups right up to 2018. However, the framework has fallen behind the times. Its cross-platform support is limited to desktop systems (which was the whole target market when the framework was originally built) meaning many of the devices which would make the most of its multi-touch gestures and advanced networking, such as tablets and mobile phones, cannot utilise it. On top of this the set-up of the framework, especially for use across the internet, is quite complicated and a bar to many people using, or developing for, the platform.

The DU-TEL Special Interest Group had planned to utilise SynergyNet in an upcoming series of new research projects but it became apparent that the complications in using the ageing framework would have been prohibitive. Therefore, it was decided that a new framework should be developed which would take advantage of modern technologies.

This new framework was dubbed SynergyMesh and has now been developed to a point where it is usable. It was apparent from the start that the framework should be built on web-technologies allowing for easy access on different devices and across difficult networks. The framework offers the core features of SynergyNet which made it unique, namely its support for passing messages between multiple clients and support of intuitive multi-touch gestures at a fundamental level.

With SynergyMesh being web-based, users do not need to install anything on their device or perform any arduous configuration tasks. As long as the platform is hosted somewhere that is accessible, users can simply visit the appropriate address in a browser and use its apps right away.

The platform is built using TypeScript (a web-language with many similarities to Java; the language used to build SynergyNet) without any complicated frameworks to make development as simple as possible. The intention of this is to make SynergyMesh a good platform for students to develop apps with. SynergyNet’s app, content and utility hierarchies are used as the basis of the architecture of the new platform to keep it as simple, but functional, as possible.

The front-end heavily utilises the D3 library allowing for in-depth manipulation and creation of content in the user’s browser. The back-end us built using NodeJs to host a websocket server which is used to distribute network messages between the clients accordingly.

Currently the framework handles networking through the use of chatroom-like ‘shared sessions’. When starting an app which uses networking the user is prompted to supply a session name (this is stored in the browser allowing for users to quickly rejoin sessions they were previously in). This then allows the user to interact with others who have supplied the same session name. The framework limits the number of users who can join a session based on the app to stop unwanted others from joining.

Though the framework has many of the same core features as the original SynergyNet, the apps are currently limited to those needed for the initial research projects planned. These apps are:

  1. Prototype – A simple app showing off the framework’s multi-touch gestures and supported item types. This is useful for allowing users to get used to the framework’s features.
  2. Teacher Control – An app which allows users to send teacher control messages to others apps in the same session. This allows teachers to carry out interventions, like freezing the other apps in the session to redirect students’ focus, remotely.
  3. Mysteries – This is the classic classroom activity used in many SynergyNet studies where students are given a set of clues and asked to answer a question using them. This version of the app supports text and pictures clues and can be run in a ‘stand-alone’ mode where all the clues are shown on the device or in a ‘networked’ mode. In the ‘networked’ mode 2 non-teacher devices are expected to join the session – half the clues are shown on one device and the rest on the other. Users can use the network-flick function of the framework to pass content off the top of their screen to send it to the other device (this version of network flick works across the internet with no additional set-up required). The app keeps track of where content should be, so if a device leaves the session then rejoins later they will be shown all the clues which are currently missing from the other device.

The hope is that with a simple architecture and the use of a single modern-technology that developers may be interested in using the framework to build new apps for themselves or other research projects. It has been decided that the framework should be open-source, allowing for anyone to grab a copy to use or develop with. The source-code, along with guides for its use and development, is available here:

github.com/synergynet/synergymesh

With the framework now usable a new round of research projects built around it can start. As work using the framework continues the development work on SynergyMesh will hopefully continue too with the addition of new features and new apps. It is hoped that the framework will stay relevant for as long as its predecessor did.

The development of this new framework was funded by Durham University’s Innovation Service.

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s