Languages

Menu
Sites
Language
A honest critic on the Tizen developer platform from an outsider

Dear developers, dear platform owners and stakeholders!

Just a few weeks ago I started developping my first app for Tizen (web app for wearables). I am a professional developer usually deep in the Microsoft .NET environment (Azure, Web applications, mobile) and I usually do not have anything to do with Linux or other environments in general. As an outsider coming from an entirely foreign “world” I want to share some personal thoughts about Tizen and its developer environment as I think it is not really attractive from a developers point of view and I really hope that this helps to improve it. First some positive perspecitives:

  • the ability to use Html, Css and Javascript is really nice and helps new developers to start quickly with their existing knowledge and skills
  • all the tools are there, including samples, emulators, documentation, community etc.
  • there’s even access to real devices (although they are all outdated and for some scenarios there is no device, see circular ui wearable aka Gear S2)

This is a nice base to start with, but on the other side they are also absolutely required and commonsense  (every competitor in the market offers the same), so no extra points there. Now to some of the negative aspects which really annoy me:

Everything is just an alpha or a beta at best! Just look at this website itself: it is slow, it is confusing, it is hard to find information and most of the time the informations are even wrong or at least incomplete or outdated. And it’s full of bugs, i.e everytime I visit the page it appears in another language and stuff like that. That’s just outdated and unprofessional.

Just a few examples:

  • there is no documentation (or only asking the community or googling it will reveal where it is) on how to certificate an app to run on a test device. Something that is a) absolutely not obvious and self-explaining and b) every dev will need to do so in the development process. And btw: certificates by mail in 2015, really?!?
  • So much basics are not really getting explained unless you’re getting in trouble. I.e navigating between pages: there is no word about the fact, that existing pages are just being hidden instead of navigated to like it actually happens when you test the app in the browser (ctrl+4). That wouldn’t be a problem if these things were self-explaining or common, but they are tau specific and not really what one usually expects, so this should be properly documented
  • If you take a look at this page’s description of the distribution process you’ll only get pointed to http://seller.tizenstore.com/, but for wearable apps you’ll need to go to Samsung’s seller office. Not a big deal, but such little but common things should be noted as well. It just can’t be that one has to google it or as the community for simple basics as this.

Another point why I call the SDK an alpha or beta is that it is simply incomplete. If you look at the design guidelines for the wearable  circular UI (which is really beautiful and innovative by the way!) you’ll note many exiting controls, but that’s all you get. Most of them are not provided by the SDK or one of its extensions, you’ll need to implement them by yourself. Sure we can, but I just don’t see the point where every developer has to implement the same controls by himself. One proper reference provided by the SDK is simply a must have. In my entire career I’ve never seen an SDK where the guidelines propose a control which then is not even present in the SDK. Also there seems to be a big difference between native and web apps. Take the time picker control for example: on the native implementation it looks almost like the one presented in the guidelines, but the web implementation is just a cheap compromise. That would be acceptable if web applications where just a minority, but if you look at the issues in the community you’ll see that native and web are more or less equaly used. Don’t get me wrong: of course it is possible to implement whatever you’ll need, but as a developer (=customer of your platform) I do not want to get down into details what the platform should deliver. If you provide guidelines which control is to use when then you absolutely have to deliver these components, including examples. I don’t want to waste time with stuff that is basically there; I don’t want to do your work. I want to develop my application, my product and then in the counter draw the platform owners benefit as more apps lead to more users and of course they also get a cut of the sales. That’s how it work, not the other way around.

Then there’s fragmentation. i.e the Tizen 2.4 preview is out for mobiles but not for wearables. Why is that? Clearly there’s a lot of effort in behind and I understand that there might be technical reasons behind that decision, but at least a time-line for the previews/releases should be provided. Or at least one word about the wearable preview/release? Would it hurt that much?

In my eyes all these points make Tizen as platform looking very uninspired and half-backed. It clearly has potential, but it appears as the initiators are not really certain about their own platform, so how should (new) developers be? You’ll need to push the platform by polishing it down to the last detail.

Right now it just ‘works’ and that’s fine, but if you want Tizen to grow and become a more powerful platform you’ll need to attract developers, you’ll need to give them the tools they want, you’ll need to make it more fun to develop and you’ll need to give real reasons to develop for Tizen!

This is just my personal sight, so do you agree with me? Or is it just me and everything is perfectly fine? Please don’t get me wrong: this is not about making Tizen more bad than it is, it is only an honest and personal opinion  on how to drastically improve the quality and appearance of the platform for dev’s which then sooner or later will account also for end-users.

Responses

9 Replies
John Ixion

Hi Philippe,

Very interesting, thanks !

Couls you post this in the mailing list please: https://lists.tizen.org/listinfo/general

Philippe Wechsler

Thanks for the hint, I'll do that!

Scott Chaney

I agree.  Coupling this with the relatively small market for Samsung wearables, I'm honestly this close || to moving on to more productive platforms with better potential.

Dong-hyun Lee

Thank you for your precious opinion. I want to ask some more details about your mention above:

