Left Image Right Image
Articles in this section

How Syncing Works in Goodnotes

This article covers Goodnotes Education Plan features only. Free Plan users do not have access to Class Folders and other Education-only features. To upgrade, contact your institution's IT administrator.

Teachers' Lessons are synced between their devices using 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, Education 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, Education 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 Education on your Firewall Settings

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:

  • *.cdn.goodnotes.com (*)
  • *.apple.com
  • *.goodnotes.com (*)
  • *.goodnotescloud.com
  • *.goodnotes-devops.com

    (*) If you have .goodnotes.com, it will also cover .cdn.goodnotes.com.  However, if your company does not use wildcards for your whitelist, then you would need to add *.cdn.goodnotes.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