|title:||On-Demand App Development|
|topics:||Case studies and Applications|
Luís Ferreira Pires
Applications (apps) are everywhere around and with you, think about Pok´emon Go, WhatsApp or CNN. They are all trying to make connecting and engaging with digital content easier than ever before. Apps are usually downloaded ones and changed to provide extra functionalty or another experience, like new icons in Pok´emon Go, not only texting but also calling contacts in WhatsApp or watching video clips next to the news items inside the CNN app.
After time, functionality and needs of an app change because of the impact in technology, business or society. The changes that need to be applied then are so called updates. Primarily, it takes a significant amount of time (at least a few days) to apply updates to an app, and even longer for the update to reach all users. Moreover, some users do not update their phone or their apps at all, which means a great deal of legacy maintenance is required. The consequences are, firstly, that users are not getting the latest features and experience a company wants to provide. Secondly, the company loses time and is not able to adequately react to changes on the market. Lastly, developers need to change an app in a very short time frame, which makes the app more liable to bugs and unstable features.
Previous research has shown that some solutions allow apps to be changed at runtime. The paper referenced here describes a remote Model View Controller (MVC) architecture, which synchronises the user interactions of the app between all client devices.
This research aims to address the drawbacks of remote MVC, so to facilitate dynamic updating of the app and improve the user experience. The main objective of this thesis can therefore be described as follows:
To create a solution allowing decentralised and offline usage of a mobile app using the principles of the remote MVC pattern.