Today I want to talk to you about Samsung’s open source project created to minimize overhead in TV application development: Write once and run everywhere with TOAST for Smart TV.
For a better understanding, in this following post we will be approaching the following topics:
- What is TOAST
- What is the challenge we want to solve with it
- How we can put our hands on this as soon as possible.
2015 was an important year for the Samsung Smart TV platform. Based on the strategy of standardizing its various devices, this was the year that saw the introduction of the Tizen operating system to the new range of high end models of Samsung Smart TV. However, it was also the year that developers faced a new challenge, as the introduction of this new platform came fragmenting the ecosystem of applications for Smart TV.
On one hand we have Legacy OS, which can be found in Samsung Smart TV’s from 2012 to 2014. And on the other one we have the Tizen OS, found in current models from 2015 and 2016.
For deploying a new service to the Samsung Smart TV ecosystem developers should make two apps, one for newest models with Tizen and another one for the previous models with Legacy OS. But the question here is: Why should the developers support both Samsung Smart TV platforms?
Right now, Legacy OS TV shares over 60 million units in the market and the expectation for our Tizen TVs is to hit and surpass the 21 million units for this year.
It’s noteworthy to mention that TV sets with Legacy OS cannot be upgraded to Tizen OS. Knowing this information and based on studies that reveal consumers only replace their TVs every seven or eight years it is imperative not to ignore this big part of the market.
Any application developed involves constant maintenance and support. So if we have barely the same application in two different platforms this doubles the effort and the costs.
Smart TV developers need to deliver the same app experience in barely different platforms using just slightly different tools.
Now in recent (or not so recent) times we already have encountered a similar problem in another popular platform: mobile. Where we had to deliver apps to similar devices but with different operative systems. So based in that study case and their solutions we can come across to a common ground.
Samsung Smart TV platforms are based on web technologies for both Legacy OS and Tizen OS, relying on specific APIs to manage TV features.
We have the user interface layer, which is composed of web standards like HTML5 and CSS3.
So as you can see, we have a common ground both in the user interface layer and in the core of our application, in which just a tiny little part of the structure that needs to be change depending on the platform we are using.
So what if we can just unify that tiny little part that may differ and make it change depending on the platform we are focusing on?