The n2o defines the way you define, confifure and run arbitrary applications and protocols inside some hosts, into which n2o is injected. They can be cowboy and emqttd. Each application can spawn its instance in own way, like web pages spawn WebSocket connections, workflow engines spawn business proceseses and chat application spawns roster and chatroom processes. This is managed by protocols.
While all application protocols in the system are desired to be placed in the single effectful environment or same error handling path, n2o defines single protocol loop for all applications in its federation of protocols.
In core bundle n2o is shipped with NITRO and FTP protocols which allows you to create real-time web applications with binary-based protocols, priving also robust and performant upload client and file transfer protocol. For bulding web based NITRO applications you need to include nitro dependency.