Markus Muellner, a CTO of the University of Cambridge (United Kingdom), was looking for an expert IT developers, who could help him to build a new VR application available for Chemistry demonstrations.
After negotiations and discussion of the project idea, the necessary agreements were reached. As a result, a mechanical prototype for a VR experience was created. It completes the main task of the project: to record the position of two 3D objects (a 3D model of a protein and its ligand) in relation to one another and display visual feedback (color change of parts of one of the objects) if particular vertices of one object move into proximity of particular vertices of the other.
This application was created for the internal needs of the company and monetization is not expected.
During the work on the project, all the goals were achieved. The Computool's specialists took into account the requirements of the client, implemented the necessary functionality and created a design that fully meets the idea of the project.
Digitalization of Education
Reducing Time to Proficiency
Digital Platform & Technology
To build a proper architectural solution and parsing system, NodeJS microservice architecture and MongoDB chosen for the preparation of the backend solution.
Unity 3D is one of the best choices to go for interactive VR application development. It provides developers with necessary components eliminating the need of making them from scratch. One of the biggest advantages Unity 3D engine is that application can be launched on multiple platforms, like Android, IOS, Windows Phones, PCs, Macs, Steam, PlayStation, Xbox, etc.
C# is a modern, general-purpose programming language that can be used to perform a wide range of tasks and objectives. C# integrates seamlessly with the Unity engine and can be used on virtually any modern mobile device or console thanks to cross-platform tech.
SteamVR is a software that lets developers create PC VR apps. Using this software provides application integration, complete immersion for the user and opens up opportunities for users of virtual reality.
Building a stable communication system on the project allows to quickly make decisions, exchange information (requirements, notes, reports, results) and stay on the same page. At the beginning of work on this project, the Upwork platform was used, in the future, all communication was transferred to Skype for maximum convenience on both sides.
The project specification includes a list of actions that must be completed to successfully complete all tasks. The specification may consist of several steps and include additional sub-steps. Final specification is formed after the completion of the project.
Goal Showing on Cambridge presentation VR experience in Chemistry
Precondition Open Application with plugins VR Headset
Main Flow Load Protein from file
Load Ligand from file
Protein Control (Move, Rotate)
Ligand Control (Move, Rotate)
Postconditions Do links between molecules
Move around to see results and data
Alternative Flows All info about loaded molecules
For each project, the team builds individually to take into account all the requirements, features and nuances of the tasks. The company carefully selects employees whose skills, experience and knowledge are sufficient for this project. This allows to effectively achieve the project goals and implement a high-quality product.
The development process takes place in a friendly area of constant discussion and timely completion of tasks. We strive to create a healthy working atmosphere where each project participant can express their opinion, propose an idea or solution.
Developer's meetings serve two purposes at once. Firstly, it is the interaction of team members, which allows it to rally and work more harmoniously. Secondly, it helps to detect errors in the code, find a solution or share experiences with other developers.
Brainstorming is one of the most productive ways a team can work on a project if necessary to find an original solution. Each participant has the opportunity to offer an idea, even the craziest. Truly innovative solutions appear in the discussion.
At the end of the project or a large part of it, we conduct feedback sessions. This helps to identify the strengths and weaknesses of the project, its participants. Everyone gets the opportunity to improve their skills for the next project.
Internal Communication Flow
The team’s internal communication is a system that allows to quickly make decisions, stay in touch and hold necessary discussions. Computools experts used Skype for continuous communication and face-to-face meetings. For this project, Trello was selected, which allows to distribute tasks between participants and constantly monitor their status and implementation. This project management method guarantees its high speed and efficiency.
Project Management Methodology
To work on this project, Scrum was chosen as a methodology. Dividing the development process into short periods - sprints - allowed to complete the tasks quickly and conduct regular tests. This increased the efficiency of the team and accelerated the work. Compared to the traditional methodologies, Scrum is able to complete and deliver the projects about 40% faster to the customers. Scrum provides a chance for the members in the team to be creative and be hands-on throughout the project. Decisions are taken by every individual on the team, thereby giving them self-sufficiency in doing the work. Using Scrum enables to generate the required ways for developing complex products in a simple way. The software team receives real-time input and feedback from the customer and using this, they are able to constantly update the system as and when required.
Build The Team
Making the initial scope based on the specification and estimate, calculating the optimal number of specialists for each role
Adding executors to the team's core
Forming the main development guidelines
Distribution and execution of project tasks
Link builder and shader implementation
Testing & Stabilization
Developing a testing plan
UI & Unit testing
Code stabilization/refactoring, increasing system stability, reducing the probability of bug emergency
Implementation On Client’s Side
The application was created for the internal needs of the customer. However, the company's specialists conducted all the necessary tests and checks on the stability and performance of the application.
The transfer to the client’s servers was carried out after the successfully completed testing stage and in compliance with all the rules and norms. After completion, an additional series of tests was launched to confirm the app was working.
This project did not require additional training, a compilation of tutorials or guides.
For 10 years, Computools's experts have been providing a full range of software development services to the Retail, Finance, Healthcare, Consumer Services, Energy industries to enhance your innovation and increase your position on the market.
Use Computools`s accelerators to reduce development time for different products and speed up the implementation of core features.