OfflineManager - uma biblioteca Android para suporte offline em aplicativos
MetadataShow full item record
With the expansion of mobile computing, caused by the popularization of smartphones, tablets and application stores, and the increase in the inter-connectivity between devices and servers, many questions arise in the software engineering scenario. As most applications work with a back-end server over the Internet, one such question involves offline application usage, because in many occasions network connectivity is not available. This question can be solved in many ways, including storage of the requests, caching, data synchronization, among others. There are solutions both in the industry and academy that attempt to solve this problem, however two challenges remain: to solve the problem in a way that covers many software layers, including interface and usability issues; and to support any step in the development cycle without great implementation effort, facilitating adaptation and refactoring of existing applications. This dissertation presents an Android library built to help developers provide offline functionality on their apps, while trying to solving these two challenges. To do that, the library, called OfflineManager, was built to be easily installed and utilized, and offers different ways to treat each call to the back-end, both in case of Internet connection missing, or in case of an unavailable server. It also offers feedback messages, and a point of interaction via pop-up. To evaluate the library, four evaluation methods were used: specialist opinion, implantation on a real project, comparative experiment with users, and heuristic evaluation. All four evaluations conducted showed results indication that the library attends its purpose and caters for the two challenges presented, being that the first two evaluations analyzed implementation and development aspects, while the last two analyzed interface and usability aspects. Evaluations showed that the library is easy to install, use and comprehend, that the treatments offered are sufficient and that it improves app usability in an offline scenario. Although, some threats to validity can be listed, indicating that there is room for improvement in the way they were conducted. Finally some improvements can be presented as future work in order to improve the library, expand the experiments taken, and to consolidate guidelines for the library utilization.