There’s been a lot of talk recently about Tizen, a new open source mobile operating system developed primarily by Samsung and Intel, and hosted as a Collaborative Project at The Linux Foundation.
So what is it, and why is it important? Fundamentally, Tizen is about convergence, and developing a single platform that can be used for all manner of devices. But to really answer that question, it helps to take a step back and look at the overall consumer electronics industry.
For years, Linux and open source have been on a steady progression toward dominance of the consumer electronics industry. In fact, it’s virtually impossible to name a successful product today (aside from those produced by Apple) that doesn’t use Linux, and even Apple makes extensive use of open source components in their products. Just have a look at the legal disclaimers on an iPhone or iPad, and you’ll see what I mean.
The reason behind this is pretty straightforward, and it has to do with the juggernaut economics of using open source. It is virtually impossible to develop a complete software stack from scratch, bring a complex consumer product to market, and still have reasonable hope of being competitive with everyone else – largely because they’re already doing this. It just doesn’t happen. As a result, Linux has made tremendous inroads in the consumer electronics market.
Tizen takes this a step further. When you consider the engineering pipeline of any large consumer electronics firm, it’s a safe bet that anything with a screen also needs a fairly sophisticated operating system.
The dilemma faced by companies with a diversified product portfolio is that it’s really easy to fork an OS for the sake of getting a product out the door, but really hard to maintain hundreds of variants afterwards.
The true value of Tizen is that standardizing on a flexible OS allows a consumer electronics company to build a lot of products from a common base, while only maintaining one version of the core code. To put the upcoming Tizen handset (and all other Tizen products in the market or in the pipeline) into context, each one is a variant built of the same core platform.
This is good news for Samsung, because it allows them to focus their energy on maintaining one core platform instead of many, but it’s also good news for consumers because it allows higher quality and more competitive software to be developed more quickly.
From an app developer’s perspective, it also increases the likelihood that Tizen-specific skills will be portable across a variety of device form factors and products.
I get a lot of questions about Tizen, and how it compares to other platforms. Setting aside for the moment that mobile phones are only a part of the story, I believe it compares quite well, for a few reasons.
First, Tizen has no legacy, no historical architecture that couldn’t be changed or updated as the system stack was refined over the past few years. As a result, it has been possible to create a system that is fast, efficient and modern. For example, the graphics toolkit in Tizen is EFL, which is an exceedingly fast, efficient, and scalable environment. Adding support for the Wayland display server is a priority in Tizen development. Work is ongoing to incorporate kdbus and container support.
Empirically, we’ve seen evidence that the system stack really does deliver a competitive experience in actual products. A good example is the Samsung Gear 2, where the second generation (which introduced Tizen) performs better and has longer battery life than its predecessor. In other products like the Samsung NX300 camera line, you won’t find Tizen on the box, but the experience speaks louder than branding – reviews are overwhelmingly positive.
In these cases, it doesn’t matter all that much what the OS is, just that the device works well, responds when you interact with it, and the battery has a charge when you pick it up.
While it remains to be seen what the consumer sentiment will be about a Tizen phone, it has certainly done well in the products that have been released so far.
The inevitable question that follows is, “That’s great, but what about apps?”
This is a question worth asking not because it reveals some deep fundamental truth about Tizen itself, but rather because the world of app development has changed from when Android and iOS emerged - a lot.
Back when Android came onto the market, it was a totally different story. HTML5 wasn’t a realistic option for high quality apps, and if you chose to write a native app, you pretty much had to learn and use the platform’s SDK to do so. Consequently, if you wanted to deploy on multiple platforms, you had to write your app multiple times.
So what’s changed? First, HTML5 is now taken a lot more seriously as a deployment platform, helped greatly by technologies like WebGL and by platforms (like Tizen) that expose a lot of low level device functionality to web apps. Candidly, it is finally living up to the original hype and promise that various pundits have been spouting for years.
From the very beginning, the strategy with Tizen has been to support both a rich web API and native C++ API equally well. The Tizen platform team has taken faithful implementation of the HTML5 spec very seriously. In fact, Tizen scores 497 on html5test.com, higher than any other mobile browser.
But beyond HTML5, there’s another market dynamic that has come into play. Recently there has been a major increase in the number of third party runtimes for mobile app development, such as Marmalade, Sencha, Unity, Cocos2d-x, and so forth. These tools are increasingly used because they provide some form of value to the app developer, whether it’s a set of libraries that make it easier to implement realistic physics in 3D games, or enable you to write in C++ on any platform, or any number of other reasons.
However, they also have another characteristic. Typically developers who use these tools write their apps directly within the runtime’s own SDK, rather than in the native SDK of a given platform. The runtime’s SDK then handles the process of translating and packaging the app in the preferred format for the Google Play Store, or the App Store, or the Tizen Store, or any number of others.
Put differently, writing an app using one of these runtimes effectively allows developers to write one version and deploy it to multiple stores, without ever needing to learn the native APIs. As long as a brand new platform is a supported target, getting an app into a new app ecosystem is as easy as opening a store account and submitting it.
I bring this up because a lot of work has gone into adding Tizen as a supported target for many of the top development runtimes. As of now, Tizen packages can be created using Appcelerator, Cocos2d-x, GameMaker: Studio from YoYo Games GameSalad, Intel XDK, JoApp, Marmalade, OpenFL, Project Anarchy from Havok, Scirra, , Sencha, and Unity, to name a few.
In addition, other companies outside of Tizen have been working on ways to make the process of porting apps developed specifically for other platforms to Tizen. For example, OpenMobile’s ACL product provides a wrapper for Android applications that allows them to run on Tizen. Other products enable translation of apps developed for other platforms into Tizen apps.
To be clear, this does not mean that Tizen natively supports Android apps, but rather 3rd party software can be used that allows apps from other platforms to run seamlessly on Tizen.
Finally, it’s no secret there have been rumors of Tizen phones for a while. It is not uncommon to hear questions about timelines. Is it too late? Has the ship sailed? Can the market even support an additional OS?
I believe that it’s not too late, the ship hasn’t sailed, and yes, the market can. Here’s why.
When you look back through the evolution of the modern smartphone market, there are a few major inflection points.
First came the early smartphones. The Palm Treo, various iterations of Blackberry, and so forth.
Then the iPhone was released.
At first, it was really common to hear, “But it’ll never gain traction because consumers don’t care about apps. That’s way too nerdy, and way too expensive. Regular people like my mom and dad just want to make phone calls and text.”
Of course, we all know where that went. In a very short amount of time, a large number of regular people suddenly cared about what was in their pockets, the apps that were installed, the version of the operating system, and access to mobile data.
Then Android arrived on the scene, with the G1 and the original Motorola Droid.
Suddenly, the tune changed to, “Ok, consumers care about apps and they’re willing to pay for a phone and data plan. But Android will never gain traction because consumers just love the iPhone so much. This game is over, and Apple has already won.”
We all know where that went, too. Ultimately, the early success of the Motorola Droid convinced other (non-Apple) manufacturers that there was real value in selling smartphones, causing the rest of the market to jump in.
Over time, though, it has gotten hard to distinguish one manufacturer’s device from another. There are curves and different bezel materials, but in the end there is very little difference between phones.
It’s a fundamental truth of open source that work gets done when there’s an itch to be scratched. The itch in today’s mainstream mobile market is that it’s virtually impossible to innovate the user interface unless you are Apple or Google. This is where Tizen (and a variety of other flavors of Linux) come in.
From the start, a design principle of Tizen has been that it should be easy to rip the stock user interface and replace it with something else. This may be to accommodate a new UI on a standard form factor such as a phone, or it could be a completely different device category. Either way, Tizen is built for specialization in a way that doesn’t fragment the platform.
Incidentally, it’s for this reason that any screenshot you’ve seen of Tizen from tizen.org will bear little resemblance to the finished product.
So the biggest question is, what will consumers think? When it comes to mobile phones, I firmly believe the Tizen experience will be a good one. For everything else that will be running Tizen, I’m not even certain a consumer would be aware of the OS so long as their TV turns on quickly, their food stays cold and their camera takes an awesome photo.
Learn the best ways to organize your app development projects, and keep code straight, clients happy, and breathe a easier through launches.
Write and run code every step of the way, using Android Studio to create apps that integrate with other apps, download and display pictures from the web, play sounds, and more. Each chapter and app has been designed and tested to provide the knowledge and experience you need to get started in Android development.
How to create a profitable, sustainable business developing and marketing mobile apps.
This content is made possible by a guest author, or sponsor; it is not written by and does not necessarily reflect the views of App Developer Magazine's editorial staff.