The VR APP Casestudy

The idea of the project

Jani and Pisti and we met at startup events in Debrecen almost 10 years ago. They were showing off VR headsets at a meetup in Debrecen before anyone else had one and we were doing what we do best: developing apps and presenting on the challenges of development, but watching them work. During a live broadcast, Jani raised the topic with us that they were thinking of creating their own mobile app and we indicated that we'd be happy to help.

We met, they told us what they really needed and why they needed it. It was very important for the project to understand their motivation, to understand what the purpose of the project was.
A rendszer célja, hogy a csapatról összeszedjen minden olyan információt amire a közösségnek szüksége van nap mint nap. Nem új nézőket szerettek volna, vagy bármilyen módon monetizálni az alkalmazásokat, a meglévő követőknek szerettek volna egy megbízható, egyszerűen használható eszközt adni a mindennapokra amellyel követhetőbbé válnak az általuk különböző platformokon megosztott tartalmak

Planning

After the first meeting, we put our heads together, started planning, started defining scopes. For a team with such an extensive follower base, a lot of features can be useful, but we understood that they needed a simple, likeable system that would automate most things so they didn't have to manage yet another interface on the content producer side.
We prepared a requirements specification plan, invented new features, discarded previous ideas. We also created a prototype for the specification, which helps them communicate, so they can imagine what they're going to get from us.

Since we knew that the guys were constantly on the go and had never been involved in a similar development before, we tried to get them as hands-on as possible. We came with options to prepare decisions, not just questions to increase uncertainty. In a process like this, a proactive approach makes a big difference, and we try to bring this to the forefront in every project, it's what our clients like most about us.

This is how the final functionality was developed:

  • Hírek: ahol a csapat különböző social network bejegyzései egyben találhatóak
  • Menetrend: a közelgő közvetítéseket lehet naptár formájában követni
  • Shop: az elérhető webshop termékek listája, kollekciókba szedve
  • Inventory: együttműködésen alapuló kupon kódok valamint itt kapott helyet a Nyereményjáték sorsolás is
  • Értesítések: itt nem csak az új tartalmakról szóló értesítések kerülnek, hanem a csapat közvetlenül tud kommunikálni a követő bázissal. Ezt más platform nem biztosítja számukra.

We gave the prototype to Soma Szoboszlai, who turned it into a UI/UX that was easy for our developers to work with and 100% in line with the TheVR brand.

Process

Beleszerettünk a projektbe, imponált nekünk az egész mögötti szellemiség így felajánlottuk, hogy közösségi alapon, a TheVR nézőit is bevonva valósítjuk meg, élőben a Twitch-en. Ez egy nagyon jó kihívás volt számunkra, a nézők nagyon aktívak voltak, sok ötletet, visszajelzést kaptunk már a fejlesztés során is.
Like all projects, this one was developed during development because, as they say, you get your appetite while you eat.

Tudtuk, hogy a rendszer hatalmas terhelést fog kapni a megjelenés után közvetlenül. A HappyHour alatt megemlített weboldalak rendre leálltak az egyidejű, több ezer látogatótól. Nem szerettük volna, hogy ez velünk is megtörténjen, úgyhogy arra méreteztük a projektet, hogy ha az összes TheVR követő közel egyszerre értesül az app elérhetőségéről, akkor se okozzon számunkra kellemetlen perceket. Aki ismeri a TheVR közösséget tudhatja, hogy ez több százezer közel egyidejű felhasználót is jelenthet. Ahhoz, hogy egy ilyen nagy teherbírású rendszert építsünk, szükség van olyan átfogó szakértelemre, amelyet mély technikai tudás és a modern technológiák ötvözésének segítségével lehet csak megugrani.

Tervezés alatt már készültünk a magas terhelésre, a dinamikusan változó forgalomra, skálázhatóságra. Szerencsére ebben segítséget kaptunk a SysCops csapatától, akikkel már több sikeres közös projektünk is volt a közelmúltban.

Challenges

The biggest challenge was the uneven, uneven use. The system is a new communication channel through which the team can communicate with their followers. We assessed how many competing users we should expect and how many resources would be needed to serve them smoothly. In total, the team has more than 3M followers so the workload would not have been
érdemes félvállról venni.

When a new Twitter post is created or a new video is uploaded, the system immediately notifies users, most of whom (thousands of concurrent visitors) open the app. Most of the time, however, there is minimal usage (a few hundred concurrent visitors) which uses a fraction of the system.
Just sending notifications in real time is not entirely trivial with this number of users. It's not our first project where we have to implement this, so we've already had the experience to do it.

Számunkra fontos az, hogy az ügyfelek hatékonyan költsék el az IT projektre szánt keretet, így egy olyan skálázható és hatékony infrastruktúrát raktunk össze ami képes dinamikusan, a terhelés függvényében skálázódni.  A technológiákat megválasztásánál ez is szempont volt. A szervereket az Amazon felhő szolgáltatásaiban futtatjuk, microservice architektúrán. Ehhez Kubernetes orchestration rendszert és Docker konténerizációt használunk, ezek jelenleg a legelterjedtebb megoldások a piacon.

We designed the system knowing in advance what data we were going to cache, and we tried to take advantage of the cache, which was helped by a Redis server.
The data is stored in MongoDB, which is also a robust, highly scalableThe data is stored in MongoDB, which is also a robust, highly scalable
database management system, the choice was clear.
We have 10 years of experience in native mobile app development, we have been through the
the development of Android and iOS operating systems. Over the years, we have constantly followed new technological trends and platform changes. We wanted the app to reflect this professionalism, so we took great care in its development.

Launch

The launch was scheduled for one of the morning Happy Hours, with a live stream of the Android and iOS app. Thanks to conscious planning and experience, the system was able to handle the load and the ~10.000 concurrent users did not cause any problems.
We received a lot of feedback, thanks and congratulations, the community was very grateful for the work we put in.
Arra viszont nem gondoltunk, hogy az indulás napján az Apple AppStore-ban és a Google Play mobil áruházakban első helyre kerülünk az Ingyenes kategóriában Magyarországon.

Olyan népszerű alkalmazásokat köröztünk le mint a BudapestGO, MySpar, Vinted vagy az aznap induló SkyShowtime aki elég erős kampánnyal lépett a magyar piacra.
This is of course a credit to the community, but it was a pleasure to be part of it and to serve this very large interest.
On the Play and App Store, users rated the apps 5★ out of thousands of reviews.

Copyright © 2014 – 2023. All rights reserved – CodeYard Kft.

This is a staging enviroment