I'd like to dig into this point for a moment. Why was it necessary to have a client/server architecture for a windowing system? Was it because X was developed before practical GUI alternatives were on the market? Did the computing power of institutional mainframes exceed that of the user-facing terminal systems (clients)? As time passed and "client-only" windowing systems came onto the scene, could the client/server design choice not have been revisited for greater efficiency?