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.
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.
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