Report Flex Funds 2022
Further development of Kompakkt within NFDI4Culture
Kompakkt is a web-based software solution that allows 3D objects to be shared, annotated, shared and discovered in a collaborative and multimedia way in the browser. Kompakkt aims to further develop this component and make it more accessible to the community. Within the past NFDI4Culture funding period, the team prioritised the following work packages:
- Refactoring the code base
- Extension of the E2E tests
- Addition of measurement tools
- Improved support for mobile devices
- Extending user support
The following document describes the work done to execute these work packages and evaluates their results.
Kompakkt has the long-term goal of building an open source community that is intrinsically motivated to develop the product in a future-oriented way. In order to keep up with the technical evaluation as well as the needs of the community, the work package refactoring the code base has acted as a foundation for further development. The refactoring involved a major overhaul of the existing code to make it more robust, efficient, easy to understand and maintainable. This refactoring has laid the groundwork for successful further development of the product to meet the needs of the community and current technical standards. It should be noted, however, that refactoring is never really finished and can be constantly improved. However, the work of the last months has formed a good basis for newcomers to enter the project more easily and contribute actively, which is also evident in the new cooperation with the Leibniz Technical Information Library.
Automated End to End Tests (E2E) aim to test the functions of an application for their behaviour and thus systematically find and document potential bugs in the system. With the introduction of an E2E test framework, we have made it possible for the Kompakkt community to add and test new features more securely in the future. The developed E2E tests can be used as a basis for further development of the application and thus provide a long-term solution for efficient testing of the web application. In addition to the E2E tests, we also created integration tests for the Kompakkt server to simulate and recreate more complex server processes, enabling detailed error analysis and troubleshooting. This allows the Kompakkt Server to be extended in the future with further interfaces to other data models and functions without restricting existing functionality.
In order to increase the community impact of Kompakkt, the development team prioritised the evaluation of user behaviour. This has been an important step for the whole development package, including refactoring and E2E testing. In order to test the usability of Kompakkt, user tests were conducted, both on mobile devices and computers. Prior to the sessions, users were given a demonstration of Kompakkt's key features and were split into small groups to actively try out Kompakkt's core functionalities, with a particular focus on collaboration and annotation. The results of these tests were used to support the development of epics and user stories. In the process, the key components of Kompakkt as a service were identified. The core components of the application were captured in better detail through the execution of user stories and are fundamental to establishing an engaging and user-friendly product.
Kompakkt aims to further establish an open source approach. This has been developed within the last promotion by means of improved and shortened communication channels between the core team and the benefits.
Support of mobile devices
In order to further develop the support of mobile devices, the team first conducted an evaluation of the status to date. This has been done by exploratory testing on different devices for main functions of the viewer. The usability of viewing the Viewer has a higher priority than annotating on mobile devices and accordingly a computer or laptop is recommended for annotations.
Addition of measurement tools
In the spirit of enhanced and facilitated use in the Viewer, it was determined with the help of user studies and requests that the measurement tools in the Viewer are not necessary for all use cases, but precision is necessary for those where they are required. There is no way to accurately transfer the model size via the metadata, so an implementation of measurement tools requires more detailed technical elaboration. The user specifies points on the model via the viewer, which are linked to real length measurements. In this way, the model is displayed in three-dimensional space to make the units of measurement more comprehensible.
In this process, it was worked out how to handle annotations that affect several points on a model at the same time, such as a measurement in the annotation data model, as previously only 1-point annotations were available in the viewer. Measurements are treated as special cases of multi-point annotations.
Multi-point annotations not only lay the foundation for measurements in Kompakkt Viewer, but also offer the possibility for functionalities such as area annotations in the future.