Left Image Right Image
Articles in this section

How Syncing Works in Classroom

Teachers' Lessons are synced between their devices using your Goodnotes Cloud. This is also how they share Lessons with their Students running Goodnotes 6 for Collaboration. To ensure as close to real-time syncing as we can, Classroom and Goodnotes utilise 2 different approaches to syncing which are outlined in this article.

Goodnotes Cloud - Periodic Sync

Much like iCloud Sync or other similar services, Goodnotes Cloud will move new items into a queue to be synced periodically on the cloud, which will update all other devices using the Lessons when fetched. This periodic sync happens every 30 seconds. 

P2P Sharing - Local Connection

As well as queuing a periodic sync, Classroom and Goodnotes can utilise a local P2P sharing to allow up to 50 users to directly connect, even over separate networks. The P2P sharing should produce a much faster solution to sharing updates in a Lesson between Teachers and Students. 

How does this work?

We use NAT Hole Punching which can allow two machines on different networks to still directly connect to each other even when using different networks.

  • An intermediary (STUN server) accepts a connection from each of them, causing all the routers between to open up ports to pass through the data from the intermediary to the machines.
  • The STUN server then gives the open public IP address and port to the two machines trying to connect to each other.
  • They then both attempt to take over the connection
  • If the firewall sees data coming from an IP address other than the one which negotiated the connection, this may fail. In these cases, we have a relay server which relays data from one peer to another. 

Whitelist Goodnotes Classroom on your Firewall Setting

If your school network uses web filters/firewalls, you will need to add Goodnotes' domains to the whitelist so that your school can use Goodnotes without any issues. Here is the current list of domains to whitelist:

  • .apple.com
  • .goodnotes.com
  • .goodnotescloud.com

How do these work together?

Lesson sharing will often require real-time updates to ensure smooth teaching. Because of this, we use this two-prong method to make sure updates are always synced, even when one system fails to push an item for sync it will be picked up by the other. This way, so long as a connection is made, the longest an item should take to sync should be 30 seconds. 

 

If you are having trouble with your sync, please see Slow and Failed Syncing: Determine Causes