• Learn
    • Code Lab
    • Foldables and Large Screens
    • One UI Beta
    • Samsung Developers Podcasts
  • Develop
    • Mobile/Wearable
    • Galaxy GameDev
    • Galaxy Themes
    • Galaxy Watch
    • Health
    • Samsung Blockchain
    • Samsung DeX
    • Samsung IAP
    • Samsung Internet
    • Samsung Pay
    • Samsung Wallet
    • View All
      • Galaxy AR Emoji
      • Galaxy Accessory
      • Galaxy Edge
      • Galaxy Z
      • Galaxy Performance
      • Galaxy FM Radio
      • Galaxy S Pen Remote
      • Galaxy Sensor Extension
      • PENUP
      • Samsung Automation
      • Samsung Neural
      • Samsung TEEGRIS
      • Samsung eSE SDK
    • Visual Display
    • Smart TV
    • Smart Hospitality Display
    • Smart Signage
    • Digital Appliance
    • Family Hub
    • Platform
    • Bixby
    • Knox
    • SmartThings
    • Tizen.NET
  • Design
    • Design System
    • One UI
    • One UI Watch
    • Smart TV
  • Distribute
    • Galaxy Store
    • TV Seller Office
    • Galaxy Store Games
    • Samsung Podcasts
  • Support
    • Developer Support
    • Remote Test Lab
    • Issues and Bugs Channel
    • Samsung Android USB Driver
    • Galaxy Emulator Skin
  • Connect
    • Blog
    • News
    • Forums
    • Events
    • Samsung Developer Conference
    • SDC22
    • SDC21
    • SDC19 and Previous Events
  • Sign In
Top Global Search Form
Recommendation
  • Blog
  • Code Lab
  • Foldable and Large Screen Optimization
  • Forums
  • Galaxy Emulator Skin
  • Galaxy GameDev
  • Health
  • Remote Test Lab
  • Samsung Developer Conference
  • SDC22
  • Watch Face Studio
