GWD, Tizen Studio, what's that?

So developers keep talking about a watch face that was built with "GWD" or "Gear Watch Designer", a "web app", a "programmed face" or maybe only a "dev face". What's all that? And why would you care as a user? Well, here's why: the way a watch face was developed affects its functionality, update capabilities and a lot more. I'll try to shed some light on all that with this article. It will help you understand what you're dealing with, and it will help you understand some bugs, errors or issues better when you encounter them. So here we go...

What is a watch face?

First things first - what is a watch face anyway? Is it software? A program, an app, a script, just a bunch of graphics?

It is software. Everything you see on a digital screen is software. But it's not a program, and it's not "really" an app as well. Programs or apps are executable things. They can be launched and closed and they can handle themselves. All you need is an operating system and a screen. Watch faces are simpler: they are a type of widget! They can't run by themselves and they require a container to run inside it, like a web browser. But while running, they can act like a program (or app): they can change their states (time is changing, watch hands move) and you can interact with them (tap to change color, open a menu). They just never "start" or "stop", they're just there. And unless you want to build your own, that's about all you need to know about that matter ;-)

Which brings us to the good part: how do you make watch faces?

Gear Watch Designer and Tizen Studio

There are two "major approaches" to create a watch face, and they are based on different software tools:

1. "Native" watch faces built with Samsung's Gear Watch Designer (or just GWD)
2. "Web-app" watch faces programmed with Samsung's Tizen Studio (or just "the IDE")

There are ways to use the IDE for native faces, too, but it requires in-depth knowledge of the C programming language. It's an old language, rarely used nowadays, and the effort needed to master it just to build watch faces is too high for what you're getting in return. So I'll focus on the two options mentioned above.

Gear Watch Designer

TIZEN Studio

GWD, or Gear Watch Designer, is a graphical editor software which generates a native app. It looks a little like Photoshop with a timeline. It comes with lots of predefined assets to use, you can click your way through building a watch face, it's easy and fast and it gives you great results for only little effort. And you can't make mistakes in GWD. The output will always work. However, it is only a GUI, a graphical user interface. Underneath what you see it still generates program code, based on the C language (which you'll never see though when working with GWD). And as it is very complicated to build a software that lets you graphically construct something that it then turned into code, GWD has a lot of limitations. More on the pro's and con's later.

Tizen Studio, or "the IDE" (Integrated Development Environment) is an Eclipse-based programming environment. It's basically a fancy text editor, it doesn't give you a preview area and it doesn't give you predefined stuff to use. You have to code your watch face from scratch. If you have no programming knowledge, don't bother installing it, it will get you nowhere at all. On the other hand, it doesn't have the limitations GWD has. You can accomplish any functionality if you're good enough at coding. You have full control over your watch face and what it does. You develop a watch face just like you'd develop a website, using HTML, CSS, XML and Javascript. Besides general code you can address Samsung's different APIs (application programming interfaces) which let you take control over the watch's hardware and software capabilities. These could be sensors, the AOD modes, notifications and such.

I would say 99% of the watch faces you'll find in the store are built with GWD, and only 1% are programmed in Tizen Studio. I've been into watch face development for a few years now and I only know about 5-10 people (including myself) who program faces. Why is that? Well, programming is a skill you have to learn. It requires knowledge and experience, and it takes time. Besides that, you'll run into a lot of bugs and issues that you wouldn't have to deal with when developing a website e.g.

So let's talk about the Pro's and Con's of these two approaches and what it means for you as a user, shall we?

GWD faces - PROs

  • Always working
  • Low battery consumption
  • Easy to update for the developer

GWD faces - CONs

  • No "real" interaction
  • Many functions unavailable
  • No watch hands in different colors
  • No dynamic text in different colors
  • Single shared AOD background
  • User settings can't be saved

TIZEN Studio faces - PROs

  • Any function is possible
  • Can have menus
  • Can save user settings
  • Everything can be styled or color-changing

TIZEN Studio faces - CONs

  • No access to sHealth data
  • No access to Samsung weather-app data
  • Can be heavy on the battery
  • Can be buggy sometimes
  • Can have individual errors/crashes/resets
  • Can interfere with users' watch configuration