!— Google Tag Manager —> <!— End Google Tag Manager —>
ABCHESS is a step-by-step training program that takes you from zero to the level of a professional chess player. It offers you the opportunity to learn chess at any convenient location and time.
The app comes with 100 video tutorials, 1500 exercises for development of mental skills, such as logic, memory, attention and thinking speed.
The tendency to switch to distance learning mode has reached chess schools as well. So we were approached by an international chess master, the founder of the ABChess School, with the following task: to develop an educational application for playing chess on iOS. The main modules of the app were to be the Teaching part, the Personal Cabinet and the Game module.
The client actually already had the Android version, so our task was to develop the application's functionality for iOS. In the process of implementation we encountered some difficulties, which we will talk about now.
So, we set the checkbox to control the deadline, start our clock, make the first move...
At the customer's request, we started with developing the Training module so that students could start training as soon as possible. It took one month to build this module.
We used Swift, a robust and intuitive programming language created by Apple for building apps for iOS. Developing the chessboard was, oddly enough, the most difficult task at this stage. We studied existing chess engines and realized that Stockfish was the most popular. However, we were unable to use it because to integrate that engine, we would have had to write the code layer in the ancient objective-C, which would have taken too much time. After consulting with the client, we used another engine temporarily. It may be less functional, but its tools were sufficient enough for MVP.
When the main part of the app was ready, it was time to put it on the App Store. However, we discovered that we needed to do a little more to get it published.
The first hurdle was that Apple's moderators were uncomfortable with the incomplete functionality of the Dashboard. The rejection, of course, is reasonable, but this was not our priority. To fix the problem, our team put stubs in those sections that will be improved on - it worked.
Next, Apple moderators had authorization issues. As we soon realized, the problem was not caused by malfunction, but by technical difficulties from the side of moderators. So our managers discussed this with Apple moderators and resolved the issue.
At Apple's request, we also implemented the possibility of login into the app via one’s Apple ID.
While managers were negotiating with moderators to get it published on the App Store, the development team had almost finished the Personal account. The day after the release of the app, we added a new section.
All that remained was to develop the Game Module. We started by replacing the chess engine with the one we initially wanted - Stockfish. Along the way we wrote up the game logic (like recognizing draws).
When the app is ready, we now need to add in-apps. There were two types of purchases: one-time purchases (courses) and subscriptions (a package of courses for a limited period of time). Together with the backend developer, we created a system for generating purchases in the App Store, ready to scale - so the customer could create new products in the app on their own.
The project took three months to implement. Now, after the release, all we have to do is continue to provide support for the app and implement new features. In another month we get a new order from the client, this time for developing a website for the platform.