This is a guest post by Bartłomiej Bartel

I am a software engineer at Samsung Poland R&D Center and I have started my adventure with application development in Tizen and for Tizen based devices about 2 years ago. In that time I had the opportunity to create applications and games both for Tizen smart phones, like Z1 and Z3. The meeting with the Tizen Platform was also my first step to programming wearables. That made my Tizen experience even more interesting. I had the opportunity to create applications for Samsung Gear S, Gear S2 and Gear Fit 2 devices.

Samsung-Gear-S2-Fit2-iOS-beta-1

I found that creating Tizen applications is fun and that I can do it very easy. I have focused mostly on creating web applications using JavaScript, CSS, HTML5 with addition of the Tizen Web API of course. The applications run on the platform very swiftly so you can easily port your web projects from other platforms to Tizen and they will work fine. This is very useful especially for those developers who sell their applications in variety of application stores. You can just use the same JavaScript code base and publish your app on the Tizen Store and earn more.

 
Samsung-Gear-S2-GalaxyApp-GearApp-3
 

In the meantime for the last two years I was describing at the Tizen Developers Tip & Tech section many libraries and frameworks which could be useful in Tizen development. As I always was into game programming, so I started off to check how Tizen performs in game development using the web using Pixi.js and Phaser.js libraries. The first one is a simple space shooter example and the second one a 2D platform game. I have also made a kind of stress test for Tizen devices making game examples which incorporated an isometric world – like in this Wild West world. Then I thought that I can add some more burdens to the CPU by utilizing the easystar.js library to find paths in the next iteration of the isometric Wild West world. They performed very well in terms of performance and also in terms of programming. I did not need to tweak anything in the libraries in order to make them work properly on Tizen. So, I was encouraged to check out how other projects would perform on the Tizen Platform.

 
Samsung-Gear-s2-Gear-store-Galaxy-Tizen
 

I wanted to check the 3D graphic performance. And here again I got a pleasant surprise. I have tested successfully popular libraries like Three.js, Babylon.js and Scene.js. The last one performed really well with 3D animations in the Lumberjack demo (part1 and part2). As well Three.js did really good in this night scenery desert demo and Babylon.js in this underwater demo. I was really happy that they all were working great on a budget smart phone like the Z1. That meant that anyone could develop great 3D content for the Tizen Platform on Z1 and that it will work great in the future on even more powerful Tizen devices.

 
VLC-Tizen-Experts-Store-Samsung-Z1-Z3-Media-Player
 

In the beginning of 2016 I had also the opportunity to create a game for Tizen in Unity3D. The game is named Sub Explorer and can be found in the Tizen Store and in Samsung Galaxy Apps. The main concept of the game was to make it in a retro 8-bit arcade like style. The goal is to dive with a submarine as deep as you can and prevent it from hitting numerous obstacles while collecting treasures and diamonds. Unity is a great tool and works very well with Tizen. It was very easy to deploy the game from Unity3D to Tizen with just few clicks of the mouse button.

After focusing on game and multimedia I moved on to check how the most popular JavaScript framework will perform in conjunction with the Tizen Platform. I have created a simple, yet very handy Currency Calculator application for the Tizen Store using the AngularJS framework.  I have also described how to create this application from scratch using AngularJS and Tizen in a 3 part article series ( part 1, part 2 and part 3 ). AngularJS seems to work great with Tizen and Tizen based devices. I can surely recommend porting your AngularJS applications to Tizen and publishing them on the Tizen Store.

 
easystar_phaser-1
 

I have also published to Tizen Store an application called Who is in space right now? which is also built using AngularJS, but additionally it uses the JavaScript Box2D port and Pixi.js for rendering graphic and animations. The application shows how many people there are in space at the moment using an external API, which provides that information. The fun part of it is that all the astronauts currently orbiting in space are visualized in the application and have Box2D physics applied to them, so you can play around with them on the screen by dragging them with your finger. This project was fun to make and again it proved that developing for Tizen can be quick and fun.

When talking about Tizen you have to mention also wearables like Samsung Gear S, Gear S2 and Gear Fit 2. I had the opportunity to create a lot of different clock faces for them and publishing them to a wider public. This was something new for me. Programming for a whole new line of devices was really exciting. Checking their possibilities, venturing into their sensor read outs like pedometers, accelerometers, gyroscopes or heart beat sensors was sometimes a challenge but resulted in some cool watch faces warmly welcomed by the users.  

 
Gear-Watch-Designer-Samsung-Gear-S2-Tizen-1
 

I really enjoy the Tizen Platform. There is still much place for developers to publish on the Tizen Store which is getting new applications on a daily basis. What caught my eye in the past 2 years is also the development of the Tizen Platform itself. It evolved and matured. The tools have evolved, gained new functionalities. Installing new versions or updating the Tizen IDE has improved very well over the last two years. Issuing and getting certificates for your application got almost totally automated. For wearables we have now the Gear Watch Designer, which can help you with creating new watch faces faster than before. It is comfortable especially for designers who do not have to code in order to bring their clock face ideas to life.

The whole Tizen SDK has evolved and matured making Tizen a developer friendly environment. I really encourage you to try yourself the Tizen ecosystem. Create some applications, games, clock faces or just port your existing ones to Tizen and see how your download counters boost up.

Bartłomiej Bartel
 

  • hmoebius

    As a developer I have wanted to start working with the tizen SDK for a while, but it’s more hassle for me that it’s worth right now given that they have only released the SDK for one linux distro. A choice which excludes a large number of developers. I could spend days tinkering with pseudo-ubuntu deployments or virtual machines, but I choose not to because other SDKs are more accessible, and I’d rather not invest that much effort to try something out.

    Not sure why samsung chose to release a linux distro(tizen) SDK to only ubuntu, seems counter intuitive. Hmm.. maybe opening the SDK and letting interested parties build the packages would increase tizen adoption?