Filter
-
Content Type
-
Category
Mobile/Wearable
Visual Display
Digital Appliance
Platform
Recommendations
Filter
tutorials health, galaxy watch, mobile
blogthe samsung privileged health sdk enables your application to collect vital signs and other health parameters tracked on galaxy watch running wear os powered by samsung. the tracked data can be displayed immediately or retained for later analysis. some kinds of tracked data, such as batching data, are impractical to display on a watch screen in real-time, so it is common to store the data in a database or server solution or show them on the larger screen of a mobile device. this blog demonstrates how to develop 2 connected sample applications. a watch application uses the samsung privileged health sdk to collect heart rate tracker data, then uses the wearable data layer api to transmit it to a companion application on the user’s android mobile device, which displays the data as a simple list on its screen. you can follow along with the demonstration by downloading the sample application project. to test the applications, you need a galaxy watch4 (or higher model) and a connected android mobile device. creating the application project the application project consists of a wearable module for the watch, and a mobile module for android mobile devices: in android studio, select open file > new > new project. select wear os > empty wear app and click next. new wear app define the project details. project details to create a companion mobile application for the watch application, check the pair with empty phone app box. notemake sure that the application id is identical for both modules in their “build.gradle” files. for more information about creating multi-module projects, see from wrist to hand: develop a companion app for your wearable application. implementing the watch application the watch application ui has 2 buttons. the start/stop button controls heart data tracking, and the send button transfers the collected data to the connected mobile device. the screen consists of a heart rate field and 4 ibi value fields, since there can be up to 4 ibi values in a single tracking result. watch application ui track and extract heart rate data when the user taps the start button on the wearable application ui, the starttracking() function from the mainviewmodel class is invoked. the application must check that the galaxy watch supports the heart rate tracking capability that we want to implement, as the supported capabilities depend on the device model and software version. retrieve the list of supported health trackers with the trackingcapability.supporthealthtrackertypes of the healthtrackingservice class: override fun hascapabilities(): boolean { log.i(tag, "hascapabilities()") healthtrackingservice = healthtrackingserviceconnection.gethealthtrackingservice() val trackers: list<healthtrackertype> = healthtrackingservice!!.trackingcapability.supporthealthtrackertypes return trackers.contains(trackingtype) } to track the heart rate values on the watch, read the flow of values received in the ondatareceived() listener: @experimentalcoroutinesapi override suspend fun track(): flow<trackermessage> = callbackflow { val updatelistener = object : healthtracker.trackereventlistener { override fun ondatareceived(datapoints: mutablelist<datapoint>) { for (datapoint in datapoints) { var trackeddata: trackeddata? = null val hrvalue = datapoint.getvalue(valuekey.heartrateset.heart_rate) val hrstatus = datapoint.getvalue(valuekey.heartrateset.heart_rate_status) if (ishrvalid(hrstatus)) { trackeddata = trackeddata() trackeddata.hr = hrvalue log.i(tag, "valid hr: $hrvalue") } else { coroutinescope.runcatching { trysendblocking(trackermessage.trackerwarningmessage(geterror(hrstatus.tostring()))) } } val validibilist = getvalidibilist(datapoint) if (validibilist.size > 0) { if (trackeddata == null) trackeddata = trackeddata() trackeddata.ibi.addall(validibilist) } if ((ishrvalid(hrstatus) || validibilist.size > 0) && trackeddata != null) { coroutinescope.runcatching { trysendblocking(trackermessage.datamessage(trackeddata)) } } if (trackeddata != null) { validhrdata.add(trackeddata) } } trimdatalist() } fun geterror(errorkeyfromtracker: string): string { val str = errors.getvalue(errorkeyfromtracker) return context.resources.getstring(str) } override fun onflushcompleted() { log.i(tag, "onflushcompleted()") coroutinescope.runcatching { trysendblocking(trackermessage.flushcompletedmessage) } } override fun onerror(trackererror: healthtracker.trackererror?) { log.i(tag, "onerror()") coroutinescope.runcatching { trysendblocking(trackermessage.trackererrormessage(geterror(trackererror.tostring()))) } } } heartratetracker = healthtrackingservice!!.gethealthtracker(trackingtype) setlistener(updatelistener) awaitclose { log.i(tag, "tracking flow awaitclose()") stoptracking() } } each tracking result is within a list in the datapoints argument of the ondatareceived() update listener. the sample application implements on-demand heart rate tracking, the update listener is invoked every second and each data point list contains 1 element. to extract a heart rate from data point: val hrvalue = datapoint.getvalue(valuekey.heartrateset.heart_rate) val hrstatus = datapoint.getvalue(valuekey.heartrateset.heart_rate_status) a status parameter is returned in addition to the heart rate data. if the heart rate reading was successful, its value is 1. each inter-beat interval data point consists of a list of values and the corresponding status for each value. since samsung privileged health sdk version 1.2.0, there can be up to 4 ibi values in a single data point, depending on the heart rate. if the ibi reading is valid, the value of the status parameter is 0. to extract only ibi data that is valid and whose value is not 0: private fun isibivalid(ibistatus: int, ibivalue: int): boolean { return ibistatus == 0 && ibivalue != 0 } 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>() for ((i, ibistatus) in ibistatuses.withindex()) { if (isibivalid(ibistatus, ibivalues[i])) { validibilist.add(ibivalues[i]) } } send data to the mobile application the application uses the messageclient class of the wearable data layer api to send messages to the connected mobile device. messages are useful for remote procedure calls (rpc), one-way requests, or in request-or-response communication models. when a message is sent, if the sending and receiving devices are connected, the system queues the message for delivery and returns a successful result code. the successful result code does not necessarily mean that the message was delivered successfully, as the devices can be disconnected before the message is received. to advertise and discover devices on the same network with features that the watch can interact with, use the capabilityclient class of the wearable data layer api. each device on the network is represented as a node that supports various capabilities (features) that an application defines at build time or configures dynamically at runtime. your watch application can search for nodes with a specific capability and interact with it, such as sending messages. this can also work in the opposite direction, with the wearable application advertising the capabilities it supports. when the user taps the send button on the wearable application ui, the sendmessage() function from the mainviewmodel class is invoked, which triggers code in the sendmessageusecase class: override suspend fun sendmessage(message: string, node: node, messagepath: string): boolean { val nodeid = node.id var result = false nodeid.also { id -> messageclient .sendmessage( id, messagepath, message.tobytearray(charset = charset.defaultcharset()) ).apply { addonsuccesslistener { log.i(tag, "sendmessage onsuccesslistener") result = true } addonfailurelistener { log.i(tag, "sendmessage onfailurelistener") result = false } }.await() log.i(tag, "result: $result") return result } } to find a destination node for the message, retrieve all the available capabilities on the network: override suspend fun getcapabilitiesforreachablenodes(): map<node, set<string>> { log.i(tag, "getcapabilities()") val allcapabilities = capabilityclient.getallcapabilities(capabilityclient.filter_reachable).await() return allcapabilities.flatmap { (capability, capabilityinfo) -> capabilityinfo.nodes.map { it to capability } } .groupby( keyselector = { it.first }, valuetransform = { it.second } ) .mapvalues { it.value.toset() } } since the mobile module of the sample application advertises having the “wear” capability, to find an appropriate destination node, retrieve the list of connected nodes that support it: override suspend fun getnodesforcapability( capability: string, allcapabilities: map<node, set<string>> ): set<node> { return allcapabilities.filtervalues { capability in it }.keys } select the first node from the list, encode the message as a json string, and send the message to the node: suspend operator fun invoke(): boolean { val nodes = getcapablenodes() return if (nodes.isnotempty()) { val node = nodes.first() val message = encodemessage(trackingrepository.getvalidhrdata()) messagerepository.sendmessage(message, node, message_path) true } else { log.i(tag, "no compatible nodes found") false } } implementing the mobile application the mobile application ui consists of a list of the heart rate and inter-beat interval values received from the watch. the list is scrollable. mobile application ui receive and display data from the watch application to enable the mobile application to listen for data from the watch and launch when it receives data, define the datalistenerservice service in the mobile application’s androidmanifest.xml file, within the <application> element: <service android:name="com.samsung.health.mobile.data.datalistenerservice" android:exported="true"> <intent-filter> <action android:name="com.google.android.gms.wearable.data_changed" /> <action android:name="com.google.android.gms.wearable.message_received" /> <action android:name="com.google.android.gms.wearable.request_received" /> <action android:name="com.google.android.gms.wearable.capability_changed" /> <action android:name="com.google.android.gms.wearable.channel_event" /> <data android:host="*" android:pathprefix="/msg" android:scheme="wear" /> </intent-filter> </service> implement the datalistenerservice class in the application code to listen for and receive message data. the received json string data is passed as a parameter: private const val tag = "datalistenerservice" private const val message_path = "/msg" class datalistenerservice : wearablelistenerservice() { override fun onmessagereceived(messageevent: messageevent) { super.onmessagereceived(messageevent) val value = messageevent.data.decodetostring() log.i(tag, "onmessagereceived(): $value") when (messageevent.path) { message_path -> { log.i(tag, "service: message (/msg) received: $value") if (value != "") { startactivity( intent(this, mainactivity::class.java) .addflags(intent.flag_activity_new_task).putextra("message", value) ) } else { log.i(tag, "value is an empty string") } } } to decode the message data: fun decodemessage(message: string): list<trackeddata> { return json.decodefromstring(message) } to display the received data on the application screen: @composable fun mainscreen( results: list<trackeddata> ) { column( modifier = modifier .fillmaxsize() .background(color.black), verticalarrangement = arrangement.top, horizontalalignment = alignment.centerhorizontally ) { spacer( modifier .height(70.dp) .fillmaxwidth() .background(color.black) ) listview(results) } } running the applications to run the wearable and mobile applications: connect your galaxy watch and android mobile device (both devices must be paired with each other) to android studio on your computer. select wear from the modules list and the galaxy watch device from the devices list, then click run. the wearable application launches on the watch. connected devices select mobile from the modules list and the android mobile device from the devices list, then click run. the mobile application launches on the mobile device. wear the watch on your wrist and tap start. the watch begins tracking your heart rate. after some tracked values appear on the watch screen, to send the values to the mobile application, tap send. if the mobile application is not running, it is launched. the tracked heart data appears on the mobile application screen. to stop tracking, tap stop on the watch. conclusions the samsung privileged health sdk enables you to track health data, such as heart rate, from a user’s galaxy watch4 or higher smartwatch model. to display the tracked data on a larger screen, you can use the messageclient of the wearable data layer api to send the data to a companion application on the connected mobile device. to develop more advanced application features, you can also use the dataclient class to send data to devices not currently in range of the watch, delivering it only when the device is connected. resources heart rate data transfer code lab
Samsung Developers
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
tutorials galaxy watch, mobile
bloggalaxy watch apps can offer a range of features and services, but the watch's smaller size compared to a mobile device means there are limitations, including fewer hardware resources and a smaller screen. to make the most of the capabilities of a mobile device, you can develop a companion mobile application for the wearable application. the companion application handles complex and resource-intensive tasks while the wearable application provides a seamless experience. previously in this series, we showed how to create a companion mobile application for a galaxy watch running wear os powered by samsung and use the wearable data layer api to send messages from the watch to the mobile device. while it is easy to check the watch's battery level from the mobile device, the reverse is more complex. this tutorial describes how to establish two-way communication between the wearable and mobile applications and use it to check the mobile device's battery level from the watch. prerequisites to develop a wearable application and its companion mobile application, create a multi-module project in android studio. the steps are described in the previous tutorial, and the same dependencies and modifications are required for the wearable application in this tutorial: add the following dependencies to the build.gradle filedependencies { ... implementation "com.google.android.gms:play-services-wearable:xx.x.x" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:x.x.x" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:x.x.x" implementation "androidx.lifecycle:lifecycle-extensions:x.x.x" implementation "androidx.lifecycle:lifecycle-runtime-ktx:x.x.x" implementation "androidx.appcompat:appcompat:x.x.x" } modify the mainactivity class to inherit appcompatactivity() instead of activity(). in the "androidmanifest.xml" file, in the <application> element, change the android:theme attribute value to "@style/theme.appcompat.noactionbar" or another custom theme. warningthe package ids of the wearable and mobile applications must be identical. to test the project, you need a galaxy watch running wear os powered by samsung and a connected galaxy mobile device. request battery information from the companion application to be able to retrieve the mobile device's battery level as a percentage from the watch, the companion application on the mobile device must advertise the "battery_percentage" capability. in the mobile application, create an xml file named "wear.xml" in the "res/values/" directory with the following content: <!--xml configuration file--> <?xml version="1.0" encoding="utf-8"?> <resources xmlns:tools="http://schemas.android.com/tools" tools:keep="@array/android_wear_capabilities"> <string-array name="android_wear_capabilities"> <item>battery_percentage</item> </string-array> </resources> while a watch can be connected to only one device at a time, a mobile device can be connected to multiple wearables at the same time. to determine which node (connected device) corresponds to the watch, use the capabilityclient class of the wearable data layer api to retrieve all the available nodes and select the best or closest node to deliver your message. // mainactivity class in the wearable application private var batterynodeid: string? = null private fun setupbatterypercentage() { // store the reachable nodes val capabilityinfo: capabilityinfo = tasks.await( wearable.getcapabilityclient(applicationcontext) // retrieve all connected nodes with the 'battery_percentage' capability .getcapability( battery_percentage_capability_name, capabilityclient.filter_reachable ) ) // use a listener to retrieve the reachable nodes updatebatterycapability(capabilityinfo).also { capabilitylistener -> wearable.getcapabilityclient(this @mainactivity).addlistener( capabilitylistener, battery_percentage_capability_name ) } } private fun pickbestnodeid(nodes: set<node>): string? { // find the best node return nodes.firstornull { it.isnearby }?.id ?: nodes.firstornull()?.id } private fun updatebatterycapability(capabilityinfo: capabilityinfo) { // specify the recipient node for the message batterynodeid = pickbestnodeid(capabilityinfo.nodes) } companion object{ private const val tag = "mainwearactivity" private const val battery_percentage_capability_name = "battery_percentage" private const val battery_message_path = "/message_battery" } to implement bi-directional communication between watch and mobile device, you can use the messageclient class of the wearable data layer api. in the wearable application ui, create a button and a textview. to display the mobile device's battery level on the textview when the button is tapped, implement the button's onclicklistener() function. send the battery level request message through a specific message path to the mobile device, using a coroutine that calls the setupbatterypercentage() and requestbatterypercentage() methods on a separate thread. a separate thread must be used because these are synchronous calls that block the ui thread. // mainactivity class in the wearable application private lateinit var binding: activitymainbinding override fun oncreate(savedinstancestate: bundle?) { super.oncreate(savedinstancestate) binding = activitymainbinding.inflate(layoutinflater) setcontentview(binding.root) log.d(tag, "oncreate()") binding.apply{ phonebutton.setonclicklistener{ lifecyclescope.launch(dispatchers.io){ setupbatterypercentage() requestbatterypercentage("battery".tobytearray()) } } } } // deliver the message to the selected node private fun requestbatterypercentage(data: bytearray) { batterynodeid?.also { nodeid -> val sendtask: task<*> = wearable.getmessageclient(this @mainactivity).sendmessage( nodeid, battery_message_path, data ).apply { addonsuccesslistener { log.d(tag, "onsuccess") } addonfailurelistener { log.d(tag, "onfailure") } } } } receive the message on the companion application the companion application must be able to receive and respond to the message from the background. to accomplish this, implement a service that listens for incoming messages. in the mobile application, create a class that extends wearablelistenerservice() and add the service to the application manifest file: <!--android manifest file for the mobile application--> <service android:name=".phonelistenerservice" android:enabled="true" android:exported="true"> <intent-filter> <action android:name="com.google.android.gms.wearable.message_received" /> <data android:host="*" android:pathprefix="/" android:scheme="wear" /> </intent-filter> </service> use the batterymanager class to retrieve the current battery level of the device. to send the retrieved value back to the wearable application, use the sendmessage() function again. for simplicity, send the message to the first connected node on the mobile device. alternatively, you can broadcast to all connected nodes. implement the onmessagereceived() function to receive the incoming request for battery level and send the retrieved value to the wearable application. // service class in the mobile application private val scope = coroutinescope(supervisorjob() + dispatchers.main.immediate) private var batterynodeid: string? = null override fun ondestroy() { scope.cancel() super.ondestroy() } override fun onmessagereceived(messageevent: messageevent) { log.d(tag, "onmessagereceived(): $messageevent") log.d(tag, string(messageevent.data)) if (messageevent.path == battery_message_path && string(messageevent.data) == "battery") { // check that the request and path are correct val batterymanager = applicationcontext.getsystemservice(battery_service) as batterymanager val batteryvalue:int = batterymanager.getintproperty(batterymanager.battery_property_capacity) scope.launch(dispatchers.io){ // send the message to the first node batterynodeid = getnodes().first()?.also { nodeid-> val sendtask: task<*> = wearable.getmessageclient(applicationcontext).sendmessage( nodeid, battery_message_path, batteryvalue.tostring().tobytearray() ).apply { addonsuccesslistener { log.d(tag, "onsuccess") } addonfailurelistener { log.d(tag, "onfailure") } } } } } ondestroy() } private fun getnodes(): collection<string> { return tasks.await(wearable.getnodeclient(this).connectednodes).map { it.id } } companion object{ private const val tag = "phonelistenerservice" private const val battery_message_path = "/message_battery" } display the battery information on the wearable application when receiving the battery information on the wearable application, because the user is actively interacting with the application, a resource-intensive service is not needed and registering a live listener is sufficient. use the addlistener() method of the messageclient class to implement the messageclient.onmessagereceivedlistener interface within the mainactivity class in the wearable application. // mainactivity class in the wearable application override fun onresume(){ super.onresume() log.d(tag, "onresume()") // wearable api clients are not resource-intensive wearable.getmessageclient(this).addlistener(this) } override fun onpause(){ super.onpause() log.d(tag, "onpause()") wearable.getmessageclient(this).removelistener(this) } override fun onmessagereceived(messageevent: messageevent) { // receive the message and display it if(messageevent.path == battery_message_path){ log.d(tag, "mobile battery percentage: " + string(messageevent.data) + "%") binding.phonetextview.text = string(messageevent.data) } } conclusion to test the project, build both applications and run them on your galaxy watch and mobile device. when you tap the ui button on the watch, the application retrieves the battery level from the mobile device and displays the percentage on the watch. this demonstration has shown how the wearable data layer api enables you to implement seamless bi-directional communication between a galaxy watch running wear os powered by samsung and its connected mobile device. in addition to battery level, you can use the capabilityclient and messageclient classes to transfer various data between the devices in a similar way. for more information about implementing communication between watch and mobile devices, see send and receive messages on wear. if you have questions about or need help with the information in this tutorial, you can share your queries on the samsung developers forum. for more specialized support, you can contact us through samsung developer support. stay tuned for the next installment in this tutorial series.
Samiul Hossain
tutorials galaxy watch, mobile
bloggalaxy watch applications can support many features and services on the watch hardware, but the watch's smaller size compared to a mobile device carries limitations, such as fewer hardware resources and smaller screen size. to take advantage of mobile hardware, you can develop a companion mobile application for the wearable application. the companion application handles complex and resource-intensive tasks while the wearable application provides a seamless experience. this tutorial uses android studio and kotlin to demonstrate how to create a multi-module project and communicate between a companion mobile application and a wearable application using the wearable data layer api. to test the application, you need a galaxy watch running wear os powered by samsung and a connected galaxy mobile device. prerequisites to develop a wearable application and its companion mobile application, create a multi-module project in android studio: create a new mobile application project. select file > new > new project > phone & tablet > empty activity and define an appropriate name and application id (package name) for the project. in the android studio environment, switch to project view. to create the wearable module, right-click the project name and select new > module > wear os > blank activity. make sure the application id for this module is identical to the mobile application. switch the android studio environment back to android view. to use the wearable data layer api to create a communication channel between the wearable and mobile applications, add the following dependency to the build.gradle file for both modules: dependencies { ... implementation 'com.google.android.gms:play-services-wearable:xx.x.x' } launching the companion application launching the companion mobile application from the wearable application includes the following steps, which can be implemented using the messageclient api: send a message from the wearable application to the mobile application. receive the message in the mobile application and launch an intent. send a message to the companion application a coroutine is needed to send messages from the wearable application to the mobile application, because this task cannot be carried out on the main thread. the coroutine creates a separate background thread on which to complete the work. to implement coroutines in the wearable application: add the following dependencies to its build.gradle file:implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:x.x.x" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:x.x.x" implementation "androidx.lifecycle:lifecycle-extensions:x.x.x" implementation "androidx.lifecycle:lifecycle-runtime-ktx:x.x.x" implementation "androidx.appcompat:appcompat:x.x.x" in the application code, modify the mainactivity class to inherit appcompatactivity() instead of activity(). in the androidmanifest.xml file, in the <application> element, change the android:theme attribute value to "@style/theme.appcompat.noactionbar" or another custom theme. now that you've implemented coroutines, let's develop a way to send a message to the companion application. in the xml file for the wearable module, define a ui with a button. while a mobile device can be connected to multiple wearables, a watch is typically connected to only a single device. therefore, send the message to the first node (connected device) on the watch using the messageclient api. to retrieve a list of the connected nodes, implement the following function: private fun getnodes(): collection<string> { return tasks.await(wearable.getnodeclient(context).connectednodes).map { it.id } } in the mainactivity class of the wearable module, add a listener to the ui button that uses the sendmessage() function of the messageclient api to send a message to the first node retrieved from the getnodes() function. the sendmessage() function requires three parameters: id of the receiving node. message path (specific address) of the receiving node. byte array of the information to be sent to the node. the size must be less than 100 kb. the message path is initialized in the companion object and is needed to receive the message on the mobile application. class mainactivity : appcompatactivity() { private lateinit var binding: activitymainbinding private var transcriptionnodeid: string? = null override fun oncreate(savedinstancestate: bundle?) { super.oncreate(savedinstancestate) binding = activitymainbinding.inflate(layoutinflater) setcontentview(binding.root) binding.deploybutton.setonclicklistener { lifecyclescope.launch(dispatchers.io){ transcriptionnodeid = getnodes().first()?.also { nodeid-> val sendtask: task<*> = wearable.getmessageclient(applicationcontext).sendmessage( nodeid, message_path, "deploy".tobytearray() //send your desired information here ).apply { addonsuccesslistener { log.d(tag, "onsuccess") } addonfailurelistener { log.d(tag, "onfailure") } } } } } } } companion object{ private const val tag = "mainwearactivity" private const val message_path = "/deploy" } listen for messages in the companion application a companion mobile application can be notified of incoming messages from the wearable application in two ways: extending the wearablelistenerservice class to create a service that listens for incoming messages even when the application is in the background implementing the messageclient.onmessagereceivedlistener interface in the mainactivity class of the mobile application since we want to react to the message by launching the companion application even when it is not running in the foreground, create a separate class that extends the wearablelistenerservice class. to receive messages from the wearable application, implement the following onmessagereceived() function: class phonelistenerservice: wearablelistenerservice() { override fun onmessagereceived(messageevent: messageevent) { log.d(tag, "onmessagereceived(): $messageevent") log.d(tag, string(messageevent.data)) if (messageevent.path == message_path) { val startintent = intent(this, mainactivity::class.java).apply { addflags(intent.flag_activity_new_task) putextra("messagedata", messageevent.data) } startactivity(startintent) } } companion object{ private const val tag = "phonelistenerservice" private const val message_path = "/deploy" } } in the androidmanifest.xml file of the mobile application, add the service and an intent filter for the listener service: <service android:name=".phonelistenerservice" android:enabled="true" android:exported="true"> <intent-filter> <action android:name="com.google.android.gms.wearable.message_received" /> <data android:host="*" android:pathprefix="/" android:scheme="wear" /> </intent-filter> </service> to test the project, build both applications and run them on your galaxy watch and mobile device. when you tap the ui button on the watch, the companion application launches on the mobile device. conclusion this tutorial has demonstrated how the wearable data layer api enables you to implement seamless communication between a galaxy watch running wear os powered by samsung and its connected mobile device. in addition to launching a companion application, the functions of the messageclient api can also be used to delegate complex tasks to the mobile device, creating more seamless user experiences for wearable applications. for more information about implementing communication between watch and mobile devices, see send and receive messages on wear. if you have questions about or need help with the information in this tutorial, you can share your queries on the samsung developers forum. for more specialized support, you can contact us through samsung developer support. stay tuned for the next blog on wearable and mobile communication.
Samiul Hossain
Develop Galaxy Watch for Tizen
docset as button the set as button feature enables interaction with your watch face by allowing the user to tap a component to change images, open different apps, change time zone, change temperature units or update weather data step 1 click on a component to make a button, select a component step 2 select set as button select set as button from the properties tab if the set as button option is disabled, that means set as button is not supported by this component note watch index, group, animation and components that have tag expressions on placement or rotate are not supported as buttons in aod mode, all button actions are disabled step 3 edit the button properties there are two tabs under properties normal and action the normal tab is the default found in each component the action tab is used for the set as button feature you can use this tab to configure how a button interacts, as well as its action step 4 set interaction select interaction from the dropdown in this example, the button works by tapping the component twice step 5 set action behavior there are different kinds of action behavior for different components actions depend on the type of component in this example, change image is selected action behavior all components do not support the same button action behavior, so it is necessary to know which component supports which button action galaxy watch studio supports the following button action behavior none default behavior no action occurs all components support this behavior open app five components support the open app action background, watch hand, digital clock, image, and text these three types of apps can be opened preloaded app all galaxy watches include a list of factory-installed apps you can find this list from the open app tab select any app to open after tapping on the button custom add your own tizen wearable app id or the app id of any wearable app from the galaxy store however, that app must be installed on the user’s watch; otherwise, the button won’t work for your app the app id can be found in the config xml file of your tizen project any other app from galaxy store contact the app developer and request the app id or use the app switcher app switcher this option is enabled when the interaction is set as double tap it allows a user to choose any app that is installed on his or her watch by double-tapping on the component at any time after choosing the app, the user can open that app by single-tapping and change the app by double-tapping to get an idea of how to use this feature, see how to create a tap reveal button to show hidden data change image change the image of a component by single- or double-tapping it this option can be used for the following components background, watch hand, and image time zone selector this action is available only for the digital clock component when interaction is set to tap this action is not available on double-tap from the dropdown, you can choose any default time zone along with sync with device note that if you set the action to time zone selector, then the normal > time zone option becomes disabled so, you have to set the default time zone in the normal tab before setting the action to time zone selector see the time travel is easy with a time zone selector button blog for more information about using this feature note if you are using galaxy watch studio version 1 7 0, don’t select sync with device, because this option disables the button tip buttons don’t work in aod mode, so the time zone selector won’t work in this mode that means the default time zone is displayed update weather data this button action allows a user to update all types of weather data on a watch face, whenever she or he wants, by tapping the button this action is available for all types of weather text weather type, temperature, humidity, city name weather , and last update time weather change temperature unit the user can choose any unit for the temperature data this is only available for the temperature-type text component the use galaxy watch designer to change the weather blog has further information on this topic note if the action of a button does not exist, then no error message will pop up on the watch, and no action will occur for example, you have set the button action to open a custom app if that app doesn’t exist on a user’s watch, the app won’t open, nor will an error message appear tap area of button when you make a custom image for a button, consider the tap area you can set any image as a button, but the tap area of that button is always rectangular or square after setting an image as a button, the entire area inside the red dotted lines is the part of that button see figures 1 and 2 tip keep the tap area of a component as large as possible layer concepts and limitations galaxy watch studio supports the concept of layers, which means a component on a higher layer takes precedence over components on lower layers when you add a new component, it will always be added as the top layer you can change the order of layers if you want by default, the background component is always the lowest layer, but you can move it to another layer if you desire a button action on a higher layer takes precedence over a button action on a lower layer let’s assume two components are buttons and the top-layer component covers the lower-layer component in this case, the button action won't work for the lower-layer component see figures 3 and 4 three components in figure 3 are buttons component 1 is the top-layer component, which covers component 2 and part of component 3 component 3 can be divided into two areas area 1, which is covered by component 1, and area 2, which is not covered by any other component if you tap component 1, the button action will work according to component 1 the button action won’t work on component 2, as it is fully covered by component 1 the button action of component 3 won’t work on area 1, as this part is covered but if you tap on area 2, it will work according to component 3 note if component 1 top layer is not a button, then the button actions of component 2 and 3 will work according to their defined actions watch hand limitations when you import any image as a watch hand, this image traverses a 360-degree area; therefore, watch hands cover the full 360-degree area the tap area is the same as other components, which is the area inside the red dotted lines example 1 let’s assume a lower-layer button is placed inside the watch hand area this button won't work for the same reason as component 2 the lower layer in figure 3 but if you place this component on a higher layer than the watch hand, then the button action will work figure 5 depicts the scenario where all components are buttons in figure 5, the black line is the tap area of a component, and the white index area is the covered area of the watch hand component 1 and the watch hand suppose component 3 doesn’t exist the watch hand is on a higher layer than component 1 a watch hand traverses a 360-degree area, so it covers the whole circular area component 1 can be divided into two areas a1 is inside the watch hand’s area, and a2 is the rest of the area of component 1 if you tap on a1, nothing happens but if you tap on a2, the button action will work the button action of the watch hand works normally component 3 and the watch hand component 3 is on a higher layer than the watch hand component 3 can be divided into two parts a3 and a4 in this case, three scenarios can occur tap on component 3 a3 or a4 when the watch hand is not above component 3 the button action will work according to the action configured for component 3 tap on the watch hand when it overlaps a3 the button action of the watch hand won’t work, but the button action of component 3 will work, because component 3 is the higher-layer component tap on the watch hand when it does not overlap component 3 the button action of the watch hand will work, because this area is not covered by any other component example 2 if you want to set the button action on more than two watch hands, then you should be careful about layering the diameter of all watch hands shouldn’t be the same if their pivot points are the same if the diameter is different, then the covered area of the watch hand will be different the idea is that a smaller watch hand should be on a higher layer than the larger watch hand the disjoint area can be a tap area for a larger watch hand however, if you keep the larger watch hand on top, the smaller watch hand will be covered and can’t be tapped see figure 6 in figure 6, the hour watch hand is smaller than the minute watch hand area 2 is the intersected area of these two hands, and area 1 is a disjoint area of the minute watch hand if the hour watch hand is on the higher layer, area 2 is the covered area for the hour watch hand if you tap on the minute watch hand in area 2, no action occurs the button action of the minute watch hand will work in area 1 only
technical_insights cloud services, account management
blogsamsung account is a global account service that brings the samsung universe together, from all samsung services to online and offline stores. it handles large-scale traffic with security and reliability. as a core samsung service, all tasks on samsung account, from general service deployments to cloud infrastructure upgrades, must be carried out without interruption to the service. this blog introduces the architecture designed for an elastic kubernetes service upgrade and shares our experience with upgrading the cloud infrastructure without interruptions to the high-traffic samsung account service. what is samsung account? samsung account is an account service that brings together more than 60 services and applications in 256 countries with over 1.7 billion user accounts. it is used for samsung electronics services including samsung pay, smartthings, and samsung health, as well as for authentication on various devices such as mobile, wearable, tv, pc, etc. samsung account helps deliver a secure and reliable customer experience with one account on a variety of contact points from online stores (such as samsung.com) and offline stores to our customer services. evolution of current samsung account architecture as the number of user accounts and connected services has grown, the infrastructure and service of samsung account has also evolved. it switched to the aws-based cloud for service stability and efficiency in 2019, and is currently servicing 4 regions: 3 global regions (eu, us, ap) and china. currently, samsung account consists of more than 70 microservices. in 2022, samsung account switched to the kubernetes base in order to reliably support microservices architecture (msa). kubernetes is an open-source orchestration platform that supports the easy deployment, scaling, and management of containerized applications. in 2023, samsung account reinforced disaster recovery (dr) to be able to provide failover across global regions, and expanded the ap region to improve user experience. in other words, samsung account has repeatedly evolved its infrastructure and services, and is currently running stably with traffic over 2.7 million requests per second (rps) and over 200k db transactions per second (tps). each aws-based samsung account region, with its own virtual private cloud, (vpc) is accessible through user devices, server-to-server, or the web. in particular, the web access provides a variety of features such as samsung.com and tv qr login on aws cloudfront, a content delivery network (cdn). samsung account microservices are being serviced on containers within elastic kubernetes service (eks) clusters, and internal communication between regions uses vpc peering. samsung account is using several managed services from aws to deliver various features. it is using aurora, dynamodb, and managed streaming for apache kafka (msk) as storage to build data sync between regions, and it provides account services based on different managed services including elasticache, pinpoint, and simple queue service (sqs). let's elaborate on the aws managed services that samsung account uses. the first is eks, which is a kubernetes service for running over 70 microservices on msa. next, aurora is used to save and query data as an rdb and dynamodb does the same but as a nosql database. along with them, elasticache (redis oss) is used to manage cache and sessions and msk handles delivering events from integrated services and data sync. if you’re building an aws-based service yourself, you would probably use these managed services as well. frustrating upgrades contrasting the convenience of managed services there is a major challenge to consider when you use these managed services, though. end of support comes, on average, after 1.5 years for eks and 2 years for aurora. various other services like elasticache and msk face the same problem. such service support termination is natural for aws, but upgrading these services when support ceases is often a painful task for those running them. because operation resources are often reduced upon switching to the cloud, large-scale upgrades that come around every 1 or 2 years have to be performed without enough resources for emergency response. these managed service upgrades put a major burden on samsung account. more than 60 integrated services have to be upgraded without causing interruptions, and the upgrades must be rolled out across a total of 4 regions. on top of that, samsung account is developing and running more than 70 microservices, so a significant amount of support and cooperation from development teams is required. the most challenging of all is that the upgrades need to be performed while dealing with traffic of over 2.7m rps and db traffic of 200k tps. eks upgrade sequence and restrictions you might think upgrading eks on aws is easy. in general, when upgrading eks, you start with the control plane including etcd and the apis that manage eks. afterwards, you move to the data plane where the actual service pods are on, and finally to eks add-ons. in theory, it is possible to upgrade eks following this sequence without any impact to the service operation. however, there are restrictions to general eks upgrades. if an upgrade fails in any of the 3 steps above due to missing eks api specs or incompatibility issues, a rollback is not available at all. in addition, it is difficult to do a compatibility check for the services and add-ons in advance. multi-cluster architecture for non-disruptive eks upgrades after much thought, samsung account decided to go with a simple but reliable option to perform eks upgrades. it's possible that many other services are using a similar way to upgrade eks or run actual services. samsung account chose to upgrade eks based on a multi-cluster architecture with 2 eks clusters. the architecture is built to enable an existing eks version to continue providing the service, while a new eks version on a separate cluster performs a compatibility validation with various microservices and add-ons before receiving traffic. the advantage of this method is that you can implement a rollback plan where the old eks version takes over the traffic if any issues occur when switching to the new eks version. a lesson we have learned from providing the samsung account service under high traffic is that there will be issues when you actually start processing traffic, no matter how perfectly you've built your infrastructure or service. for these reasons, it is essential to have a rollback plan in place whenever you deploy a service or upgrade your infrastructure. when you perform a multi-cluster upgrade, traffic must be switched between the old and new eks clusters. simply put, there are 2 main approaches. one approach is to switch traffic by placing a proxy server between the 2 clusters. the other approach is to switch the target ip using dns. needless to say, there may be a variety of other ways to accomplish this. in the first option, using a proxy server, you may encounter overload issues when handling high-volume traffic, such as with samsung account. additionally, there are too many application load balancers (albs) used for approximately 70 microservices, making it impractical to create a proxy server for each alb. in the second option, using dns, the actual user, client, and server replace the service ip of the old eks with that of the new eks during a dns lookup, redirecting requests to a different target at the user level. the dns option does not require a proxy server, and switching traffic is easy by simply editing the dns record. however, there is a risk that the traffic switch might not happen immediately due to propagation-related delays with dns. the dns-based traffic switch architecture was applied to achieve a non-disruptive eks upgrade for samsung account. let us describe the dns layers of samsung account with a hypothetical example. the top domain is account.samsung.com, and there are 3 global region domains under it, classified based on latency or geolocation. for us.account.samsung.com, the layers are split into service.us-old-eks.a.s.com and service.us-new-eks.a.s.com, representing the old and new domains. this is a simple, hypothetical example. in reality, samsung account uses more dns layers. during the recent eks upgrade, we switched traffic between the internal domains of the 2 eks clusters based on weighted records while adjusting the ratio, rather than switching all at once. for instance, when a user sends a request to account.samsung.com, it goes through us.account.samsung.com, and the actual eks service ip is applied at the end based on the specified weight. retrospective of the non-disruptive eks upgrade in summary, i would say "it's a successful upgrade if the connected services haven't noticed." with this eks upgrade, we deployed and switched traffic for a total of 3 regions, 6 eks clusters, and more than 210 microservices over the course of one month. the traffic switch was conducted with ratios set based on each service's load and characteristics, and no issues with connected services were reported during this one month eks upgrade. of course, as they say, "it's not over until it's over." we did have a minor incident where there were insufficient internal ips in the internal subnet due to many eks nodes and service pods becoming active simultaneously, which scared us for a moment. we secured the ip resources by reducing the number of pods for kubelet and add-ons by about a thousand and quickly scaling up the eks nodes. one thing we realized while switching traffic with dns is that 99.9% of the entire traffic can be switched within 5 minutes when the dns weight is adjusted. closing note richard branson, co-founder of virgin group, once said, "you don't learn to walk by following rules. you learn by doing, and by falling over." samsung account has been growing and evolving, addressing many bumps along the way. we continue to resolve various challenges with the stability of our service as the priority, keeping this "learning while falling over" spirit in mind. thank you.
Je-Min Kim
Connect Samsung Developer Conference
webtech sessions dive into the future of connected customer experiences through tech sessions by developers offering further insight into the innovations introduced in the keynote filter filter filter all reset apply there are no results. sessions contents & service, open innovation 8k visual quality and ecosystem in this session, we will present how the genuine 8k contents correctly displayed on 8k display devices could deliver our customers an immersive picture quality experience. we will start with a summary of the previous studies about user perceptions regarding the 8k visual quality. we then will explain why the full-frequency 8k contents are superior to the lower resolution in producing fine details on the image. we will also discuss some technical challenges we face toward adopting and utilizing 8k contents in a real-world environment and describe how we can overcome these hurdles. specifically, we will discuss technologies such as super-resolution and new image sensors to overcome the full-frequency barrier of 8k content. last, we will introduce the 8k association (8ka), a non-profit organization composed of key technology companies in the consumer and professional 8k ecosystem, and briefly mention 8ka's ongoing effects on the research, standardization, and promotion of 8k visual quality. sessions contents & service, developer program, mobile add samsung pay as your payment method in this session, we will share learnings from our experience developing the samsung pay mobile payment service, revealing insights that can be applied to your own platforms. we will also take a look at the samsung pay development kit and how you can use this for your own service. sessions game, ar, mobile ar emoji: your avatar, your experience the ar emoji feature on samsung devices enables users to create a 3d avatar model that can be used in other applications. similar to avatars currently available in games or in the metaverse, our ar emojis are a chance for users to express themselves, their style and their personality, digitally. but this is only the beginning. in this session, we’ll explore the future of ar emojis and how the ar emoji sdk is opening more opportunities for developers to collaborate with samsung to bring to life new services featuring these avatars and optimize them for the metaverse though our collaboration with unity. sessions ai, iot, smart appliances bixby 2022 what’s new what’s new with bixby in 2022? in this session, you will hear about some of the exciting improvements to the nlu and on-device bixby as well as updates to the bixby developer studio, which introduces a brand new javascript runtime that provides a modern, secure, high-performance environment. we will also take a closer look at the brand new bixby home studio, which allows smart device developers to customize and optimize voice control of smart devices, including allowing a single command to intelligently control multiple smart home devices. sessions contents & service, game creating spectacular galaxy game audio experiences with dolby atmos galaxy smartphones and tablets can produce spectacular game audio with dolby atmos. discover how you can create deeper emotional connections with players, keep them playing for longer, and earn their loyalty by unleashing the full power of samsung galaxy mobile game audio. in this session you will hear from dolby’s partner audiokinetic who will discuss how developers can make dolby atmos games, including a walkthrough of how to use dolby atmos plug-ins in audiokinetic's wwise audio middleware. moong labs – creators of epic cricket one, of india's most popular sports games – will also share how dolby atmos benefitted their game and you will find out how dolby supports game developers and other activities on our website. sessions health, wearable expand health experiences with galaxy watch the galaxy watch’s powerful bioactive sensor, together with the wear os powered by samsung, is transforming mobile health experiences. and now, this technology is even more powerful thanks to the samsung privileged health sdk. find out how the samsung privileged health sdk is allowing developers to retrieve raw or analyzed sensor data for their applications, including bia, ecg, blood oxygen level or sweat loss, and help users’ to accurately monitor their health stats. sessions web flexible and private web experience on samsung internet in this session, you will learn how to enhance and optimize your web experience for foldable devices using device posture api and viewport segment media query. we'll also take a closer look at how samsung internet protects users’ privacy online. sessions mobile, enterprise, developer program google and samsung strengthen enterprise ecosystem together samsung’s global mobile b2b team is working closely with the android enterprise team to build a galaxy ecosystem of partners who are bringing innovation into workplaces. discover how partner solutions create unique experiences on samsung devices and how we plan to work together to help future partners step into the samsung android ecosystem for enterprises and smbs. sessions contents & service, developer program, enterprise hdr10+/salt and automatic hdr video creations for productions hdr10+ is an essential technology for premium hdr viewing experience and it is widely reach to consumer displays including mobile devices. in order to provide hdr content services, it requires changing service provider's infra structure or workflows and video processing technology from sdr to hdr with a lot of engineering efforts. then, hdr10+/salt solutions and partnership program from samsung is designed to build an extremely cost effective automatic solution up for content creators, post production houses and ott service providers even including game developers. the solution package is designed with various standalone applications, reference apps, sdks on various oses and partnership programs to help 3rd parties for creation of hdr contents. hdr10+/salt partnership program provides full compatibility to hdr10+ llc certification program and major studios, ott service providers and tool makers are already partners of the program and samsung provides them the best hdr content quality. sessions developer program, open innovation, health healthcare research hub our open source project provides end-to-end solutions such as sdk, platform, and portal for various use cases from medical research studies to clinician services using wearable devices. medical research does not have to stay complicated. anyone can easily build and customize their own research studies or clinician services using this open source. recently, as the accuracy of sensors installed on wearable devices has improved, interest in healthcare research using wearable health data is increasing. however, it takes a lot of time for researchers to develop research applications and server infrastructure for storing and analyzing data from scratch. sr is developing android sdk and data platform solutions that support healthcare research using health data from our wearable devices (watch 4 and later versions) and provide them as open source in order to solve the pain points of these researchers and establish a digital health care research ecosystem centered on our wearable devices. sessions iot, monetization, smart appliances home connectivity alliance introduction of home connectivity alliance and how appliance manufactures can enable interoperability across brands. hear how hca interoperability can benefit consumers and partners including b2b (home builders, mfu, etc). join the hca and become a leader in innovation within the connected iot ecosystem. sessions ai, ar immersive audio we will demonstrate an audio system with dramatically improved immersive 3d audio experience. hardware will be similar to samsung’s critically acclaimed hw-q990b soundbar, but will include several new technologies that will be found in future samsung products. these technologies automatically correct for room acoustics and the location of the listeners and loudspeakers. visitors will compare the sound of the system before and after the system’s unique automated calibration process. listeners will enjoy improved spatial and timbral performance in stereo, surround and immersive audio formats with both music and cinematic content. sessions security & privacy introducing blockchain wallet with knox vault in this session, we introduce blockchain wallet for samsung smart tv. blockchain wallet allows our smart tv users to manage their blockchain accounts and transfer their cryptocurrency to another blockchain account. it ensures to retain a key for blockchain transactions in a secure way. dapp developers can build their tv dapp with blockchain wallet for blockchain functions such as blockchain connection and transaction signing. knox vault is an enhanced hardware-based security solution to protect sensitive data such as cryptographic keys, passwords and personal data. knox vault provides strong security guarantees against hardware attacks such as physical attack, side-channel attack and fault attack. as a core component of the knox security platform, knox vault is an isolated, tamper-proof, secure subsystem with its own secure processor and memory. sessions developer program, enterprise, android introducing samsung galaxy camera ecosystem discover how advanced camera technologies, based on samsung’s leading hardware and software, can enable developers to create more powerful camera experiences for their users. we will take a look at some of the incredible partnerships samsung has already formed with numerous app developers and reveal how these collaborations enriched users’ camera experiences. sessions mobile, android, productivity intuitive multitasking experience based upon android 12l join us to see how samsung continues to enhance the large screen user experience further with fast app switching and intuitive multitasking capabilities. to maximize the galaxy foldable experience, we're expanding flex mode even further with more apps and partners as well as google's ongoing collaborative effort in android 12l. sessions iot, mobile, uwb joint efforts on standardization toward open ecosystem of uwb services the presentation will introduce samsung's joint efforts with industry partners on the uwb tech/service standardization, which is essential for creating an interoperable open ecosystem of uwb products and services. especially, it will introduce activities at fira consortium, which was established by samsung jointly with industry leaders to provide interoperability specifications as well as certification programs. it may also include target uwb services and relevant standardization status & plan. sessions ar, game, tizen journey to immersive interactive exp in big screen with xr and avatar fw xr framework webapis enable developers to build xr applications on the tizen platform. we will go over features of the webapis, share some demos, and provide information on how to get started. additionally we will show you a sample code of how to capture and handle user's gestures and full body movement. avatar framework for tizen is a unified solution providing high level apis that allow samsung developers to easily include the 3d avatar models and features in their samsung tv applications. we will go over all the cool features and options of our framework in this video. sessions connectivity, android, mobile le audio: the future of wireless sound introducing le audio: a new standard for bluetooth technology on galaxy devices. le audio will enhance the performance of classic bluetooth audio and introduce isochronous communication, creating whole new wireless audio experience on galaxy devices. in this session, we will introduce the technical features of le audio, what it means for the galaxy ux and how you could enhance wireless audio experience of your app with le audio. sessions design, ui/ux one ui design principles in partnership one ui creates a unified experience across our galaxy devices, from phones and tablets to watches and galaxy books. in creating and refining one ui, we've followed four key principles: simplicity, effortlessness, consistency, and authenticity. with one ui, we've also made a commitment to openness, which means some of the best things in one ui come from partnerships. in this session, we'll talk about some of those partnerships and how we aligned them with our four design principles to get great results. sessions ui/ux, design, android one ui: customer centric design one ui starts with a true understanding what our customers want. hear more about what samsung have learned from listening to extensive customer feedback and usage data, and how we have adapted our designs in response. we'll take a look at some real-life examples of how the ux design of the calendar, settings and samsung health app has evolved over time to better meet customer needs. sessions enterprise, data, security & privacy our journey to responsibly handling data at samsung, we place personal data protection as one of our top priorities. learn how we responsibly handle personal data in our applications and platforms. we'll share with you our journey in protecting personal data. we'll talk about what it means to responsibly govern and access data in samsung's enterprise environment. we'll cover specifics on how to classify & protect data as a whole. pick up insights on privacy technologies and design patterns we apply in our data intensive applications today. sessions developer program, tizen, ui/ux prism: the new ux development tool and process in today’s environment of rapid and unpredictable transformation, establishing a creative and increasingly collaborative tech culture is one of the most challenging requirements. in this session, we would like to introduce a new method to revolutionize the tizen platform-based app development process. a new development process named prism automates most of the inefficient overheads from design to implementation of app ui, innovatively improving app development productivity. we will introduce prism-based development process and deliver this innovative app development culture to developers through the sessions. sessions developer program, smart appliances, tizen remote test lab: what’s new in tv development environment the current tizen tv development environment, represented by emulator and tv, is a very limited support method for developers. depending on the version of emulator, the latest features currently supported by the tv may not be available, and various models of physical tvs may be required to verify actual operation. rtl tv tries to overcome the limitations of the current development environment. sessions contents & service, monetization, data samsung tv plus: the advanced ad-tech and partnerships that fund free tv samsung’s free ad-supported tv (fast) service “tv plus” has been a breakout success. although it looks and feels like traditional tv, it is anything but! behind the scenes of this slick tv & mobile experience is high-performance technology, vast amounts of data & algorithms, and a thriving partner ecosystem. join this session to learn more about the mind-boggling world of advertising technology, how it works, and how multiple companies come together to provide free tv to millions of consumers worldwide. sessions android, contents & service samsung wallet, it's convenient, personal and safe as the growth of digital wallets skyrockets, samsung recently announced samsung wallet – a new platform bringing almost all of the cards you’d typically find in a physical wallet, as well as important documents, into one easy-to-use and secure mobile application. as samsung wallet rapidly expands its content set, find out more about the future of digital wallets and how open api’s can allow developers to build integrations for this service. sessions iot, security & privacy smartthings edge: the next level experience discover how samsung is transitioning the smartthings-published groovy dths to edge drivers while maintaining a seamless experience for our users. we’ll walk through the process of onboarding edge-based devices and how to set up an automation with an edge device that runs locally. sessions iot, monetization, smart appliances smartthings energy service introduction of smartthings energy service and how partners (energy companies, smart device mfgs, etc) can integrate to provide a seamless energy management service for their consumers leveraging samsung's smartthings energy ecosystem. sessions iot, contents & service, open innovation smartthings find: find alongside 200+ million users smartthings find is samsung’s fastest growing service, powered by more than 200 million galaxy users. discover some of the new features and functions added over the past year and learn how partners can leverage the service to innovate their own solutions to meet the needs of businesses and consumers alike. sessions iot, contents & service, open innovation smartthings platform enhancements for openness and interoperability the smartthings platform continues to evolve to promote openness and interoperability. in this session, we will share some exciting new updates to the smartthings platform to support matter and thread, and discuss the home connectivity alliance. sessions health, tizen telehealth in samsung devices samsung display device (smart tvs & smart monitors) users will be able to launch telemedicine service within the samsung products. once you pick your physician, you can use one of the approved usb cameras to connect to the tv and jump on a video call with a physician via external service provider's built-in web applications. after a few account setup process on mobile / pc, you can easily start your session any time on tv without any additional complicated inputs. at your session, you can also receive a prescription to be filled in at a mail-in online pharmacy (pc or mobile) to receive prescription drugs at your doorstep. sessions open innovation, enterprise, productivity the next generation samsung retail solutions in a mobile-first world, device convergence, simplification, ergonomically designed accessories, sw solutions and the connected galaxy ecosystem are helping to boost productivity and efficiency in the retail industry. in this session, we will explore how the next generation of retail solutions are shaping the industry’s future and will take a closer look at samsung’s three major retail solutions - data capturing, payment, and push-to-talk. sessions developer program, mobile, android the samsung knox partner program: partner success journey the samsung knox partner program (kpp) equips you with everything you need to build ideas and market your mobile solutions. in this session, we will take a look at some of our partners’ solutions and how collaborating with the samsung kpp has helped enhance their user experience. join us to see why kpp is causing a stir in the business developer community! sessions enterprise, tizen tizen everywhere this session highlighted samsung's direction and goals for the enterprise and b2b markets, focused on taking tizen to the next level on so many platforms. various enterpriser displays based on tizen and solutions suitable for business purposes will always be together. tizen enterprise platform will provide all the technology infrastructure you need, including the samsung developers portal for b2b for developer support and the samsung apps tv seller office for custom application support in your own business. after announcing "tizen open" at sdc in 2019, samsung established licensing system to provide tizen tv os to other tv makers. in order for partners to develop tizen tv products faster, samsung prepared reference tv solution. in europe, australia, türkiye, tizen tvs have been released sequentially through more than 10 tv brands since september 22. sessions wearable, design, android watch face studio's first journey and expectation for next a must-have to create beautiful watch faces! watch face studio (wfs) is now a little over a year old. hear the developers of wsh share the highs and lows of bringing the tool to life and meet the designers responsible for creating the eco watch face. this session is an insight into the year-long journey to create wfs – and the story of where we’re going next. sessions iot, tizen, ui/ux what's new in tizen? are you curious about the direction in which intelligent iot platform “tizen” is developing? this session introduces ui assistant technology and extended 3d ui framework for providing advanced user experience, and explains innovative technologies that make run the tizen platform on top of the android hardware abstraction layer to facilitate securing new hws. and introduce the iot standard 'matter', which will be newly supported on tizen. finally, we provide a guide and tip for cross platform application development. sessions ai, iot, smart appliances what’s new in bixby for smart home bixby brings the smart home experience to life with the power of voice. find out how our new tool, bixby home studio, will enable device manufacturers to build more intelligent, more engaging voice experiences for smartthings-connected devices. sessions mobile, design, ui/ux what’s new in one ui 5 one ui 5 pushes personalization and productivity to the next level. explore new features that enable you to build a galaxy experience that reflects your personal style and help you to get more done on all your devices, wherever or whenever you need to.
Design One UI Watch for Tizen
docwidgets widgets provide easy access to frequently used tasks or content and are useful when users are engaged in other activities or unable to provide precise control of their watch. users can access any app’s key features without launching the app. make sure you understand how different types of widgets work and the widget designs that are best suited for your app. you can also design widgets in web or native languages. see creating your first tizen wearable native widget application for more details on native apps and creating your first tizen wearable web widget application for web apps. basics design widgets to fit on one page widgets occupy the whole screen. design a widget to occupy a single page without scrolling. widgets only take a single tap tapping is the only gesture widgets use to perform a task or open an app. one app can have multiple widgets for different purposes widgets refresh automatically permissions user permission may be required to display widget information. users can modify permission settings in settings > apps > permissions. if a user does not agree to grant permission, you must provide an additional notification screen that states permission is required in order to view widget information. the screen needs to provide the app name, the widget name (if the app has two or more types of widgets), and a link to the permission pop-up. tip : users can add up to 15 favorite widgets on the widget board, located to the right of the watch face. users can manage widgets by touching and holding on any widget screen. they can rearrange the order by dragging widgets to the desired position, and add or remove them by tapping the corresponding buttons. you can provide a link to the widget’s edit screen using the edit button embedded in the screen. in this case, the edit screen must be provided independently. the edit function is currently only provided for native widgets. see configuring the application manifest for more details on configuring the edit screen. if an app is uninstalled, all related widgets are also removed. types of widgets three widget types are available for the watch: informative widgets that deliver information from the parent app interactive widgets that deliver information and receive user input shortcut widgets that provide a link without exchanging any data with the app choose the right widget type for the content you want to offer. informative widgets informative widgets provide information in a scannable way. design your widgets to display key information on a single screen without scrolling and provide users with a direct route to more detailed information within the related app. providing an appropriate image can enhance readability. interactive widgets interactive widgets perform simple tasks that can be completed with one tap. ensure that your components are designed intuitively so that users notice they are tappable. widgets should immediately reflect any user input in real time and make it clear that user input has been recognized. shortcut widgets shortcut widgets provide quick access to frequently used menus or tasks. shortcuts should use appropriate icons and text to communicate where they lead. when providing multiple shortcuts on one screen, ensure each one is visible and has a sufficient touchable area. types of actions a single tap, the only gesture allowed for widgets, is used for two types of actions: links and direct actions. links connect users to an app's menu and direct actions perform a task on the widget. link links can connect users directly to the first screen or a particular menu of an app. the link can make up the whole screen or be shown as a button. direct action direct actions perform simple tasks without opening the app. you can use direct actions for tasks such as measuring data or toggling an alarm. common use cases here are some common use cases that will help you design your widgets. filling empty widgets some widgets need to be filled with content by users. when creating widgets like these, include an “add” button instead of leaving the screen empty. multiview widgets each widget should present just one piece of information on each screen, but you can break the information up across several views that users can browse through. in these cases, dim and turn off the browsing button when there are no more views in a particular direction. check your phone widgets can redirect users to another device, such as a phone. if your widgets support this feature, use a phrase like "check your phone" to indicate this action. design your widgets keep the visual principles for color, layout, and typography in mind when you’re designing your widgets. make your widgets readable with a dark background a dark background works best for widgets. it increases screen readability when outdoors and smoothly integrates the widget with the black bezel. we recommend using a transparent background, but if you are using a colorful image, add a tinted black layer on top (at least 60% opacity) to ensure the text is legible. maintain visual identity with an identity color applying the primary color of your app to the main text can communicate a strong visual identity. consider readability when you choose your app identity color. use breeze sans. use the system font breeze sans to optimize readability on the watch and make your app consistent with others. breeze sans comes in condensed, regular, and medium fonts. determine the weight of the font according to the relative level of importance of the text. see visual design for more details on breeze sans.
Learn Developers Podcast
docseason 1, episode 10 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 chris shomo infinity watchfaces in this episode of pow, i interview chris shomo from infinity watchfaces chris was one of the first designers to start selling watch faces on galaxy store and has become a very successful app designer along the way he has inspired many other designers to start creating for samsung with his willingness to share his knowledge and expertise listen download this episode topics covered galaxy watch studio for tizen galaxy themes studio galaxy store galaxy store badges social promotion jibber jab reviews jibber jab reviews live chat iot gadgets samsung galaxy watch facebook group tap reveal galaxy watch3 asset creator lifestyle photos chris shomo sdc17 video presentation 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 0 02 hey, i'm tony morelan and this is pow! podcast of wisdom from the samsung developer program where we talk about the latest tech, trends and give insight into all of the opportunities available for developers looking to create for samsung on today's show, i interview chris shomo from infinity watch faces chris was one of the first designers to start selling watch faces on the galaxy store and has become one of the most successful along the way he's inspired many other designers to start creating for samsung with his willingness to share his knowledge and expertise in fact, it was a video i saw of chris who inspired me to start designing watch faces, which eventually led me to my gig at samsung so it is an absolute honor to bring him on to the podcast and let me warn you chris, and i'd love to talk and sometimes we go off on a few tangents, talking about how his house was not only featured in an episode of ghost hunters, but was also used in a big time hollywood movie and of course we talk a lot about designing and marketing apps for samsung enjoy tony morelan 0 58 i am super excited to have on the podcast today chris shomo from infinity watch faces so let me first actually start by asking who is chris shomo? chris shomo 1 05 hey, tony, thank you so much for having me on the show who is chris sharma i'm, i'm a lot of things i am a designer, which you know, initially, you know, when someone is a designer, they can be quirky, they can be geeky, sometimes they can be introverted sometimes or they can be outgoing it depends on my mood and the time of day, i can be a little bit of everything so, but you know, i can be the shy person in the room, but you get me talking about something that i'm interested in, and then sometimes you can't get me to shut up so i can absolutely relate to that, that you've pretty much have described my personality definitely, you know, being a fellow designer, and that's why i'm really excited about this podcast is that we can kind of geek out a bit as we're talking design cool so how did you first get your start in graphic design? oh, geez well, i guess it goes all the way back to when i was a little kid my mom always had me doing artistic projects for school actually, i would always find a way to make some sort of artistic project if i could for homework, i would always go to the art route it was a lot more fun and then in high school, i did a project it was a pennant drawing of the shakespeare globe theater and i did it for an english class and i decided to take an art class as an elective and mrs martin, my art teacher in high school, she asked for some examples of my previous work and out of my bookbag, i took out a folded piece of paper and then i just like unfolded it to this, this gigantic poster size of the shakespeare globe theater it was that that artistic drawing i did, and then she said, okay, lesson number one, do not fold up your artwork so, that's how i kind of got started and that drawing was pretty awesome and she kind of excelled me through she put me into the higher level art classes real quick they kind of skipped me a couple classes and i want a lot of awards against other students and some regional awards in the area and then afterwards, i decided to go to art school and my brother discovered the savannah college of art and design down savannah, georgia and yes, so yeah, i attended there wow so for a good while to almost like a van wilder experience but multiple degrees tony morelan 3 33 wonderful again, i could relate to that i definitely took the long route through college so straight out of college, then did you work for a large company? did you start your own your own gig? what did you what was your first step coming out of college? chris shomo 3 46 okay, well, i graduated with my undergrad in computer art with a focus on 3d animation and that was in 2005 and right after the i interviewed for some companies, and i just really did not want to be stuck in a cubicle, just you know, for the jobs that i was offered so i ended up taking a job for a contractor and helping build a house from ground up oh, wow and after that, i decided i was interested in architecture and i put together a portfolio and scad gave me a portfolio scholarship to come back and they paid for the masters and i got my masters in architecture tony morelan 4 21 wow i did not know that chris shomo 4 23 yeah so and of many secrets, i guess, some hidden talents there but i did graduate after the economy crashed, and it was really hard to find a job in architecture so i started a website design company and from there, i just kind of, you know, word of mouth i just kept on gaining clients until eventually i had clients all across the east coast so you went to school in savannah, georgia are you currently in savannah? is that where your offices based out of? yes, savannah is where my heart is i love the city and i'm actually president of the neighborhood association for the neighborhood that i'm in, and it's one of the largest neighborhoods in savannah okay and southern living magazine actually ranked the number one neighborhood to live in in the south as well right before all the craziness this year, we got that nation sure so it is quite interesting because it there's so many local businesses and residential neighborhoods in this neighborhood so just dealing with everything from alcohol licenses and giving our blessing and, you know, zoning issues and, you know, just figuring out what's going on with crosswalks and trash cans and all that kind of stuff you know, it's interesting tony morelan 5 40 so i actually heard a very interesting note about not just the neighborhood but the house that you live in yes, you once told me that it is actually haunted chris shomo 5 50 it is haunted and it's documented on a ghost hunters’ episode i believe it's 2010 home is where the heart is okay yeah, it's all about the current a family that was living there and their experiences with a ghost they say they've seen this ghost this little girl apparently, her name is tony clark and she's been appearing i guess for the past hour well, the previous owner salt or 200 times that's what they said 200 or more times, and ghost hunters did believe that there were dual entities in the house as well think okay, well, monique clark she is the daughter of the guy who built the house back in 1896 and he owned a lumber mill and he inherited this lumber mill from his father when he was 26 years old and he built a house known he was one of his daughters and apparently, she was one of the first women to receive a pacemaker for her heart and that led to her dying somehow i don't know what happened to it but she died when she was in her 50s but supposedly she's coming back is like a 12 year old girl i've never seen i've had some strange things happen in the house door slamming things disappearing from one place appearing in another place not my imagination other people have experienced things too but how she was identified is that the lady across the street had apparently, i recognize the description of the nightgown that she appeared in because she had made that night gown for her when she was young so getting a little cold chills thinking about it right now but it is interesting, but yeah, i don't feel scared in the house i think the house accepts me i have never had to smudge it or whatever you call it or you know, try to clear spirits out of there but it's an interesting story and it's always fun when somebody else experiences something tony morelan 7 46 oh, that is absolutely wild to hear you know, and we'll circle back to the whole aspect of design in this podcast i will note before i'm going to jump ahead just a little bit your designs have a little bit of a quirkiness to it and sometimes i'm seeing, you know, ghosts and aliens and the crazy thing so i think that may be where you're getting some of your inspiration chris shomo 8 08 yeah well, i mean, you live in a dynamic city, it's actually one of the most haunted cities in america sure you know, and it's one of the most wild cities in america too i mean, you have this, this local field, but then, at the same time, you know, it's one of the few places in america where you have an open cup, and, you know, take a drink from one bar to another downtown so it leads to a little bit of craziness but i myself pride myself in being a little crazy, you know, you have to be in this crazy world and i love surprising people with designs to light like one second yeah, you'll have a butterfly that looks realistic landing on your, on your watch and then the next moment, you know, you have some zombies that are appearing with your step, go biohazard z tony morelan 8 57 that's a great one yeah, definitely so we were fortunate actually to come out and visit you at savannah college of art and design where we came in hosted a session with your students, teaching them all about theme designing for phones and watch faces and that connection actually came through you so that was my opportunity to come out to savannah and get to meet you in person what a beautiful city i mean, it really in the campus itself to is pretty unique because from what i understand savannah college of art and design, they're like the number one occupancy of buildings in downtown is that correct? i mean, as far as the campuses is put together, chris shomo 9 32 yeah, it seems like it's every other building and it's really amazing what they've done for savannah they encouraged a lot of businesses to move in as well to cater to the students and they really played a huge role in where savannah is today you know, we get millions and millions of visitors every single year and schools to thank for a lot of that, you know, just the restoration projects and encouraging restoration and then of course, we have a great hit preservation society alone just in savannah being the oldest plant city in america, and in a genius plan to just how it integrates with all the giant oak trees that are in all the squares and people are really jealous of those, those oak trees and, you know, as a person living there, i always try to make sure that i go out and i do what the visitors do, just to remind myself, you know, what a beautiful city it is and then, you know, just going to school in those historic buildings as well it just it helps with the creativity and yeah, the location definitely helps with the whole artistic side of things tony morelan 10 39 yes, and for those who don't know, savannah is actually the city where they filmed the scene of forrest gump on the bench yep, that iconic moment in forrest gump where he's sitting on that bench that was in savannah at one of the squares i actually walked by that to take a look at that for myself just an amazing city chris shomo 11 00 and it's actually known for a lot of movies as well like the lady in the tramp that's on disney plus that was filmed they actually looked at my house to potentially film it there but they said that the lot was too big so they actually filmed it a few blocks down and yeah, and then also, my house is where the movie legend of bagger vance was filmed there's a scene where it's where the little kid lives the caddy and there's a whole scene at the dinner table where they're, they're talking and stuff that's my dining room oh, wow it was one of the houses the few houses around there that had a dining room with a view to the kitchen as well and they needed that for the scene so robert redford picked out the wallpaper it's kind of cool tony morelan 11 47 absolutely crazy yeah oh, wow i knew this podcast would be fun, but i have no idea so let's circle back around and let's talk a little bit about design okay, tell me how you first heard about the sample galaxy watch chris shomo 12 00 okay, well, i'm a tech geek i love any type of mobile tech, especially before the watches came out on i was like a cell phone fanatic like, you know, first we wanted them to get small and now they're getting bigger yes now we need the biggest phone ever, which i absolutely love but i was eyeing smartwatches for a while and finally i was like, okay, i'm getting one at the time i'm like, i couldn't really afford it but you know, i don't care i'm getting one so i went down to the best buy and i got the first gear s to sport i just loved it it was great but there was one thing that bothered me i needed more watch faces i was bored with the watch faces that were available and went on the it was galaxy apps before but now the galaxy store and you know, i even paid like i think it was like five or $10 for a watch face it looked like the coolest one out there then like, alright, how do i make my own? so that's when i just googled and i found it was the galaxy watch designer well, at the time, it was the gear watch designer 1 0 wow and, like, right when it first came out, i mean, i think i might have actually caught it within days of it coming out and i downloaded it, and i just started playing around with it and i never even planned on releasing any of them for anybody else i just, you know, wanted to make some for me and then i'm like, alright, look, i can, i can load some and see if i can make a few dollars let's do it so i think i made like $17 off of two watch faces the first day and then i'm just thinking to myself, like, you know, what if i have like 300 watch faces on there, you know, how much how much can i make her? so i mean, sure enough now gosh, i have about 394 watch faces and themes published wow, that's amazing and how long would you say this has been? oh gosh i started in i think it was february, early february of 2016 okay, so when i started, and you can actually kind of look back at some of my very early designs, and see how the design has improved over time sure the very first one that i did, i just called it gear spin and i didn't really know much about the designer, the software and everything i was just getting into, it didn't really think that i could even put a graphic on, you know, a watch hand and use it other than a watch hand at the time so i even animated a gear using adobe flash exported the frame animations out and threw it in there just to get a gear spinning sure now, i'll just put it on a second hand but i'm thinking coming from a designing standpoint, not a watch standpoint and, and that's something that you that you really have to start doing it start thinking, you know, i'm also a watchmaker in a way exactly, you know, so you got to start thinking, that language and that starts you know, meshing with the creative ideas and then you start, you know, you got to focus on functionality at the same time that you're trying to focus on dynamics and what it looks like, that sort of thing so tony morelan 15 11 that's true and you know, i do a lot of teaching to students just learning how to watch design and the challenges are that they've got this tool that can allow them to just do amazing graphics and amazing animations and then they forget that really, this is a time piece where people need to quickly tell what time it is so even though you can have a lot of fun with your graphics in your animation, you still need to make it where you know on quick notice, you can actually tell what time it is i mean, that's the whole the function of the watch and that's what i love with your designs as well i mean, you've got some amazing, fun, quirky, crazy designs i mean, everything from dogs and butterflies to spooky, eyeballs and reapers so let's talk a little bit about your approach to design and some of the tools you're using you had mentioned adobe flash so we're going back in the day oh gosh, yeah chris shomo 16 03 well, i don't use that anymore but i used to use that all the time tony morelan 16 07 so tell me kind of that your workflow, you know, when you know, from concept, your tools, are you sketching on pencil and paper when you have an idea, or do you just dive right into a software program? chris shomo 16 18 well, i guess this is where professors are going to want to smack me and i should be sketching more than that you know, scat always says, you start with the basics, and you start sketching, and i need to carry around a sketchbook but no, i kind of jump into the software first but in a way, i kind of sketch digitally i'll start with a program like adobe illustrator, just to get the basic shapes done and i'll move them into photoshop, of course, to get the nice effects to get the textures, some of the shadows or to create the shadow layers that you'll export separately later you know, those are our two the main tools of getting i guess, the framework of the of the watch, but of course, i like to do animations, so using a lot of after effects and premiere, and sometimes when i have to maya and all that kind of stuff, and then you know, getting it out to the, the frames, and also being very cautious about file size as well you know, we are dealing essentially with an app, even though it's very focused around design, which i'm very thankful thank you samsung for giving me awesome design software, where i don't have to code everything but, but you do have to remember that, you know, people will get frustrated if you have a, you know, a 50 megabyte watch face, which i mean, i could easily make one that large but it's all about understanding the compression and understanding your tools to make sure that when you deliver that watch face, it's fine, it's dynamic, it has all the effects but it doesn't take forever to install or it doesn't, you know, someone doesn't have an issue with it so understanding the technical side but really understand or design software tony morelan 18 02 that helps, you know, and you had mentioned a little trick that i may have actually learned from you in that where you had said that you know, your first animation was done using flash and bringing those in as animated gifs but you then said, hey, i could have just made this a watch hand and that's one of those tricks that when you realize that watch hands don't actually have to be watch hands it's the watch and feature is basically just a rotating graphic that you can then set its direction that it rotates, you can set the you know, the time that it rotates so again, another tip that came from chris that helped me in my, in my success as a watch face designer and i'm actually going to take this moment to thank you again, because it was your you had mentioned, you started in 2016 i think it was at the developer conference in 2017 that samsung invited you out to actually speak at the event was that correct? yes, that's right so tell me a little bit about that that experience, because it was after that conference, they posted the video online and that's how i first learned about designing for samsung it was finding this video of chris shomo from infinity watch faces speaking at the conference, that then got me excited so tell me a little about that chris shomo 19 20 uh, that moment, the whole experience was awesome at first late, like when you get an email saying, hey, would you like to come to the samsung developers conference? i'm like, what, at first, i'm just kind of like, samsung sees me this is cool you know how to play i'm getting so excited the experience was great meeting the team was wonderful and just, you know, the team itself were, you know, the designers of the software, the galaxy watch designer, and all that they were so embracing of everybody that came it was such a wonderful experience and then also talking with them and understanding, you know, their process and what goes into creating the software that was amazing too but i guess one of the, the most awesome and rewarding parts of this is all the designers led you, to me that have come to me, it's just like, just been like, thank you for giving that presentation because you guys showed me that, you know, anybody can do this and, and, you know, and then if you have some fun and, you know, wonderful designs that people like then then you can really succeed at it as well and i just i love that yeah, that i could influence someone to start a watch face design career there's another one in particular, that is with usa design he started a little bit later he was doing some games for the watch and he was there at the presentation as well and now he's like one of the top sellers it's amazing he jumped into it he founded as a design formula that works really great with the active two, especially when that came out without the bezel at the time, and is doing phenomenal and i just absolutely love to see that and the fact that i might have played a part in pushing him in that direction is just, it's rewarding it's humbling it's, it's cool tony morelan 21 28 yeah, no, that's, that's great it was you know, when i watched that video of your presentation, and you had mentioned, the first thing was that you can create these watch faces without coding you know, i've done a little bit of coding, but my experience is a lot like yours i mean, i had my own freelance design company i did a lot of website designing but when i learned that you could create these watch faces, really without doing any coding so it's just such an extension of photoshop or illustrator in using like after effects with the timeline you can have so much fun doing it you had mentioned earlier little secret again, just like the watch hands rotating how you could actually have buttons that you could tap and reveal things by using a transparent png that didn't have any pixels in it, you use that as sort of like a cover button well, when i learned about that, i then dove into this whole idea of being able to tap certain areas of the watch and have it reveal new things like, you know, if you wanted to show your step counter, you could tap an icon and it would then show the numbers so you could customize the look of the watch face, cleaning it up by not having all the graphics show, but tapping to reveal whatever sort of data you wanted to see your heart rate beats per minute, i mean, all sorts of different elements and it was from you the that i learned about that i then have totally expanded on that creating videos on tap reveal, that are shown on youtube and doing a whole thing around that and i've seen that a lot of people really enjoy, you know, learning about that and that again, came from you in that presentation so thank you a big thank you from the crowd of designers that really appreciate what you've what you've inspired chris shomo 23 09 thanks yeah, i mean, it's fun and that all kind of spawned from figuring out a solution to putting all this information on a watch face, but not making it look too busy and so kind of hiding it and revealing it there, it kind of making use with the tools that are given to you, and how can you make it work to simulate something when you when you don't have all the code underneath it so tony morelan 23 35 that's great so we've talked a lot about watch faces i know you also are doing theme designing so what was that progression? you first were designing for watches and then learn that you could actually do something very similar with theme studio and creating themes for our phone devices chris shomo 23 52 yeah, no, the whole idea is matching your watch face to your theme and having total continuity between the two and for example, the shock theme that one's actually a free one just called shock, you can look it up that's the most downloaded theme that i have and it has a matching much face called shock as well so you just be shocking everybody with the shock but, but yeah, in those i also like to i like to make fun and exciting something that you wouldn't expect from dancing frogs to lightning bolts to oh gosh, and i got so many more that are just about to come out i'm not going to ruin the surprise, but y'all are gonna love them tony morelan 24 34 wonderful i'm looking at your website and the one that jumps out to me is martian bash i know it's a great dancing alien you know, how is that is there been a lot of success behind some of these quirky dancing cuz i've seen like santas dancing and you've got a lot of fun ones chris shomo 24 48 well, yeah, because i want to reward people for taking some steps a lot of these characters that are on there, they change what they're doing based upon step gold percentage so if you want the aliens dance you're going to have to meet your step goal so in the morning, he might, you know, he's standing there, he's waving at you and then as you proceed during the day, he's running one direction and towards you that another direction and then finally, yeah, he's dancing whoo, you just read your step goal one of the points of these watches is for health and to encourage people to, you know, get out of the chair and you know, move around, and so why not make something that's fun and exciting and encourages that at the same time? that's great so even the one called bolt that has lightning bolts that go across it starts as like a tiny little bolt and as you proceed through the day with your step, go, more electricity comes out and i'm getting ready to release another one with a fun little loving alien that does a lot of other stuff to your step goal as well so that should be fun tony morelan 25 45 super excited about that tell me watch face designing and theme designing is this your full-time gig or do you actually still go back and do some of your website designing or anything beyond design? chris shomo 25 55 oh, this is actually full part time gig chris shomo 26 00 between that and website design and i'm also the cto and creative director of the picker joe's brand you probably heard of antique pickers, vintage pickers, they go around and find really cool stuff and bring it to people yes so yeah, there's a store in savannah, georgia called picker joe's antique mall and it's 10,000 square feet 25,000 items that change daily, about 65 antique pickers that go out and find all this stuff we like to say that it's an experience like no other because it really is we have people that come in from different parts of the world, from across the country, and they go, wow, this is the best antique mall experience that i've ever had and we've also been on oh gosh, i don't know how many interviews so far with the same production company that does american pickers and so they are still considering us possibly for that show oh, wow but, but i designed the branding and do all the advertising and we do crazy videos usually filmed with the latest samsung phone as well and if you go to our instagram if you look at our youtube and stuff, you'll see some of the, the wild and insane advertisements that we do all the time and that's one of the things that really sets it apart from other stores i mean, if you ever heard of an antique store that you know for halloween has monsters invading us and appearing everywhere and like all sorts of things, no, probably not but i encourage everybody to check it out and if you're in savannah, you've got to experience it you really did tony morelan 27 31 definitely in i can see in your designs you definitely have a lot of fun humor happening i'm looking at the watch face for joe, joe's, your character of the dog that seems like his tongue is actually bigger, bigger and then his head and wagging more than his tail yep, chris shomo 27 53 yep and i actually have a dog named joe and that's actually what picker joe's is named after do oh, that's great figure so he's a jack russell and he actually looks very similar to joe and he likes all the time he's always happy and always mischievous as well, too so, again, he'll react to your step go, he'll, he'll do some fun stuff at 50% as well so definitely check that out tony morelan 28 18 so, are you doing all this design work yourself? or do you have a team of designers that work with you in producing watch faces and themes? chris shomo 28 25 most of this stuff is just me but i do have a another a friend and fellow colleague that graduated with me, jonathan maillard he's over in denver right now so i do pull him in on tons of different projects we're working on some right now some interesting apps and hopefully in the very near future, some game designs as well oh, that's great that's great yeah, games are a big push for samsung so super excited to hear that you're going to bring your brand over to that side and let's produce some amazing games it's going to be fine do you work out of your house? do you actually have an office space? okay, i have multiple locations that i can work out of i definitely have the house set up and with the cool gaming computer and all that kind of stuff and then we have the office which is actually right above a florist it's really cool you can walk up the stairs and you smell roses love it always say i always get to stop and smell the roses every day and, and then also working out of picker joe's as well in the side office there tony morelan 29 26 so we talk a lot about savannah is that where you were born, or were you born and raised somewhere else? chris shomo 29 33 born and raised in the mountains of virginia and pulaski, virginia? oh, wow yeah so a little town called pulaski it's in the middle of the blue ridge mountains and it's your cool i guess mainstreet hometown recently it's been hit kind of a little hard from the economy my master's thesis in school for architecture was actually called the polanski institute of art design, which was taking the million square feet of the pulaski furniture plant and change it into a design school, which would in turn, hopefully help the economy and encourage businesses to open up to cater to students and yeah, that's pretty much what my master's thesis was first seen on my hometown but then, of course, i moved to savannah in 2000 and i've been there ever since tony morelan 30 29 so let's talk a little bit about marketing i mean, you are definitely one of the most successful designers for samsung tell me some of your tips and tricks when it comes to actually marketing your watch faces in your themes are you using social media? are you doing any additional advertising? what's your what's your approach to marketing? chris shomo 30 49 okay, so first off, i started out with the website, and just really making sure that it crawled on google so i'm always getting some sort of traffic and so either way website at any given moment can get like 200 to 500 hits a day, which, you know, that really helps just get the brand out there tony morelan 31 08 and share the url chris shomo 31 10 oh, it's www infinitywatchfaces com, and also social media, instagram and facebook we used to use google plus a lot it was a big designer community, but of course that's gone but that has shifted over to the facebook groups now and like the facebook group, that ash with iot gadgets, runs, it's one of the largest facebook groups out there and they have great moderation some good people are definitely running it and it's a great place to really show off your designs and spread the word to everybody and it has just a great following so i always recommend you know, get on social media and you just scream out your brand's everybody i actually tony morelan 31 55 interviewed ash iot gadgets on the podcast nice if you haven't listened to that yet, go back a few episodes it was a great, great time he's an excellent interview, great person doing amazing things and yeah, that facebook group is huge it's crazy chris shomo 32 11 yeah, it's crazy it's got to take a lot of time to moderate i'm sure it does but um, oh, and also on youtube we got our favorite watch face reviewer andrew tony morelan 32 22 jibber jab reviews yes and again, that came out of your presentation when you spoke at the conference you'd mentioned jibber jabber, and first thing i did when i became a watch-based designer was track jibber jabber reviews down on youtube and get him to review some of my watch faces i have just done a live chat with andrew, that we published last week great interview, he talks a lot about strategies, not only using youtube, but even beyond youtube for marketing your app so and i know you've got a great relationship with andrew, can i say this? can i share this? you're helping him with a new website that he's launching is that correct? chris shomo 32 59 yeah as the website is in the very beginning stages, it's going to grow over time doing some interesting work on pulling his youtube channel and all over the place and yeah, it's going to be something you're going to want to visit very often cause he's going to have some cool giveaways and a bunch of other stuff so, yeah, andrew is great to work with and it's interesting, because, you know, in the very beginning, he's tracking down watch face designers to do a review, and now everybody's tracking him down, of course, which is wonderful but, um, but yeah, he's done a phenomenal job and he's just, he's very vital to the community i totally agree i mean, andrew is a great guy and a lot of watch face designers owe their success to, to andrew so your watch faces and themes have a lot of animation so i want to ask about instagram a lot of times people just post pictures on instagram are you utilizing videos on instagram? oh, probably more video than anything else and a lot of that video is just taking my galaxy phone and just reading according the watch on my wrist, this is the first thing i want to do actually, as soon as i have a design, like even almost done, it's a work in progress and it's fun sometimes for your customers to see works in progress to see the early stage and, and all the work that goes into it as well and you'll find that you'll get a lot of a lot of following on there, which is great and, and a lot of times customers will, will critique it and you'll end up getting a better design in the very end because they kind of helped with the design process ah, that's awesome i think the first thing i do, of course, is i post on instagram and then the next thing i do is i head on over to that large facebook group and i started announcing there and, you know, i'll do some, you know, some works in progress, like post and that sort of thing you know, making sure that i replace that post as opposed to adding another one with, you know, the final, you know, work and just, you know, keep on updating that that sort of thing because you know, everybody's notified at the end another picture to a post they like so, yeah, just knowing these little tricks with social media and with instagram, knowing how to use your hashtags, it's all about hashtags on instagram, yeah, then you don't have to, to pay essentially, we're on facebook, you know, you might want to, you know, every once in a while, on paid advertise a little bit, sometimes it works but the main thing is being active with those groups, getting people to recognize your brand and getting repeat customers that also want to share your stuff, too tony morelan 35 30 and glad you mentioned the hashtags, we actually posted on our site, which is developer samsung com if you go to the galaxy store page, we actually posted a long list of valuable hashtags that you can use, whether your marketing your watch faces or your themes or apps or games so it's a great place to start to go take a look at some really good hashtags that could work chris shomo 35 52 nice and i just need to give a huge shout out and thank you to everybody with the samsung developers program because like i've also seen that grow over time and the resources available are just amazing and it's so helpful and you guys have yeah, even great every step along the way thank you tony morelan 36 13 yeah, no, you're welcome you're welcome you know, one of the things that we've done to try and help designers like yourself promote their apps is galaxy store badges, which i know that you use so a little bit about your experience with that, and where are you using those galaxy store badges? chris shomo 36 31 well, these badges are great because first they make you look legit they make you look professional, because they know, you know, it's 100% hey, this is available on the galaxy store and also being able to track the clicks and where people are coming from you can you can make a link specifically for a facebook promotion and you know, how many people you know clicked on that to participate in that so how do you know how where to grow unless you know where you stand and that helps you understand this statistics and where people are coming from so it's a valuable resource tony morelan 37 03 what about banner promotions? i love chris shomo 37 06 banner promotions you will see your best downloads during then that when you have one of those and ron is great yes, yeah, he helps guide you along just making sure that the banner looks great definitely everybody needs to take in his comments, everything that he tells you because i mean he, he's saying him for a reason so he will help your sales tony morelan 37 29 my biggest success came from a watch face that i had done that was featured on a banner promotion and it was crazy the amount of downloads and sales that were generated by having that banner promotion so for designers out there, once you've got a collection of strong designs, then you can approach samsung about being featured on a banner there is no cost to the banner, but there are a lot of people requesting it you have to be approved proved to actually have your designs featured on a banner but definitely worthwhile pursuing for sure chris shomo 38 07 and make sure that you have your social presence as well and all your facebook page and instagram page and all that when you submit for the banner because you know it's going to make you a better candidate for one tony morelan 38 18 yes, definitely they actually look at that they want to see previous downloads how much success you've already had so once you've got some experience, it's definitely worthwhile to at that point to reach out and then apply for a band promotion going back to your video, so you do have a lot of animation in your watch faces and your themes and i know you leverage video so talk a bit about youtube are you taking like all of these designs each time and posting them on youtube creating videos to expand your reach? chris shomo 38 44 most of them the main reason to do the video for me on youtube is to really have something dynamic to show on the galaxy store when someone sees that video after they land on your listing it really can be the difference as to whether they're going to buy it or not, and since most of mine offer animations to them, it makes sense to have a video to, to show it off one thing that i, i wish that the galaxy store had was an animated preview, like on like where the icon is, that was really cool because then everybody would be gravitating towards mine and other animated faces instantly but, but yeah, the youtube video is what really makes a difference and there are some watch faces that need to actually go back and make some videos for sometimes you finish the face and then of course, you're like, oh, now i have this whole production i got to make tony morelan 39 35 sure i totally agree with that and let me explain a little bit further about what you were talking about creating the video so that people can see it when they're viewing your galaxy store page so on the galaxy store page for a watch app, you have what are called screenshots and these screenshots show still images of your graphics that you use your marketing graphics however, there's also a way for you to include a little link to a video on youtube so you grab your youtube url, place it into your, your application for the, for this app and the very first screenshot will actually show your youtube video instead of the still image so it's a great way for users like you had mentioned, that want to see the motion, they can actually click on that screenshot, and it will launch the youtube video so it's a great way to market, you know, motion in your graphics so you had mentioned that your top theme is a free download so let's talk a little bit about the approach of offering apps for free because i know a lot of designers utilize the ability to you know, give away their apps and some designers are a little tight with that and they hold on to them and they don't do it where do you stand? i mean, are you using this as a marketing tool? do you just want to like get your brand out there? chris shomo 40 43 well, it started as a marketing tool, because you know, there's also a free section on the store, and if you don't exist on it, then well, it's just another avenue that people are not going to find you so you definitely need to make a free one and a good free one too just don't pick your worst design and be like, oh, i'm just going to make it free no, no, not at all it's not going to do any good so, for example, actually i did a watch face for jibber jabber reviews for andrew and that turned into my top downloading free watch face and that one at one time oh my goodness i think it was downloading like one to 3000 times a day tony morelan 41 22 wow so this is a branded jibber jabber reviews watch face yes so you so i actually remember when he posted his review of that i didn't realize that you were the designer behind that that's awesome yeah, chris shomo 41 35 but my name snuck on there like a little bit, but i wanted that to be mainly about him sure but yeah, not that one still gets downloaded like hundreds of times a day and stuff that very solid one and it gets reviews every single day to love it so having some free faces you can get discovered from people that you would have never discovered you before as well if you can get your watch face up to, you know, a certain section of the free section, which means it has to be good, essentially so, having done this now for several years, i'm sure you could face some challenges will first has been just the challenges of, you know, just growing with the software and understanding what you can do and taking advantage of updates to the software, like when the gyroscope became available and you could use that, oh my gosh, i was so happy when we could do that because that just adds a whole new level of dynamics to the watch faces and so it's really just, you know, learning your tools, but then also encountering that the watch face market has gotten a little bit congested with you know, there's a lot of people, you know, so you definitely have a lot more competition than when i first started out and, you know, i was just thinking the other day, i was like, wow, if i knew what i knew now, right in the very beginning, would i've been designing more sophisticated watch faces and have like a whole monopoly in the market or something like that, you know, you always think back like, oh my gosh, but no, no, i grew at a great rate with the software with the other designers you'll find that a lot of the other designers have become, you know, friends we all talk with each other yeah, we help out each other but yeah, it's a great community it really is tony morelan 43 22 talking about some of your favorite designers and who are the designers that you follow that you're inspired by? chris shomo 43 27 oh gosh, like jeweler broda like oh my gosh bergen of course like, those are great such clean watch faces i love those chris shomo 43 41 md matteo dini oh my gosh, like a little jealous there we'll have to say, but, but yeah, he's, um, the those are just a few of some of the amazing designers out there and a lot of great designers and, and again, the main thing is you know, everybody communicating and kind of working with each other? you feel like you are part of the community regularly tony morelan 44 07 yeah, that's what i've noticed i'm not too long ago actually did a podcast interview with tomas yes check from vienna studios yes yes great person yeah and he's done some amazing designs yeah, he's taken a different approach to watch face descending, where he designs extremely high end, very expensive watch faces that are in the hundreds of dollars and he is one of our top whitespace designers i mean, he has found a way to you know, make amazing revenue off of these high-end watch faces so yeah, i love the community it's been a lot of fun for me to not only be inspired by them when i was a watch face designer, but now being fortunate to be in a position working at samsung, i now get to have these conversations and then help out where i can with some of these you know, the rock stars of the watch facing design community chris shomo 45 04 that's awesome and i promise you that we all appreciate you too thank you so much tony morelan 45 09 thank you tony morelan 45 11 you've used galaxy watch studio for some time now, i'm going to ask you, what sort of features would you like to see added to it? so you'd mentioned about adding animations, maybe as a preview in the galaxy store but what other features would you like to see added to the galaxy watch studio, chris shomo 45 26 probably some little nitpicky things like being able to start and stop an animation with a click of a button that would be great to be able to have an animation react while your mobile for example, if i could have a guy that starts to run while i'm running, that would be cool to sure that would even take that joe watch face to another level, which would be awesome and then maybe in the future, and i think that someone was talking to me about this, but having the ability to do 3d and be able to put like a 3d mesh in there and have real shadows and that sort of thing who knows that that's really thinking into the future, that sort of thing sure and then if we look over to the theme side of things to my main one that i want right now is to have gyroscope action to have parallax effects i think that would add another dynamic to the theme designs tony morelan 46 25 yeah, i love that suggestion chris shomo 46 27 yeah so just, you know, just having like, you know, three to five layers that you could work with that could react with the gyroscope to mess with for like the regular background image people are looking at their phones, i don't even know how many times a day so let's make it like the best, most awesome dynamic experience ever and that would just be great tony morelan 46 48 that's what i mean wishes for that you know, and you were the first designer that i saw that truly leverage the gyroscope on the watch, where i can't remember the name of the watch face you had but as you rotated your wrist because of the gyro functionality these like metallic, big doors just like opened up to then show you know, the like data, you know whether it's the digital clock or heart rate, but it was so cool i could rotate my wrist and have these metal doors on my watch, paste, you know, collapse or open so that's how i first learned about the gyro is from your from your watch face design chris shomo 47 26 yeah, that as soon as they came out with the gyro is just like, oh, how can i use this to do like, tons of different things and i was thinking like a cuckoo clock, you know, when it opens up and that sort of thing so that kind of started at all and trying to think what the first one that i did using that is think it might have been digit glow spark tony morelan 47 45 that sounds right yeah so do you have any tips for designers when publishing on the galaxy store? i mean, we've mentioned a lot about marketing, but when it actually comes to, you know, creating the graphics behind their apps, what sort of tips could you give people and publishing on the galaxy store? chris shomo 48 05 definitely bone up on your photoshop skills, you got to design those thumbnails, don't just throw, you know, watch on a white background with the watch face on it because you really have to grab someone's attention talking from my website design experience, on average, you have about three seconds before someone clicks the back button or continues to read on the website it's kind of the same thing with watch face listing you know that you can have written information, everything, people aren't going to read it they're their visual, they want to look at the thumbnails and it starts with the icon as well make sure that icons looking good tony morelan 48 40 that's great are you familiar with the tool that i created called the asset creator? chris shomo 48 45 yes and i've actually been through it and i've used some of it to create some of my thumbnails and, you know, pulled some stuff out of it and threw some stuff in and that sort of thing so tony morelan 48 54 that's awesome yeah so super excited you know, we just announced galaxy watch three yes and so i spent a bit of time recently updating the asset creator to include all of the new watches for the galaxy watch three i just checked, you can actually go download the new updated version of the asset crater that includes all that that was just published recently so, in addition to that, i also have created what we call lifestyle photo packs, using the same tools within photoshop that allow you to use smart objects to quickly copy paste your design into a watch and have the perspective change and have the blurred change so that it truly just simply photoshopped right onto the watch i am madly working on new photos that show the galaxy watch three i will be publishing those very, very soon so super excited those have been a big success, a lot of help for people because it's not just showing your watch face on the watch just on a simple straight, you know, top down picture we're actually taking the watch and putting it into a scene so whether it is, you know, sitting on water drops, or it's on a slab of granite, or you know, some high-tech texture, these are great pictures to help using your screenshots when you're publishing your app so, look for those new galaxy watch three lifestyle photo packs coming out very, very cool chris shomo 50 22 i'm excited and one thing that's cool about that is it allows the customer to relate to the watch and wearing that watch face more by having photos like that so that that's great you can get your customer to relate to your product, you're golden, an architecture professor actually told me one time that a building or a product, any type of product, it is 10% your ideas and 90% the way you present them so if you can't present it right then your product is not going to mean anything tony morelan 50 55 so what is in the future for infinity watch face design tell me what can we get excited about? what's happening? chris shomo 51 02 oh gosh, what is in the future? we got so many things in the future, we're going to have some games come out, you know, break into the, the other part of the app world still continues with wearables of course, we're going to expand our video production as well working on that and infinity watch faces is going to be getting really involved with local businesses really soon, and helping promote their businesses to other local people and visitors ever since this whole pandemic, things going on local businesses have been hit so hard, we've lost a few in our neighborhood i just don't want to lose any more so i'll be going out and you know, just really doing what i can to tony morelan 51 49 help that's wonderful yeah, these are definitely challenging times you know, it's been a while now that we've all kind of been in this sort of lockdown and we've realized the effects that this has really had on our economy, it's also been an opportunity for us to try and find new ways to, you know, to still do the work that we do and in the reach that we do so it's nice to hear that you're, you know, finding ways to sort of help out in all of that aspect so, going back to the fun designs that you create, i need to ask you right now, which if you have to pick one, and then you've got 390 plus, i want you to pick one design, what is your current favorite? chris shomo 52 36 i know this is going to sound a little goofy, maybe a little girly the butterfly named fred love it's not very i think because the way the flowers interact with your wrist and then that that butterfly just landing perfectly right there on it every single time it makes me happy and the dude's name is fred come like fred butterfly tony morelan 52 59 how did you come up? fred for the butterfly, chris shomo 53 02 i don't know i was just kind of looking at an insect one day and i named an insect fred and then i was like, ah, this butterfly should be named fred now, i mean, i could have called it something like beautiful butterfly or blue butterfly or you know, just some sort of whatever name but let's give him an actual name and let's make a character out of this yeah wow, that is a great story i'm going to close this podcast though by asking what does chris sharma do for fun when you're not designing these wild themes and wild watch faces? oh, i live in the city of fun i mean, just going around and you know, going to experience the different restaurants and just the atmosphere in the summertime, i guess staying indoors more because it's so hot and humid down there someone asked me one time what's it like living in the south during all this heat because like just the other day that heat index was like 105 degrees that's of course, when you combine the humidity and the actual temperature, that's what it feels like and i told him when i was like, alright, take the hottest shower that you can now get out of the shower, do not dry off and put your clothes on that's what it feels like oh, so it's a sauna out there tony morelan 54 22 that's crazy you know, and i will say i have to share we've had to reschedule this interview numerous times, because there was a hurricane going through savannah and you were losing your internet connection so yeah, living in the south, i think definitely has a lot of excitement chris shomo 54 37 well, the hurricane is actually one of the normal things for 2020 chris shomo 54 43 we were very fortunate that the hurricane mainly missed us we got some wind from the outer bands and locally, my internet was like, it was all over the place we didn't have it and we had a flood yeah, it's just something that we got to deal with but i'm glad we were fine hazleton connect and get this interview done tony morelan 55 03 yeah, this is great this has been a lot of fun so chris, thank you very much for joining the podcast much access to you at infinity watch faces and looking forward to all the great new designs i know they're going to be coming down the road for us so thanks again chris shomo 55 15 thank you, tony and thank you, samsung, you guys are awesome outro 55 18 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 the pow! podcast is brought to you by the samsung developer program and produced by tony morelan
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.