How to Lose Big Money by Choosing the Wrong Development Technology: MPS Case
READ WHOLE ARTICLE
To begin with, we need to understand what "bad technology choices" mean for development. The technology you choose to create your game or application may not suit your needs. When you start working on a project, you need to think about choosing a tech stack you want and how it fits with your business goals.
You also need to be sure that the trend towards the technology you are interested in is not declining. This is important because the use of such technology can negatively affect the development and maintenance of the application once it is launched. Outdated technologies are also often not secure enough. Be sure to check if the technology tools you want to use are kept properly up to date (by the community or corporation that supports it) and well protected.
Continuous technical support is another important factor. If the founders of the technology do not support it (as happened in our case), you may face problems with your developments in the future. In addition, you should not rely on technology that you are not 100% sure of.
Let's talk about our specific case - how and why we had to choose a web development framework out of WebGL vs Flash, and then Angular.
Table of contents
Why Did We Decide to Move from Flash to WebGL?
The Process of Switching from Flash to WebGL
Problems We Encountered After Conversion
Benefits of Angular and Why We Choose It
The Results
Conclusion
Why Did We Decide to Move from Flash to WebGL?
This is not to say that we gave up Flash of our own free will. As a result of the termination of support for this technology on January 1, 2021, we were forced to look for alternative solutions. Mobile apps were developed in Unity, so it seemed logical that WebGL replaces Flash.
The Process of Switching from Flash to WebGL
In the end, our options and criteria turned out to be not thought through enough. Everything turned out to be a bit more complicated. The conversion process itself did not take much time - 3 months, although we had to redesign in some places (specifically the UI) from scratch. More problems arose at the stage of testing the game, since the webGL itself from Unity is not ideal. It is heavy for an average PC, and is intended for more complex 2D and 3D games. As a result, many features worked incorrectly, not giving users the main option - to play poker (cards face down, constant freezing, and, as a result, the inability to make the correct move).
Problems We Encountered After Conversion
Our developers spent a very long time trying to optimize the game - by rebuilding the atlases, they achieved an increase in FPS (Frame Per Seconds). This value shows us how many frames are displayed on a computer or laptop monitor in one second during the game. And the higher this figure, the faster, smoother, and better the gameplay will be.
This problem was only partially solved, so at the average level of the PC and mobile browsers there were still problems with freezing, and in poker, the speed of the move and the ability to carry it out in the allotted period of time is important. In addition, while playing poker, players like to communicate with each other through chat and give gifts.
All these features also slowed the game down a lot, not allowing users to enjoy it. This is where the negative feedback from the players who had been playing our flush poker for years poured in. But we couldn't respond by advising everyone to buy the latest generation of PCs to play poker. Thus, the main stumbling block was the increased requirements of WebGL from Unity to PC resources.
To avoid losing the audience of players, we decided to switch to another technology, which was Angular 10.
Benefits of Angular and Why We Choose It
According to the 2020 StackOverflow Developer Survey, over 41% of developers use the Angular version for web and mobile front-end development.
The credibility of the framework is supported by the backing of Google and the names of the companies that use it, including McDonald's, HBO, Apple, Forbes, Adobe, Nike, and Microsoft again.
Angular is a complete multipurpose tool that can be used for both web and mobile applications and this is one of reason why you need choose Angular for your project.
One of the benefits of Angular is a built-in toolbox containing a complete set of design components, including layouts, pop ups, buttons, indicators, and more. This approach ensures easy and fast customization of the user interface.
With this in mind and looking at its ongoing development, we present the list of benefits of using an Angular framework.
Reliable community
Angular has a large community. There are people who work in the core development team and people who contribute to the deployment of some open-source enhancements or enhancements that are included. Angular is widely known for assemblies that are sent all over the world. In addition, it forms part of the discourses in hackathons with different groups of IT professionals. There are various books and online resources for designers. Customers get the very best. This is how they stay ahead of the pack.
Declaration with code
Angular is similar to the ultimate worldview in design creation. The codes are easier to learn and use. We are simply specifying the desired end product, rather than explaining exactly what we want to achieve.
Relying on Google
Since Angular has solid backing from Google, engineers are comfortable working with a strong codebase that will offer the ultimate support for the project. As a special case for common JavaScript application systems that are built by free specialists, Angular is a result of the great work of Google’s virtuoso engineers Adam Abron and Mishko Heveri.
MVC pattern
This system integrates the unique compositional setting of MVC (Model-View-Controller) programming, but not according to built-in criteria. For the most part, engineers have to break down the application into isolated MVC segments and then design the underlying code to combine them. In any case, doing this with Angular is rather unusual. Here you just need to isolate the application, and then it will take care of itself. Basically, Angular is very similar in this way to the MVVM (Model-View-View-Model) framework.
Directive management
HTML is a dialect of Angular. It is further set forth with prescriptions that duplicate the code data identified with vital behavior. Orders are more focused on justification and thus make a huge contribution to the expansion of profitability. Moreover, they can be reused to improve the decryption of the code, if needed.
Improved flexibility
At the same time, like prescriptions, channels are independent capabilities that filter information before it reaches presentation. They vary depending on the application and the algorithm of actions in the following: completing page navigation, determining decimal places in a number, and exchanging a string value. Hooks can be used as part of controllers, organizations, formats, and even requests. The redesign is so flexible and creative that you can deal with an HTML table without JavaScript.
Responsibility of dependencies
Angular reliably uses Dependency Injection (DI) to connect the app. This means you don't have to try a non-viable primary technique to get your code running. Just trust the solution of the system, and it will do everything on its own. This trust in Angular will save you a significant amount of weight on the back-end server that prevents the application from running quickly.
Saving time
Angular is a time saver. In addition, with the correct system, the framework can be an ideal environment for building huge applications.
SPA help
Angular and SPA come together to work. For example, "Angular" conveys framework approval capabilities. To prevent the page from having borders, the FormController makes an appropriate entry. With this information, we can direct the HTML components in the UI in a different direction, just as a capture accidentally clears an already empty form. While well established, Angular works in validators to deal with errors; however, you can use the alternative of creating your own validators if you like.
Based on the above, it can be assumed that the error messages are for the entire frame or individual fields. Examples and layouts in Angular depend on HTML code and work according to Angular components and characteristics. It interacts with information from the model to display a page that is intuitive for the client.
What’s the Difference Between PWA & SPA
Edge with modules
This system provides a choice of cropping applications through a combination of independent modules. They can rely on each other or be self-governing. For example, if the modules are to be stand-alone, you can use the Facebook login module for specific parts of the application, such as logging in or organizing a page.
The Results
The creation and implementation of the new client took 2 months and the end result turned out to be easy and fast, as it should have been. The poker players were satisfied with the performance. We also plan to replace mobile clients from Unity with Angular using Apache Cordova. This will simplify support for all clients - Web, iOs, and Android.
Thus, we lost 3 months of time and about $10,000 on developing the client on Unity. But what is the worst and impossible to measure in terms of money, we lost a part of the precious audience of loyal users, formed over the years. If we want to return them, we will have to invest in the price of advertising and marketing, which makes an additional cost.
Creating Progressive Web Apps Using Angular
Conclusion
When choosing the right development methodology for making games or applications, always look for information, real-life use cases, and other factors to consider when choosing software development methodology. Unless you want to find yourself in a situation like ours, losing money, time, and users' trust. Choose your development environment wisely!
36 Kings Road
CM1 4HP Chelmsford
England