The challenge was to design a very responsive and smooth web experience for users of all ages and tech knowledge levels, and particularly so that children younger than the age of 13 would be able to use it with ease, security and confidence.
A significant part of Douroosi users are kids under the age of 13. In many countries there
numerous compliance hurdles for such young users, particularly when online payments are
required. Fabrika therefore had to come up with a system that would include parent users. We
created an entity model that detects users under 13, and prompts them to connect to their
parents' account, in order to purchase tutor sessions. The parent account is essentially an
admin, with connected student / children accounts, which allows them to upload credits for
session purchases, book tutors, as well as join in on sessions, and view all account details
For the purpose of payments, Fabrika developed an internal banking system to manage money transactions directly on the platform, also enabling interfaces with external payment systems (such as PayPal).
Further, we implemented realtime whiteboard solutions to emulate the feeling of a real classroom experience, while supporting in-browser video sessions and screen-sharing by using WebRTC technology and media/streaming servers from the third party provider.
Since we chose to use a third party WebRTC provider, Fabrika had to connect with their API to read the session data, in order to determine whether a session was held, completed, or cut short, which would ultimately determine whether a session was charged or refunded. While connecting to the API was easy, reading the session data packets was very challenging: it was reliable, complete and timely only about 70% of the time. Therefore, we had to come up with a solution that would guarantee accuracy and timeliness. We decided to build a websocket that became the source of truth for session data. This allowed us to attain immediately 99% session data accuracy.
Fabrika implemented a complex iCal, to manage recurrent events, scheduling, rescheduling,
and tutor availability, along with an email notification system, chat support, messaging and
social signup/login to facilitate use of the app.
Since Douroosi is a global platform, one of the biggest problems we had to tackle was having students and tutors in different time zones.
A related challenge was introducing support for the Arabic language; in order to emulate its right to left direction Fabrika developed a Webpack plugin for "flipping" css to match the design.
The biggest challenge was to provide a great user experience on small screens, while fitting in the videoscreen, whiteboard and chat. Fabrika approached this UX challenge carefully, in order to allow users to easily switch between video, chat and whiteboard view, while using notification prompts to help the user know which feature has the most recent and on-going activity. We were successful in creating a web-like experience for all users, and now mobile device sessions account for 35% of all sessions.