Customers use a wide variety of technologies for communication and expect the companies they deal with to do the same. This means the same message may need to be sent to a mailing list, a Twitter account, an IRC channel, and a Facebook page. To make this easier, developers can use the Broadcast library for Ruby or its .NET clone, nBroadcast.
Broadcast and nBroadcast use the same basic API design. First one or more Mediums are setup. A Medium is setup using global configs. Since they are defined as key-value pairs, they are easy to use with Rails initializers or XML configuration files. Once that is done messages are sent merely by listing the target mediums types and a string containing the message itself.
The two libraries share the same fundamental design flaw. Since mediums are defined using global configs only one version of each is allowed. If you want to send the same message to two different mailing lists or Twitter accounts you are simply out of luck. But as these are open source libraries modifications can be made to make them work better in these scenarios.
Broadcast is released under the MIT License. No license is available for nBroadcast.