On the Development of Real-Time Multi-User Web Applications

Janne Lautamäki

    Research output: Book/ReportDoctoral thesisCollection of Articles

    1246 Downloads (Pure)

    Abstract

    With the increasing popularity of the World Wide Web (WWW), end-user applications are moving from desktop to the browser. Web applications have several benefits over native applications: web applications have worldwide availability for any browsing capable device without prior installations. In addition, web applications are easy to distribute and update – once deployed, a web application is instantly available worldwide and further modifications to the system are propagated automatically. The current trend seems to be that web applications are offering collaboration, social connections, and user to user interactions as key features. This can be seen, for example, in the popularity of Facebook, Flickr, and Twitter. Despite all the benefits of the Web, web applications are suffering from the shortcomings in underlying technologies. The Web is strongly rooted in information sharing, and the current technical solutions isolate users rather than make them aware of each other. Since the data cannot be pushed from server to a client, the client must always initiate the communication, which causes a considerable impediment for real-time multi-user web applications, like online chats that have several concurrent users continuously interacting with each other. For such systems, it would be practical if the server could push messages to clients. As a further obstacle, most web application frameworks isolate users in their private sessions that only interact indirectly via the database. This main contribution of this thesis is to make the development of real-time multi-user web applications easier. We elaborate on the difficulties in implementation and design and introduce methods of circumventing them. The main argument is that the Web, the available technology stack, and the frameworks are difficult to use for developing real-time multi-user web applications. However, by selecting the proper approach, the problems can be solved. In this thesis, we have divided the frameworks in groups based on how they make separation of concerns between the client and the server. The separation is important as it determines the thickness of the client and thus where to locate the business logic and the application state. In addition, it has effect on the synchronization of the state between the clients. To collect experiences and for backing up our assumptions, we have implemented real-time multi-user web applications for several frameworks and studied how the frameworks should be used for enabling real-time multi-user application development.
    Translated title of the contributionOn the Development of Real-Time Multi-User Web Applications
    Original languageEnglish
    PublisherTampere University of Technology
    Number of pages59
    ISBN (Electronic)978-952-15-3185-9
    ISBN (Print)978-952-15-3170-5
    Publication statusPublished - 8 Nov 2013
    Publication typeG5 Doctoral dissertation (article)

    Publication series

    NameTampere University of Technology. Publication
    PublisherTampere University of Technology
    Volume1167
    ISSN (Print)1459-2045

    Fingerprint Dive into the research topics of 'On the Development of Real-Time Multi-User Web Applications'. Together they form a unique fingerprint.

    Cite this