Feb 3, 2022

Customer centric leadership

Showmax Engineer
Showmax Engineer
Customer centric leadership

Interview with the Android team leader Martin Surab

The Showmax Android team is garnering more and more attention for its customer-centric moves — the most recent being for the beta version of the Showmax Android app, which is an official testing channel in the Google Play store. About-to-be-released versions of the Android app are available there for eager subscribers shortly before they are released as a regular update. The team is open to the public ready to listen to the feedback.

We spoke with our Android team leader, Martin Šuráb, about the beta app, collecting feedback, bug fixes, automated testing, and some of the changes envisioned for payment methods.

Martin Šuráb at the Showmax Xmas party in 2019

Last year, you were busy bringing attention to the beta version of the Showmax Android app. Why did you decide to seek more attention for it?
There are two sides to that. First, we want our most engaged users to try out the latest features we have ready for a release because their feedback is incredibly valuable to us. Our beta testers — the early adopters — are true fans of the app, know it well, and they often anticipate new functionalities and features. I occasionally reach out to them directly in relation to a given review to ask for feedback on an upgrade we’ve made.

So, you know them by name and reach out to them as your friends in development? Do they get something in return on top of early access to new features?
Sometimes, when they report a curious issue that is hard to reproduce or involves devices that are harder to get, we reach out to them directly and together we nail the problem down. There have been more than a few times where this has helped us tremendously. Then, through Customer Care, we provide them some sort of “bounty.”

Similarly, we stay in close touch with various manufacturers and vendors who want to pre-install our app to their devices, or bundle the subscription with a mobile data package. Doing these types of things has led to several improvements to the Showmax app, to our infrastructure,and they’ve even sparked some technical improvements to actual Android devices.

We are a key player in the sub-saharan SVOD (eds: streaming video on demand) market, and it’s usually quite beneficial for the customer when the developers of applications and devices work closely together to bring the best service possible. We regularly see our apps — both Showmax and its sibling DStv — on the list of featured and best performing apps in the Huawei AppGallery. We regularly communicate with them about ways to improve their ecosystem for the benefit of their users. Similarly, we cooperated with Xiaomi, which we wrote about back in 2018: Making video on demand work for everyone. Most recently, we were involved in ensuring the technical readiness for Showmax partnership with Mauritius Telecom.

You said that having friends in development is just one reason to promote the Showmax beta Android app. What are some others?
The second is more pragmatic. In the fragmented Android world, with its multitudes of system versions, manufacturers and brands, it is virtually impossible to cover all the potential combinations. We simply need to rely on testing in the real world. Having more people using the app in the beta distribution channel gives us broad coverage of this landscape and quicker validation that we haven’t missed anything that could cause issues for users after the release.

You timed the announcement of the beta app to the release of the picture-in-picture (PiP) feature. What is this feature about and why do people love it?
PiP was the perfect teaser for users to jump in and try the version in beta. The feature had been long-anticipated as we waited for adequate support on iOS, where the feature was available starting from iOS version 14 — and we could finish development after its release. A lot of users were waiting for PiP and very eager to try it.

To explain, the PiP feature allows you to play the video in a small floating window on top of other applications without interfering with them. People love it mostly because they don’t need to interrupt the playback to be able to chat with friends, search for some trivia or ideas from the video they’re watching, or simply keep up with the world.

This is especially useful to us because Showmax offers live sports and news on top of on-demand series and films (which can easily be paused and resumed whenever you want). People don’t want to miss a story, an amazing play, or a goal from their favorite team just because a text message came in that they want to read.

We made sure to have this feature ready for the 2021 Summer Olympics — which included rolling, full-day coverage. With PiP, Showmax users could keep the stream running on the side and still do any other work.

The preview of PiP feature in the Showmax Android app

