Building applications for the big screen can be very difficult to nail down. There are many factors that make a successful smarttv application; some which are very easily to handle, others that are incredibly difficult to manage. In this blog, we’ll take at some tips and tricks you can apply when you’re working on improving your smarttv application.
Keep it simple
Arguably the best and most important tip I can give, is this: keep it simple! This applies to many factors of your application, but we can roughly break it down into two different parts: focus management, and the playback depth.
Don’t you just hate it when you can’t see where you are navigating on the screen? Easy to use focus is one of the main aspects in making sure your users love working with your SmartTV application. Translating that into your design, there are some steps you can take:
- Ensure enough distinction between focus and non-focus states. This can, among others, include using a clear to see focus border, increased tile size on focus, and making sure there is enough contrast between posters and the colors used to indicate focus.
- Have clear navigation paths. Make sure the menu is easily accessible, don’t use crazy weird poster sizes, and make sure focus follows the logical flow as they are placed on the screen.
Users are in your app for just one thing: starting playback. The longer it takes for them to start playback, the faster they will drop off and stop using (and paying for) your service. So it is vital to have quick and easy access to playback. You can simply manage that by decreasing the amount of pages a user needs to click through before playback starts. We call this the ‘playback depth’.
Imagine the following types of content:
- Continue watching of movie
- Any regular series tile
In case of the first ‘continue watching of a movie’, you can easily (and should) place them in a content row on the homepage. Then, when a user clicks the item, why would you feel the need to show a detail page first? Rather, the user knows the item is for continuing where they left off. So we can do that, and start playback immediately when the user clicks the item. Even better can be detecting longer focus on the continue-watching item, which starts playback automatically. The ‘playback depth’ in this case is 1.
For the second case, we’ll generally have a tile on the homepage that leads to a detail page. Now, rather than requiring the user to manually select an episode, provide a ‘play’ button straight at the top of the detail page (this would be ‘playback depth 2’, and start playback of the most logical episode). You can of course still give the user the option to manually select an episode, but the sooner the user can start watching, the better.
As a general rule of thumb, you should keep the playback depth number as low as possible. Because, as we know, the quicker the user can start playback, the lower the chance of churn.
Keep it performant
There is nothing worse than an application or video that keeps on loading. While your application might have a great level of playback depth, if that video keeps loading for more than 5 or 10 seconds, your users are very likely to exit out again just as quick as they got into the player. The same applies to your application in general. Making sure the content is quickly presented on screen, and the app can be navigated around as soon as that content is visible, is crucial. Here are a few tips and tricks you can apply to improve and guarantee great performance:
- Ensure content is lazy loaded (content is only loaded when it needs to be visible on screen).
- Use images only in the physical screen size they are used (reduces to load times due to smaller image file sizes).
- Start video playback at a lower resolution.
- Test your application and video playback with clamped internet speed (gives you feedback to look at with slower internet speeds, easy to spot biggest bottle necks).
Yes, these really are just the tip of the ice berg when it comes to better performing applications and video playback. Both the choice in application framework (e.g. using React versus Lightning), as well as the way the streams are setup (proper CDN setup, bitrate ladders, …), have a huge impact on performance. The tips I’ve given should however be a good start, regardless of the technology you have chosen.
Don’t do it alone
The final tip I want to leave you with, is one you might not expect. It has nothing to do with what you can actually do with your applications or streams yourself — rather what you sometimes shouldn’t do yourself. There are incredibly talented and smart people working at different companies in the OTT and video playback space.
In need of an expert on video players to make sure your app does things correctly? Reach out to the likes of THEOplayer, Bitmovin or others that have a wealth of experience with players.
Just can’t get your application performing well enough where users cannot start navigating, or experience lags? Reach out to an app developer with experience in the field! As they’ve dealt with issues like these for years.
The same applies to the actual video streams, analytics, recommendations and a whole lot of other topics that can have an impact in your application and playback performance. Use the experts in the field to your advantage.
SmartTV development isn’t easy, and there are many things to consider when you’re building out your application. Keeping the design simple and clean to use is incredibly powerful for setting your application up for success. On the other hand, we have to make sure that the application performs well and doesn’t keep users from watching the content of their choice.
Finally though, it is okay to admit you need some help! Many people and companies in the OTT space exist solely for that — to help you achieve the most success with your apps. So if you get stuck, especially after trying the tips and tricks I’ve just given you, reach out to an expert!
Speaking of, if you’re in need of more information on anything video app development, feel free to reach out! Thanks for reading :)
Peaked your interest?
Try some of my other blogs!