Concurrency control in groupware systems
SIGMOD '89 Proceedings of the 1989 ACM SIGMOD international conference on Management of data
A framework for undoing actions in collaborative systems
ACM Transactions on Computer-Human Interaction (TOCHI)
Generalizing operational transformation to the standard general markup language
CSCW '02 Proceedings of the 2002 ACM conference on Computer supported cooperative work
Flexible notification for collaborative systems
CSCW '02 Proceedings of the 2002 ACM conference on Computer supported cooperative work
Leveraging single-user applications for multi-user collaboration: the coword approach
CSCW '04 Proceedings of the 2004 ACM conference on Computer supported cooperative work
Transparent adaptation of single-user applications for multi-user real-time collaboration
ACM Transactions on Computer-Human Interaction (TOCHI)
Pattern Oriented Software Architecture: On Patterns and Pattern Languages (Wiley Software Patterns Series)
CoMaya: incorporating advanced collaboration capabilities into 3d digital media design tools
Proceedings of the 2008 ACM conference on Computer supported cooperative work
Exploiting single-user web applications for shared editing: a generic transformation approach
Proceedings of the 21st international conference on World Wide Web
Professional JavaScript for Web Developers
Professional JavaScript for Web Developers
Hi-index | 0.00 |
Web application frameworks are a proven means to accelerate the development of interactive web applications. However, implementing collaborative real-time applications like Google Docs requires specific concurrency control services (i.e. document synchronization and conflict resolution) that are not included in prevalent general-purpose frameworks like jQuery or Knockout. Hence, developers have to get familiar with specific collaboration frameworks (e.g. ShareJS) which substantially increases the development effort. To ease the development of collaborative web applications, we propose a set of source code annotations representing a lightweight mechanism to introduce concurrency control services into mature web frameworks. Those annotations are interpreted at runtime by a dedicated collaboration engine to sync documents and resolve conflicts. We enhanced the general-purpose framework Knockout with a collaboration engine and conducted a developer study comparing our approach to a traditional concurrency control library. The evaluation results show that the effort to incorporate collaboration capabilities into a web application can be reduced by up to 40 percent using the annotation-based solution.