So you launched PiP and promoted the Android beta app to collect feedback on it. Was it a success? Did you receive more reviews and feedback than usual?
Our goal was to have a reasonable adoption rate in terms of installs of the new version in the first day or two after publishing into the Beta channel — and that’s what happened. Though we get quite a lot of feedback via reviews or other channels every day (mostly for the regular version of the app), we still want to promote the Beta channel further.

The development (mainly finishing) the PiP feature turned out to be quite punishing. Why? What was tricky about it and what did you learn?
We decided to take the “hard way,” and allow the application to run alongside the video played in PiP mode, which some applications avoid. That way, to some extent, you allow your application to run twice next to each other. That adds additional complexity and extra use cases which you wouldn’t need to care about if the application was running just as a regular full-screen app.

Additionally, we uncovered some more technical challenges - both systematic and related to the Android OS, as well as business-related concerning playback rules. We plan to sum this up in a tech blog post, stay tuned…

You are releasing many new features. What can users expect next, and what guides your choices on what to develop?
Currently, we have quite a lot of work streams that have resulted in having multiple Product Managers and Designers working closely with our team. Last year, we strengthened our focus on the Android TV experience, which is getting very popular and is an easy and cheap way of upgrading even older TV screens and receivers to a modern smart tv device. Plus, it’s a large screen and that’s where you want to watch your shows when at home. As a result, we concurrently have a lot going on in two separate worlds - TV screens and mobile devices.

On TVs, after several months of testing and interviewing our customers, we have a solid roadmap for the most obvious and impactful improvements. We’ve already completely redesigned the main video player, and added profile management to the Android TV app. Previously, users depended on their mobile phones when managing profiles. Currently, we are redesigning the whole UI and navigation to resolve all of the pain points and limitations we identified during the research phase.

That sounds like some big leaps forward. How about Android mobile devices? What’s planned for the near future?
On the mobile end we go with the Continuous Discovery approach (inspired by Teresa Torres). This platform, as the largest one, receives constant focus and priority. Currently, after roughly two years, we are also redesigning the player with a clear focus on saving our users’ data — a crucial part of their experience. And, there is a big quadrennial sporting event coming this year again, the FIFA Qatar World Cup, and we want to be ready for it so that our users can enjoy the best possible experience on mobile devices.

About the user experience, when reading the changelog, we can see that the Android team has worked intensively on solving discovered bugs. What’s the process, and how do you keep the app moving forward and still tackle all of the issues?
First of all, you always try to push the app forward. Bugs are inevitable, but it’s important to remember that not all of them are bugs as such — it can be a forgotten edge case, or an exceptional path, or a not well-thought-through change in functionality. We don’t really count them or plan working on them in advance. We also don’t do sprints — generally, we work Kanban-like. When we find an issue, we try to triage quickly and determine the impact — we have a large user base, and we need to ensure that we don’t break the experience for them. We usually check how limited (or big) the impacted subset of devices is and whether it’s a real issue, an annoyance or more like a cosmetic problem. Based on that, we either fix it ASAP or postpone it for the future. Obviously, if it’s a Customer Support escalation, we take that as a high priority.

We are usually quite cautious with releases and feature development. We have mobile team groomings (both iOS and Android Devs, QA, Design and Product) where we fine-tune the ideas and propositions. When the feature is ready for implementation, we “groom” again, with an emphasis on functional requirements. Our QA plays a crucial part here by preparing their test scenarios in advance so they have all the not-so-happy paths and edge cases ready at hand.

When the work is ready to be released, we usually show it off at a company-wide demo session where all of the teams can review it. We also have people from Customer Care and Support attending so they know what is coming and can be fully-prepared to help customers if needed.

All of the updates that you prepare must be tested, obviously. How do you do that in the Android team? Do you use manual testing, automated tests, or a mixture of both?
Mixture of both. We try to follow the 80:20 rule with automation, and focus mainly on the important and frequently-used parts — we don’t really aim for 100% test coverage.
We also test each change (or commit) separately prior to its going to the main branch with a set of unit and integration tests, followed by UI and end-to-end tests (partially automated based on feasibility); followed by a manual testing - which mostly focuses on usability, edge cases, and exploratory testing.

