Filter
-
Content Type
-
Category
Mobile/Wearable
Visual Display
Digital Appliance
Platform
Recommendations
Filter
Learn Code Lab
codelabtrack deadlift exercise on galaxy watch objective create a native app for galaxy watch, operating on wear os powered by samsung, using health services to track deadlift exercise this app measures repetition count, calories burned, and time spent during the exercise overview health services provides a simple and unified way for accessing a wide range of health and wellness related data with health services api, you will no longer need to develop your own algorithms processing sensors data in order to compute metrics like heart rate, steps counts, distance, calories burned, and other more these are now accessible through health services embedded on wearables operating on wear os powered by samsung see health platform descriptions for detailed information set up your environment you will need the following galaxy watch4 or newer android studio latest version recommended java se development kit jdk 11 or later sample code here is a sample code for you to start coding in this code lab download it and start your learning experience! health track deadlift sample code 132 83 kb turn on developer mode and adjust its settings on your watch, go to settings > about watch > software and tap on software version 5 times upon successful activation of developer mode, a toast message will display as on the image below afterwards, developer options will be visible under settings tap developer options and enable the following options adb debugging debug over wi-fi turn off automatic wi-fi connect your galaxy watch to wi-fi go to settings > connection > wi-fi and make sure that wi-fi is enabled from the list of available wi-fi networks, choose and connect to the same one as your pc when successfully connected, tap a wi-fi network name, swipe down, and note the ip address you will need this to connect your watch over adb from your pc connect your galaxy watch to android studio in android studio, go to terminal and type adb connect <ip address as mentioned in previous step> when prompted, tap always allow from this computer to allow debugging upon successful connection, you will see the following message in android studio’s terminal connected to <ip address of your watch> now, you can run the app directly on your watch start your project after downloading the sample code containing the project files, open your android studio and click open to open an existing project locate the downloaded android project deadlift from the directory and click ok check dependency and app manifest in the dependencies section of gradle scripts > build gradle module app file, see the appropriate dependency for health services dependencies { implementation 'androidx health health-services-client 1 0 0-beta03' // } notesince the library might update from time to time, it is recommended to choose the version suggested by android studio in androidmanifest xml file, note the following <queries> element <queries> <package android name="com google android wearable healthservices" /> </queries> section with requests for necessary permissions <uses-permission android name="android permission body_sensors" /> <uses-permission android name="android permission activity_recognition" /> check capabilities to check what can be measured during an exercise, you need to check its capabilities go to app > java > com samsung sdc21 deadlift open the deadliftutil java file and navigate to the checkcapabilities method an inner class c definition implements the methods of the futurecallback interface within this definition, define the onsuccess method to retrieve the exercise type capabilities public void onsuccess exercisecapabilities result { objects requirenonnull result ; log i tag, "got exercise capabilities" ; /*********************************************************************************** * [practice 1] define the onsuccess method * * - hint uncomment lines below and replace todo 1 * call getexercisetypecapabilities method of result object, * passing already initialized t as an argument **********************************************************************************/ final exercisetype t = exercisetype deadlift; // final exercisetypecapabilities capabilities = "todo 1" // final exerciseconfig builder builder = exerciseconfig builder t ; // builder setdatatypes capabilities getsupporteddatatypes ; // exerciseconfigbuilder = builder; } next, implement the findcapabilitesfuture method to get a callback with exercisecapabilities getcapabilitiesasync returns the exercisecapabilities of the exerciseclient for the device static listenablefuture<exercisecapabilities> findcapabilitiesfuture exerciseclient client { /******************************************************************************************* * [practice 1] create a listenablefuture object that will get a callback with * with exercise capabilities choose the correct method from exerciseclient * * - hint uncomment line and replace null with todo 2 * for checking capabilities use getcapabilitiesasync method ******************************************************************************************/ return null; //"todo 2"; } start the exercise inside the startexercise method, there is a call to the futures addcallback method this method adds a callback function that executes when the asynchronous operation of starting the exercise completes set an update callback for the exercise client within the onsuccess method of the callback function public void onsuccess void result { log i tag, "successfully started" ; /*************************************************************************** * [practice 2] set an update callback * * - hint uncomment lines below and fill todos * 1 make appropriate call of setupdatecallback method * and pass exerciseupdatelistener object as an argument * 2 change ismeasurementrunning flag value to true **************************************************************************/ // exerciseclient setupdatecallback "todo 3 1 " ; log i tag, "successfully set update listener" ; // "todo 3 2 " } in the deadlift java file, call the startexercise method in onbuttonclickhelper public void onbuttonclickhelper { /******************************************************************************************* * [practice 2] start the exercise using a method from deadliftutil java * * - hint uncomment line below and fill todo 4 * call startexercise method on util object * ****************************************************************************************/ // "todo 4" } get the results go to the deadliftutil java file, and in the getnewrepsvalue method, call the getlatestmetrics method from the exerciseupdate class to get the data collected during the exercise store the data in the resultlist, where the last element holds the most up-to-date value of all your repetitions public long getnewrepsvalue exerciseupdate update, deltadatatype<long, intervaldatapoint<long>> datatype { /******************************************************************************************* * [practice 3] get the data collected during exercise * * - hint uncomment lines below and fill todo 5 * call getlatestmetrics method of exerciseupdate object * then, get the data of appropriate type * for this, you can use dedicated method getdata , passing datatype as an argument * ****************************************************************************************/ // final list<intervaldatapoint<long>> resultlist = "todo 5" // if !resultlist isempty { // final int lastindex = resultlist size - 1; // return resultlist get lastindex getvalue ; // } return no_new_value; } run unit tests for your convenience, you will find an additional unit tests package this will let you verify your code changes even without using a physical watch see instruction below on how to run unit tests right click on com samsung sdc21 deadlift test > deadliftunittest and execute run 'deadliftunittest' command if you completed all the tasks correctly, you will see all the unit tests passed successfully run the app after building the apk, you can run the application on a connected device to measure actual deadlift parameters right after the app is started, it will request for the user permission allow the app to receive data of the activity afterwards, the application main screen will be shown before doing deadlifts, press the start button to track your exercise when done, tap on the stop button you're done! congratulations! you have successfully achieved the goal of this code lab now, you can create a deadlift exercise tracker app by yourself! if you're having trouble, you may download this file health track deadlift complete code 132 42 kb learn more by going to health platform
Learn Code Lab
codelabcreate a daily step counter on galaxy watch objective create a native app for galaxy watch, operating on wear os powered by samsung, using health platform to read your daily steps overview health platform provides a unified and straightforward way for accessing a wide range of health and wellness related data with health platform api, you may easily read and write data stored in health platform on android and wear os powered by samsung applications can have access to these secured data only with explicit user consent additionally, users may disable access to the data at any point in time see health platform descriptions for detailed information set up your environment you will need the following galaxy watch4 or newer android studio latest version recommended java se development kit jdk 11 or later sample code here is a sample code for you to start coding in this code lab download it and start your learning experience! health step count sample code 119 87 kb turn on developer mode and adjust its settings on your watch, go to settings > about watch > software and tap on software version 5 times upon successful activation of developer mode, a toast message will display as on the image below afterwards, developer options will be visible under settings tap developer options and enable the following options adb debugging debug over wi-fi turn off automatic wi-fi connect your galaxy watch to wi-fi go to settings > connection > wi-fi and make sure that wi-fi is enabled from the list of available wi-fi networks, choose and connect to the same one as your pc when successfully connected, tap a wi-fi network name, swipe down, and note the ip address you will need this to connect your watch over adb from your pc connect your galaxy watch to android studio in android studio, go to terminal and type adb connect <ip address as mentioned in previous step> when prompted, tap always allow from this computer to allow debugging upon successful connection, you will see the following message in android studio’s terminal connected to <ip address of your watch> now, you can run the app directly on your watch start your project after downloading the sample code containing the project files, in android studio click open to open existing project locate the downloaded android project stepcount from the directory and click ok check dependency and app manifest in the dependencies section of stepcount/app/build gradle file, see the appropriate dependency for health platform dependencies { implementation com google android libraries healthdata health-data-api 1 0 0-alpha01' // } notelibrary might update from time to time if necessary, choose the version suggested by android studio request for data permissions before accessing any data through health platform, the client app must obtain necessary permissions from the user in permissions java, create a permission instance to trigger relevant permission screen and obtain required consent from end user data type name intervaldatatypes steps read access accesstype read /******************************************************************************************* * [practice 1] build permission object grand permissions for read today's steps * - set interval data type of steps * - set read access type ------------------------------------------------------------------------------------------- * - hint uncomment lines below and fill todos with * 1 for interval data type intervaldatatypes steps * 2 for read access accesstype read ******************************************************************************************/ permission stepsreadpermission = permission builder // setdatatype "todo 1 1 " // setaccesstype "todo 1 2 " build ; make a query to aggregate today’s steps create read request with all necessary information to read data through health platform api the answer from the platform will be asynchronous with the result from which you can get all the data you are interested in follow the steps below to get today's steps count in stepsreader java, create a readaggregateddatarequest with cumulativeaggregationspec instance data type name intervaldatatypes steps /******************************************************************************************* * [practice 2] build read aggregated data request object for read today's steps * - set interval data type of steps ------------------------------------------------------------------------------------------- * - hint uncomment line below and fill todo 2 with * 1 for interval data type intervaldatatypes steps ******************************************************************************************/ readaggregateddatarequest readaggregateddatarequest = readaggregateddatarequest builder settimespec timespec builder setstartlocaldatetime localdatetime now with localtime midnight build // addcumulativeaggregationspec cumulativeaggregationspec builder "todo 2 1 " build build ; read cumulative steps count from cumulativedata set variable steps value to 0l it is the count of daily steps get aggregatedvalue object using cumulativedata api cumulativedataaggregateddata representing total of intervaldata over a period of time e g total steps in a day public aggregatedvalue gettotal check the result if it is not null, get aggregated value using aggregatedvalue api aggregatedvaluevalue fields aggregated over a period of time only numeric fields longfield, doublefield can be included in aggregation public long getlongvalue returns all longfields and their values that are already set add value to the daily steps result counter /******************************************************************************************* * [practice 3] read aggregated value from cumulative data and add them to the result * - get aggregatedvalue from cumulativedata object * - get steps count from aggregatedvalue object ------------------------------------------------------------------------------------------- * - hint uncomment lines below and replace todo 3 with parts of code * 1 get aggregatedvalue object 'obj' using cumulativedata gettotal * 2 get value using obj getlongvalue and add to the result ******************************************************************************************/ long steps = 0l; if result != null { list<cumulativedata> cumulativedatalist = result getcumulativedatalist ; if !cumulativedatalist isempty { for cumulativedata cumulativedata cumulativedatalist { //"todo 3 1 " //"todo 3 2 " } } } return steps; run unit tests for your convenience, you will find an additional unit tests package this will let you verify your code changes even without using a physical watch see instruction below on how to run unit tests right click on com samsung sdc21 stepcount test and execute run 'tests in 'com samsung sdc21 stepcount'' command if you completed all the tasks correctly, you will see all the unit tests passed successfully run the app after building the apk, you can run the application on a connected device to see real-life aggregated steps count measured by a smartwatch right after the app is started, it will request for the user permission allow the app to receive data of the activity afterwards, the application main screen will be shown it will automatically display today’s step count tap on refresh button to read current steps count from health platform you're done! congratulations! you have successfully achieved the goal of this code lab now, you can create a daily step counter app by yourself! if you're having trouble, you may download this file health step count complete code 119 79 kb learn more by going to health platform
Connect Samsung Developer Conference
webthank you for an inspiring sdc21! the sdc21 fosters connections and shapes future customer experiences. discover innovations. access our sdc21 keynote and tech sessions on demand. highlight session : special offer only @sdc21 get a deeper look at the new software, services and platforms announced in the keynote. each session delivers more information on the innovations enabling smarter customer experiences on even smarter devices. platforms designed for connected experiences bixby : best voice interface for connected experience building the future smart home today samsung’s connected kitchen platform: social food experience with connected appliances innovating mobile experiences across samsung galaxy ecosystem one ui 4 design: focus, comfort, self-expression what’s new in foldables? watch ecosystem: a new era reimagining the $80b enterprise developer opportunity the evolution of tizen and innovative screen experiences what’s new in tizen 6.5 redefining the experience of watching tv what's new in samsung smart tv services what's next for tizen: smart screen for business catch up with our latest insights hear from samsung’s top experts and gain powerful insights into the industry and state-of-the-art technology, ideal for developers wanting to advance or for those interested in the latest breakthroughs. tech talk ar, design, developer program, game, iot, mobile, monetization, open innovation ar emoji for the metaverse security, tizen automation to help security design, develper program, enterprise, iot, mobile, monetization, security, ui/ux, wearable beyond a limit with the mobile b2b partner program enterprise, security, smart tv, tizen build a trusted service with samsung tizen security android, design, developer program, mobile, wearable build your app in the new watch ecosystem mobile, open innovation, wearable call for innovators: build breakthrough technologies with samsung mobile ai, developer program, iot, mobile, productivity, smart appliances enabling intelligent voice control on your iot devices android, developer program, game, mobile, open innovation, productivity, ui/ux enhanced pen experience on galaxy ai, machine learning, robotics enhancing apache spark for robust data processing android, content & services, developer program, game, mobile, monetization galaxy store: games-focused, developer-friendly enterprise, mobile, monetization, open innovation, productivity, wearable galaxy watch4 for enterprise business android, content & services, game, mobile, monetization, web games for everyone: samsung instant plays android, content & services, developer program, mobile, monetization grow your podcast audience with samsung content & services, smart tv hdr10+ for gaming smart appliances home mobility : appliance as platform for services android, content & services, developer program, mobile, web how to build browser extensions on samsung internet enterprise, tizen how to build smart signage solutions with tizen ai, content & services, mobile, open innovation, productivity how to elevate english writing experiences smart tv, tizen improving the voice experience with samsung tv enterprise, tizen introducing lynk cloud & magicinfo cloud ai, developer program, machine learning, open innovation, robotics nntrainer: personalize neural networks on devices! android, content & services, developer program, health, mobile, wearable new health platform based on wear os powered by samsung android, design, mobile, ui/ux, wearable one ui: designing a more approachable experience ai, android, design, enterprise, mobile, monetization, open innovation, productivity redefining edge computing & foldables for b2b open innovation samsung ese: a trusted partner for enhanced security ai, developer program, enterprise, iot, mobile, open innovation, productivity, security smartthings build: bringing connected living experiences to life for multi-family ai, developer program, iot, mobile, productivity smartthings edge: a platform engineered for the next-generation smart home ai, developer program, enterprise, iot, mobile, productivity smartthings find: from lost to found 5g, 6g towards beyond 5g and 6g android, content & services, developer program, mobile, productivity, ui/ux, web unfolding the future of responsive web design smart tv, tizen, web what's new in the tizen web platform for smart tv video thumbanil keynote unveiling the samsung software, services and platforms shaping the future of customer experiences. see how they enable connectivity across devices and offer opportunities to collaborate. this is innovation not only for today, but for the future. with a commitment to education, hands-on opportunities help to build a better future. keynote speakers dj koh president & ceo it & mobile communications samsung electronics daniel ahn senior vice president mobile platform center samsung electronics samantha fein vice president business development and marketing smartthings inc. jeongsook lee vice president customer experience office samsung electronics yongjae kim senior vice president visual display software r&d samsung electronics bill mandel vice president visual solutions lab samsung research america janghyun yoon executive vice president mobile software r&d samsung electronics
Watch Face Studio
docfaq q01 if i create a watch face using watch face studio, is it supported on all wear os watch devices? watch face studio is compatible with all wear os watch devices running api level 30 and higher if you create a watch face in watch face studio, you can use it on all wear os watch devices, regardless of manufacturer however, because of limitations with deprecated apis, your watch face may not be available on devices that are still using deprecated apis the galaxy watch studio serves tizen’s galaxy watch 1, 2, and 3 q02 does watch face studio support all types of watch face shapes, including circular and square? in watch face studio, the watch shape is set to a circle by default to support other watch face shapes, disable the apply circular crop option in the watch face canvas properties when circular crop is disabled, the watch face shape is determined by the user’s device to ensure watch face components display correctly, avoid placing components directly on the edges of the watch face the image can shift on some devices to prevent screen burn-in watch face studio creates a project with a single screen resolution, but the created watch face supports all device resolutions q03 how can i design my watch face to save battery? you can reduce battery usage through the following strategies use darker colors on the watch face make sure the images are fitted to the screen make sure you have removed all unused layers before building the watch face package for more information, see performance tips q04 how can i improve the performance of my watch face? using too many components in your watch face can degrade the performance of the watch face and consume the device battery more to optimize the use of components make sure fewer than 8 complications are visible in both ambient and normal modes make sure there are no hidden layers in either ambient or normal modes q05 how does my watch face work in always-on ambient mode? the second hand is not supported in ambient mode design your watch face to hide the second hand in ambient mode the on-pixel ratio opr varies between device models to find the opr for a specific device, check the device specification to examine the on-pixel performance of your design in ambient mode for various device shapes, in the run preview, select analyze you can also analyze the on-pixel performance for circular devices when you use the run on device and publish features in watch face studio q06 how can i enable users to customize their watch face? to enable watch face customization, define themes and styles for the watch face in the style property window the user can select from the themes and styles you have defined you can define a theme color palette and apply those colors to the component layers you can also implement multiple images for the analog hands, image, multimedia, and index components remember to give each component and style a clear, descriptive name the names appear when the user uses the customize mode to personalize their watch face you can also implement localized component names using text ids for more information, see project settings q07 what is the difference between the step counter tag expressions [sc], [sc_per], and [sc_goal]? the [sc] tag is the measured step count the [sc_goal] tag represents the step goal the user’s step goal can be synchronized from a supported health application, or you can define a step goal for the watch face to configure the step goal for your watch face, in wfs, go to file > project > settings > health the [sc_per] tag is the percentage of the step goal achieved, automatically calculated from the step count and step goal q08 how do i sell my watch face in a region that is not supported by the play store? watch faces can be sold in unsupported countries through the device manufacturer’s own app store for example, watch faces for galaxy watch can be sold through galaxy apps for more information, see galaxy store seller portal different app stores can support different file types for watch faces, such as apk or aab you must create the appropriate watch face package for each store q09 why can't i find the 'enable debugging over the bluetooth' setting in galaxy wearable application on my phone? check that your wearable device supports bluetooth debugging debug over bluetooth is not supported on wear 3 devices for more information, see debug over bluetooth q10 why can’t i use lottie multimedia files on my watch face anymore? lottie files are no longer supported since watch face studio version 1 4 13 you must replace them with animations in a supported format, such as webp or animated gif q11 how does the step goal "sync to device" feature work? the sync to device feature enables your watch face to use the step goal defined by the user on their device’s health application it is supported on watch devices running api level 33 and higher wear 4 and later on wear 3 devices, because sync to device is not supported, the step goal is fixed to 6000 if you want to set a different step goal for wear 3 devices, you must create a separate watch face version for wear 3, disable sync to device, and define the step goal directly q12 why are some heart rate tag expressions and features not supported for my watch face? some tag expressions and features related to measuring heart rate on wear os watch devices running api level 30 are not supported by watch face studio v1 4 13 however, wfs supports synchronizing the measured heart rate value with the value displayed on the screen on wear os watch devices running api level 33 and higher and galaxy watch devices for wear os powered by samsung, the open app feature supports opening the health application to view heart rate information on those devices q13 why can't i group a complication slot with other components or combine multiple complications? in watch face studio, complications must be implemented independently they cannot be grouped with or be part of another element complications can only contain elements within them
tutorials galaxy watch, design
blogwatch face studio (wfs) is a powerful tool for creating custom watch faces for galaxy watches running on wear os powered by samsung. wfs has many features that enable you to create attractive watch faces, such as masking. masking is used to selectively hide or reveal specific parts of a specific layer. you can use it to enhance visual impact, create special effects, or draw focus to specific areas of an image. in wfs, a mask is defined by the bottommost layer of the layers to be masked. in other words, the lowest layer is a mask container that partially hides the layers above it. this article describes how you can use masks in wfs to create a simple watch face with a color-changing effect on the watch index and date. at the end of this blog, you will find a sample project which i am going to demonstrate here. color-changing watch index to create a watch index that appears to change color, define a watch index that selectively shows a rotating image. step 1: create a rotating image first, create an image for the colors of the watch index. to set the image to rotate each second, in the image properties, enter the following tag expression as the rotation angle: [sec]*60 figure 1: define the rotating image step 2: add the watch index next, add a suitable watch index, such as one consisting of digits. since we want the color image to show through the digits on the watch index, move the watch index layer below the image layer. the watch index layer will become the mask container. figure 2: watch index layer below image layer step 3: create the mask select both the image and watch index layers and click “mask.” figure 3: create the mask the image layer is now masked by the watch index. as the image layer rotates, the portion visible through the watch index changes, creating the appearance of a changing color background. figure 4: watch index with color-change effect color-changing date text a mask can also be applied to multiple layers simultaneously. combined with tag expressions, you can create effects such as colors that scroll across text. step 1: create and configure the color images create seven images in different colors on separate layers. to make each image move sideways every second, in the image properties for each layer, define the tag expression for image placement using the following formula: [sec] <= x ? 0 : ([sec] - x)*4 in the formula, replace “x” with “0” for the topmost layer, “10” for the second layer, and so on, incrementing by 10 for each layer. do not define a tag expression for the bottommost layer. figure 5: define tag expressions when the seconds value is equal to or less than x, the image is in its initial position. as the second value increments past x, each second the image moves 4 pixels to the right. to make it easier to work with the set of color images, select all of them and add them to a group. step 2: add the date component and mask create a digital clock date component and adjust its size to cover the color images. in a similar way to creating the mask for the watch index, move the date component to the bottom layer. select it and all the color images above it, then click “mask.” all the color image layers are simultaneously masked by the date text. figure 6: masked date component to complete the watch face, add watch hands to it. watch face preview when you have implemented both the watch index and date, you can preview the watch face in wfs. download the sample project from here and open it with watch face studio. click “run” and select “on watch” to see how the watch face looks on a real device. figure 7: watch face preview note : watch faces with multiple masks can affect device performance. conclusion image masking is a powerful technique that can be used to enhance or manipulate images in various ways. watch face studio makes it easy and intuitive to implement masked text layers in your design, enabling you to create unique and attractive watch faces. for more information about watch face studio, see the watch face studio documentation. you can also visit the samsung developers forum, an active and friendly community where you can ask for and receive help with your application development. if you face any issue regarding wfs, feel free to contact the developer technical support team. sample mask project (247kb) apr. 18, 2023
Jakia Sultana
tutorials galaxy watch
blogsamsung galaxy watches run on wear os powered by samsung and have many features, including custom watch faces that you can create with watch face studio (wfs). wfs provides a "theme" feature that allows you to implement multi-color theme palettes to watch face components. theme colors enhance your watch faces by making them more expressive and attractive, and give users customization options. this article introduces the basic concepts of creating color themes for watch faces: defining theme color palettes applying theme colors to components using theme colors on different backgrounds to follow along with the demonstrations in this article, install watch face studio and download the sample project. defining theme color palettes to apply theme colors to watch face components, you must define a theme color palette. wfs enables you to add up to 30 theme colors to a project. to create a theme color palette: in your wfs project, select the “style” tab. click the “+” (plus sign) button next to “theme color palette.” use the color picker to define the color you want. click "ok" to set the chosen color. figure 1: adding theme colors each row in the “theme color palette” section represents a separate theme color palette. a theme color palette is initially created with a single color, but a palette supports up to three colors. the additional colors can be different shades of the main color or contrasting colors. to implement additional colors for a palette: in the “theme color palette” section, select the theme color you want to change. use the color picker to define the color you want. you can also check how the selected color compares to the original color. click "ok" to set the chosen color. figure 2: adding theme colors to a palette the following figure shows several multi-color theme palettes defined for the project. figure 3: multi-color theme palettes applying theme colors to components when you have defined one or more theme color palettes, you can apply the colors to the watch face components. to apply a theme color to a watch face component: select the component and go to the “properties” tab. unfold the “color” section. fill the “apply theme color” checkbox. from the dropdown menu, select whether to apply the first,second, or third theme color from the palette. figure 4: applying theme color to a component to quickly apply the theme color to components: select the components you want to apply the theme color to. in the “layer” tab, click the “apply theme color” icon to cycle through the first, second, and third theme color. the following figure shows the theme colors applied to the components in the sample project. the theme color is not applied to the step icon, battery icon, and progress bars. figure 5: theme colors applied to multiple components now that you have applied theme colors to the watch face components, you can preview the result on the "run" tab or the run window. you can use the selected theme color from the "run" tab of wfs and see the output in the preview window. figure 6: theme color preview note : note: icons and images on complications are converted to grayscale after theme colors are applied. consequently, theme colors can appear differently on them. for information about applying theme colors to complications, see design complications using watch face studio. using theme colors on different backgrounds to expand the customization options of your watch face, you can implement multiple backgrounds to complement the theme color palettes. users can combine their choice of theme color palette and background to suit their preference. to add a background to the watch face: add an image component and define the image as the background. if you want to add more background images, select the background component. in the “style” tab, click the “+” (plus sign) button and select the images to be implemented as backgrounds. you can use the customization editor to preview any combination of theme color palette and background: to open the customization editor, in the “style” tab, click the “customization editor” button. use the side menu to switch between the colors and backgrounds you want to preview. figure 7: customization editor you can also preview the theme colors from the “run” tab. the following examples demonstrate how the same theme colors can provide a different look and feel depending on the background. figure 8: theme colors against varying backgrounds finally, test your watch face on an actual watch or emulator. with up to 10 backgrounds and 30 theme colors, up to 300 background and color combinations are possible. figure 9: examples of sample project output additional resources for more information on designing watch faces with watch face studio, see create a watch face with watch face studio on the android developers site. discuss ideas with other expert developers at samsung developers forum and get tips, help, and answers to your development questions. learn more about watch face studio and other samsung sdks and tools from the samsung developers blog.
Most Fowziya Akther Houya
Learn Code Lab
codelabtransfer heart rate data from galaxy watch to a mobile device objective create a health app for galaxy watch, operating on wear os powered by samsung, to measure heart rate and inter-beat interval ibi , send data to a paired android phone, and create an android application for receiving data sent from a paired galaxy watch overview with this code lab, you can measure various health data using samsung health sensor sdk and send it to a paired android mobile device for further processing samsung health sensor sdk tracks various health data, but it cannot save or send collected results meanwhile, wearable data layer allows you to synchronize data from your galaxy watch to an android mobile device using a paired mobile device allows the data to be more organized by taking advantage of a bigger screen and better performance see samsung health sensor sdk descriptions for detailed information set up your environment you will need the following galaxy watch4 or newer android mobile device android studio latest version recommended java se development kit jdk 17 or later sample code here is a sample code for you to start coding in this code lab download it and start your learning experience! heart rate data transfer sample code 213 7 kb connect your galaxy watch to wi-fi go to settings > connection > wi-fi and make sure that the wi-fi is enabled from the list of available wi-fi networks, choose and connect to the same one as your pc turn on developer mode and adjust its settings on your watch, go to settings > about watch > software and tap on software version 5 times upon successful activation of developer mode, a toast message will display as on the image below afterwards, developer options will be visible under settings tap developer options and enable the following options adb debugging in developer options find wireless debugging turn on wireless debugging check always allow on this network and tap allow go back to developer options and click turn off automatic wi-fi notethere may be differences in settings depending on your one ui version connect your galaxy watch to android studio go to settings > developer options > wireless debugging and choose pair new device take note of the wi-fi pairing code, ip address & port in android studio, go to terminal and type adb pair <ip address> <port> <wi-fi pairing code> when prompted, tap always allow from this computer to allow debugging after successfully pairing, type adb connect <ip address of your watch> <port> upon successful connection, you will see the following message in the terminal connected to <ip address of your watch> now, you can run the app directly on your watch turn on developer mode for health platform to use the app, you need to enable developer mode in the health platform on your watch go to settings > apps > health platform quickly tap health platform title for 10 times this enables developer mode and displays [dev mode] below the title to stop using developer mode, quickly tap health platform title for 10 times to disable it set up your android device click on the following links to setup your android device enable developer options run apps on a hardware device connect the galaxy watch with you samsung mobile phone start your project in android studio, click open to open an existing project locate the downloaded android project hrdatatransfer-code-lab from the directory and click ok you should see both devices and applications available in android studio as in the screenshots below initiate heart rate tracking noteyou may refer to this blog post for more detailed analysis of the heart rate tracking using samsung health sensor sdk first, you need to connect to the healthtrackingservice to do that create connectionlistener, create healthtrackingservice object by invoking healthtrackingservice connectionlistener, context invoke healthtrackingservice connectservice when connected to the health tracking service, check the tracking capability the available trackers may vary depending on samsung health sensor sdk, health platform versions or watch hardware version use the gettrackingcapability function of the healthtrackingservice object obtain heart rate tracker object using the function healthtrackingservice gethealthtracker healthtrackertype heart_rate_continuous define event listener healthtracker trackereventlistener, where the heart rate values will be collected start tracking the tracker starts collecting heart rate data when healthtracker seteventlistener updatelistener is invoked, using the event listener collect heart data from the watch the updatelistener collects datapoint instances from the watch, which contains a collection of valuekey objects those objects contain heart rate, ibi values, and ibi statuses there's always one value for heart rate while the number of ibi values vary from 0-4 both ibi value and ibi status lists have the same size go to wear > java > data > com samsung health hrdatatransfer > data under ibidataparsing kt, provide the implementation for the function below /******************************************************************************* * [practice 1] get list of valid inter-beat interval values from a datapoint * - return arraylist<int> of valid ibi values validibilist * - if no ibi value is valid, return an empty arraylist * * var ibivalues is a list representing ibivalues up to 4 * var ibistatuses is a list of their statuses has the same size as ibivalues ------------------------------------------------------------------------------- * - hints * use local function isibivalid status, value to check validity of ibi * ****************************************************************************/ fun getvalidibilist datapoint datapoint arraylist<int> { val ibivalues = datapoint getvalue valuekey heartrateset ibi_list val ibistatuses = datapoint getvalue valuekey heartrateset ibi_status_list val validibilist = arraylist<int> //todo 1 return validibilist } check data sending capabilities for the watch once the heart rate tracker can collect data, set up the wearable data layer so it can send data to a paired android mobile device wearable data layer api provides data synchronization between wear os and android devices noteto know more about wearable data layer api, go here to determine if a remote mobile device is available, the wearable data layer api uses concept of capabilities not to be confused with samsung health sensor sdk’s tracking capabilities, providing information about available tracker types using the wearable data layer's capabilityclient, you can get information about nodes remote devices being able to consume messages from the watch go to wear > java > com samsung health hrdatatransfer > data in capabilityrepositoryimpl kt, and fill in the function below the purpose of this part is to filter all capabilities represented by allcapabilities argument by capability argument and return the set of nodes set<node> having this capability later on, we need those nodes to send the message to them /************************************************************************************** * [practice 2] check capabilities for reachable remote nodes devices * - return a set of node objects out of all capabilities represented by 2nd function * argument, having the capability represented by 1st function argument * - return empty set if no node has the capability -------------------------------------------------------------------------------------- * - hints * you might want to use filtervalues function on the given allcapabilities map * ***********************************************************************************/ override suspend fun getnodesforcapability capability string, allcapabilities map<node, set<string>> set<node> { //todo 2 } encode message for the watch before sending the results of the heart rate and ibi to the paired mobile device, you need to encode the message into a string for sending data to the paired mobile device we are using wearable data layer api’s messageclient object and its function sendmessage string nodeid, string path, byte[] message go to wear > java > com samsung health hrdatatransfer > domain in sendmessageusecase kt, fill in the function below and use json format to encode the list of results arraylist<trackeddata> into a string /*********************************************************************** * [practice 3] - encode heart rate & inter-beat interval into string * - encode function argument trackeddata into json format * - return the encoded string ----------------------------------------------------------------------- * - hint * use json encodetostring function **********************************************************************/ fun encodemessage trackeddata arraylist<trackeddata> string { //todo 3 } notetrackeddata is an object, containing data received from heart rate tracker’s single datapoint object @serializable data class trackeddata var hr int, var ibi arraylist<int> = arraylist run unit tests for your convenience, you will find an additional unit tests package this will let you verify your code changes even without using a physical watch or mobile device see the instruction below on how to run unit tests right click on com samsung health hrdatatransfer test , and execute run 'tests in 'com samsung health hrdatatransfer" command if you have completed all the tasks correctly, you will see all the unit tests pass successfully run the app after building the apks, you can run the applications on your watch to measure heart rate and ibi values, and on your mobile device to collect the data from your watch once the app starts, allow the app to receive data from the body sensors afterwards, it shows the application's main screen to get the heart rate and ibi values, tap the start button tap the send button to send the data to your mobile device notethe watch keeps last ~40 values of heart rate and ibi you’re done! congratulations! you have successfully achieved the goal of this code lab now, you can create a health app on a watch to measure heart rate and ibi, and develop a mobile app that receives that health data! if you face any trouble, you may download this file heart rate data transfer complete code 213 9 kb to learn more about samsung health, visit developer samsung com/health
Learn Code Lab
codelabmeasure blood oxygen level on galaxy watch objective create a health app for galaxy watch, operating on wear os powered by samsung, utilizing samsung health sensor sdk to trigger and obtain blood oxygen level spo2 measurement results overview samsung health sensor sdk provides means of accessing and tracking health information contained in the health data storage its tracking service gives raw and processed sensor data such as accelerometer and body composition data sent by the samsung bioactive sensor the latest bioactive sensor of galaxy watch runs powerful health sensors such as photoplethysmogram ppg , electrocardiogram ecg , bioelectrical impedance analysis bia , sweat loss, and spo2 see samsung health sensor sdk descriptions for detailed information set up your environment you will need the following galaxy watch4 or newer android studio latest version recommended java se development kit jdk 11 or later sample code here is a sample code for you to start coding in this code lab download it and start your learning experience! measuring blood oxygen level sample code 146 3 kb connect your galaxy watch to wi-fi go to settings > connection > wi-fi and make sure that wi-fi is enabled from the list of available wi-fi networks, choose and connect to the same one as your pc turn on developer mode and adjust its settings on your watch, go to settings > about watch > software and tap on software version 5 times upon successful activation of developer mode, a toast message will display as on the image below afterwards, developer options will be visible under settings tap developer options and enable the following options adb debugging in developer options find wireless debugging turn on wireless debugging check always allow on this network and tap allow go back to developer options and click turn off automatic wi-fi notethere may be differences in settings depending on your one ui version connect your galaxy watch to android studio go to settings > developer options > wireless debugging and choose pair new device take note of the wi-fi pairing code, ip address & port in android studio, go to terminal and type adb pair <ip address> <port> <wi-fi pairing code> when prompted, tap always allow from this computer to allow debugging after successfully pairing, type adb connect <ip address of your watch> <port> upon successful connection, you will see the following message in android studio’s terminal connected to <ip address of your watch> now, you can run the app directly on your watch turn on developer mode for health platform on your watch go to settings > apps > health platform quickly tap health platform title for 10 times this enables developer mode and displays [dev mode] below the title to stop using developer mode, quickly tap health platform title for 10 times to disable it start your project in android studio, click open to open existing project locate the downloaded android project from the directory and click ok check capabilities for the device to track data with the samsung health sensor sdk, it must support a given tracker type – blood oxygen level to check this, get the list of available tracker types and verify that the tracker is on the list in the connectionmanager java file, navigate to the isspo2available function, use a provided healthtrackingservice object to create a healthtrackercapability instance, send it to the checkavailabletrackers function, and assign its result to the availabletrackers list gettrackingcapability returns a healthtrackercapability instance in the healthtrackingservice object healthtrackingservicehealthtrackingservice initiates a connection to samsung's health tracking service and provides a healthtracker instance to track a healthtrackertype public healthtrackercapability gettrackingcapability provide a healthtrackercapability instance to get a supporting health tracker type list /****************************************************************************************** * [practice 1] check capabilities to confirm spo2 availability * * ---------------------------------------------------------------------------------------- * * hint replace todo 1 with java code * get healthtrackercapability object from healthtrackingservice * send the object to checkavailabletrackers ******************************************************************************************/ public boolean isspo2available healthtrackingservice healthtrackingservice { if healthtrackingservice == null return false; list<healthtrackertype> availabletrackers = null; //"todo 1" if availabletrackers == null return false; else return availabletrackers contains healthtrackertype spo2_on_demand ; } check connection error resolution using samsung health sensor sdk api, resolve any error when connecting to health tracking service in the connectionmanager java file, navigate to the processtrackerexception function, and check if the provided healthtrackerexception object has a resolution assign the result to hasresolution variable hasresolution function in the healthtrackerexception object checks if the api can fix the error healthtrackerexceptionhealthtrackerexception contains error codes and checks the error's resolution if there is a resolution, solving the error is available by calling resolve activity boolean hasresolution checks whether the given error has a resolution /******************************************************************************************* * [practice 2] resolve healthtrackerexception error * * ----------------------------------------------------------------------------------------- * * hint replace todo 2 with java code * call hasresolution on healthtrackerexception object ******************************************************************************************/ public void processtrackerexception healthtrackerexception e { boolean hasresolution = false; //"todo 2" if hasresolution e resolve callingactivity ; if e geterrorcode == healthtrackerexception old_platform_version || e geterrorcode == healthtrackerexception package_not_installed observerupdater getobserverupdater notifyconnectionobservers r string novalidhealthplatform ; else observerupdater getobserverupdater notifyconnectionobservers r string connectionerror ; log e tag, "could not connect to health tracking service " + e getmessage ; } initialize spo2 tracker before the measurement starts, initialize the spo2 tracker by obtaining the proper health tracker object in the spo2listener java file, navigate to the init function using the provided healthtrackingservice object, create an instance of the spo2 tracker and assign it to the spo2tracker object gethealthtracker with healthtrackertype spo2_on_demand as an argument will create a healthtracker instance healthtrackingservicehealthtrackingservice initiates a connection to samsung's health tracking service and provides a healthtracker instance to track a healthtrackertype healthtracker gethealthtracker healthtrackertype healthtrackertype provides a healthtracker instance for the given healthtrackertype /******************************************************************************************* * [practice 3] initialize spo2 tracker * * ---------------------------------------------------------------------------------------- * * hint replace todo 3 with java code * initialize spo2tracker with proper samsung health sensor sdk functionality * call gethealthtracker on healthtrackingservice object * use healthtrackertype spo2_on_demand as an argument ******************************************************************************************/ void init healthtrackingservice healthtrackingservice { //"todo 3" } perform measurement for the client app to start obtaining the data through the sdk, it has to set a listener method on the healthtracker the application setups the listener when the user taps on the measure button each time there is new data, the listener callback receives it after the measurement is completed, the listener has to be disconnected due to battery drain, on-demand measurement should not last more than 30 seconds the measurement is cancelled if the final value is not delivered in time note that the sensor needs a few seconds to warm up and provide correct values, which adds to the overall measurement time the blood oxygen level values come in the ondatareceived callback of trackereventlistener in spo2listener java file, you can see the code for reading the value private final healthtracker trackereventlistener spo2listener = new healthtracker trackereventlistener { @override public void ondatareceived @nonnull list<datapoint> list { for datapoint data list { updatespo2 data ; } } }; private void updatespo2 datapoint data { int status = data getvalue valuekey spo2set status ; int spo2value = 0; if status == measurement_completed spo2value = data getvalue valuekey spo2set spo2 ; observerupdater getobserverupdater notifytrackerobservers status, spo2value ; } run unit tests for your convenience, you can find an additional unit tests package this lets you verify your code changes even without using a physical watch see instructions below on how to run unit tests right click on com samsung health spo2tracking test and execute run 'tests in 'com samsung health spo2tracking'' command if you completed all the tasks correctly, you can see that all the unit tests passed successfully run the app after building the apk, you can run the application on a connected device to measure blood oxygen level right after the app is started, it requests for user permission allow the app to receive data from the body sensors afterwards, it shows the application's main screen to get the blood oxygen level, tap on the measure button to stop the measurement, tap on the stop button you're done! congratulations! you have successfully achieved the goal of this code lab now, you can create a health app that measures blood oxygen level by yourself! if you're having trouble, you may download this file measuring blood oxygen level complete code 146 2 kb to learn more about samsung health, visit developer samsung com/health
Develop Health
websamsung health sensor sdk samsung health sensor sdk covers device-specific sensor data and enables partners to develop powerful health-sensing capabilities in their applications. the power of samsung health sensor sdk the sdk supports an improved health tracking capability that allows your applications to track the user’s health data with the accelerometer, raw ecg (electrocardiogram), ppg (photoplethysmogram), heart rate, including inter-beat interval, body composition, and skin temperature. view documentation request to become a partner are you building a wear os app and would like to integrate galaxy watch advanced sensors? request partnership get deeper health insights to open new possibilities the possible applications of the health data by samsung health sensor sdk are numerous, ranging from remote patient monitoring to digital therapeutics. in particular, the raw sensor signals and processed data can lead to the discovery of new digital biomarkers for detecting signs of certain health conditions. in a specific example, a partner app on galaxy watch can notify a user if it detects gait pattern anomalies while the user is walking, leading to an early prognosis of a health condition. featured partners frequently asked questions go to faq find the most frequently asked questions about samsung health sensor sdk. technical support submit ticket contact technical support for questions you have regarding the samsung health sdk suite. samsung account sign-in is required.
featured
bloganother year will soon be past and, like many of you, we’re looking forward to next year. we’ll be taking some time the next few weeks to be with our families, and will be back in 2022 with more blogs, podcasts, product announcements, and ways for you to succeed with galaxy store and samsung platforms. with the end-of-year holidays upon us, we’re stopping to reflect on what we did in 2021. even with covid making a disruption in everyone’s lives, we’re still here to help developers find answers and hopefully, also find success. here are some of our most memorable moments. 10. developer portal refresh brought a modern look and support for mobile we’ve been working for several years to bring samsung’s developer portal into a single web infrastructure. we moved content from multiple servers and cloud services into a cms that uses open standards and a responsive design for mobile devices. we pored through a decade of content to make sure it was still timely and accurate for your needs today. we integrated the developer forums to use the same samsung account login for both the developer portal and seller portal to give you a more seamless experience. in october of this year, we made a ux refresh to the site and the most amazing thing is how easy that process went. there were no late nights in the weeks prior to launch. we were able to test the new ux in a sandbox rigorously. then the deployment to production happened almost instantaneously. we spent less time worrying about our website and more time creating the content you need to do your work. we understand how important the samsung developer portal is to you and your work. that’s why we took the time to ensure a smooth transition as we made major infrastructure changes. 9. monthly updates keep developers up-to-date on new galaxy store features the galaxy store product management team began publishing monthly newsletters to enlighten developers of the latest features and improvements to seller portal. these updates also usually appear as blog posts in the first week or two of the month. some of the major announcements include: staged app rollouts (october) local currencies in settlement and financial reports (september) private beta testing (july) galaxy store developer api (april) look for more exciting improvements in 2022 as galaxy store continues to innovate. 8. unpacked events bring exciting new product announcements galaxy unpacked in january 2021 brought announcements of the galaxy buds pro, galaxy s21, and the new galaxy smarttag. the event highlighted samsung’s design concepts with one ui 3 and integrated experiences from partners like microsoft and google. the august galaxy unpacked event brought announcements of galaxy z fold3 and galaxy z flip3 phones. these devices have many new hardware and software features for developers to build upon. this blog post highlighted many of the ways that developers can implement features supporting flex mode and s pen remote, while ensuring that users have a seamless experience with app continuity. the most anticipated announcement of the august galaxy unpacked event was the unveiling of galaxy watch4, featuring wear os, powered by samsung. as with the tizen-powered galaxy watch devices, samsung released a new tool, galaxy watch studio converter, to help existing designers bring their watch faces to wear os. designers could also start a new watch face project from scratch with the newly-released watch face studio tool. 7. remote test lab updates allow developers to experience the latest hardware as new devices are announced, developers can use the remote test lab (rtl) to ensure that their apps work properly on the new version of one ui as well as different screen resolutions and pixel densities. in 2021, the rtl development team added support for foldables and galaxy s21 devices, allowing developers to ensure their apps work correctly before the devices are available to consumers. the rtl team also added support for android studio. in september, thousands of devices were added in data centers around the world to ensure that a compatible device is always available. as part of this release, rtl was re-engineered to work exclusively in the chrome browser, so that no external software is needed to test apps on all the latest devices. 6. samsung developer forums activity the samsung developer forums, based on the popular open-source discourse project, were introduced in january 2020, replacing an aging forum infrastructure that didn’t work well on mobile devices. by using the same samsung account authentication method as the samsung developers site, we’re able to provide a nearly-seamless experience across different hosts and platforms. since their introduction, we’ve seen large numbers of visitors stop by the forums with questions. community manager ron liechty has more than 25 years of experience in managing healthy communities—his knowledge and guidance keeps the forums a useful resource for developers. some of these visitors have become our best community members, providing valuable feedback to their peers as well as helping to moderate spam and malicious content. 5. supporting game developers in 2021 games are a noticeable part of the galaxy store experience and we work with many partners and internal teams to ensure that gamers have a great experience on galaxy devices. the galaxy gamedev team works closely with some of the top publishers and developers to improve performance of top titles on mobile. this team creates tools that provide great detail on the performance of the cpu and gpu during intense moments of gameplay. the gamedev team then documents their efforts in a series of best practices and blog posts to help developers everywhere. in addition to our internal team work, we frequently work with our partners at arm to deliver relevant content for game developers. this summer, we published and promoted a number of educational articles, webinars, and training series in cooperation with the arm developer team. best practices for mobile game developers and artists new vulkan extensions for mobile: maintenance extensions new vulkan extensions for mobile: legacy support extensions new game changing vulkan extensions for mobile: descriptor indexing new game changing vulkan extensions for mobile: buffer device address new game changing vulkan extensions for mobile: timeline semaphores mike barnes from the gamedev team, together with eric cloninger from the samsung developers team, presented at the virtual gdc2021 event in july. gdc is an important event for all of us at samsung and we hope to see you all there at the live event in march 2022. 4. new voices appeared on samsung developers podcast, season 2 shortly before the covid-19 pandemic changed our lives, tony morelan from samsung developers attended a podcasting event and came back to the office inspired to start a podcast. he lined up guests from internal teams and important partners. everyone had a great time participating and it gave us a way to continue delivering quality content to developers. as 2020 turned to 2021, we continued bringing interesting guests from across the mobile design and development ecosystem. we used the podcast to talk about the upcoming virtual samsung developer conference and chat with the people that made the event a success. here are some of the highlights from season 2 of the samsung developers podcast: drazen stojcic, urarity – watch faces, design tan nguyen, butterfly-effected gmbh – galaxy themes, marketing, licensing the samsung internet advocacy team – web standards, privacy, foldable devices we’re still hoping for a return to days where we can travel and meet in person, but until that time comes, please join us in listening to these industry veterans and top developers on the samsung developers podcast. season 3 begins in early 2022. 3. blog series instructs readers on design and successful marketing without live events the past two years, we have searched for new ways to continue delivering timely and helpful advice to mobile app designers and developers. as mentioned previously, we worked with arm this year to bring great technical content front and center. we also worked with our network of top designers, developers, and thought leaders on concepts that will help you succeed on galaxy store and in creating better experiences for your users: better for all – in this blog series, we talked with leading designers and experts to help understand the increasingly important concepts behind the diversity, equality, and inclusion movement. this series discussed aspects of language used in apps, themes, and watch designs. it also highlights important guidelines to ensure apps and web sites are accessible to users with sight, mobility, and hearing impairments. better for all: mobile accessibility better for all: inclusive policies with daniel appelquist better for all: equal accessibility better for all: bringing diversity to design with eglantina hasaj and manpreet kaur better for all: diversity in design better for all: developing and designing for diversity refresh for success – it’s not enough to simply submit a title to a digital marketplace and assume success will follow and continue without extra effort. in this series, top galaxy store designers and developers talk about how they maintain their product lines to ensure a steady flow of revenue and new customers. refresh for success: maintain quality themes design with olga gabay from zeru studio refresh for success: improve your process to keep designs fresh with tan nguyen from butterfly-effected, gmbh refresh for success: improve your process and de-clutter your galaxy store with drazen stojcic from urarity prime time design – finding success in designing new products is an intensely unique and personal process. the prime time design series includes interviews with some of the most unique people creating for galaxy store. read how these talented people inspire themselves and how they convert that inspiration into action. prime time design: unpacking the creative process with ramon campos from friss in motion prime time design: unpacking the creative process with pedro machado from health face prime time design: unpacking the creative process with john shih from x9 studio strategies for success – tony morelan was a successful watch face designer before coming to work with the samsung developers team. we’re grateful for his knowledge of design as well as how to turn designs into revenue. in this four-part series, tony points out steps to creating successful galaxy store product submissions. strategies for success: selling your apps strategies for success: understanding consumer trends strategies for success: building your fan base strategies for success: making your brand successful 2. best of galaxy store awards highlight successful developers the galaxy store app on your mobile device is more than just an app. behind the scenes, there is a team of developers, product managers, business leaders, and security experts devoted to ensuring the best possible online experience for consumers in 180 countries. because of their dedication, developers and designers have a great platform for monetizing their work. each year, the samsung developers team works with the galaxy store operations and business development teams to determine the best games, apps, and themes based on revenue, downloads, and impact to consumers. the result is the best of galaxy store awards. in 2018 and 2019, the best of galaxy store awards were presented live, on stage, at the samsung developer conference (sdc). without a live event in 2020 or 2021, the samsung developers team decided to continue the tradition of highlighting and awarding our top galaxy store products. even without an in-person event, we used a live premiere on youtube to have a single moment in time to celebrate with the winners. tony morelan emceed the event, but he had a lot of help from ron liechty, jeanne hsu, susie perez, and shelly wu. we thank them for their hard work. we hope you’ll enjoy watching! look for the “best of galaxy store” sash on apps, games, themes, and watch faces in galaxy store to know that you’re getting a truly unique experience. 1. discovering new opportunities at sdc21 each year, the samsung developer conference is the culmination of an incredible amount of planning and work by hundreds of people. even though the event was virtual in 2021, there was still a huge volume of work. instead of preparing for a live audience, our teams practiced in front of a galaxy phone on a tripod (really). instead of building booths and planning meals, we built a website and social media campaigns to reach a larger audience. eric cloninger and tony morelan kicked off the promotion for sdc21 with a podcast featuring a previous sdc speaker, chris shomo. before the conference, visitors were invited to create whimsical caricatures of themselves using the mysdcstack mini-site and submit their designs to social media. by participating in the event website, watching sessions, and trying the code labs, visitors would earn points toward a prize drawing after sdc. relive the experience of sdc21 by watching the keynote or any of the highlight sessions and technical talks by viewing this playlist wrapping up when sdc is finished, our team takes a collective deep breath, happy to be done. it is a satisfying experience to pull off a big industry event. we don’t know yet how we’ll handle live events, but we remain optimistic that some will occur. we are making plans and we hope we’ll be able to see you, somewhere, in 2022. 🤞 take care. stay warm (or cool). best wishes to you all and happy new year!
We use cookies to improve your experience on our website and to show you relevant advertising. Manage you settings for our cookies below.
These cookies are essential as they enable you to move around the website. This category cannot be disabled.
These cookies collect information about how you use our website. for example which pages you visit most often. All information these cookies collect is used to improve how the website works.
These cookies allow our website to remember choices you make (such as your user name, language or the region your are in) and tailor the website to provide enhanced features and content for you.
These cookies gather information about your browser habits. They remember that you've visited our website and share this information with other organizations such as advertisers.
You have successfully updated your cookie preferences.