1. In the paragraph "So much basics... ~~~ ...so this should be properly documented", could you explain more detail? It seems that SDK does not offer the popup help. Or, do you mean that only TAU guides are offered not html/w3c guides for web UI/app development?

2. You mentioned Tizen 2.4 is fragmented. My understanding is that time-line or roadmap for Tizen 2.4 for wearable or later versions, is it right? Or you mean that just time-line in an version such as Tizen 2.4 preview for mobile at September, Tizen 2.4 release for mobile at november, and Tizen 2.4 for wearable at March 2016? 

 

 

Philippe Wechsler

Hi,

1) Mostly I am talking about TAU documentation: it exists, its just spare and incomplete. Just look at https://developer.tizen.org/dev-guide/2.3.1/org.tizen.web.apireference/html/ui_fw_api/wearable/widgets/widget_circularindexscrollbar.htm : the sample code isn't even complete!

Then I was looking for details on how to implement widgets, how to customize the controls (only a short description of the used css classes would be enough already), how the pages actually work (https://developer.tizen.org/forums/web-application-development/triggering-pageshow-event-second-time), how can I show the onscreen keyboard? For all these questions I was unable to get the answer from the documentation. Do I just look on the wrong site, have I missed the point or where are the details about that?

Another way to compensate the weak documentation would be improved samples (more and complexer samples) please provide samples for widgets, for UI customization for combined UI components (have you ever tried to combine the marquee and the animated list just as the stock apps do?)

2) I guess its a timeline and communication problem. For the mobile release there is a preview with all the details what's new. For the wearable release I cannot find a single word: what is new, when does it get released? You mentioned March 2016, thats exactly the information I needed, why is that not written down somewhere, i.e https://developer.tizen.org/development/preview?

Heeju Joo

Thank you for your several opinion for TAU. I want to ask some more details and feedback about your opinion.

 

1. In this paragraph,

"So much basics are not really getting explained unless you’re getting in trouble. I.e navigating between pages: there is no word about the fact, that existing pages are just being hidden instead of navigated to like it actually happens when you test the app in the browser (ctrl+4). That wouldn’t be a problem if these things were self-explaining or common, but they are tau specific and not really what one usually expects, so this should be properly documented"

Remaining of previous page (dom remains and just display none) is internal policy of TAU. And IMHO, It doesn't seem to be need to comment detail in TAU documentation. According to the memory, I didn't find any mention about  the fact (that exisiting pages are just being hidden) in jQueryMobile also.

Should we mention all about our library in details including library policy?

 

2. About Web UI Component Guide in SDK document

We already refer all UI Component that we offer and refered in UX guide..

But We also think we need to strengthening TAU API reference and UI Guide(tutorial). And we will add more detail guide for our UI Components later.

 

Thank you.

Philippe Wechsler

Hi,

1) Please refer to https://developer.tizen.org/forums/web-application-development/triggering-pageshow-event-second-time. I agree with you that the internal details do not have to be explained in detail as long as the users of the framework do not need that knowledge. But in my case I struggled exactly because I did not now that the pages gets combined into one single body. As I mentioned bevore, I am an 'outsider' as I do not have any knowledge about JQueryMobile. So the question is: do I as developer have to inform myself about JQueryMobile or do you as framework provider have to do that? Why not make a compromis and just mention the relation to JQueryMobile more stronlgy? Or how about a litte description what belongs in the responsibility of JQueryMobile and what to TAU? That would be great!

2) My primary intention is to provide an app to my customers that seamlessly integrates into the os. That means I want to have the same behavior, the same look and feel as the gorgeous system/Samsung apps have. Right now that's not possible or only by reimplementing existing components. I.e

 - I've completly unable to get the same scrollbar (yes there is an circular one, it looks different than the ones used by Samsung)

 - There are missing components, such as the onscreen keyboard, the anchored view dialer. In fact, all what's shown on https://developer.tizen.org/design/wearable/ux-overview/navigation-views-on-circular-type-wearable-device should be available as a prebuilt component

 - Then there are existing components but they are not complete. I.e I wanted a list with the scalation and the maquee animation. There are components for both aspects, even a helperscript, but there seems no way to combine that (although that is used in the entire system). 

 

I'd really appreaciate the improved guide you mentioned!

Thank you!
 

Doug Reeder

My thought is that better documentation of the steps required to port an existing mobile web app (and polish it for Tizen) would greatly expand the number of apps.  In particular, how to package  an existing web app (rather than creating a new one using the templates).

Björn Kapteina

Hello there,

I'd like to point out that Phillipe is not alone with his oppinion. I haven't released a paid app for the gear S2 so far but I would like to publish my work. The problem is that it takes way more time than expected. As I'm not a professional software engineer but doing this for my personal interest and hobby it is even harder for me to get going. My problems are quite similar to Phillipe's and looking at the forums I'm quite sure there are plenty people out there who would like to develope applications for the gearS2 but struggle with the basic framework, which is giving them a hard time. Personally I'm looking into alternative Framworks which would be more reliable but a little bit more work to handle. In the long run I would probably be faster as I'm putting 90% of time into finding bugs and undesired behavior from TAU.

Greetings

Björn