The receive object is an important object for connecting objects without patch cords and communicating across patches.
receive is so commonly used that it can be abbreviated as simply "r". If used with a name argument after the object name, it will have a single outlet that will pass messages from any object that sends to it. If no argument is given, the object will also have an inlet which can be used to set the name of the receive object at any time using the "set <name>" message.
Double-clicking a send or receive object will bring up a contextual window showing all other instances of sends or receives with the same name. Clicking on one of the menu items will bring the patcher window containing that instance to the front and highlight the object. If the object is contained within a subpatch, abstraction, or bpatcher, it will open the patcher and highlight the object. Furthermore, if the object is outside the viewable area of the patcher, it will adjust the view so you can see the highlighted object. This can be very helpful for quickly identifying where the data is going or to make sure that there is a named receive associated with the send.
By tagging data with an index number or symbol, you can send lots of commands through a single send/receive pair, which can help keep larger patches clean.
There are many different ways to pass data without patch cords. This patch shows a few different ways to send data without patch cords.
Also take a look in ./examples/max-tricks/send-receive-tricks:
(please list things that you believe to be errors or omissions from the existing refpage)