“If you talk to a man in a language he understands, that goes to his head. If you talk to him in his own language, that goes to his heart.” Nelson Mandela
We continue sharing our success stories and this time it is a project for interpretation.
The goal of this project was to develop a streaming platform that can stream multiple language interpretations to audiences of any size and a service that would help people and corporations interpret their messages to different languages live, simultaneously at the event, and broadcast it everywhere.
Within the scope of work on the project, we performed all the main steps of the website development, namely development of the technical requirements, prototyping, confirmation of the design, development of the website, testing and final release.
We allow integrating our player to any other website project. As well we used a Load Balancer, a HAProxy , to balance web and streaming servers by forwarding the audio which means that basically, each user goes to its own server.
There are few roles that a visitor can choose from to register on the website:
- Customer — a person who can create an event
- There are 2 options for this role: monthly subscription as a regular Customer, or just a one-at-a-time manner
- This user can create a channel where he can keep all his events. It is possible to make it both public and private (cannot be seen in the all channels)
- As well there is a possibility to add admins, partners & interpreters
- The user with an admin account related to the customer can have individually set permissions
- The user with a partner account has access to the API of each interpretation event, related to him. With the link and the API, users will be able to embed TheSpeech language events to their platforms, and the listeners can get access to the interpretation events built into the application.
- User — a person who can either listen to the event or has the possibility to subscribe to a channel.
- Interpreter — the person who translates/interprets the event into another language.
This is how it works:
- once the event is created a customer assigns it to the interpreter (own or provided by the website), the interpreter receives an assignment on his dashboard and either accept it or not (as well suggests his own price for this work), in some cases, the event takes more than one hour which turns on the rule of 2 interpreters per the event
- once the event is live the interpreter enters the page and needs to enter the slot, in case there are 2 of them both must enter
- First starts and when there is a need to change an interpreter can make a swap to another one
- The listeners won’t hear the stop portion they will only hear the change of the voice
The detailed technical process is explained on the picture below
Types of the events:
- Private with general password
- is possible to access only by the link with the password
- goes to an email only
- not shown on the website
- Private with personal invites
- is possible to access by the link without the password
- not on the website
- Public
- open to everyone
- is available on the dashboard
There are 5 statuses of the events: incomplete (not paid), upcoming (paid & scheduled), live (time of the event), finished (automation portion starts after the event), archived (part with a recording).
As well we created a mobile version of an app for both IOS and Android, which has the most basic functionality: access your account, choose the event.
Payment system has 2 options:
- Paypal — money goes to pp and calculates the price
- Bank account — a person goes to the bank pays it and sends a proof of payment
How the payment calculation works:
At the beginning, the person pays for the event depending on the time of it and amount of interpreters needed
Additional payment will be in case:
- The event takes longer than expected
- More languages interpretation is needed
- The starting date is too soon. If a user will use his own interpreters, it won’t cost more money, otherwise, the interpretation fee is 50% higher if it is within 48 hours to the start of the event, and 100% higher if it is within 24 hours to the event.
All of it will be calculated at the beginning and a customer will need to pay a maximum amount at the start and once the event is over the money that won’t be used will be paid back to the customer
The public portion of the website consists of these parts: Features, How it works, Public Events, Use Cases, Contact, Recent News
The portion for an app consists of: Sign up/Login form, Homepage — which consists of List of events page by categories, Top Channels; Channels page — with an opportunity to see All channels and channel user is subscribed to; Channel page, Event page, Notifications, Personal cabinet
Technologies
AWS, Javascript API, Janus WebRTC, Laravel, HAProxy, Wordpress, IOS, Android
Duration
The development of the website took us a few months. As well we are keeping this project updated for 3,5 years.