The Developer's Guide to Communication: Part 1