-
When Player Plays It Too Safe: Unlocking Hidden HD Tracks on Android
It started with a simple request from the content team: “Let’s push 50 FPS for videos, smoother playback, better experience.” Reasonable enough. But once we rolled it out, a lot of users started complains about the videos stuck at 480p on multiple mid-range devices. No errors. No crashes. Just lower quality than expected. The playback…
-
Mastering Engineering Habits for Growth
It’s my turn for our team’s mini tech talk this week. You know the drill someone’s gotta bring a topic that’s interesting enough to keep people from checking social media halfway through. I wanted to talk about something deeper than just tools or frameworks. Something that actually sticks.Coincidentally, I’m in the middle of finishing Better Than…
-
When Smart People Clash
What Engineering Taught Me About NVC When Smart People Clash: What Engineering Taught Me About NVC My coworker gave a short tech talk today not about Kotlin or CI pipelines, but about Nonviolent Communication. And it hit me. Hard. Because conflict in teams is one of those things we all quietly struggle with. No matter how good…
-
Migrate to Grafana Oncall
TL’DR We are happy with OpsGenie. But to reduce our cost, we are migrating off from OpsGenie to Grafana oncall in just 4 months. Overall, we have a positive experience and feel happy with the decision. There are some obstacles that we need to plan around but all is good. On a peaceful morning in…
-
Multi-key DRM: A balance between security and accessibility
This article provides brief technical documentation on how a security mechanism known as multi-key DRM operates, which is also implemented in Vidio. Multi-key DRM is a security method for media streaming that involves encrypting separate video track groups (such as HD and SD) with different DRM keys and security levels. This approach enhances flexibility by…
-
Streamline Your UI Testing Efforts with Maestro
Introduction Modern software development needs test automation to handle complex user interfaces (UIs) and fast release cycles. Manual testing can’t keep up with the growing complexity of UIs, so automation is essential for reliable and efficient software delivery. Challenges in Current UI Automation Implementation The current state of our UI automation implementation presents several challenges…
-
Refactoring Google Payment
Simplifying Google Payment Tests with FakeGooglePurchaseServer: Power of Abstraction Testing in-app purchases involving Google Payments can be a nightmare. Current methods require extensive setup, including stubbing requests for various response scenarios from the Google Payment server. This can make tests difficult to read and maintain let!(:google_sku) { ‘com.vidio.nr.platinum.7’ }let!(:partner_product) { create :partner_product, product_catalog: non_recurring_product_catalog, partner:…
-
Version Catalogs Migration: Scalable Dependencies Management
Introductions This article demonstrates how to migrate our dependencies management from deps.gradle to version catalog toml, a new feature in Gradle 7.4. We decided to implement this feature after upgrading our project to Gradle 8.1.2. Version catalogs enable us to add and maintain dependencies and plugins in a scalable way, by creating a central list…
-
5 Amazing Years of Dedication with Vidio!: Novendra Sirait
As we commence this remarkable adventure, the Vidio team is brimming with immense pride and gratitude. Over the course of our 9-year journey, we’ve experienced a rollercoaster of success, growth, and learning, and this journey wouldn’t have been achievable without the exceptional dedication and hard work of our team. Today, we wish to highlight the…
-
5 Amazing Years of Dedication with Vidio!: Rasyid Ridho
At Vidio, we embark on an exciting adventure with immense pride and gratitude. The remarkable dedication and hard work of our team have been instrumental in achieving nine years of success, growth, and continuous learning. Without their efforts, this journey would not have been attainable. Today, we want to shine a spotlight on Rasyid Ridho,…