Kast - Watch Together Android application
Kaidesoja, Emil (2020)
Kaidesoja, Emil
2020
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2020102821735
https://urn.fi/URN:NBN:fi:amk-2020102821735
Tiivistelmä
Kast is a live hangout platform which empowers users to share content and connect over
the internet in real time. Kast allows communication with text and voice chat and sharing
content with video capture technologies. The topic of this thesis is to develop the Kast Android application. This provides new and existing users a native Kast experience on their Android devices.
The need for applications such as Kast has never been higher. With the current state of
the world, spending time with friends and family, watching movies, and organizing business meetings have moved over to the internet. Our mission at Kast is to give users the ability to do all these activities in a single platform.
In this thesis I go through the Kast ecosystem and features with details about the Android
application scope and functionalities. I also explain what development tools and technologies I have used to complete the project.
I explore the Android environment and the Android framework by discussing the software
stack, the programming language Kotlin and modern robust user interface elements used
in the application.
An important aspect of this thesis is the audio and video sharing capabilities completed
with Googles WebRTC technology. I explain how the WebRTC fundamentals work in theory and what protocols and technologies it consists of.
In the latter part of this thesis I cover details about the development of Kast Android. I dive deeper into the Party Activity, which is where all the WebRTC functionality takes place, and discuss the WebRTC Android specifics with information on how the features are implemented. I will also go through issues encountered during the development of the project. These sections can also work as a guide for a developer looking to implement WebRTC in their Android client.
Finally, I summarize the results of the project and evaluate which objectives were met. I
also discuss my own learning experiences and envisage the future of the application.
the internet in real time. Kast allows communication with text and voice chat and sharing
content with video capture technologies. The topic of this thesis is to develop the Kast Android application. This provides new and existing users a native Kast experience on their Android devices.
The need for applications such as Kast has never been higher. With the current state of
the world, spending time with friends and family, watching movies, and organizing business meetings have moved over to the internet. Our mission at Kast is to give users the ability to do all these activities in a single platform.
In this thesis I go through the Kast ecosystem and features with details about the Android
application scope and functionalities. I also explain what development tools and technologies I have used to complete the project.
I explore the Android environment and the Android framework by discussing the software
stack, the programming language Kotlin and modern robust user interface elements used
in the application.
An important aspect of this thesis is the audio and video sharing capabilities completed
with Googles WebRTC technology. I explain how the WebRTC fundamentals work in theory and what protocols and technologies it consists of.
In the latter part of this thesis I cover details about the development of Kast Android. I dive deeper into the Party Activity, which is where all the WebRTC functionality takes place, and discuss the WebRTC Android specifics with information on how the features are implemented. I will also go through issues encountered during the development of the project. These sections can also work as a guide for a developer looking to implement WebRTC in their Android client.
Finally, I summarize the results of the project and evaluate which objectives were met. I
also discuss my own learning experiences and envisage the future of the application.