The number of handheld devices has skyrocketed in the last decade. Gradually, more and more mobile devices are sold which have the computational capabilities of an average personal computer from a few years ago. These smartphones and tablets are used in a variety of ways and most have access to the Internet at least once a day. This has enabled programmers to create online apps which enable functionalities that were unheard of just a few years ago.
However, it also means that a new style of server applications must be developed to provide the necessary back-end services to the mobile clients. These include, but are not limited to data persistency, authentication and communication services. The challenges come from the number of devices, their heterogenous nature. Security, privacy and availability are also aspects which must be carefully planned for.
The student must design and implement a server-side application for a text-based adventure game. It has to provide authentication and data persistency services and must enable the mobile users to communicate with eachother. The student should ensure that security and privacy are at the required level and should also test the individual components of the software to limit the ill effects of programming errors.