This document discusses the history of X Window and Wayland, introduces Wayland and its components, describes how input method frameworks like iBus work with Wayland, and summarizes some hacks developed to improve internationalization support in Wayland. It provides background on how X Window clients render locally rather than through a central server, an overview of Wayland's design of direct client-server communication, and proposes an architecture where input method frameworks communicate directly with Wayland instead of bypassing the display server.