We also heavily rely on analytics events in our apps (since they run far away on users’ devices). A part of the delivery is usually a dashboard, chart, or view with the crucial metrics to track the actual functionality and potential issues.

QA used to play catch-up on testing and had a lot of work with each new release. With the addition of a dedicated Automation Engineer to the team, we improved our continuous integration (CI) tooling, and are now able to add new automated UI tests quite easily. UI tests, together with defining the tests before the actual implementation, allows us to cover the crucial parts pretty well.

How do you see the future of testing at Showmax? Will you fully rely on automated testing?
Well, definitely not fully automated. You surely want to automate the repetitive and obvious stuff, and, ideally, the things that take too much time to test and those that are critical to the user experience.

In general, you mostly need quick feedback that changes you made haven’t broken anything significant — having too many tests trying to ensure that could ruin this experience. Also, as mentioned previously, there will always be things that haven’t been accounted for or simply do not really fit in well, even though they work as expected. This is the unknown - with automation you can only account for the already known.

Speaking about the unknown, or unexpected. Google has announced that, starting from spring 2022, all transactions must be made using Google Pay. Many of our customers use M-PESA, pay from subscription through their mobile operator, or MoMo and other payments. How will your team respond to this forced change?
This is more a question for Product or Business people. We simply need to comply with the policy if we want to continue our presence in the Google Play Store. As such, there is little room for tweaks. Thanks to our being a local brand, we were well aware of all the specifics of various African markets, especially in the payments domain. As you said, it is still quite common that people in our markets don’t have or use a credit card for payments. With this change, we will likely lose an edge there on mobile devices. Our users will still be able to use their preferred payment on other platforms, but it will be less convenient. Or, maybe Google catches up and starts supporting these payments as well. In the end, it’s a large market they’d be missing.

The Android team at the teambuilding in Ola Kala

When you work to make customers happy, and it all starts and ends with them, is there any parallel with how you work with your team? How do you work to make them happy as well?
That’s a tricky one. Mostly we try to emphasize that everyone getting in touch with your work is your customer, be it a reviewer/QA or another team member. Setting the expectations right is a good start, especially now with remote work and all of the personal matters naturally stepping in. We have flexible working hours (for real) — some people start at 6am, some people occasionally end around 10pm. When e.g. our QA starts at 6am, the task that needs testing must be all set so that the QA team doesn’t get stuck until 9am or whenever the respective developer clocks in.

We also try to communicate our working status better. Previously, we used to sit as a team together in the office and reachable for everyone. Now, when you are not working during working hours you simply indicate that you are having lunch or commuting and when you are back so that your colleagues can easily adjust their schedule or, eventually, reach out to someone else - which sounds like a win-win for both sides.

How I personally work with them - they are my customers, basically, and I try to be a helping hand as needed. My main focus is on providing the necessary context, unblocking their work, trying to get the obstacles out of their way, and simply finding ways to create meaningful work. Ideally (sometimes, I am even called esoteric for that).

You attend Happiness@Work conferences regularly and keep track of what other companies do to improve their work environments. What benefits do you value the most at Showmax?
Showmax, to me, is an engineering-driven company. The floor is yours - that is one of the best benefits you can get. It might be tough at times, and some people might not like it that much, but you can have all the freedom you want - and the responsibility that goes with it. If you want that challenge and space to explore, you should be really happy here.

This keeps people very engaged and self-driven, pushing for their ideas and work, and not just waiting for someone else to tell them what to do. From day 1 at Showmax, I was impressed by the energy and enthusiasm. Four years later, and more than double the size of the company, I am happy this is still the case.

As suggested previously, the task at hand for me is not to make people do their work (and I’m so glad for that) - it’s more like how to let their work make a bigger impact, and occasionally guide them with product priorities or context. But, for the most part, I let them come up with their own ideas and give them the freedom to challenge… basically anything.

Share article via: