The goal of this thesis is to implement a modular instant messaging client for communication via the XMPP protocol. Firstly, the thesis explains the importance of the XMPP protocol within the context of the current largest instant messaging networks. The thesis then follows with description of the protocol itself and examines further technologies used for the development of the client application. An enumeration of requirements is then built. The requirements form two layers. The first layer proposes base functionality for communication via the XMPP protocol. The second layer then builds upon the features of the first layer and delivers end-user functionality. The resulting application is avaliable as an attachment of this thesis. The thesi...