Networks of workstations (NOW) have not fulfilled the promise of supporting parallel computation. Communication under NOWs is slow and performance unpredictable. The high cost of sending a message makes finer grain parallel computing impractical. Even for coarse grain applications, interactions of different programs' messages within the network and the NI can slow down a program by an order of magnitude from one run to the next. In this talk, I will outline a network interface that reduces the cost of sending messages and guarantees fast, fair, and predictable performance in a multi-tasking off-the-shelf environment. My network interface design builds on my previous work in single-user network interfaces. I will start by describing an efficient single-user network interface. I will then outline several interesting design issues that arise in implementing an efficient multi-tasking network interface and suggest ways to address them. These issues include the impact of placement of the network interface within the processor's memory hierarchy, the off-loading of non-resident users' state off the network interface chip, the lazy swapping of resident user's network interface state on a context switch, the handling of messages arriving for non-resident users, and the enforcement of fairness when messages arrive at an unsustainable rate. I will conclude with a summary of my research plans for analyzing the performance of network interface implementations and for building a complete NOW system based on one such implementation.