- what we do
- Engineering Services
- Complex Services
- Solutions Hub
- Client Area
- Get In Touch
Software company, that provides clients with innovative service - VR & AR ads platform.
Viewz Marketing Inc. is a successful software company that serves to clients as a ads tracker. Their main office is located in the United States, Florida, Tampa. One of the main goals of the company is to help customers monetize applications through advertising within AR and VP applications. The company addressed Computools for an application to demonstrate in practice the principle of placing 3D banners in a virtual environment. During the discussion, the main tasks of the application, the functional spectrum and the necessary options were identified. Gadgets and devices that will be used to launch the application have also been determined. This made it possible in the future to select technologies for development. The finished applications - Viewz Demo - is used for 3D Banner Advertising. It was specially designed for Viewz Marketing Inc. Sales Managers. It supports more than 50 banners at the same time. Special shader for inside light effect and VR support were implemented. This demo app also works on Oculus Go. The application is not publicly available, Sales Managers use an internal Google link to demonstrate the app to customers.
There is no opportunity to load advertisements from the potential client without an admin account to show how it works
Little data draw array for save performance
The absence of the day mode in this demo
The absence of the offline mode
Showing more than 50 3d banners on one scene
Special avert content for showing to potential clients
Showing inside a real-time chart about all banners state
Showing special night custom shaders
Properly organized communication in the project is of great importance for quick decision making. The initial communication with the client was through Upwork and then moved to Skype. All communication was carried out in this messenger since it was convenient for all parties. Moreover, Skype allows holding regular video and audio conferences. There was also an exchange of telephone numbers to resolve urgent issues.
An interactive prototype allows studying the functions of the finished application before starting its development. Created in parallel with the specification, the prototype contains all the basic options and is prepared for the demonstration. Using it as an example, the necessary set of basic functions and requirements can be considered, as well as unnecessary ones can be removed.
The technology stack is determined by the main objectives of the project. Developers choose the best solutions for the tasks, using ready-made methods and solutions, their experience in creating such applications. For this project, optimal technologies have also been selected to create and maintain the necessary functions.
Unity3D is a commercially available multiplatform game engine used for the production of 2d and 3D video games as well as non-game interactive simulations and visualizations. Unity is one of the most popular game engines available due to its combination of power, flexibility, and ease of use. Unity’s best asset is that it does a good job at helping develop mobile game content while being cross-platform with a minimum amount of effort.
C# can be used to create almost anything but is particularly strong at building Windows desktop applications and games. It is perfectly combined with Unity3D and provides the best protection of the source code of the app. C# is often thought of as a hybrid that takes the best of C and C++ to create a truly modernized language.
PHP is a general-purpose, server-side scripting language that was designed to make dynamic pages and applications. PHP as a web development option is secure, fast and reliable that offers lots more advantages to make it accessible to a lot of people. PHP supports MySQL, Oracle, Sybase etc.
MySQL is a database platform for businesses, it is extremely easy to use. It is commonly used in combination with PHP. It uses solid data security layers to protect sensitive data from outside access. The database software has been shown to manage memory exceedingly well, and actually prevents memory leaks. MySQL is much faster in terms of performance, and users still have access to all the necessary features they would through other database platforms.
A custom class library defines types and methods that are called by an application. A class library that targets the .NET Standards allows the library to be called by any .NET implementation that supports that version of the .NET Standard. When the C# library is finished it can be distributed as a third-party component included as a bundled component with one or more applications.
WebExtensions is the new API for building add-ons in Firefox. It seeks to unify the extension APIs and architecture with those of other browsers in the name of interoperability and modern architecture. Potentially the most impactful aspect of WebExtensions is that it adopts the extension architecture used by browsers built on top of Chromium.
SteamVR is a hardware/software solution that lets the devices know in real-time where they are, within a room. Using this software provides application integration, complete immersion for the user and opens up opportunities for users of virtual reality.
Microsoft’s unique combination of VR and AR that was designed to immerse more users in the digital experience with lower-priced and easier-to-drive headsets. Developing an application based on this platform expands its capabilities and allows its use on various specialized devices.
The Oculus Go technology is developed for Facebook’s new standalone VR headset. The Oculus Go is one of the first completely self-contained, dedicated VR devices heading to the consumer market. That means it does not have to be tethered to a computer but has all the parts needed inside. The apps for Oculus Go should be re-packed in accordance with major requirements.
The specification is developed at the prototyping stage and takes into account all the necessary developmental stages. It also takes into account the basic and non-basic requirements, the sequence of tasks. The specification also includes the main criteria for evaluating and testing the application. The final specification is created at the end of the development life cycle.
An experienced team of developers, designers, managers and analysts is building specifically to work on the project. The coordinated work of engineers and specialists allows to get the highest quality result - a ready-made application. Computools strives to create comfortable working conditions for the team, therefore it carefully approaches the choice of each participant. The skills, experience, level of expertise of the employee, as well as personal qualities are taken into account.
The company pays special attention to the organization of the development process. During the work of the team, the latest technologies are applied in the field of brainstorming and the exchange of ideas and experience. Each participant has the opportunity to propose a solution and discuss it with colleagues.
The internal communication system allows to maintain communication in a team, make decisions on the project, discuss the necessary issues and tasks. For daily communication within the team, Skype was used, which allows to quickly contact and choose the best solution. Face-to-Face scrum meetings and retrospective meetings were also used. To manage the project, the manager chose Trello, which allows to distribute tasks among project participants, monitor their status and implementation.
Since this project required quick implementation and thorough testing, it was decided to choose Scrum as the project methodology.
It allows project participants to adjust their activities in response to situations that arise during the project management process. Scrum consists of three roles: the product owner, the Scrum master and the team. The product owner is the individual who represents the company. The Scrum master is the project manager tasked with controlling and measuring the process. The team is made up of those who will execute the project tasks. Scrum "ceremonies" are the project steps, which are referred to as "sprints," as well as daily Scrum meetings. Scum "artifacts" include a product backlog, which is a prioritized list of customer requirements; a sprint backlog, or a task list for implementing the priority product features; and the burndown chart showing how much work remains as the backlogs "burn down" toward completion.
The sprint process provides development that results in a saleable product even while the project is in full swing. This incremental delivery system shortens the time to market and may result in higher revenue, as each completed backlog represents a new release of the product. In addition, reviewing each sprint before moving to the next means that testing is conducted throughout the process, which allows teams to change the scope or direction of the project at any point.
Design development began at the prototyping stage when the visual part of the project was created. Then the design was developed in parallel with the writing of the main code. This method allows to timely implement and connect parts of the project, identifying bugs and inconsistencies that are subsequently eliminated.
The code development process was divided into sprints since the Scrum methodology was used. This allows to carefully study the finished part of the code before moving on to the next task. This saves time searching for bugs in the finished product and facilitates the work of the entire team. Thanks to the chosen method, the finished application works stably.
Scan QR code to find code sample
Or use link belowhttps://github.com/computools/viewz-demo
An excellent team of professionals, everything was done on time and without delay. It was a pleasure to work with real experts. Computools was able to quickly understand my requirements, and provide expert results before the posted deadlines.
Let's talk about your project.
Use the form to drop us an e-mail.
Learn more about Computools' charity events.
Benefits and opportunities Computools LLC get after joining AUCC.
Computools strives to maintain and develop student interest in the IT industry, starting from school…