2 research outputs found
Fallback Mechanisms for Connection Loss in Single-Page Web Applications
Fast-paced evolution of web technologies in both desktop and mobile devices has made browser environment a reckoned platform for almost any kind of application. The fact that more and more people are carrying efficient browsers in their pockets makes usage of web technologies more tempting and cost efficient solution even when creating business critical applications.
The growth rate of mobile device usage has surpassed the rate in which new mobile network is built. The devices are also used in more distant locations where the data connection of the mobile network can be very limited or almost non-existent. This causes problems when using web applications, which are dependent on the connection to the server. Bad connectivity results in a degenerated user experience, since the application might be completely unusable when the connection is dropped.
In this thesis we focus on how web developers could prepare the application for connection loss on the application level. The research is based on a case study, in which Päikky, an application from the kindergarten domain, is implemented with an offline support. The solutions done on the case study’s offline support implementation are evaluated with user interviews from a technical viewpoint and from the user experience perspective. The emphasis on the evaluation is that could the solutions be generalized as a design guidelines for offline support, and are the solutions understandable and usable for an average user.
Based on the results of the research a set of design guidelines for offline support implementation are defined. The user experience flaws found in the user interviews are listed, and possible solutions for them are discussed.
The essential results of this thesis indicate that connection issues are something that application should be prepared for, at least if the application is business critical. Even if there is no need for a full offline support, following the guidelines introduced will improve any web application’s user experience significantly
Engineering holistic fault tolerance
PhD ThesisFault-tolerant software should be engineered to be maintainable as well as efficient with
regards to performance and resources. These characteristics should be evaluated before
deployment of the software. However, the main focus is very often made on the functional
features of the application, whereas fault tolerance mechanisms are neglected. As a result,
they are often neither maintainable nor efficient. The concept of Holistic Fault Tolerance
was introduced to deal with these issues. It is a novel crosscutting approach to the
design and implementation of fault tolerance mechanisms for developing reliable software
applications that meet non-functional requirements, such as performance and resource
utilisation.
The thesis starts with the description of problems that were motivating for the idea of
Holistic Fault Tolerance. These problems are related to resource utilisation requirements
of modern computer-based systems, since more resources like hardware components and
energy are required to process modern computational tasks and ensure performance and
reliability of the computation. Moreover, the complexity of these systems grows, leading
to maintainability deterioration, especially of those system parts, which are responsible
for satisfying non-functional requirements, such as reliability, performance and resource
usage.
After analysis of the problems and motivations, the engineering approach to Holistic Fault
Tolerance is introduced and main engineering steps are defined. Next, an architectural
pattern for Holistic Fault Tolerance is presented. The method to refine the proposed architecture and ensure efficiency of a particular system under development is demonstrated
during the modelling step. Then the implementation of Holistic Fault Tolerance based on
the proposed architecture and modelling is described in detail.
Finally, the Holistic Fault Tolerance architecture is evaluated with regards to efficiency
and maintainability. The evaluation demonstrates that Holistic Fault Tolerance assists
in meeting the non-functional requirements, makes fault tolerance mechanisms easier to
maintain and ensures higher modularity of the source cod