Pisara an XMPP-based collaborative programmer's editor - Castro, Hannah (2007)
Collaborative applications have gained popularity today as they have aided in groupwork, multitasking, and distance learning. Aside from the need to work as close to real-time as possible to allow effective collaboration, these applications have to consider and address concurrency, consistency, and awareness issues. There are a number of existing real-time collaborative text editors such as ACE (a collaborative editor), SubEthaEdit, MoonEdit, and Gobby. These collaborative applications differ in user environment, architecture, protocol, platform dependence, network restriction, and additional features; the choice for each having a significant effect on the application performance. Today, there is a need for an application that will overcome most, if not all, of the limitations of available collaborative editors: one that runs in real-time, works on different platforms, has firewall traversal, and is user-friendly. Pisara is an XMPP-based Java application that aims to respond to such needs. This paper shows that a collaborative programmer's editor implemented using the Extensible Messaging and Presence Protocol (XMPP), an open standard protocol approved by the Internet Engineering Task Force (IETF) as the standard for instant messaging and presence is effective and efficient; thus providing the protocol's extensibility to support applications that require close to real-time performance, other than instant messaging applications. With XMPP, Pisara is able to run close to real-time and overcome firewall restrictions; and with Java, Pisara is able to work on most platforms. Aside from the standard editing functions. Pisara features text highlighting for awareness information, multi-user chat for each editing session for more effective collaboration, and line numbers for software development.