All Search Form
Recommendation
    Suggestion
      All Search Form
      Filter
      Filter
      Filter
      • ALL (100)
      • DOCS
      • SDK
      • API REFERENCE
      • CODE LAB
      • BLOG
      • NEWS/EVENTS
      • OTHERS
        api reference code lab blog news/events
      1. Develop
      2. Galaxy Watch for Tizen

      doc

      Compatibility

      compatibility galaxy watch studio (gws) is currently in beta. as it continues to develop, the availability of some features may change and some features may not be fully functional. learn about the supported tizen os, watches, features, and java versions for galaxy watch studio. informationgws (.gwd) files created in the latest version of gws cannot be opened by older versions of gws. gws files created in older versions of gws can be opened by newer versions of gws. for example, gws 1.7.1 files cannot be opened in gws 1.6.2. however, gws 1.6.2 files can be opened in gws 1.7.1. supported tizen os and watches the following table shows the gws version with the tizen os and the watch types that it supports. the table also shows the factory-installed tizen os on the watch (on some watches, the tizen os may be upgraded). watch type factory-installed tizen os version galaxy watch studio version 1.7.x - 2.0.0 1.6.x 1.5.x galaxy watch3 5.5 ✔ ✔ galaxy watch active2 4.01 ✔ ✔ galaxy watch active 4.0 ✔ ✔ galaxy watch 4.0 ✔ ✔ gear sport 3.02 ✔ ✔ ✔ gear s3 2.33 ✔4 ✔ ✔ gear fit2 pro 2.3 ✔ ✔ gear fit2 2.3 ✔ ✔ gear s2 2.3 ✔ ✔ gear s 2.2 ✔ ✔ tizen os version supported 5.5, 4.0, 3.0 4.0, 3.0, 2.3, 2.2 3.0, 2.3, 2.2 1upgradable to tizen 5.5. 2upgradable to tizen 4.0.0.2. 3upgradable to tizen 3.0 and 4.0.0.2. 4when watch is upgraded to tizen 3.0 or higher. informationwhen you upgrade or downgrade the os on your watch, you may need to regenerate your distributor certificate in order to test your watch faces on the updated watch. informationfor devices using tizen 4.0 or later, by law, you must notify the user about personal information used in the watch face. when the app is launched, you must allow the user an option to allow or not allow access to personal information. therefore, a separate tpk file must be generated for tizen 4.0 and later and for tizen 3 and earlier. galaxy watch studio provides an option to generate separate tpk files for these versions. samsung suggests appending "_tw4" to the tpk file name for devices using tizen 4.0 and later and appending "_tw3" to the tpk file name for devices using tizen 3 or earlier. upload one or both files to support the appropriate devices. for more information, see build & uploading and faq: how to upload watch faces for galaxy watch and older gear devices? supported features the following table lists features of gws and which versions support those features. the table also lists the watches that do not support those features. feature galaxy watch studio version unsupported watch type 2.0.0 1.8.1 1.8.0 1.7.1 1.7.0 1.6.x 1.5.3, 1.5.4 1.5.2 1.5.1 1.5.0 year tag id ℹ ✔ gear sgear s2gear fit2gear fit2 pro korean lunar calendar ℹ ✔ gear sgear s2gear fit2gear fit2 pro custom complications ℹ ✔ ✔ gear sgear s2gear fit2gear fit2 pro colored layers ℹ ✔ ✔ ✔ gear sgear s2gear fit2gear fit2 pro change properties for multiple components ℹ ✔ ✔ ✔ gear sgear s2gear fit2gear fit2 pro text formatting ℹ ✔ ✔ ✔ ✔ gear sgear s2gear fit2gear fit2 pro weather component actions ℹ ✔ ✔ ✔ ✔ gear sgear s2gear fit2gear fit2 pro component outline ℹ ✔ ✔ ✔ ✔ gear sgear s2gear fit2gear fit2 pro gyro effects for text and digital clock components ℹ ✔ ✔ ✔ ✔ gear sgear s2gear fit2gear fit2 pro run preview window ℹ ✔ ✔ ✔ ✔ ✔ gear sgear s2gear fit2gear fit2 pro here map api ℹ ✔ ✔ ✔ ✔ ✔ gear sgear s2gear fit2gear fit2 pro moon phase position tag ℹ ✔ ✔ ✔ ✔ ✔ gear sgear s2gear fit2gear fit2 pro 64-bit support for windows ℹ ✔ ✔ ✔ ✔ ✔ n/a google location api ℹ ✔ ✔ ✔ ✔ ✔ always-on display, low bit color ℹ ✔ ✔ ✔ ✔ ✔ change watch preview image ℹ ✔ ✔ ✔ ✔ ✔ ✔ tag expressions ℹ ✔ ✔ ✔ ✔ ✔ ✔ gear s run-time permissions ℹ ✔ ✔ ✔ ✔ ✔ ✔ gear sgear s2gear fit2gear fit2 pro uninstall watch faces ℹ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ adaptable km/mile display ℹ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ gear sgear s21 12- and 24-hour conditional modes ℹ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ connect to mobile phone ℹ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ openweathermap api ℹ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ preferences ℹ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ 4k monitor support (windows only) ℹ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ n/a gyro effects ℹ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ gear s free trial period ℹ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ gear s import psd files ℹ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ group layers ℹ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ lock project files ℹ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ always-on display, high color ℹ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ gear s2gear s22 language fonts ℹ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ gear sgear s21 language settings ℹ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ gear s double-tap to change background image ℹ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ gear sgear s21 2.0.0 1.8.1 1.8.0 1.7.1 1.7.0 1.6.x 1.5.3, 1.5.4 1.5.2 1.5.1 1.5.0 1supported if the firmware has been updated to version *********pfb or later. 2these watches will display the basic always-on watch face if a high color aod is configured. informationwith the introduction of the galaxy watch active, the user interface for a galaxy watch must be designed to support both a device with a bezel and a device without a bezel. see user interface design guidelines for galaxy wearables for more information. for more information, see what's new and the release note . required java versions the version of java required by galaxy watch studio (gws) depends on the version of gws you are installing and your operating system. gws 1.6.2 or earlier for windows supports only 32-bit versions of java (version 8). gws 1.7.x and later for windows and gws 1.6.x and later for macos supports 64-bit java. gws version operating system java se version1 8 11 14 32-bit (x86) 64-bit (x64) 2.0.02 windows 64-bit ✔3 ✔ macos ✔4 ✔ 1.7.x and 1.8.x2 windows 64-bit ✔3 ✔ macos ✔4 ✔ 1.6.x windows 32-bit ✔3 windows 64-bit ✔3 macos ✔4 ✔ 1.5.x and earlier windows 32-bit older versions of gws may require a specific version of java. please contact support for more information. windows 64-bit macos 1download java se from oracle software downloads. 2gws 1.7.x and later do not support a 32-bit os. 3for windows systems using java 8, download the java runtime environment (jre), update 250 or later. 4for macos using java 8, download the java development kit (jdk).

      https://developer.samsung.com/galaxy-watch-tizen/studio/tutorial/compatibility.html
      1. Learn
      2. Developers Podcast

      doc

      Episode 7, Eric Cloninger

      season 2, episode 7 previous episode | episode index | next episode this is a transcript of one episode of the samsung developers podcast, hosted by and produced by tony morelan. a listing of all podcast transcripts can be found here. host tony morelan senior developer evangelist, samsung developers instagram - twitter - linkedin guests eric cloninger, lead, developer relations team, samsung electronics chris shomo, infinity watchfaces listen download this episode topics covered sdc21, virtual conference history of the samsung developer conference conference audience keynote speakers conference announcements technical sessions expo floor galaxy store gallery code lab virtual reality after-hours party chris shomo, infinity watchfaces watch face studio 2020 best of galaxy store awards 2021 best of galaxy store awards bixby developers one ui beta samsung podcast platform smartthings helpful links sdc21, virtual conference - developer.samsung.com/sdc sdc18 highlights - youtube video sdc19 highlights - youtube video sdc19 replay - youtube video sdc21 preview - youtube video code lab - developer.samsung.com/codelab chris shomo, infinity watchfaces - youtube video watch face studio - developer.samsung.com/one-ui-watch 2020 best of galaxy store awards - youtube video 2021 best of galaxy store awards preview - youtube video bixby developers - bixbydevelopers.com/ one ui beta - developer.samsung.com/one-ui-beta/index.html samsung podcast platform - samsungpodcasts.com/ smartthings - developer.samsung.com/smartthings samsung developers homepage - developer.samsung.com samsung developers newsletter - developer.samsung.com/newsletter samsung developers blog - developer.samsung.com/blog samsung developers news - developer.samsung.com/news samsung developers facebook - facebook.com/samsungdev samsung developers instagram - instagram.com/samsung_dev samsung developers twitter - twitter.com/samsung_dev samsung developers youtube - youtube.com/samsungdevelopers samsung developers linkedin - linkedin.com/company/samsungdevelopers eric cloninger linkedin - linkedin.com/in/ericcloninger/ chris shomo linkedin - linkedin.com/in/christopher-shomo tony morelan linkedin - linkedin.com/in/tony-morelan transcript note: transcripts are provided by an automated service and reviewed by the samsung developers web team. inaccuracies from the transcription process do occur, so please refer to the audio if you are in doubt about the transcript. tony morelan 00:01 hey, i'm tony morelan. and this is pow! the samsung developers podcast where we chat with innovators using samsung technologies, award winning app developers and designers, as well as insiders working on the latest samsung tools. welcome to season two, episode seven. today's show is a special episode of the pow! podcast. last year, we were not able to have our annual samsung developer conference because of the pandemic. but this year, we're back with sdc21, a virtual conference this coming october, i sat down with eric cloninger, who leads developer relations at samsung. not only do we talk about some of the highlights from our past developer conferences, but what you can look forward to at this year's sdc21. enjoy. hey, eric, welcome to the podcast. eric cloninger 00:51 hey, tony. glad to be here. tony morelan 00:53 so i couldn't be more excited about this special episode where we get to chat about not only the past samsung developer conferences, but our upcoming sdc21. eric cloninger 01:03 yeah, it's gonna be a lot of fun. it is different this year for certain. tony morelan 01:06 let me first start off by asking what exactly is the samsung developer conference, eric cloninger 01:11 samsung creates a lot of different platforms and sdks for developers to create for and integrate with. so sdc is one of the ways we promote our platforms, and educate developers on their capabilities. like many companies, we realized that developers add a lot of value to our products with their own creations. so sdc is our opportunity to share knowledge and hopefully build a connection to the people that are making our products better. tony morelan 01:36 yeah, and what's unique with sdc 21 is this year, it's actually going to be a virtual conference. now we know that it's because the current pandemic we're in, but it's, i think, an opportunity for samsung really to reach to a much bigger global audience that will be able to come in and attend our conference. eric cloninger 01:55 certainly, you know, in the years past, it's been a live event. and there would be quite a few people there -- several thousand. now with it being virtual, we have a much bigger audience and people can actually see the technical sessions as well as the keynote online. even though it's not in person, it is still something that where we can share knowledge, and people can give us feedback on what they like and don't. tony morelan 02:21 let's go back and talk a little bit about the history of sdc. i think it started back in 2013. is that correct? that's correct. eric cloninger 02:29 and i was there in 2014, talking about the gear watch. tony morelan 02:34 development. wow, that must have been pretty close to when we first launched the watch. eric cloninger 02:39 i think it was the first gear s was the product that that i was working on. and we were talking about development tools and how to write apps for those watches. tony morelan 02:49 since then, we've done seven sdcs that, you know, there was a year i think around 2015 that we skipped. and of course last year, we did have to hold off on doing an actual conference. past locations, primarily san francisco in the bay area. eric cloninger 03:06 it's been at moscone every year until 2019, when it moved to san jose. so it's always been in the bay area somewhere that people who attend tony morelan 03:15 tell me about, you know, what is what is the audience. eric cloninger 03:19 the audience is primarily developers. and the content is really focused on that group. a lot of samsung employees attend to give the technical talks and a lot to people come from all over the world to work in the booths. and on the show floor. in one sense. sdc is like a family reunion, we get a chance to meet the people that we've emailed with and been on web conferences for a long time. that's a chance to come together. but it's also the fruition of a year of hard work, you'll whether it's virtual or in person, we can use the opportunity to celebrate and to share what we've worked on with third party developer community. tony morelan 04:05 yeah, i know, my first sdc was 2018. that was in san francisco. i hit started at samsung just a few months earlier than that. so it was a great opportunity, really, for me to meet, not just some of these employees that had only been, you know, emailing with but a lot of the partners that we had a great report with sdc 19 eric cloninger 04:29 i think there was over 5000 close to 6000 people that it's been five to 6000 every year since that i've been here. yeah, so that's a fairly good-sized conference. tony morelan 04:37 so let's talk about some of the past keynotes and some of the big announcements that we've made. going back to 2017. i think we had stan lee, is that correct? eric cloninger 04:47 yeah, stan lee from marvel was one of the main speakers. that was pretty interesting. in 2018, we had a lot of people watching because that's the day that they announced the galaxy fold. wow. so the first time anybody saw it was on stage at sdc. and there were probably a half a million people watching live on either facebook live or youtube. tony morelan 05:13 i remember my takeaway from sdc18 was tim sweeney for fortnite. epic games? eric cloninger 05:18 absolutely. on stage with one of our vps who was holding your tiny sword and shield. you know, it just it added to the silliness, but also the fun was pretty, pretty fun. tony morelan 05:33 oh, definitely. now sdc 19. we had another very interesting person up on the stage talk a little bit about vitalik. eric cloninger 05:41 yeah, vitalik buterin is the co-founder of ethereum. and that year, we also had justin sun from tron. the blockchain community is very interesting. and it's definitely a new aspect for samsung is we had the blockchain wallet sdk that was coming out that year. and so we wanted to have people that could talk about their interactions with it. so vitalik and justin, were on stage in the spotlight session on day two. tony morelan 06:09 yeah, that was pretty exciting actually, to see him up on stage they're in live in person. so a big part of our conference are the technical sessions, it's a chance for the community really to learn about new and upcoming technologies. talk a bit about some of those sessions that we've had in the past. eric cloninger 06:27 so pretty much any of samsung's technical features sdks and services have sessions at sdc. so if you're interested in ai and voice activated services, you can go to multiple bixby sessions, if you're into the internet of things and how to integrate into samsung smartthings ecosystem, there will be information there. you know, as i mentioned previously, there's blockchain, there's the knox partnership for if you want to do secure computing, one ui if you're a designer, and all the new foldable phones and devices out there, there's a lot of content around how to handle app continuity and the flex mode, as well as the unique things about foldable design that you can learn about, as well as things like samsung health and how to design for themes. there's a wide range of technical sessions for pretty much anybody at any experience level. tony morelan 07:24 yeah, yeah, in my area of involvement with the developer conference has been around that design side. i mean, as you know, my background is in design, you know, when we are giving the sessions on theme, designing watchface designing that that's really where i get my involvement with. so a lot of fun for me to be at the conference. walking around the expo floor has been one of the most exciting things for me to be there because truthfully at these different conferences, you just don't know what you're going to see. and i remember walking in the room if it was sdc 18 or 19. but seeing this awesome car on the expo floor, the harmon car. eric cloninger 08:00 yeah, the great thing about the expo floor is where you, you get to do a lot of the kind of non-technical learning. it's a great place in a more relaxed atmosphere to meet and talk to people about what's going on. so the harmon car harman is a subsidiary of samsung, and they create high end audio equipment. so i'm sure you're familiar with brands like harman, kardon, or jbl, or infiniti, all very high-end brands. harman also creates infotainment systems and telematics solutions for automakers. and so what they would do for several years is they would bring a car onto the show floor and deck it out with a lot of the latest software and hardware, as well as the audio systems for the attendees to sit in the car and try it out. unfortunately, they wouldn't let us drive it around the show floor obviously. tony morelan 08:47 i will say i actually did ride the elevator with the person who drove the car from southern california up to northern california for the show. so i did get to ask a little bit about you know what it is like to get behind the wheel of that car and she said it was an absolute blast to drive it up five. eric cloninger 09:04 i'm sure they had to go the speed limit though. tony morelan 09:06 definitely. i know that smart things. back in 14, one of our first conferences they actually set up like what they call the connected home. eric cloninger 09:14 yeah, it was actually a full size when not full sizes about a 900 square foot, you know, a 30 by 30 area where they had different rooms and inside each of those rooms, they would have different ways that you could integrate different iot solutions into the smart home. tony morelan 09:32 now just to be clear, a 900 square foot home in san francisco actually is full size. so in 2018, we did something i was actually pretty excited about we created what we called a gallery of theme. so you know as you know, with the galaxy store, designers can publish their phone themes, but what we did is we took those designs and actually built like a museum gallery big, full size images of the different themes nicely framed, and people would walk around this gallery. and not only see this beautiful, much larger than life theme design. but this was a gallery where at the end of the conference, we actually raffled off the different pieces, eric cloninger 10:15 it really shows how we have a lot of incredibly creative people who are creating work for the galaxy store, and samsung galaxy devices. all of those things that were shown in that that gallery are available for anyone to download and purchase on the galaxy store. tony morelan 10:31 yeah, i know that that gallery really, really was a success in a lot of people really enjoyed seeing that worked in person. another area of the floor that i saw had a lot of activity was code lab, talking about what exactly is code lab at the at the conference. eric cloninger 10:46 code lab is an interactive learning experience, you don't have to actually be present at sdc. to be able to use it. samsung employees create guided learning modules, with examples and downloadable code snippets that you can use to learn anything from android development, watch face design, or theme by the time you've gone through everything. tony morelan 11:13 so if people want to learn more about code lab outside of the conference, where can they find that information, eric cloninger 11:18 you can find the code lab on the samsung developer portal at developer.samsung.com/codelab. tony morelan 11:26 so i think one of the most exciting things that i saw happen on the expo floor was the vr team, they set up this like photography studio that talk about that. eric cloninger 11:36 so in 2018, that team created what was called a volumetric camera setup. so it had cameras in a lot of different positions in 360 degrees. so they would take a very detailed scan of your body, and then they would print it out on a 3d printer. and so that was really cool. and then the following year, that same team took that that same type of technology, and they integrated it with a live interactive experience called delusion. and delusion was a very creepy, interactive experience where you interacted with all of these crazy characters. and because of the time of the year, it was october 29, and 30th. so it's just the day before halloween, okay, you had all of these various characters that you were interacting with in a 3d experience. and the thing that was cool about it was the second night, we had this, you know, after hours segment and those characters in the game that actually came to life, and you actually saw these people walking around that you had interacted with, in the interactive exhibit. tony morelan 12:49 yeah, i remember that being a very fun and freaky evening, i was i was working in one of the booths behind the scenes doors were closed. and as they were prepping for the opening of the of the doors, the fog machine was rolling, that people started rushing in. and then i saw those characters that had been in that interactive space, actually walking amongst the people. and there were a few times that in a fun way, those a little not at ease with them with those different folks. eric cloninger 13:23 yeah, it was kind of a creepy experience. because some of those characters, i mean, they stayed in character, and they got to look right through you. and it just it was very creepy experience. so the after-hours is a lot of fun at you at sdc. as it is, with a lot of events, it's an it's an opportunity to kind of be a lot more relaxed. you'll see some people that you saw in the, the technical sessions earlier in the day, and you have a chance to maybe drill down a little deeper while you have, you know, a plate of food and beverage in your hand. so it's a good experience overall. and you know, to be honest, i'm looking forward to when we can do that again. tony morelan 14:02 yeah, yeah, hopefully, hopefully that will be next year. so i thought it would be nice if we brought in a designer slash developer who has been very involved with the samson community and who has not only attended and many of the past sdc conferences, but was also invited to speak at one of the past sessions. chris shomo, from infinity watchfaces eric cloninger 14:20 hey, chris, welcome to the show. chris shomo 14:23 hey, thank you for having me on here. tony morelan 14:25 yeah, no, it's great. it's great to have you on the podcast. so looking back at the samsung developer program, chris has been one of those resources that we've turned to many times and it simply comes down to not only your success, but your willingness to share and, and really help grow the entire ecosystem for samsung watchfaces and galaxy devices. chris shomo 14:43 well, one thing that i've learned is all about the community. that's one of the reasons i love to share things that i find out because i've also reached out to other designers and ask them, you know, hey, how do you do this? how do you do that? and they're more than willing to share back. so it really is a given. take type of thing and you know, if you're nice, then you can find some answers that you're looking for out there. tony morelan 15:04 there you go. definitely. and you know, honestly, the more success there is amongst all the designers just the more vibrant the galaxy store is just with, with lots of great content. chris shomo 15:13 oh, yeah. and just how it developed over time, too, because, like i've seen it, since the very beginning, when there was hardly anything on there and then just watching it explode to all these designs that you can't even imagine what's going to pop on there next. it's exactly designed to blow me away all the time. tony morelan 15:29 so chris is the person behind infinity watch faces, and truly is one of the first designers who started creating for the platform. tell me what year was it that you actually started designing and selling on galaxy store? chris shomo 15:39 oh, goodness. 2016. tony morelan 15:41 wow. yeah. so i actually did an episode on the podcast on chris last year, it was great episode, we talked about how you got your start creating for samsung and, and also that your house in savannah, georgia was featured in an episode of ghost hunters that it is haunted? chris shomo 15:56 yes, it is. it's been quite an experience, even though i do believe that the ghost does appreciate me being here, i believe. i do not know that. but she's been pretty nice. tony morelan 16:08 guys nice. so if you want to learn much more about chris, go back to that episode and check it out. it was it was a great show. so in 2017, before i started working with samsung, you were actually invited to come out to san francisco and speak at the conference. tell me about that. chris shomo 16:22 wow, it was quite an experience. and first off, it was my first developers conference, first type of any type of tech conference. so i was a little nervous in the very beginning. because here i am, i'm going to san francisco, and i'm getting ready to speak in front of a lot of other designers and developers. what an experience. it was great. tony morelan 16:43 i'm sure it was nice to actually meet also the people, you know, not only at samsung, but then you know, some of the fellow developers that are part of this community. chris shomo 16:51 yeah, and also met a lot of people that became future designers of for specifically watch faces, which was wonderful. they always come back to me and be like, hey, i was there. and i'm like, i remember you. and you know, and they take off and they do very well. yeah. tony morelan 17:06 so i actually came across a video on youtube of you speaking at the conference. and that's how i actually got my start how i first discovered that, you know, you can create these watch faces and, and start selling them for samsung. now, i took it a step further and actually started working for samsung eventually. chris shomo 17:23 yep. and i think that's amazing. i remember you sent me an email one time actually telling me that i had a typo on my website. that's right. and i was like, whoa, thank you, because it was just, uh, you know, no one wants a stupid typo on their website. so i got that fixed. and, and then i never knew that, you know, i'd be working with yeah, back and forth, like we are now and stuff. so it's great. it's amazing how everything is connected. tony morelan 17:49 yeah. so earlier this year, we announced a partnership with google and warehouse and introduced watch face studio to new tool for designing galaxy watch faces that are sold on the google play store. when the tool was first developed, we asked you to be part of that early access team. so can you tell me about that experience, how it is working with that tool, and what it's like to now publish on google play? chris shomo 18:10 well, first off, thank you for getting me in there. and you recommended me for being part of that team. and it was excellent to be part of it, because i was able to kind of push it to its limits for animations. i had a really long animation, i was testing with it. and i was sending it back and forth with samsung. and it helped them iron out and smooth out how the animations were working on the watch. and that was great. and, you know, of course, there's going to be a little bit of growing pains in the very beginning. we're working on that. but it's been amazing how the team at samsung has been so responsive. and to get the software right for us. you can really create some masterpieces. so i'm excited about this. tony morelan 18:55 yeah, and that's why i thought it was so important to have you part of that team is because really your designs are not like the typical design. i mean, you really do push the software to try and get the most out of it. you know, they're there's fun, they're quirky, i mean animations are a huge part of your designs. so is there anything new and exciting that we can anticipate coming out in the in the near future? chris shomo 19:15 oh, wow. i don't really know myself because i kind of jumped around so much with these designs, which is another reason why. yeah, i guess it's kind of unexpected and surprising when another one comes out. at one time you'll have like dancing tigers in the next second. you have dolphins and sea turtle swimming. i'm working on getting one onto the google play store right now called flip out that has the dolphins and the sea turtles and then tiger time as well. and then we got a giant eyeball for halloween that she's showing up. so yeah, a bunch of different things. tony morelan 19:48 you've got it in there. they're super crazy. they're very artistic. chris shomo 19:51 thank you. yeah, and it also one of the things that i like to concentrate on is trying to bring joy to people with the watch face. is where they look at it and you know, just for a moment of time, they can actually, you know, take a break from reality, they get absorbed into the watch smile for a minute. if that happens, and i know it's exceeded tony morelan 20:13 it also what i love is how you build in this sort of like goals where the watch will change, like, lets you step into an example, as you're reaching your different step goals throughout the day, your watch face then is also changing throughout the day. chris shomo 20:27 and that started out of course, with the ties and watches and it worked with every one step goal percentage that they set with the watch. and that was another thing that i'm glad i was in the beta because i was really expressing how much we needed a step goal percentage and to work with it, and they added it in after i requested it. and it was really quick. and of course there are some differences where we have to set the watch pace to its unique step goal as opposed to the user set step go but that's because of that they're trying to make it so it's compatible with all the different watches and where it was. but that's cool, it opens up a new line of challenge faces where you can reach 1000 steps for this to happen 2000 steps for this to happen and i think it's really going to open the door for a lot of unique and creative designs tony morelan 21:17 you know, you brought up a great point that i always stress and that is how approachable samsung is to our developer community. samsung really does listen to our developers and we actually want to have that one on one communications you know, through our different channels, it is really easy to reach out to us and we'll give you that that personal attention that we know our developers need when they're creating for samsung. chris shomo 21:39 and i've really watched the developers program grow over time too because back in 2016 you know it was kind of a shot in the dark but everybody was like new to it. samsung was new to this the watch faces and working with this well ready to be flooded of designers that are getting ready to come in. and then every one of samsung embraced us. we feel like we're part of a family. tony morelan 22:02 thanks. thanks, chris. i got to thank you for jumping in and joining us on the podcast when sdc is back in person. i hope to see you there, if not sooner, i will definitely be there. chris shomo 22:10 count me in. tony morelan 22:12 awesome. thanks, chris. thanks. eric cloninger 22:15 it was great to hear from chris. he's a part of the community of designers and developers that really make the galaxy store special. tony morelan 22:22 yeah, he's been there from pretty much day one. so it was great to catch up with chris. and like i said, i can't wait to actually see him in person. so it past sdcs, we've done what's called the best of galaxy store awards, i think, sec. 18 was the first time that we did the show at the conference. sec 19. that's when i actually hosted it down in san jose, it was great. we have a lot of the winners actually, at the conference, we're able to recognize them for the great apps that they've created for galaxy store. however, last year in 2020, because we did not have a conference, we did a virtual award show. this was presented on youtube as a life premiere. and it really actually was a lot of fun because we were able to reach out to a quite a big audience. eric cloninger 23:09 one of the things i thought was cool about that once we all said in the chat room, it was in the early evening us time, but there were people logging in from russia and the czech republic and slovenia. all of these developers and designers who had created things in one go is the middle of their night, but they were on there congratulating each other. tony morelan 23:29 i think it really shows how the award show is really a global award show. i mean we've got winners from all around the world winners from large companies down to indie designers and developers and it really is a huge, huge community. eric cloninger 23:45 i think it shows how the galaxy store enables a lot of smaller operations, smaller individuals who may get lost in a larger organization that they can actually create something and monetize it and enjoy the success that they can have from their own work. tony morelan 24:03 yeah, no that's very true. that being said, though, there have been some pretty big names that we've recognized with awards. in the past we've given awards to tik tok, epic games fortnite, microsoft with their franchise forza, top golf, that was another one and then there's a great company butterfly affected that his license big brands like spongebob, hello kitty, and star trek, it was great to see them recognized for their work. eric cloninger 24:31 and also last year, for the first time, bixby developers had the opportunity to have their capsules judged. and in 2020 the winner was spotify. tony morelan 24:43 yeah, it was a lot of fun. i actually worked on many of the trailers that were shown in the award show. and spotify was one of the ones that i really, really enjoyed doing, not only the voiceover for but integrating the music and all the editing that was that was a lot of fun to work on that project and we look forward to that in 2021. eric cloninger 24:59 and so when is the award show this year. tony morelan 25:05 so the award show will be part of sdc. so that is on october 26. later on in the evening, though, we're going to be doing a premiere on youtube at 6pm. eastern, and we will be participating in a live chat. so we would love for, you know, not only the winners will be on participating in this live chat, but we would love just to have the community on there. so we can all get together as a chance to, you know, congratulate the winners, and really talk about all of the great apps that were recognized during the award show. eric cloninger 25:35 yeah, the one thing about this, that i think we did have a lot of fun with it last year, and we hope to have more fun this year. in that chat session, the invitation goes out to really everyone who is interested in the galaxy ecosystem. and that could be anybody who is a user or a consumer or a developer or a designer. you know, we want to we want to celebrate everyone's hard work. tony morelan 25:59 definitely, definitely. and if you would like to actually go back and see who the previous winners are, and actually learn more about this upcoming award show, you can go over to developer.samsung.com forward slash awards to learn more about the best of galaxy store award show. so let's talk about sdc 21. as you know, it's a virtual show that will be on october 26. where can people find out more information about registering to attend the virtual conference? eric cloninger 26:28 so the conference is free for anyone to attend, and you can learn more at developer.samsung.com slash sdc. tony morelan 26:38 let's talk about some of the sessions. what can you share about the sessions at sdc 21? eric cloninger 26:44 well, i don't want to steal any of the thunder from the product teams have been working so hard for the last year. but it will tell you that most every technology team that is working on products at samsung will have something to talk about at sdc. so if you're interested in the one ui beta, you'll learn a lot more about that at the sessions, the watchface tools, there's a podcasting platform that's brand new that i think you know something about, tony morelan 27:09 yeah, yeah, no, i am helping out the podcast platform team. we're excited. samsung has their new podcast platform, making it easy for users to listen to podcasts. and we're really excited because in october, we're going to be expanding this platform to countries in europe. so it's really a big deal. you can check out my session and i kind of walk you through how it is that you submit your podcast to samsung. so do you have any insight on what is going to be featured in the keynote, eric cloninger 27:38 i do have a little bit of information to share. and one of the things that is always kind of fun with the keynote at sdc is that samsung president dj koh will be speaking as well as many other people from within the design and engineering teams at samsung. as you know, the last physical sdc was in 2019, your seems like our world has kind of stopped. but to be honest, the pace of technology keeps on moving. and so nearly every samsung technology team will be there. and they want to talk about all the innovation creation that they've done in the last two years. so there'll be things announced for nearly every technology team from bixby and smartthings to mobile devices and smart tvs. there's lots of information for developers that they will be able to use to create their own products for 2022 and beyond. tony morelan 28:34 so really exciting. sdc 21 is going to be october 26. eric cloninger 28:39 and if you want to attend, all you have to do is register at developer.samsung.com/sdc. it's free to attend and we would love to see you there. tony morelan 28:51 excellent. hey, eric, thanks so much for being on the podcast. super exciting to be back at it with sdc and i can't i can't wait for it. eric cloninger 28:59 oh, absolutely. it's really, it's the result of a year's worth of work by hundreds of people. and we really want to share it with all the people out there. tony morelan 29:10 yeah, it should be a great show. right. thanks, eric. all right. eric cloninger 29:13 thank you, tony. closing 29:14 looking to start creating for samsung, download the latest tools to code your next app, or get software for designing apps without coding at all. sell your apps to the world on the samsung galaxy store. check out developer.samsung.com today and start your journey with samsung. tony morelan 29:30 the pow! podcast is brought to you by the samsung developer program produced by tony morelan.

      https://developer.samsung.com/developers-podcast/s02e07-eric-cloninger.html
      1. news | galaxy watch, mobile, uiux, marketplace

      news

      New Podcast Episode - Tomas Joscak, Vienna Studios

      in this episode of pow!, we interview tomas joscak from vienna studios. tomas is an amazing watch face designer, winning the 2019 best of galaxy store award for best indie watch face designer. he's priced some of his designs in the hundreds of dollars... and people are buying them. and, the software he uses to create the graphics is typically not used for designing watch faces. you’ll want to listen in and learn not only how he designs high-end watch faces, but also his tips on marketing. topics covered: galaxy watch studio galaxy store coupons galaxy store badges banner promotions social media multi-language support best of galaxy store awards

      https://developer.samsung.com/sdp/news/en-us/2020/06/29/new-podcast-episode---tomas-joscak-vienna-studios
      1. Design
      2. One UI Watch for Tizen

      doc

      Complications

      complications complications are any additional features on a watch face that show more than just the current time. they allow a watch to do more than just tell time. complications show key information from an app in an economical way. users can tap complications to open the corresponding app and see more detailed information. when using complications: show data that is relevant to the watch face. design effective complications to match the concept of a watch face. for example, you can include complications that show a step count or heart rate if your watch face has a sporty concept. keep visual balance between complications. if you are providing multiple complications, make sure they are visually balanced on the small circular screen. type there are five types of complications. text text complications only show information with numbers and letters. text and icon text and icon complications indicate information with an icon and show the current data value with text. icon icon complications provide a shortcut link through an icon with no accompanying text. gauge gauge complications show data values as a percentage using a circular progress bar or an icon that changes according to the status of a given value. hands hands complications show the relative level of a data value compared to a whole by using hands. tip : galaxy watch studio (formerly galaxy watch designer) helps you design your own complications. you can even set your complication as a button that opens an app. see the galaxy watch studio tutorial for more details. layout consider the time display format of a watch face when arranging your complications. in analog watch faces, the hour and minute hands keep moving, allowing complications to be placed anywhere on the screen except for the center. layouts for digital watch faces vary, depending where on the watch face the time appears. another factor to consider is the number of complications you want to include. design a layout where complications are balanced with all other elements of your watch face.

      https://developer.samsung.com/one-ui-watch-tizen/watch-face/complications.html
      1. Learn
      2. Developers Podcast

      doc

      Episode 7, Tomas Joscak

      season 1, episode 7 previous episode | episode index | next episode this is a transcript of one episode of the samsung developers podcast, hosted by and produced by tony morelan. a listing of all podcast transcripts can be found here. host tony morelan senior developer evangelist, samsung developers instagram - twitter - linkedin guest tomas joscak head designer, vienna studios in this episode of pow, i interview tomas joscak from vienna studios. tomas is an amazing watch face designer, winning the 2019 best of galaxy store award for best indie watch face designer. some of his designs? he's priced them in the hundreds dollars... and people are buying them. and, the software he uses to create the graphics? it's typically not used for designing watch faces. you’ll want to listen in and learn not only how he designs high-end watch faces, but also his tips on marketing. listen download this episode topics covered galaxy watch studio for tizen galaxy store coupons galaxy store badges banner promotions social media multi-language support best of galaxy store awards transcript note: transcripts are provided by an automated service and reviewed by the samsung developers web team. inaccuracies from the transcription process do occur, so please refer to the audio if you are in doubt about the transcript. tony morelan 00:02 hey, i'm tony morelan. and this is pow! podcasts of wisdom from the samsung developer program, where we talk about the latest tech trends and give insight to all the opportunities available for developers looking to create for samsung. on today's show i interview tomas joscak from vienna studios. tomas is an amazing watch face designer, even won the 2019 best of galaxy store award for best indie watch face designer. some of his designs, he's priced them in the hundreds of dollars, and people are buying them and the software he uses to create the graphics it's typically not used for designing watch faces. you're going to be surprised. enjoy. so thomas, tell me who is thomas joscak. tomas joscak 00:48 welcome, i just check. interesting question. oh, well, i will describe myself as somebody who has to learn as an example and cool class storage goals. i said one goal a few years ago, i wanted to run a marathon. so i prepare myself one year long. and afterwards, i barely use the sport shoes. so then i have other goals again. tony morelan 01:18 so it sounds like maybe a short attention span that you're into something for a brief moment. and then after that you move on to the next challenge. tomas joscak 01:27 yes, definitely. tony morelan 01:29 so tell me, how did you get your start in design, tomas joscak 01:32 design was always kind of a hobby of myself. and even if i do have two phds in natural sciences, i always have to be somewhere in a field where nobody had been before. so it is a research where i'm working on something new, or i'm producing something new in the field of design. i love it. tony morelan 02:00 so you're so your education is not design base you said you have two phds in natural sciences. tomas joscak 02:05 yes, yes, i never studied design tony morelan 02:08 wow it's pretty amazing because i mean truthfully you are one of the top sellers on the galaxy store when it comes to watch faces and you know your quality is amazing so to hear that that is really coming out of as a hobby is pretty impressive. tell me how did you first hear about the samsung galaxy watch tomas joscak 02:26 the exact moment i cannot remember right now. however, i cannot forget the first day after my first launch phase having published on galaxy store. and after i looked at the statistic and there have been more than 4000 downloads for this first model myself i was surprised shocked and i definitely knew that this might be something you how did you first hear about selling tony morelan 02:53 watch faces, you know in using our software galaxy watch designer at the time which is now a galaxy watch studio. tomas joscak 03:00 okay, i was starting designing workspaces in a phasor. creator studio before. so i had some basics already learned before. and so switching to galaxy stir was actually nothing new from the big difference was only the market, which seems to be extremely huge from my point of view. tony morelan 03:26 so the market for the galaxy watch faces is much bigger than the market. when you're producing them through facer? tomas joscak 03:32 yes, at least, this was my impression one year before. tony morelan 03:36 okay, so how long have you been designing watch faces tomas joscak 03:39 right now it is three years. i know it before i got my first model, which for my brand as a present to my 14-year celebration party. and since then, my i'm just playing with watch faces tony morelan 03:53 or so is this what you do full time or do you have like a is this a side gig for you? this is, you know, what's your main focus? for income tomas joscak 04:02 at the moment is my full-time job and he has is creating nice income actually the best i ever had before even if i compare it with my company in vienna a few years ago tony morelan 04:15 in what was that company, tomas joscak 04:17 this was a pure research company at a field of renewable materials so completely different staff. we had up to seven employees. but however, from the revenue point of view now it's even bigger. tony morelan 04:31 wow. so you are based in austria. but tell me where are you originally from? tomas joscak 04:36 so i was born in czechoslovakia, in slovakia in part where am actually right now as we are speaking, this podcast together, i was doing my parents and afterwards i got few opportunities in austria and germany. and so i stayed in austria. tony morelan 04:53 and is it just yourself or do you have employees tomas joscak 04:57 at the moment? my brother is strongly supporting me creating also some brands, domino's martinez, a luxury brand from our portfolio is coming from him. so we are two full time now working at this project. and sometimes we are cooperating with tony morelan 05:16 freelancers in this globally he'll reach out to freelancers from around the world to have you help with some of the design aspects. tomas joscak 05:23 yes, we use platform where different designers are implemented or can make some projects corporation. tony morelan 05:32 do you work out of your house? or do you actually have a place of business tomas joscak 05:36 i started as maybe also other designers in my kitchen. so my first project so first watch faces have been created in a kitchen. afterwards, i go to one room in my flat, and at the moment, we do have an office with my brother. and as a next step, we would like to establish a full time or full-size photo studio tony morelan 06:02 okay, okay. so i noticed that you have actually four different brands when you go to your website vienna studios.com there's actually four different brands on their vienna studios masterpieces we are watching as well as dominus matthias, can you explain the different brands? tomas joscak 06:21 we have many different brands. and actually the basic order first one has been vienna studios, which started everything else. domino's martinez is luxury brand for my brother, as i mentioned before, is really creating original design. i'm more focusing on the functionality. and if you're asking about many brands, we are dividing different products into brands, according to price segment, basically. tony morelan 06:52 yeah. and let's talk a little bit about that because, you know, one thing that's unique with your brand is that you've got some very high-priced watch faces. i mean, it's my understanding you have watch faces. you know, you've been in the above $100 $200. tell me about those high-level price watch faces and why is it that you decided to offer them so expensive? tomas joscak 07:16 well, we started, i started to sell my watch faces at 199 $1 99. yes, dollar 99 for a piece. however, this space is so competitive. and it's really hard to be a good designer in this place. that after i could feel skills and i was able to prepare high complicated watch faces, i decided to offer them for higher prices. and actually, at the moment, you're correctly we are offering different special watch faces up to 400 was dollar per piece. tony morelan 07:55 wow, that's amazing. so another amazing aspect to you is that you actually won best of galaxy store award in 2019. can you tell me what the award was that you won and what that means to you? tomas joscak 08:08 i can remember well, this call will shout and charlotte called me. and mentioned in a wonder indian designer 2019 only after nine months really to be full in the business, so i was completely shocked and even more impressed by the fact that we are to four bestsellers worldwide, so i would never expect it. such a sexist after a few months. tony morelan 08:39 that's amazing. that's amazing. and that's when i actually first met you is when you came out to the award show that i was hosting, to give you the award for best indie designer, so congratulations again. so i want to talk a little bit about marketing and some of your tips and approaches for marketing. tell me about your use of coupons. tomas joscak 08:59 coupons. is a big project for us. it's excellent instrument. however we use coupons very solely. and actually, as a customer or a fan of vienna studios or dominus martinez, you can win a free coupon once a mount. so this is the way how some people could get our expensive watch faces even for free. tony morelan 09:28 okay, that's great. that's great. i also noticed that you when you go to your website, you actually are doing promotions where you're giving away actual watches. so tell me a little bit how you're utilizing that as a promotional giveaway. tomas joscak 09:42 yes, after a few months, as you mentioned before, we are pretty successful in the business and we try to give something back to nice community which is growing and we do have more than 3000 subscribers at our website. and everybody who is subscribing there has a chance now to be not only free coupons, possibly, but also a smartwatch galaxy watch active two at the moment. we are running this giveaway until end of this year, and we will think about something new for the next year. tony morelan 10:19 excellent. that's a great way to build your subscription community. it's interesting, i can tell that you've got a lot of marketing experience. so tell me a bit about how did you gain that marketing experience? is this something that you're just learning, you know, on the fly right now? or do you have a background a little bit with them with when it comes to marketing? tomas joscak 10:36 i think a good opportunity to learn this stuff was to have my own company. so i am partly not only a designer, but also a kind of businessman. so we are always forming activities and evaluating it and checking what is working for us, where we do see some revenue streams who are not and this elevation happened maybe on a daily or weekly basis. so there's a lot of adjustment and trial and error actions we are using. tony morelan 11:13 that's great. it's great to be so active when you're, you know, figuring out your marketing approach, or using any social channels like instagram to promote your watch faces. tomas joscak 11:23 we are in instagram right now we do have a couple of thousands of followers. however, we are not sure if this will be our future instruments, at the moment as a best a marketing instrument for us is to collect email addresses through subscription of our website, which was also in a recommendation from around from samsung, who don't know us this feature could bring something even after maybe three months of my activity at galaxy store. thank you. okay. thank you. here's tony morelan 12:02 ron's got a lot of great advice ron's the one who he runs our forums so yeah, much appreciation to ron what about galaxy store badges? are you using any badges on your on your platform to help promote your watch faces? tomas joscak 12:17 yes, we are using standard general veggies for our different stores. and those are placed actually in description of our watch faces as well as the instagram on or on our website. tony morelan 12:33 excellent and i know that badges are a great way for you to go back and see the analytics you know the data on what's driving your sales so always happy to hear when designers are using the using badges. what about banner promotions, have you had a chance to be featured on any of the banner promotions on the galaxy store? tomas joscak 12:50 yes, we are featured in the banner promotion is always a great and profitable issue for us or the banner can drive the revenue really high. so the laughter banner promotion and we are happy that we are in. tony morelan 13:11 sure. and for any new designers out there that are listening in band promotions they run for is it two weeks? is that what it is on the on the galaxy store? tomas joscak 13:19 yes, yes, two-week periods. tony morelan 13:21 and this is where you provide a graphic of a banner. it's basically an advertisement that appears that helps drive users to your to your store. and i know speaking from my experience of banner promotions are huge. so great way to get your name out there and drive up your sales. so one thing unique about your business is your quality of your photographs and your videos. tell me a little bit about that. do you have some experience? are you hiring an outside photographer to come in and do that or is this something that you're actually doing yourself? tomas joscak 13:55 and my short fuck us character. i was happy to be a photographer as well for a few months before so i have pretty nice lenses and some good technique from that time so i just use the good quality stuff i have already and maybe the pictures are now good or we are we are happy able to quality however, i started just to be in the front of a window and making my first video with a smartphone only so all of this you can actually see it our youtube channels where we delete the old videos where the quality is so poor. however, to have a visit video presentation seems to be really important at every watch face. so 99% of all our watch faces do have a promo video. tony morelan 14:48 okay, and it's you can always spot a vienna studios. watch face video because of the white gloves. that's something unique i always see these white gloves. you know, holding the watch very elegantly. are you? are those your hands inside the gloves? or do you have a professional model that you're bringing in to wear the white gloves. tomas joscak 15:10 these are my hands. the big advantage of making these videos was that before as i work from home, i prepared a small mini photo studio close to my computer. so after which phase was ready, i just turn my position into this photo studio beside me and making a video really in a short time in the best possible quality. and then i sell off the first two videos that at this magnificent because the watches are so small, have different displacements or some few nice places of my fingers have been there in a really big screen. so i started to use goals and find now so i don't need to care about my nails quality anymore? tony morelan 16:01 got it. so you don't have to hire a professional hand model that you don't have to worry about getting a little dirt under your fingernails because you just put on the nice fancy gloves. love that. tomas joscak 16:12 that's the point. i think customers like it too. tony morelan 16:15 sure, sure. so how many watch faces have you published to date? tomas joscak 16:21 published maybe together it will be more than 700 wow, think about this number the three years? yes. i think the 700 are solely on galaxy store. so like count also my former watch faces it would be somewhere around 1000 and more watch faces. tony morelan 16:40 i do understand though, that they're not all available that you actually utilize what you're calling a pop-up brand, which is where it's just for a limited time. this watch faces available which kind of helps drive up you know the uniqueness behind the watch face which increases the value. so tell me a little bit about your approach on offering a limited release, watch face tomas joscak 17:00 okay, we are playing with different business models and this was one of those. we created a brand out there limited, which is a lot more available and to store it. delimitation was only 30 days. during this time we sold a nice amount of this ultra-limited brand. so we'll prepare something for the future as well. tony morelan 17:26 excellent no, that's it's a great a great approach again, showing off your marketing experience to help drive your sales. so tell me where do you get your ideas from your watch faces. tomas joscak 17:39 it's hard to say i'm just walking through the streets or driving and has the hardest time when i got some ideas under the shower. tony morelan 17:51 so in the shower, tomas joscak 17:53 in my shower. tony morelan 17:54 yeah, typically people are singing in the shower but you're actually designing watch faces in the shower. tomas joscak 18:00 well i'm singing to, and then i find myself as i'm running to the corridors our white paper and putting ideas on it. and then i can dry myself and doing other stuff. tony morelan 18:14 that's good. it's great. yeah, you're already on the paper. so is your approach into first sketch? or do you start designing your watch face straight on the computer? tomas joscak 18:23 yes, i'm sketching a lot. i have much more ideas. let's say it's time to make a real product out of it. tony morelan 18:32 okay. tell me a little bit about the tools that you're using. so what software using like adobe photoshop adobe illustrator? what are you using to create and design your watch faces? tomas joscak 18:42 well 95% of all my vote faces are created in powerpoint. tony morelan 18:51 powerpoint. yes, the microsoft program for doing slideshows. you're using that to create your watch faces? tomas joscak 19:01 yes, yes, definitely a lot of designers surprised whenever when i mentioned this, however i am is a really powerful instrument of powerpoint. tony morelan 19:12 that's crazy. i mean, i've used a lot of powerpoint, you know, in my years. in fact, i often tell new designers, if they're looking to start a career in freelance graphic design, they really need to learn powerpoint, because people typically don't like using powerpoint, you know, when it comes to putting presentations together. and if you can become, you know, a master of powerpoint, well, there's a lot of work out there because people just hate using powerpoint. so to hear that you're using powerpoint to create the graphics on these luxury watch faces is just mind blowing. i mean that that is absolutely amazing that you have figured out a way to use powerpoint at that level. so that's excellent. so tell me to date. i think i read somewhere that you have over 1 million downloads, is that correct? tomas joscak 20:04 oh, well done 1 million, i think. tony morelan 20:10 no, actually at the moment we have more than 5 million downloads. 5 million. wow. that is just amazing. so congrats on that. tell me a little bit about leveraging free watch faces. i know that a lot of designers they'll offer some of their watch faces for free. but then the others are paid give me your idea on utilizing free watch faces to help raise your brand level. tomas joscak 20:44 free workspaces are great. however we are using it very rarely. maybe there's one or two per brand. and in our stores where we are offering luxury, luxury watch faces which we did $100 plus, we don't use any of those free watch faces. so my recommendation would be it's a nice to have some, but not a lot. tony morelan 21:11 got it? yeah. and i agree with that because you want to really drive your sales. so, you know, utilizing free watch faces to help raise brand awareness is excellent. but don't over saturate the market with free watch faces. so yeah, totally agree with you with that. having been a designer now for watch faces for three years and millions of downloads. i'm sure you've come across a few challenges. so share a little bit about some of the challenges maybe that you've had to face. tomas joscak 21:39 well, at the moment, i cannot remember any issue according to brands selling points or design, however, are big challenges right now, according to the coronavirus. i spoke to other designers and currently we are the most hated at this crisis at the moment. so our sales go to really down in everyone met this year and what we saw was that actually the elect luxury segment a lot of watch faces was actually stopped selling in this time really? tony morelan 22:17 yeah and that's not surprising considering all the you know, our world is going through right now that can understand where people are wanting to you know, watch where they're spending their money. so hopefully that will change in a soon enough time. so tell me are there any features you would like to see added to the galaxy store or to galaxy watch studio? tomas joscak 22:38 well, i'm personally very adaptive person. so i, i am working, whatever is on the table, i try to squeeze the most possible out of it. and i asked myself, what can i change to be successful at the market or with the two which is provided to us so basically, i could have some issues but i'm focusing on the on the market right now and on the on the revenues we are able to produce. tony morelan 23:12 okay. okay. so tell me what is in the future for vienna studios. do you have any, you know, any updates? what's your plan for the future? tomas joscak 23:23 we will definitely launch some new limited additions to the code successful pilot project we ran before. and we have a plan to make a really, really very realistic digital watch face version of a real mechanical watch. i cannot tell you any more to this project we are right now speaking to possible licensing partner, but these will be i think, very original offer at the galaxy store. tony morelan 23:57 awesome. super excited to see that when it actually becomes available. so can you talk a little bit about multi language support and how you're utilizing that feature on the galaxy store to help market your watch faces globally. tomas joscak 24:11 in the galaxy store, we are starting always with only english version of our watch faces. however, if this one particular watch face is popular in other countries, so afterwards, we are translating all the descriptions and promo pictures into the language where the sales are growing. tony morelan 24:31 okay, so just to just to help new designers understand, when you first publish a watch face, you publish it in english, that's the preferred language. but seller office allows you to create alternative pages that you can put in the native language for different countries. so that if a user from that country is viewing your seller office page, they'll see it in their native language. it's great to see that you're united in the future, and it's a nice approach when you're just looking at you know, if you've got increased sales in those different regions that it's worthwhile to then translate it. so who's doing the translation? tomas joscak 25:10 basically, we are using automatic translations, okay. and for example, german language is familiar with me. so i look at the languages where we are in and rest is automatic at the moment. tony morelan 25:24 okay, nice. so i also understand that you're doing something that you're calling an outlet store. so tell me a little bit about your outlet store and how you're utilizing watch face. watch faces on that. tomas joscak 25:36 outlet store is a really another success story of vienna studios. as we started promoting and selling, high priced looks at a watch faces. there was a lot of people who would like to have one but i don't want to pay as much are cannot afford for these high prices. so afterwards we have a certain amount of dyslexia watch faces, we decided to put the oldest one into a new creative outlet store with a huge discount. so at the moment the people are able to buy alexa watch faces even for much lower prices in the outlet store. tony morelan 26:23 that's a great approach. it's the first that i've actually heard of someone using that approach to sell some of their older watch faces. so very interesting. i love that. so i'm guessing you're familiar with some of the other top watch face designers out there on the galaxy star. can you tell me you know, give me some names who are the designers that you that you are impressed with that you follow with the names that kind of jump out for you? tomas joscak 26:48 okay, there is a lot of great designers out there. i can i could mention a few x9 studios, infinity watch faces. however, the best one for myself. and now level four for himself is matteo dini. a few of his watch faces, and he could claim be like designing every pixel. so i'm really impressed by work of matteo. tony morelan 27:18 yeah, he is. he's an amazing designer based out of italy. you know, one of our top watch face designers. i think a lot of people are impressed with what matteo dini has done. some of the other names that you had mentioned x nine. i actually am doing a live chat with john from x nine studio tomorrow. so we're going to be doing a live chat and i'll be talking to him about theme designing and watch faces signing. he's also another past winter with the galaxy store awards. let's say you had mentioned infinity watch faces that's chris shomo. he's an excellent designer. he's actually the one who i first discovered when i learned about galaxy watch designer at the time, which is now galaxy watch studio. so, you know when i first learned about chris and what he was doing with galaxy watch, and let's see, you mentioned your rarity. oh urarity. yeah, he's got just amazing designs and if you have a chance to look at his videos, the work that he does with his videos is just outstanding is definitely someone that can inspire a lot of people. tomas joscak 28:25 yes, uratity tony morelan 28:27 yet another guy? yeah. so bergen is great. he's an excellent designer. again, one of the designers that has been there for a while, who does some very nice realistic watch faces. so definitely some designers to go in and look for when you're looking to get inspired for creating watch faces. so i have one more question for you. when you're not designing watch faces. what do you like to do for fun? tomas joscak 28:50 oh, fine. and except designing watch faces, which is really relaxed for myself. if i am looking for fans my buddy, i love to visiting sauna. tony morelan 29:02 oh, asana. yeah. oh, nice. that's a good time to relax. good time to relax. now, i also heard that you are the father of twin four-year olds. is that correct? yes, correct. good. i'm sure you're looking for a lot of time to relax. i can only anticipate that that would be a little crazy at times. tomas joscak 29:23 now, and they have been my twins have been at the beginning of my business, actually, because i couldn't work only during day slept. so we started to get actually. tony morelan 29:33 oh, nice. nice. nice. wonderful. okay, tomas. i absolutely appreciate you taking the time to sit down with me and record this podcast, tons of fun. lots of great inspiration. so keep up the great work. and i'm looking forward to seeing what vienna studios puts out in the near future. so thanks. tomas joscak 29:48 thank you. thanks. outro 29:50 looking to start creating for samsung? download the latest tools to code your next app, or get software for designing apps without coding at all. sell your apps to the world. samsung galaxy store. check out developer.samsung.com today and start your journey with samsung. the pow! podcast is brought to you by the samsung developer program and produced by tony morelan.

      https://developer.samsung.com/developers-podcast/s01e07-tomas-joscak.html
      1. Develop
      2. Galaxy Watch for Tizen

      doc

      Tag Expressions

      tag expression use tag expressions to create unique and awesome watch faces that change dynamically. note : tag expressions are not supported by samsung gear fit watches. tag expressions are conditions that allow you to change the rotation, placement, and opacity of a component based on tag values (watch data) such as date and time, battery status, caffeine or water intake, calories burned, steps, or heart rate. your watch face changes dynamically as the tag value changes. for example, you can create a watch face where the object on the screen moves vertically or horizontally every second, or you can create a watch face with objects that blink at certain times. watch data is represented by tag ids or tags whose range of values is shown in the following tables: data tag id range hour in day [h] 0 - 23 minute in hour [m] 0 - 59 second in minute [s] 0 - 59 day of month [d] 1 - 31 month of year [m] 1 - 12 day of week [e] 1 - 7 day of year [d] 0.0 - 11.99 year [y] data tag id range battery (%) [ba] 0 - 100 battery charging status (0/1) [bc] 0 or 1 battery level [bl] 0 – 4 steps (%) [st] 0 - 100 step counts [sc] 0 - ∞ steps goal [sg] 0 - ∞ speed (m/s) [sp] 0 - ∞ burned calorie (cal) [cal] 0 - ∞ burned calorie (kcal) [kcal] 0 - ∞ moved distance (km) [md] 0 - ∞ heart rate (bpm) [hr] 0 - ∞ water intake [wi] 0 - ∞ caffeine intake [ci] 0 - ∞ floor [fl] 0 - ∞ moon phase position [mp] 0 – 28 you can enter a tag expression directly into the rotate, placement, and opacity properties input fields of a component. tags must be enclosed in square brackets [ ]. input fields that allow tag expressions have a triangular icon in the lower left corner. to open a larger input window to enter complex or long formulas, click the triangle icon or double-click the input field. in the script window, you can enter complex and lengthy tag expressions without truncation, and you can easily search for the tags for the data you want. tag expressions support arithmetic operators, relational operators, logical operators, and ternary operators. arithmetic operators arithmetic operators are basic math functions. they perform a function between two values (operands). arithmetic operator function + addition - subtraction * multiplication / quotient of division % remainder of division the precedence of arithmetic operations follows the same precedence as mathematic operations: operations inside parentheses are performed first. multiplication and division arithmetic operations are performed next. if there are multiple multiplication and division operations in an expression, they are performed in order, from left to right. finally, addition and subtraction arithmetic operations are performed. if there are multiple addition and subtraction operations in an expression, they are performed in order, from left to right. examples the following examples show how to use tags and arithmetic operations in a tag expression: 5 * [ba] : returns battery percentage multiplied by 5. if the battery percentage is 7%, then the value returned is 35. that is, 5 * 7 = 35. [s] / 3 : returns the quotient of seconds in a minute divided by 3. if the number of seconds that have passed in the minute is 7, then the value returned is 2.33. [s] % 3 : returns the remainder of seconds in a minute divided by 3. if the number of seconds that have passed in the minute is 7, then the value returned is 1. 3 + 5 * [ba] : battery percentage is multiplied by 5, then 3 is added. if the battery percentage is 7%, then the value returned is 38. multiplication is performed first (because it takes precedence over addition) and then 3 is added to that result: 3 + 5 * 7 → 3 + 35 → 38. (3 + 5) * [ba] : 3 is added to 5 first, then the result is multiplied by the battery percentage. if the battery percentage is 7%, then the value returned is 56. the addition operation in parentheses is performed first then the result is multiplied by the battery percentage: (3 + 5) * 7 → 8 * 7 → 56. relational operators relational operators compare two values to determine which is greater, less than, or equal to each other. a comparison that is true returns a value of 1. a comparison that is false returns a value of 0 (zero). relational operator function < less than <= less than or equal to > greater than >= greater than or equal to == equal to != not equal to examples relational operations are sometimes combined with arithmetic operations. here is an example that uses only a relational operation and another example that uses both a relational operation and arithmetic operations. [ba] <= 15 if the battery percentage is less than or equal to 15%, [ba] <= 15 is true and returns the value of 1. if the battery percentage is greater than 15%, [ba] <= 15 is false and returns the value of 0 (zero). 1000 * ([hr] < 100) + 120 the operation in parentheses, the relational operation, must be performed first. if the heart rate is less than 100 bpm, [hr] < 100 is true and returns the value of 1. next, multiply 1 by 1,000 and then add 120. the final value returned is 1,120. for example, if [hr] = 80 bpm: 1000 * ([hr] < 100) + 120 → 1000 * (80 < 100) + 120 → 1000 * (1) + 120 → 1,120. if the heart rate is greater than or equal to 100 bpm, [hr] < 100 is false and returns the value of 0 (zero). next, multiply 0 by 1,000 and then add 120. the final value returned is 120. for example, if [hr] = 120 bpm: 1000 * ([hr] < 100) + 120 → 1000 * (120 < 100) + 120 → 1000 * (0) + 120 → 120. creating a pedometer (using relational operations) using relational operations, let’s create a simple pedometer. the pedometer displays one of two images, depending on the step percentage (the [st] tag). if [st] is 0%, the watch displays the image of a man standing still. if [st] is 100%, the watch displays the image of a man raising his arms in victory. if [st] is between 0% and 100%, nothing is displayed. to display an image, set its opacity to 100. to hide an image, set its opacity to 0. display the standing man image if step percentage is equal to 0%. set opacity to **(\[st\] == 0) \* 100**. the operation in parentheses, a relational operation, must be resolved first. when \[st\] is equal to 0%, (\[st\] == 0) returns 1. the standing man image is displayed because the opacity property is set to 100. when \[st\] is not equal to 0%, (\[st\] == 0) returns 0. the standing man image is not displayed because the opacity property is set to 0. if \[st\] = 0, the relational operation (\[st\] == 0) returns 1 (true) opacity = (0 == 0) \* 100 → (1 ) \* 100 → 100 opacity is set to 100 and the standing man image is displayed if \[st\] > 0, the relational operation (\[st\] == 0) returns 0 (false) opacity = (\[st\] == 0) \* 100 → (0) \* 100 → 0 opacity is set to 0 and the standing man image is not displayed let’s walk through the calculation of the tag expression (\[st\] == 0) \* 100 when step percentage is 0. replace \[st\] with the value, in this case 0 (zero):(**\[st\]** == 0) \* 100 → (**0** == 0) \* 100 the operation in parentheses must be performed first, so perform the relational operation in parentheses (0 == 0). because 0 is equal to 0, the relational operation returns 1 (true): (**0 == 0**) \* 100 → (**1**) \* 100 now, calculate 1 multiplied by 100 which results in 100. note that \* is interpreted as an arithmetic operation because only one of its operands is a relational operation (\[st\] == 0) while the other is a value (100): (1) \* 100 → 100 display the victorious man image if step percentage is equal to 100%. set opacity to **(\[st\] == 100) \* 100**. the operation in parentheses, a relational operation, must be resolved first. when \[st\] is equal to 100%, (\[st\] == 100) returns 1. the victorious man image is displayed because the opacity property is set to 100. when \[st\] is not equal to 100%, (\[st\] == 100) returns 0. the victorious man image is not displayed because the opacity property is set to 0. if \[st\] < 100, the relational operation (\[st\]) == 100) returns 0 (false) opacity = (\[st\] == 100) \* 100 → (0) \* 100 → 0 opacity is set to 0 and the victorious man image is not displayed if \[st\] = 100, the relational operation (\[st\]) == 100) returns 1 (true) opacity = (100 == 100) \* 100 → (1) \* 100 → 100 opacity is set to 100 and the victorious man image is displayed let’s walk through the calculation of the tag expression (\[st\] == 100)\*100 when step percentage is 0. replace \[st\] with the value, in this case 0:(**\[st\]** == 100) \* 100 → (**0** == 100) \* 100 the operation in parentheses must be resolved first, so resolve the relational operation in parentheses (0 == 100). because 0 does not equal 100, the relational operation returns 0 (false): (**100 == 100**) \* 100 → (**0**) \* 100 now, calculate 0 multiplied by 100 which results in 0. note that \* is interpreted as an arithmetic operation because only one of its operands is a relational operation (\[st\] == 100) while the other is a value (100): (0) \* 100 → 0 logical operators logical operators combine the results of two or more relational operations and returns a value of 1 (true) or 0 (false). tag expressions support two types of logical operations: and and or. and – represented by an asterisk (*). both relational operations must be true in order for the and logical operator to return a value of 1 (true). otherwise, the return value is 0 (false). note that an asterisk also represents the multiplication arithmetic operator. or – represented by the plus sign (+). one or more of the relational operations must be true in order for the or logical operator to return a value of 1 (true). only if both of the relational operations are false, will the return value be 0 (false). note that the plus sign also represents the addition arithmetic operator. here is a summary of the results of a logical operation: result of relational operation 1 result of relational operation 2 result of and (*) (relational operation 1) * (relational operation 2) result of or (+) (relational operation 1) + (relational operation 2) 0 (false) 0 (false) 0 * 0 = 0 0 + 0 = 0 0 (false) 1 (true) 0 * 1 = 0 0 + 1 = 1 1 (true) 0 (false) 1 * 0 = 0 1 + 0 = 1 1 (true) 1 (true) 1 * 1 = 1 1 + 1 = 1 how does the tag expression know when to use a logical or arithmetic operator? a logical operator is applied only if both of the two operands (the values on either side of the operator) are relational operations. an arithmetic operator is applied if either of the two operands is a number or value. logical operation arithmetic operation arithmetic operation both operands are relational operations: (0 <= 1) * (1 < 2) result: 1 one operand is a relational operation and the other is a value: (0 <= 1) *120 result: 120 both operands are values: 1*120 result: 120 this tag expression is made up of two relational operations on either side of the operator (0<=1 and 1<2). because of this, the logical operator is applied. since both of the relational operations are true, the final result of this tag expression is 1 (true). this tag expression is made up of a relational operation (0<=1) and a value (120). because of this, the arithmetic operator is applied. the result of the relational operation is 1 (true) which is then multiplied by 120. the final result of this operation is 120. this tag expression is made up of two values (1 and 120). because of this, the arithmetic operator is applied. the result is 1 multiplied by 120 which returns a final result of 120. examples here are two examples using logical operations combined with arithmetic operations. 100 * (([h] >= 6) * ([h] <= 17)) determine if the hour in the day is greater than or equal to 6 and less than or equal to 17, multiply the result by 100. if [h] =3, then the final resulting value is 0. first, compute the relational operations: ([h] >= 6) returns 0 (false) and ([h] <= 17) returns 1 (true) next, compute the logical operation: (([h] >= 6) * ([h] <= 17)) → ((0) * (1)) → 0 and 1 → 0 finally, compute the arithmetic operation: 100 * 0 → 0 if [h] = 9, then the final resulting value is 100. first, compute the relational operations: ([h] >= 6) returns 1 (true) and ([h] <= 17) returns 1 (true) next, compute the logical operation: (([h] >= 6) * ([h] <= 17)) → (1) * (1) → 1 and 1 → 1 finally, compute the arithmetic operation: 100 * 1 → 100 if [h] = 20, then the final resulting value is 0. first, compute the relational operations: ([h] >= 6) returns 1 (true) and ([h] <= 17) returns 0 (false) next, compute the logical operation: (([h] >= 6) * ([h] <= 17)) → (1) * (0) → 1 and 0 → 0 finally, compute the arithmetic operation: 100 * 0 → 0 120 + (([hr] <= 50) + ([hr] >= 100)) determine if your heart rate is less than or equal to 50 bpm or greater than or equal to 100 bpm, add 120 to the result. if [hr] = 30, then the resulting value is 121. first, compute the relational operations: ([hr] <= 50) returns 1 (true) and ([hr] >= 100) returns 0 (false) next, compute the logical operation: (([hr] <= 50) + ([hr] >= 100)) → (1) + (0) → 1 or 0 → 1 finally, compute the arithmetic operation: 120 + 1 → 121 if [hr] = 70, then the resulting value is 120. first, compute the relational operations: ([hr] <= 50) returns 0 (false) and ([hr] >= 100) returns 0 (false) next, compute the logical operation: (([hr] <= 50) + ([hr] >= 100)) → (0) + (0) → 0 or 0 → 0 finally, compute the arithmetic operation: 120 + 0 → 120 if [hr] = 120, then the resulting value is 121. first, compute the relational operations: ([hr] <= 50) returns 0 (false) and ([hr] >= 100) returns 1 (true) next, compute the logical operation: (([hr] <= 50) + ([hr] >= 100)) → (0) + (1) → 0 or 1 → 1 finally, compute the arithmetic operation: 120 + 1 → 121 creating a pedometer (using logical and relational operations) using logical and relational operations, let’s add another image to our pedometer. this pedometer displays not only the standing man when step percentage (the [st] tag) is 0% and the victorious man when step percentage is 100%, but also an image of a walking man if the step percentage is greater than or equal to 1% and less than or equal to 99%. display the standing man image if: step percentage = 0% display the walking man image if: 1% <= step percentage <= 99% display the victorious man image if: step percentage = 100% the standing man and victorious man images the tag expression for opacity is the same as the previous pedometer example. set opacity to ([st] == 0) * 100. the tag expression for opacity is the same as the previous pedometer example. set opacity to ([st] == 100) * 100. the walking man image set opacity to (([st] >= 1) * ([st] <= 99)) * 100. when [st] is equal to 0, ([st] >= 1) * ([st] <= 99) returns 0. the walking man image is not displayed because the opacity property is set to 0. when [st] is greater than or equal to 1 and [st] is less than or equal to 99, ([st] >= 1) * ([st] <= 99) returns 1. the walking man image is displayed because the opacity property is set to 100. when [st] is equal to 100, ([st] >= 1) * ([st] <= 99) returns 0. the walking man image is not displayed because the opacity property is set to 0. if [st] = 0, the first relational operation ([st] >= 1) returns 0 (false) and the second relational operation ([st] <= 99) returns 1 (true) the logical operation (([st] >= 1)*([st] <= 99)) returns 0 (false) ([st] >= 1) * ([st] <= 99) → (0 >= 1) * (0 <= 99) → (0) * (1) → 0 opacity = ((0 >= 1) * (0 <= 99)) * 100 → ((0) * (1)) * 100 → (0) * 100 → 0 opacity is set to 0 and the walking man image is not displayed if [st] >= 1 and [st] <= 99, the first relational operation ([st]>=1) returns 1 (true) and the second relational operation ([st] <= 99) returns 1 (true) the logical operation (([st] >= 1) * ([st] <= 99)) returns 1 (true) ([st] >= 1) * ([st] <= 99) → (1) * (1) → 1 opacity = (([st] >= 1) * ([st] <= 99)) * 100 → ((1) * (1)) * 100 → (1) * 100 → 100 opacity is set to 100 and the walking man image is displayed if [st] = 100, the first relational operation ([st]>=1) returns 1 (true) and the second relational operation ([st]<=99) returns 0 (false) the logical operation (([st] >= 1) * ([st] <= 99)) returns 0 (false) ([st] >= 1) * ([st] <= 99) → (100 >= 1) * (100 <= 99) → (1) * (0) → 0 opacity = ((100 >= 1) * (100 <= 99)) * 100 → ((1) * (0) * 100 → (0) * 100 → 0 opacity is set to 0 and the walking man image is not displayed let’s walk through the calculation of the tag expression (([st] >= 1) * ([st] <= 99)) * 100 when step percentage is 50. replace [st] with the value, in this case 50: (([st] >= 1) * ([st] <= 99)) * 100 → ((50 >= 1) * (50 <= 99)) * 100 the operations in parentheses must be resolved first, so resolve the relational operations (50 >= 1) and (50 <= 99). because 50 is greater than 1, the first relational operation returns 1 (true). because 50 is less than 99, the second relational operation returns 1 (true): ((50 >= 1) * (50 <= 99)) * 100 → ((1) * (1)) * 100 again, the operation in parentheses must be resolved first, so resolve the logical operation ((1) * (1)). in this case, * is interpreted as the and logical operation because the operands on both sides of the operator are relational operations. (1 and 1) returns 1 (true): ((1) * (1)) * 100 → (1) * 100 now, calculate 1 multiplied by 100 which results in 100. note that * is interpreted as an arithmetic operation because only one of its operands is a logical operation while the other is a value (100): (1) * 100 → 100 creating a pedometer (using logical, relational, and arithmetic operations) let’s create another pedometer that adjusts the placement of each image, starting with the standing man on the left, the victorious man on the right, and the walking man between the two with its placement changing based on the percentage of steps taken. this example is also part of the steps_digital_b complication provided with galaxy watch studio (component bar > complications > workout > steps_digital_b). display the standing man image if: step percentage = 0% display the walking man image if: 1% <= step percentage <= 99% with the placement of the image dependent on the step percentage display the victorious man image if: step percentage = 100% the standing man and victorious man images opacity the tag expression for opacity is the same as the previous pedometer example. set opacity to ([st] == 0) * 100. placement note that the horizontal (x) value for placement has been adjusted so that the image appears on the left. opacity the tag expression for opacity is the same as the previous pedometer example. set opacity to ([st] == 100) * 100. placement note that the horizontal (x) value for placement has been adjusted so that the image appears on the right. the walking man image opacity the tag expression for opacity is the same as the previous pedometer example set opacity to (([st] >= 1) * ([st] <= 99)) * 100. placement the x placement property contains a tag expression, ([st] <= 99) * [st]. the operation in parentheses must be resolved first. the operation uses a relational operator and returns 1 (true) or 0 (false), based on the result of the operation. the x placement property positions the walking man image along the x-axis on the watch face (from 100px to 199px). as the step percentage increases, the tag expression result increases, and the placement of the walking man image moves further to the left of its starting position. that is, for each increase of 1% of step percentage, the walking man image moves to the left by 1px. because the y placement property (y-axis) does not change, the walking man image moves in a horizontal line across the watch face. if [st] = 0, the relational operation ([st] <= 99) returns 1 (true) x = 100 + (0 <= 99) * 0 → 100 + (1) * 0 → 100 + 0 → 100 however, because opacity is 0 when [st] = 0, the walking man image is not displayed if [st] = 50, the relational operation ([st] <= 99) returns 1 (true) x = 100 + (50 <= 99) * 50 → 100 + (1) * 50 → 100 + 50 → 150 if [st] = 100, the relational operation ([st] <= 99) returns 0 (false) x = 100 + (100 <= 99) * 100 → 100 + (0) * 100 → 100 + 0 → 100 however, because opacity is 0 when [st] = 100, the walking man image is not displayed. ternary operators ternary operations have three operands: a conditional operation, a result if the conditional operation is true, and a result if the conditional operation is false. a conditional operation can be a relational or logical operation. it is presented in the following format: conditional_operation? result_if_true: result_if_false examples the following examples are used to set the opacity of an image on the watch face. [ba] <= 20? 15: 100 set the opacity of an image on the watch face to 15 if battery percentage is less than or equal to 20. otherwise, set the opacity to 100. if [ba] = 10, [ba] <= 20 returns true opacity is set to 15 if [ba] = 60, [ba] <= 20 returns false opacity is set to 100 ([ba] >= 50) * ([ba] <= 75)? 100: 0 this example uses a logical operation for its conditional operation. set the opacity of an image on the watch face to 100 if battery percentage is greater than or equal to 50 and less than or equal to 75. otherwise, set the opacity to 0. if [ba] = 10, first, compute the relational operations: ([ba] >= 50) returns 0 (false) and ([ba] <= 75) returns 1 (true) next, compute the logical operation: ([ba] >= 50) * ([ba] <= 75) → (10 >= 50) * (10 <= 75) → (0) * (1) → 0 and 1 → 0 (false) finally, since the conditional operation returns false, opacity is set to 0 if [ba] = 60, first, compute the relational operations: ([ba] >= 50) returns true (1) and ([ba] <= 75) returns true (1) next, compute the logical operation: ([ba] >= 50) * ([ba] <= 75) → (60 >= 50) * (60 <= 75) → (1) * (1) → 1 and 1 → 1 (true) finally, since the conditional operation returns true, opacity is set to 100 if [ba] = 90, first, compute the relational operations: ([ba] >= 50) returns true (1) and ([ba] <= 75) returns false (0) next, compute the logical operation: ([ba] >= 50) * ([ba] <= 75) → (90 >= 50) * (90 <= 75) → (1) * (0) → 1 and 0 → 0 (false) finally, since the conditional operation returns false, opacity is set to 0 nested ternary operations ternary operations can be nested within the result operand of another ternary operation. for example, if you have two ternary operations (a? b: c) and (x? y: z), you could create the following nested ternary operations: conditional_operation? (a? b: c): result_if_false – if conditional_operation is true, then check conditional operation a. if a is true, the result is b. if a is false, the result is c. if conditional_operation is false, the result is result_if_false. conditional_operation? result_if_true: (x? y: z) – if conditional_operation is true, the result is result_if_true. if conditional_operation is false, then check conditional operation x. if x is true, the result is y. if x is false, the result is z. conditional_operation? (a? b: c): (x? y: z) – if conditional_operation is true, then check conditional operation a. if a is true, the result is b. if a is false, the result is c. if conditional_operation is false, then check conditional operation x. if x is true, the result is y. if x is false, the result is z. example the following nested ternary operation is used to set the opacity of an image on the watch face. in this example, the conditional operations are logical operations. ([hr] >= 100) * ([hr] <= 140) ? (([sp] >= 2) * ([sp] <=6 )? 50: 100): 0 opacity is determined using heart rate ([hr]) and speed ([sp]). heart rate: the first conditional operation the first conditional operation that must be considered is ([hr] >= 100) * ([hr] <= 140): if heart rate is greater than or equal to 100bpm and heart rate is less than or equal to 140bpm. note that this conditional operation is also a logical operation because its two operands are relational operations. if [hr] = 90, first, compute the relational operations: ([hr] >= 100) returns 0 (false) and ([hr] <= 140) returns 1 (true) next, compute the logical operation: ([hr] >= 100) * ([hr] <= 140) → (90 >= 100) * (90 <= 140) → (0) * (1) → 0 (false) finally, since the conditional operation returns false, the nested ternary operation returns 0, and opacity is set to 0 if [hr] = 120, first, compute the relational operations: ([hr] >= 100) returns 1 (true) and ([hr] <= 140) returns 1 (true) next, compute the logical operation: ([hr] >= 100) * ([hr] <= 140) → (120 >= 100) * (120 <= 140) → (1) * (1) → 1 (true) finally, since the conditional operation returns true, the nested ternary operation must now consider the second conditional operation ([sp] >= 2) * ([sp] <=6 ) (see speed: the second conditional operation for this calculation) if [hr] =160, first, compute the relational operations: ([hr] >= 100) returns 1 (true) and ([hr] <= 140) returns 0 (false) next, compute the logical operation: ([hr] >= 100) * ([hr] <= 140) → (160 >= 100) * (160 <= 140) → (1) * (0) → 0 (false) finally, since the conditional operation returns false, the nested ternary operation returns 0, and opacity is set to 0 speed: the second conditional operation the second conditional operation that must be considered (if the initial condition is true) is ([sp] >= 2) * ([sp] <=6 ): if speed is greater than or equal to 2 m/s and less than or equal to 6 m/s. again, this is a logical operation because its two operands are relational operations. if [sp] = 0, first, compute the relational operations: ([sp] >= 2) returns 0 (false) and ([sp] <=6 ) returns 1 (true) next, compute the logical operation: ([sp] >= 2) * ([sp] <=6 ) → (0 >=2) * (0 <= 6) → (0) * (1) → 0 (false) finally, since the conditional operation returns false, the nested ternary operation returns 100, and opacity is set to 100 if [sp] = 5, first, compute the relational operations: ([sp] >= 2) returns 1 (true) and ([sp] <=6 ) returns 1 (true) next, compute the logical operation: ([sp] >= 2) * ([sp] <=6 ) → (5 >= 2) * (5 <= 6) → (1) * (1) → 1 (true) finally, since the conditional operation returns true, the nested ternary operation returns 50, and opacity is set to 50 if [sp] = 7, first, compute the relational operations: ([sp] >= 2) returns 1 (true) and ([sp] <=6 ) returns 0 (false) next, compute the logical operation: ([sp] >= 2) * ([sp] <=6 ) → (7 >= 2) * (7 <= 6) → (1) * (0) → 0 (false) finally, since the conditional operation returns false, the nested ternary operation returns 100, and opacity is set to 100 example heart rate monitor this example creates a heart rate monitor that displays a heartbeat slowing down or speeding up, depending on the user’s heart rate. this example is also part of the heart_03 complication provided with galaxy watch studio (component bar > complications > heart rate > heart_03). this example uses the placement property to show or hide the selected image. instead of making the image invisible by setting its opacity to zero, the image is hidden by placing it outside of the visible watch face. heart rate <= 50bpm 50bpm < heart rate <= 100bpm heart rate > 100bpm the slow heartbeat image display the animated green heart that beats slowly when the heart rate is less than or equal to 50bpm. the initial placement of the slow heartbeat image is in the center of the watch face. when the user’s heart rate ([hr]) is less than or equal to 50bpm, the slow heartbeat image is displayed. when the heart rate is greater than 50bpm, the image is placed outside of the visible watch face. to place the slow heartbeat image outside of the visible watch face when the heart rate is greater than 50, enough distance must be added to the placement. in this case, 1,000px is added when the heart rate is greater than 50, thus moving the placement of the image to 1,158px on the x-axis which is well outside of the visible watch face. for the slow heartbeat image, the tag expression for the x placement property is ([hr] > 50) * 1000. the operation in parentheses must be resolved first. the operation uses a relational operator and returns 1 (true) or 0 (false), based on the result of the operation. if [hr] = 45, the relational operation ([hr]) > 50) returns 0 (false) x = 158px + (45 > 50) * 1000 → 158px + (0) * 1000 → 158px + 0 → 158px the placement is not changed and the slow heartbeat image remains visible on the watch face if [hr] = 75, the relational operation ([hr]) > 50) returns 1 (true) x = 158px + (75 > 50) * 1000 → 158px + (1) * 1000 → 158px + 1000 → 1158px the placement is moved outside of the visible watch face therefore the slow heartbeat image is not displayed if [hr] = 125, the relational operation ([hr]) > 50) returns 1 (true) x = 158px + (125 > 50) * 1000 → 158px + (1) * 1000 → 158px + 1000 → 1158px the placement is moved outside of the visible watch face therefore the slow heartbeat image is not displayed the medium heartbeat image display the animated yellow heart that beats at medium speed when the heart rate is greater than 50bpm and less than or equal to 100bpm. the initial placement of the medium heartbeat image is outside of the visible watch face ( -44px on the x-axis). when the user’s heart rate ([hr]) is greater than 50bpm and less than or equal to 100bpm, the medium heartbeat image is displayed. when the heart rate is less than or equal to 50bpm or greater than 100bpm, the image is placed outside of the visible watch face. to place the medium heartbeat image in the center of the watch face (the same position as the slow heartbeat image) when the heart rate is greater than 50bpm and less than or equal to 100bpm, the x-axis placement must be set to 158px. 202px is added when the heart rate conditions are met, thus moving the placement of the image to 158px on the x-axis. for the medium heartbeat image, the tag expression for the x placement property is (([hr] <= 50) + ([hr] > 100)) * 1000 + 202. the operation in parentheses must be resolved first. the operation uses relational operators and a logical operator that returns 1 (true) or 0 (false), based on the result of the operation. if [hr] = 45, the first relational operation ([hr] <= 50) returns 1 (true) and the second relational operation ([hr] > 100) returns 0 (false) the logical operation (([hr] <= 50) + ([hr] > 100)) returns 1 (true) ((45 <= 50) + (45 > 100)) → ((1) + (0)) → 1 x = -44px + ((45 <= 50) + (45 > 100)) * 1000 + 202 → -44px + ((1) + (0)) * 1000 + 202 → -44px + (1) * 1000 + 202 → -44px + 1000 + 202 → 1,158 the placement is moved outside of the visible watch face therefore the medium heartbeat image is not displayed if [hr] = 75, the first relational operation ([hr]<=50) returns 0 (false) and the second relational operation ([hr] > 100) returns 0 (false) the logical operation (([hr] <= 50) + ([hr] > 100)) returns 0 (false) ((75 <= 50) + (75 > 100)) → ((0) + (0)) → 0 x = -44px + ((75 <= 50) + (75 > 100)) * 1000 + 202 → -44px + ((0) + (0)) * 1000 + 202 → -44px + (0) * 1000 + 202 → -44px + 202 → 158 the placement is moved to the center of the watch face therefore the medium heartbeat image is displayed if [hr] = 125, the first relational operation ([hr] <= 50) returns 0 (false) and the second relational operation ([hr] > 100) returns 1 (true) the logical operation (([hr] <= 50) + ([hr] > 100)) returns 1 (true) ((125 <= 50) + (125 > 100)) → ((0) + (1)) → 1 x = -44px + ((125 <= 50) + (125 > 100)) * 1000 + 202 → -44px + ((0) + (1)) * 1000 + 202 → -44px + (1) * 1000 + 202 → -44px + 1000 + 202 → 1,158 the placement is moved outside of the visible watch face therefore the medium heartbeat image is not displayed let’s walk through the calculation of the tag expression (([hr] <= 50) + ([hr] > 100)) * 1000 + 202 when heart rate is 75. replace [hr] with the value, in this case 75: (([hr] <= 50) + ([hr] > 100)) * 1000 + 202 → ((75 <= 50) + (75 > 100)) * 1000 + 202 the operations in parentheses must be resolved first, so resolve the relational operations (75 <= 50) and (75 > 100). because 75 is not less than or equal to 50, the first relational operation returns 0 (false). because 75 is not greater than 100, the second relational operation returns 0 (false): ((75 <= 50) + (75 > 100)) * 1000 + 202 → ((0) + (0)) * 1000 + 202 again, the operation in parentheses must be resolved first, so resolve the logical operation ((0) + (0)). in this case, + is interpreted as the or logical operation because the operands on both sides of the operator are relational operations. (0 or 0) returns 0 (false): ((0) + (0)) * 1000 + 202 → (0) * 1000 + 202 now, calculate 0 multiplied by 1000 then add 202 which results in 202. note that * and + are interpreted as arithmetic operations because at least one of their operands is a value: (0) * 1000 + 202 → 202 x is equal to -44px + 202 → 158px the fast heartbeat image display the animated red heart that beats fast when the heart rate is greater than 100bpm. the initial placement of the fast heartbeat image is outside of the visible watch face ( -44px on the x-axis). when the user’s heart rate ([hr]) is greater than 100bpm, the fast heartbeat image is displayed. when the heart rate is less than or equal to 100bpm, the image is placed outside of the visible watch face. to place the fast heartbeat image in the center of the watch face (the same position as the fast heartbeat image) when the heart rate is greater than 100bpm, the x-axis placement must be set to 158px. 202px is added when the heart rate conditions are met, thus moving the placement of the image to 158px on the x-axis. for the fast heartbeat image, the tag expression for the x placement property is ([hr] <= 100)) * 1000 + 202. the operation in parentheses must be resolved first. the operation uses a relational operator and returns 1 (true) or 0 (false), based on the result of the operation. if [hr] = 45, the relational operation ([hr]) <= 100) returns 1 (true) x = -44px + (45 <= 100) * 1000 + 202 → -44px + (1) * 1000 + 202 → -44px + 1000 + 202 → 1,158px the placement is moved outside of the visible watch face therefore the fast heartbeat image is not displayed if [hr] = 75, the relational operation ([hr]) <= 100) returns 1 (true) x = -44px + (75 <= 100) * 1000 + 202 → -44px + (1) * 1000 + 202 → -44px + 1000 + 202 → 1,158px the placement is moved outside of the visible watch face therefore the fast heartbeat image is not displayed if [hr] = 125, the relational operation ([hr]) <= 100) returns 0 (false) x = -44px + (125 <= 100) * 1000 + 202 → -44px + (0) * 1000 + 202 → -44px + 0 + 202 → 158px the placement is moved to the center of the watch face therefore the fast heartbeat image is displayed

      https://developer.samsung.com/galaxy-watch-tizen/studio/tutorial/dev-tag.html
      1. Develop
      2. Galaxy Watch for Tizen

      doc

      Native Watch Face

      create your first tizen wearable native watch application welcome to tizen wearable native watch application development! note for watch face developers : you can create watch faces with galaxy watch studio or tizen studio for your personal enjoyment. however you will not be able to add watch face applications to seller portal until you have received approval to publish watch faces. the review is not required for watch app and widget developers. galaxy store supports watch faces for galaxy watch3 and earlier (samsung watches running on tizen). watch faces for galaxy watch4 and later (running on wear os powered by samsung) is only supported in the chinese galaxy store. a wearable native watch application is created using the c language, and can be run on tizen wearable devices to display a customized watch face to the user. study the following instructions to help familiarize yourself with the tizen native application development process as well as using the tizen studio and installing the created application on the emulator or target device. with the instructions, you can create and run a basic wearable native watch application, which displays some text and the current time on the screen: before you get started with developing tizen applications, download and install the tizen studio. for more information on the installation process, see the installation guide. create a wearable native watch project using the tizen studio. this step shows how you can use a predesigned project template that creates all the basic files and folders required for your project. build the application. after you have implemented code for the features you want, this step shows how you can build the application to validate and compile the code. run the application. this step shows how you can run the application on the emulator or a real target device. design a ui. this step shows how you can create the application ui and make small alterations to it to improve the usability of your application. when you are developing a more complex application, you can take advantage of the native tools included in the tizen studio to ease the tasks of creating functionality and designing the application ui. creating a project the following example shows you how to create and configure a basic wearable native watch application project in the tizen studio. an application project contains all the files that make up an application. the following figure illustrates the application to be created. the application screen displays the hello watch text and the current time, which continues to be refreshed every second while the application runs. figure: wearable native watch application to create the application project: launch the tizen studio. in the tizen studio menu, select file > new > tizen project. the project wizard opens. in the project wizard, define the project details. the project wizard is used to create the basic application skeleton with the required folder structure and mandatory files. you can easily create different applications by selecting an applicable template or sample for the project wizard to use. select the template project type and click next. select the profile (wearable) and version from a drop-down list and click next. the version depends on the platform version you have installed and with which you are developing the application. select the native application application type and click next. select the watch template and click next. define the project properties and click finish. you can enter the project name (3-50 characters) and the unique package id. you can also select the location and working sets by clicking more properties. the project wizard sets up the project, creates the application files using the default content from the template, and closes. for more information on the project wizard and the available templates, see creating tizen projects with tizen project wizard. you can see the created project in the project explorer view. the most important files and folders include: inc: default folder for included source files res: folder for resource files used by the application only shared: folder for resource files to be shared with other applications src: folder for source code files lib: folder for external library files tizen-manifest.xml: manifest file used by the platform to install and launch the application figure: application in the project explorer note : you can view and modify the application configuration in the manifest editor. in this example, no configuration changes are required. your application project is now ready for further actions. next, build the application. managing the application configuration to view and modify the application configuration: in the project explorer view, double-click the tizen-manifest.xml file of the application. the tizen studio opens the file in the manifest editor. in the manifest editor, view and modify the configuration details using the various tabs: overview: define general information, such as the package, label, and icon of the application. features: define required software and hardware features. this information is used for application filtering in the tizen store. privileges: define the security-sensitive apis or api groups accessed and used by the application. localization: define localized values for the application label, description, and icon. advanced: define advanced features, such as application metadata and some miscellaneous options. source: view and edit the source code of the tizen-manifest.xml file. changes made and saved on the other tabs are reflected in the source code and vice versa. note : the tizen-manifest.xml file must conform to both the xml file format and the tizen native application specification requirements. editing the file in the source tab is intended for advanced users only. to save any changes, in the tizen studio menu, select file > save all. for more information on configuring the application, see setting the application manifest. understanding the source code pay attention to the following main issues in the application source code (in the inc/watch.h and src/watch.c files), to understand how the application is designed and how it works. for source code details related to the ui, see designing a simple ui. the watch application is initialized to use the functions and data types of the watch application api by including the <watch_app.h> header file in your application: #include <watch_app.h> all header files that you need are already included in the watch.h file, which is generated by the tizen studio when the template project is created. the life-cycle callbacks manage specific parts of the application life-cycle. they are set in the watch_app_lifecycle_callback_s structure, and the structure is passed to the watch_app_main() function of the watch application api to start the watch application event loop: int main(int argc, char *argv[]) { appdata_s ad = {0,}; int ret = 0; watch_app_lifecycle_callback_s event_callback = {0,}; app_event_handler_h handlers[5] = {null,}; event_callback.create = app_create; event_callback.terminate = app_terminate; event_callback.pause = app_pause; event_callback.resume = app_resume; event_callback.app_control = app_control; event_callback.time_tick = app_time_tick; event_callback.ambient_tick = app_ambient_tick; event_callback.ambient_changed = app_ambient_changed; ret = watch_app_main(argc, argv, &event_callback, &ad); if (ret != app_error_none) dlog_print(dlog_error, log_tag, "watch_app_main() is failed. err = %d", ret); return ret; } the create event is triggered before the application main loop starts. in this callback, you can initialize the application resources, such as create windows and data structures. static bool app_create(int width, int height, void *data) { /* hook to take necessary actions before the main event loop starts initialize ui resources and application's data if this function returns true, the main loop of application starts if this function returns false, the application is terminated */ appdata_s *ad = data; create_base_gui(ad, width, height); return true; } the time_tick event is triggered at least once per second. the watch applications can get the current time from the watch_time time handle to draw a normal watch. static void app_time_tick(watch_time_h watch_time, void *data) { /* called each second while your app is visible; update the watch ui */ appdata_s *ad = data; update_watch(ad, watch_time, 0); } note : for more information on the application life-cycle callbacks, see applications. an ambient mode is available on a low-powered wearable device. in this mode, the watch application shows a limited ui and receives only the ambient tick event every minute to reduce power consumption. the details of the limited ui drawn in the ambient mode depend on the device. in addition, due to the ambient mode being a low power mode, there are limits to the colors that can be shown on the screen. usually, when designing the ambient mode ui, draw it with limited colors (cyan, magenta, yellow, red, green, blue, black and white), and use less than 15% of the pixels on the screen. if you do not want to draw your own ambient mode ui, set the ambient-support attribute to false in the watch application manifest file to allow the platform to show a default ambient mode ui. note : to use the ambient mode, the user must enable it in the device settings. in addition, on the galaxy watch device, the ambient mode activates only when you are wearing the watch on the wrist. - the `ambient_tick` callback is triggered every minute while the device is in the ambient mode. you can use the callback to update the time on your watch application in the ambient mode. in this callback, do not perform time-consuming tasks and always update the ui as quickly as possible. the platform can put the device to sleep shortly after the ambient tick expires. ```c static void app_ambient_tick(watch_time_h watch_time, void *data) { /* called at each minute while the device is in ambient mode. update watch ui. */ appdata_s *ad = data; update_watch(ad, watch_time, 1); } ``` - the `ambient_changed` callback is triggered when the ambient mode is enabled or disabled on the device. you can use the callback to initialize your ambient mode ui. ```c static void app_ambient_changed(bool ambient_mode, void *data) { if (ambient_mode) /* prepare to enter the ambient mode */ else /* prepare to exit the ambient mode */ } ``` building your application after you have created the application project, you can implement the required features. in this example, only the default features from the project template are used, and no code changes are required. when your application code is ready, you must build the application. the building process performs a validation check and compiles your files. you can build the application in the following ways: automatically the automatic build means that the tizen studio automatically rebuilds the application whenever you change a source or resource file and save the application project. to use the automatic build: select the project in the project explorer view. in the tizen studio menu, select project > build automatically. a check mark appears next to the menu option. you can toggle the automatic build on and off by reselecting project > build automatically. manually the manual build means that you determine yourself when the application is built. to manually build the application, right-click the project in the project explorer view and select build project. figure: manually building the application alternatively, you can also select the project in the project explorer view and do one of the following: in the tizen studio menu, select project > build project. press the f10 key. you can have more than one build configuration. to see the current active configuration or change it, right-click the project in the project explorer view and select build configurations > set active. the default configuration is debug. for more information, see building applications. after you have built the application, run it. running your application you can run the application on the emulator or a real target device. running on the emulator to run the application on the emulator: launch an emulator instance in the emulator manager: in the tizen studio menu, select tools > emulator manager. in the emulator manager, select a wearable emulator from the list and click launch. if no applicable emulator instance exists, create a new one. the emulator is launched in its own window. you can also see the new emulator instance and its folder structure in the device manager. generate a security profile. before you run the application, you must sign your application package with a certificate profile in the tizen studio. run the application: in the project explorer view, right-click the project and select run as > tizen native application. alternatively, you can also select the project in the project explorer view and do one of the following: press the ctrl + f11 key. click the run icon in the toolbar. if you have created multiple emulator instances, select the instance you want from the combo box in the toolbar before selecting to run the application. if you select an offline emulator, it is automatically launched when you select to run the application. confirm that the application launches on the emulator. note : if the emulator display has switched off, you cannot see the application launch. to switch the display on, click the power key (in the lower-right corner of the emulator). 3. change the watch face.<a name="watchface"></a> to change the watch face and make the installed watch application visible: ![changing the watch face](https://docs.tizen.org/application/native/get-started/wearable-watch/media/watch_run_change_wn.png) 1. if the emulator display has been switched off, activate it by pressing the **power** key (in the lower-right corner of the emulator). 2. on the home screen (showing the default watch face), press the **power** key. 3. in the recent apps screen, select **settings \> watch faces and styles \> watch faces**. 4. swipe right until you find your application icon, and select it. the **clock changed** message is displayed. 5. press the **back** key (in the upper-right corner of the emulator device) multiple times, until the home screen with your new watch face is shown. ![application running in the emulator](https://docs.tizen.org/application/native/get-started/wearable-watch/media/watch_run_face_wn.png) while the application is running, the **log** view in the tizen studio shows the log, debug, and exception messages from the methods defined in the log macros. to see the view, in the tizen studio menu, go to **window \> show view \> log**. for more information on using the emulator features, see using emulator control keys, menu, and panel and using extended emulator features. running on a target device to run the application on a target device: connect the wearable target device to your computer: define settings on the device: go to settings > connections, and switch on wi-fi. the device and the computer must be connected to the same wi-fi network. note the ip address the device is using. go to settings > gear info, and switch on the debugging mode. in the terminal, enter the following commands: cd tizen-studio/tools ./sdb connect <ip address of galaxy watch> use the ip address you noted before. instead of the terminal, you can also use the remote device manager for the connection. in the first attempt, the connection fails and the device asks for user confirmation. to allow galaxy watch to read log data, copy files to and from your computer, and install the application manually, click the accept mark. in the device manager, confirm that the device is connected (shown in the device list). generate an author certificate. before you run the application, you must sign your application package with a certificate profile in the tizen studio. run the application: in the device manager, select the device. in project explorer view, right-click the project and select run as > tizen native application. alternatively, you can also select the project in the project explorer view and do one of the following: press the ctrl + f11 key. click the run icon in the toolbar. if you have both a connected device and existing emulator instances, select the device from the combo box in the toolbar before selecting to run the application. confirm that the application launches on the target device. like with the emulator, you can change the watch face in the device settings to see the watch application on the home screen. note : the application is launched using the default debug run configuration. to create and use another configuration: in the project explorer view, right-click the project and select run as > run configurations. in the run configurations window, click the new launch configuration icon (), define the configuration details, and launch the application by clicking run. designing a simple ui the wearable watch application created with the watch template has a simple user interface with a label component showing the hello watch text and the current time (hour, minute, and second). the ui is created using efl. in the ambient mode, the watch template ui is identical to the normal ui, except that is shows the current time without the seconds. figure: user interface in the watch template (ambient mode on the right) creating the basic ui the ui in the watch template contains the following components: the efl ui always contains a window component, which is the root component of the entire ui. the application uses the conformant component as a container for other ui components. the label showing the hello watch text and the current time is implemented with a label component. the ui is created in the watch.c file: data structure a pointer to the ui components is stored in the appdata_s data structure: struct appdata { /* window */ evas_object *win; /* conformant */ evas_object *conform; /* label */ evas_object *label; }; typedef struct appdata appdata_s; ui creation the app_create() life-cycle callback is called when the application main loop starts, and it calls the create_base_gui() function to create the ui: static bool app_create(int width, int height, void *data) { /* define system callbacks */ appdata_s *ad = data; create_base_gui(ad, width, height); return true; } ui components the create_base_gui() function creates the ui components: window, conformant, and label. the function receives a pointer to fill in the appdata_s structure. static void create_base_gui(appdata_s *ad, int width, int height) { the window object of the idle screen is retrieved with the watch_app_get_elm_win() function of the watch application api. the watch_time_h handle is created for managing the current time, and the evas_object_resize() function is used to resize the window to fit the screen. int ret; watch_time_h watch_time = null; ret = watch_app_get_elm_win(&ad->win); if (ret != app_error_none) { dlog_print(dlog_error, log_tag, "failed to get window. err = %d", ret); return; } evas_object_resize(ad->win, width, height); the conformant component is used as a container for the other ui components: the component is the first object added inside the window with the elm_conformant_add() function. the conformant component is set as a resize object of the window by using the elm_win_resize_object_add() function. it means that the conformant size and position are controlled by the window component directly. the evas_object_show() function makes the conformant component visible. ad->conform = elm_conformant_add(ad->win); evas_object_size_hint_weight_set(ad->conform, evas_hint_expand, evas_hint_expand); elm_win_resize_object_add(ad->win, ad->conform); evas_object_show(ad->conform); the label component for the text and time is added with the elm_label_add() function. the label is added inside the conformant component, which is the label's parent. the label is resized and moved so that it is located below the first third of the screen height. ad->label = elm_label_add(ad->conform); evas_object_resize(ad->label, width, height / 3); evas_object_move(ad->label, 0, height / 3); evas_object_show(ad->label); the watch_time_get_current_time() function retrieves the current time, and the update_watch() function uses the current time to set the label component content. finally, the watch_time_h handle is deleted. ret = watch_time_get_current_time(&watch_time); if (ret != app_error_none) dlog_print(dlog_error, log_tag, "failed to get current time. err = %d", ret); update_watch(ad, watch_time, 0); watch_time_delete(watch_time); when all the ui components are ready, the evas_object_show() function makes the window component visible. this means that the window displays everything on the screen at once. evas_object_show(ad->win); } modifying existing components when the basic ui exists, you can easily modify the components in the ui by using the component-specific functions, or more general evas object functions. for example, the following modification to the label component changes the text color to red: ad->label = elm_label_add(ad->conform); evas_object_color_set(ad->label, 255, 0, 0, 255); evas_object_resize(ad->label, width, height / 3); evas_object_move(ad->label, 0, height / 3); evas_object_show(ad->label); figure: modified label component showing the current time you can update the time on the screen with the time_tick (in the normal mode) or ambient_tick (in the ambient mode) callback: both callbacks contain the current time handle, and call the update_watch() function to update the label content on the screen: static void app_time_tick(watch_time_h watch_time, void *data) { appdata_s *ad = data; update_watch(ad, watch_time, 0); } static void app_ambient_tick(watch_time_h watch_time, void *data) { appdata_s *ad = data; update_watch(ad, watch_time, 1); } in the update_watch() function, the watch_time_h handle is used to retrieve the current time elements (hour, minute, and second) with the watch_time_get_hour24(), watch_time_get_minute(), and watch_time_get_second() functions of the watch application api. the text for the label component is defined (based on whether the normal or ambient mode is used), and set with the elm_object_text_set() function. static bool update_watch(appdata_s *ad, watch_time_h watch_time, int ambient) { char watch_text[text_buf_size]; int hour24; int minute; int second; if (watch_time == null) return; watch_time_get_hour24(watch_time, &hour24); watch_time_get_minute(watch_time, &minute); watch_time_get_second(watch_time, &second); if (!ambient) { snprintf(watch_text, text_buf_size, "<align=center>hello watch<br/>%02d:%02d:%02d</align>", hour24, minute, second); } else { snprintf(watch_text, text_buf_size, "<align=center>hello watch<br/>%02d:%02d</align>", hour24, minute); } elm_object_text_set(ad->label, watch_text); }

      https://developer.samsung.com/galaxy-watch-tizen/creating-your-first-app/native-watch-face.html
      1. success story | design, mobile, galaxy watch, marketplace

      blog

      Best of Galaxy Store Awards 2019 Winner: John Shih's Journey from Industrial Designer to Best Indie Themes Designer

      as we continue to recognize the best of galaxy store awards, we now feature x9 studio, winner of best indie themes designer. john shih, principal at x9 studio, shares his journey from industrial designer to themes designer. learn how he made the transition, the universal elements of design, and tips for those interested in taking a similar path. how did you get into designing themes? i’m an industrial design consultant who helps companies developing new consumer products and physical products, such as toys, consumer electronics, medical equipment, etc. i think that separates me from most theme developers who are coming from a graphic design background of sorts. i discovered the galaxy themes program while producing my first watch face app in late 2018 and jumped on the opportunity to be a part of the themes early access program. how did you make the transition from industrial designer to a themes designer? in 2013, i was in the process of preparing to launch a traditional wristwatch company via kickstarter.com. but i realized that market would soon be replaced by smartwatches, so i shelved it and started learning android app development in my spare time. a few years later, i investigated wearable platforms and noticed samsung's smartwatch platform was more developed than google’s. then i bought a galaxy watch and discovered galaxy watch designer and galaxy themes studio tools which led me to become a samsung developer. how has being an industrial designer helped you in designing software apps? apps such as galaxy themes and watch faces are basically virtual products in digital form. while the process of designing physical products is completely different than developing apps, design fundamentals such as color theory, contrast, proportion, and many other aspects are universal. i must point out one unique strength of industrial design that can apply to designing interfaces: the ability to conceptualize and execute designs in three dimensions. traditional graphic design deals mostly with two dimensions. when designing themes, what is the most important ux consideration in terms of design? a well-designed theme involves arranging all of its elements in an elegant and logical manner that produces a seamless interaction between the user and mobile phone. elegant layout and logical layout are often contradicting each other. for example, scientific instrument panels in real-life are often boring but very logical for their easy-to-read purpose. while the scientific instrument panels in movies are visually pleasing, they are typically not so easy to read. for designing themes, the most important ux consideration is usability. well-designed themes encompass a balanced dance between visually pleasing elements and logical layout. you were awarded best indie themes designer, however you got started as a galaxy watch designer. yes, developing a watch face is not only more related to industrial design than developing themes, but it’s also what i intended to do back in 2013. as a designer do you use a similar process when designing themes and watch faces? usability is universal, it’s a blueprint for successful design in both themes and watch faces. however, the two have very different usages. watch faces are meant to be used in a very short duration like a few seconds, while interaction with mobile phones are much longer. the design approach for the two are quite different as well. what is the biggest technical/design hurdle when designing a watch face? i would say it’s the physical screen size, there’s only so much information you can put in a 360x360 pixel area before the watch face becomes overloaded with clusters of information. what is the biggest technical/design hurdle when designing a theme? unlike watch faces, which consist of one or two pages at the most, phones have tens of pages. the same pages may have different elements depending on os versions and phone models. the biggest challenge designing themes for me is familiarizing myself with the overall layout of each os version. staying abreast of the most popular samsung phone models is also an ongoing process. based on your journey from industrial designer to watch face designer and now award winning themes designer, are there any tips you can give designers who are interested in taking a similar journey? human-product interaction is universal for both virtual/digital and physical products. physical products deal with ergonomics and digital/virtual products deal with interaction. but the end goal for both is the same: to create a seamless and pleasant user experience for the products. for industrial designers, watch face development is relatively the same with industrial design, so it would be a good starting point to get their feet wet. what is next for x9 studio? developing virtual goods for virtual worlds is another area that i’m looking at. but for the immediate future, i’ll continue to focus on watch faces and themes development. what advice do you have for new designers looking to create a successful theme or watch app business? for new designers who just got out of school, my advice is to continue your design education through your first job or two. learn about watch and theme app development, and make a few apps on your own spare time and see where it takes you. for seasoned designers, create some apps using galaxy watch designer and galaxy themes studio. see if it’s the right path for you. having a realistic expectation will go a long way. rome wasn’t built in a day. keep your day job while building up your app portfolio. eventually you’ll be able to work anywhere on earth where the internet reaches. how has samsung helped your business? coming from a completely different industry with very limited knowledge of app development, the samsung developer program (sdp) and fellow samsung developers have been instrumental to the success of x9 studio. the sdp website provides a wealth of learning materials, and the sdp team members provide invaluable insights for new developers like me, which are absolutely the keys to x9 studio’s growth. samsung’s developer community, like the developer forum is another valuable resource. we want to thank john for sharing his journey to becoming the best indie themes designer 2019 and the universal aspects of product and software design. be sure to check out x9 studio’s themes portfolio and download your favorite in the galaxy store. if you're reading this on a samsung device, check out the x9 studio brand page. follow us on twitter at @samsung_dev for more developer interviews as well as tips for building games, apps, and more for the galaxy store. find out more about our best of galaxy store awards.

      Samsung Developers

      https://developer.samsung.com/sdp/blog/en-us/2020/04/07/best-of-galaxy-store-awards-2019-winner-john-shihs-journey-from-industrial-designer-to-best-indie-themes-designer
      1. tutorials | uiux, galaxy watch

      blog

      Getting Started with Watch Face Development Using the Tizen Web API

      watch faces are a special type of application that runs on the home screen of a tizen wearable watch. different watch faces have different purposes and can be interacted with in diverse ways. a watch face creates the first impression of the watch and holds value as a fashion accessory. anyone can make a watch face using galaxy watch designer (gwd).[1] however, gwd limits how many different features you can add in a watch face. on watch faces, data is displayed to the user in the form of “complications,” which show individual data points such as steps or heart rate. while gwd gives you a set of complications you can add to designs, it does not allow you to add custom complications, as the numbers of complications are fixed inside the gwd tool. with tizen studio, you can create complications that pull in data from your own custom sources or perform custom actions, such as launching a separate application or opening a settings menu. with tizen studio, you have more options than the ones gwd gives you. using tizen web/native/.net apis, developers can add a large number of functionalities on watch faces programmatically. in this article, we’ll start by developing a basic watch face using tizen web api. prerequisites you need to define your app as a watch face application through an application category in the config.xml file. to achieve that, add wearable_clock under category. watchface resources for an analog watch, we need three hands for second, minute, and hour. we also need a background image with a marked time index. the following table shows resolutions for images in our example: image width (pixels) height (pixels) background 360 360 hour hand 15 360 minute hand 16 360 second hand 16 360 implementation we need to create a element for each component, such as background, hour hand, minute hand, and second hand. <div id="container"> <div id="background"> <div id="components-main"> <div id="hand-main-hour"></div> <div id="hand-main-minute"></div> <div id="hand-main-second"></div> </div> </div> </div> we are using an image as the watch face background, so we need to set the background image by setting styles in the css file. background image: the clock time index is set on top of the background image. it could be a separate <div> element, but we assembled the clock index with the green background into one image (see figure 1). figure 1: watch face background image css #background { width: 100%; height: 100%; background-image: url("../image/watch\_bg.png"); } we also need to set styles for watch face hands separately. the app image folder holds three images, one each for the hour hand, minute hand, and second hand. then we’ll add some info to the css to adjust the position, size, and so on. the style set for the minute hand is shown below: #hand-main-minute { position: absolute; left: 172px; top: 0px; width: 16px; height: 360px; background-image: url("../image/watch\_hand\_minute.png"); background-position: center top; background-size: contain; } we need to define a function that will rotate hands by a specific angle with its element id. function rotateelement(elementid, angle) { var element = document.queryselector("#" + elementid); element.style.transform = "rotate(" + angle + "deg)"; } we also need to have the hand update every second. to do that, we’ll set an interval to call the updatetime() function every second. // update the watch hands every second setinterval(function() { updatetime(); }, 1000); we are using the getcurrentdatetime() function of tizen time api[2] to get the current time object. from this time object, we can get the hour, minute, and second. var datetime = tizen.time.getcurrentdatetime(), hour = datetime.gethours(), minute = datetime.getminutes(), second = datetime.getseconds(); now we are going to call our defined function rotateelement() for the hour, minute, and second hands. // rotate the hour/minute/second hands rotateelement("hand-main-hour", (hour + (minute / 60) + (second / 3600)) \* 30); rotateelement("hand-main-minute", (minute + second / 60) \* 6); rotateelement("hand-main-second", second \* 6); we need to set an event listener for visibilitychange to update the screen when the display turns on from the off state. // add an event listener to update the screen immediately when the device wakes up document.addeventlistener("visibilitychange", function() { if (!document.hidden) { updatetime(); } }); we also need to set an event and update the screen when the device’s time zone changes. // add eventlistener to update the screen when the time zone is changed tizen.time.settimezonechangelistener(function() { updatetime(); }); additionally, we can set an event listener for ambient mode change. in this article, we added the listener and printed a console message when the ambient mode changed. it will not change anything on the watch during ambient mode, because we haven’t updated the sample watch face for ambient mode. window.addeventlistener("ambientmodechanged", function(e) { if (e.detail.ambientmode === true) { // rendering ambient mode case console.log("ambient mode"); } else { // rendering normal case console.log("normal mode"); } }); demo a sample watch face app can be [downloaded here]https://d3unf4s5rp9dfh.cloudfront.net/sdp_blog/watchface.zip), and the final watch face is shown in figure 2. figure 2: demo watch face developed using tizen web conclusion this article demonstrates how to start developing watch face apps with tizen web api using tizen studio. we can now add more functionalities and change the watch into more than just a device that shows time. references https://developer.samsung.com/galaxy-watch/design/watch-face/complications https://developer.tizen.org/development/guides/web-application/device-settings-and-systems/time-and-date-management are you having notarization problems installing tizen studio on your mac? see installing tizen studio on the latest macos and avoiding notarization to learn how to avoid this issue.

      Md. Iqbal Hossain

      https://developer.samsung.com/sdp/blog/en-us/2019/11/11/getting-started-with-watch-face-development-using-the-tizen-web-api
      1. Develop
      2. Galaxy Watch for Tizen

      doc

      Image Size

      image sizes round type (360 x 360 px) try to design each watch face component according to its optimal size and ratio. resizing and rotating components in preview can change the appearance of your design. backgrounds 360 x 360 px (recommended) indexes around 30 x 30 px (recommended) hands around 18 x 30 px (recommended) we recommend circles. only the matching circle area will be shown on the device, even if you use other shapes it’s a good idea to position your first index bar at the center of your watch face to make sure that any subsequent ones form a circle. for bar-type designs, a long, narrow watch hand is recommended with a pivot point at the center of the image. although this can be changed, the default position will always be the center. images 360 x 360 px or less (recommended) animations 360 x 360 px or less (recommended) bitmap fonts 360 x 360 px or less (recommended) you can create and use a range of images, but larger ones may be cropped on a the device. there are no restrictions on the types of animations, but any that are larger than 360 x 360 px may be cropped on the device. by default, animations will run at 15 fps. keep the size of any text boxes in mind when you’re creating bitmap fonts. unlike other components, bitmap fonts cannot be resized in galaxy watch studio.

      https://developer.samsung.com/galaxy-watch-tizen/studio/tutorial/image-size.html
      No Search Results
      No Search results. Try using another keyword.
      • <<
      • <
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • >
      • >>
      Samsung Developers
      Samsung Developers
      Quick Link
      • Android USB Driver
      • Code Lab
      • Galaxy Emulator Skin
      • Foldables and Large Screens
      • One UI Beta
      • Remote Test Lab
      • Samsung Developers Podcast
      Family Site
      • Bixby
      • Knox
      • Samsung Pay
      • SmartThings
      • Tizen
      • Samsung Research
      • Samsung Open Source
      • Samsung Dev Spain
      • Samsung Dev Brazil
      Legal
      • Terms
      • Privacy
      • Open Source License
      • Cookie Policy
      Social Communications
      • Facebook
      • Instagram
      • Twitter
      • YouTube
      • Buzzsprout
      • Rss
      • Linkedin
      • System Status
      • Site Map
      • System Status
      • Site Map
      • facebook
      • instagram
      • twitter
      • youtube
      • buzzsprout
      • rss
      • linkedin

      Copyright © 2023 SAMSUNG. All rights reserved.