Extensive experience with X11 has convinced us that it represents a true advance in window systems, but that there are areas in which the X protocol is seriously deficient. The problems we describe fall into seven categories: coordinate system pitfalls, unavoidable race conditions, incomplete support for window managers, insufficient window viewability information, difficulties with interactive mouse-tracking, pop-up and redisplay inefficiencies, and exceptional condition handling. We propose solutions for most of these problems. Some solutions could be easily incorporated into the X11 protocol. Other proposals are too incompatible to be adopted, but are nonetheless included for the benefit of future window system designers