-
Posts
1,079 -
Joined
-
Last visited
Never
Everything posted by Samsung Newsroom
-
Start Date 2020-05-04T09:00:00+00:00 End Date 2020-05-07T17:00:00+00:00 LocationHynes Convention Center, Boston, MA Stop by the Samsung Developer booth at HOW Design Live and learn how to create watch faces and themes that will wow consumers. Participate in a design challenge for a chance to win a device! View the full blog at its source
-
A complication in Galaxy Watch Designer (GWD) is an object that can be created by a combination of different types of components. A creative complication makes a watch face unique and attractive. Previously, there was no direct way to reuse a custom complication. Now, with the custom complication feature, you can design, save, and reuse your own complications, reducing the time it takes to re-create similar objects. Create a new custom complication You can add any type of component to create a custom complication, and you can change the property of a component while creating a custom complication. Here, I demonstrate a simple example. This complication consists of four components: morning background image, night background image, text with a tag expression to configure opacity, and another text with a tag expression to configure placement. The final complication shows the morning background image and ”Good Morning” text between 6:00:00 and 09:59:59 , and the night background image and ”Good Night” text between 19:00:00 and 23:59:59. Add Morning Background: Select the desired background image from left component bar. Click on Background > Import Image, navigate to the directory that contains the image you want to use, and select the image to import. To make this background appear only in the morning, in the Properties window (the background image must be selected), click the gray triangle in the lower left corner of the Opacity field and write the tag expression below. This tag expression states that if the hour is greater than or equal to 6:00 am and less than or equal to 9:59:59 am, the opacity value is 100%. Otherwise, the opacity value is 0%. ([H]>=6)*([H]<=9)?100:0 Add “Good Morning” Text: Add a text component and write “Good Morning!” To make this text appear only in the morning, repeat step 2. Modify the font color and adjust the text placement. Add Night Background: As in step 1, select the desired background image from the left component bar. To make this background appear only in the evening, we will take a different approach by having it positioned within the viewable area during the evening. To do so, in the Properties window (the background image must be selected), click the gray triangle in the lower left corner of the X axis field within the Placement section, and write the tag expression shown below. This tag expression states that if the hour is less than or equal to 18:59:59, 380 pixels are added to the X-axis placement location, which places it outside of the viewable area. Otherwise, the placement location will be at 0 pixels. Tip: Be careful about layering of the components. Text must be in the upper layer, rather than the background image. ([H]<=18)?380:0 Add “Good Night” Text: Add a text component and write “Good Night!” To make this text appear only in the evening, repeat step 5, and adjust text placement. Select all components, right-click, and select Save As Complication. Create a unique name for this complication. If you use an existing name, then that complication will be replaced with this new one. Once saved, the complication’s name appears in the Complications > Custom menu in the component bar. Tag expressions and other properties of the components that you configured in the previous steps provide the default configuration in this saved custom complication. Customize an existing complication GWD has various types of complications that you can customize and save as new complications. For example, follow these steps to customize the Digital Battery complication. Go to the Complications folder, which contains the images you want to change. The path for the Digital Battery complication is: Windows: C:\Program Files\Galaxy Watch Designer\res\Complications\circle\Battery\Digital\res\__COMPLICATION__x Mac: Application > Right click on Galaxy Watch Designer > Select Show package contents > Contents > Resources >res > Complications > Circle > Battery >Digital >res > __COMPLICATION__x Copy the _ COMPLICATION__x folder, and paste it into a directory other than the Galaxy Watch Designer directory. Make replacement images for this copied folder using any kind of photo editing tool. Launch Galaxy Watch Designer, and create a new project. Select your desired complication. Here, Battery > Digital is selected. From the Layer table, swap each image of the complication with the new image. Right-click on the image name, select Swap Image, navigate to the directory that contains the image you want to use, and select the image. Tip: If you change the original images in the GWD directory, then you won’t have to swap the images. But when you update or reinstall GWD, the modified images are overwritten with the original images. It is safest to add replacement images in another directory and save the changes as a custom complication. Custom complications are not affected after updating or re-installing GWD. Make additional changes, if you want. Select all components of this complication, right-click, and select Save As Complication. Create a unique name for this complication. If you use an existing name, then that complication will be replaced with this new one. Now you can find this complication in Complications > Custom. You can use this customized complication whenever you want. Tip: You can group all the components of the complication before saving it as a custom complication, which makes it easier to move. Ungroup the complication before using it. Notes Be mindful of GWD limitations, including those listed below: There are limitations on using weather components with health components and tag expressions. If you add two custom complications that contain items that are not supported when used in the same design, then neither complication works correctly on the real device. The design may work in the Run window, but on the real device, it won’t. If you add a weather component, some of the provided complications become disabled, as they contain incompatible components. GWD does not provide a warning message if you add custom complications with incompatible components. You are allowed to add any custom complication. If the design doesn’t work properly on real device, check if you have added any custom complications with incompatible components. A custom complication can be designed with any kind of component and saves a component’s configured properties, such as Gyro settings, along with Tag expressions. Button action and AOD mode are not saved as part of a custom complication. If you design a complication in AOD mode, it is not saved as part of a custom complication. You can only save Active mode complications. If you want to create an AOD custom complication, cut and paste it from AOD mode to Active mode and save it. When you want to use it, add it from the custom menu, then cut it from Active mode, and paste it in AOD mode. With custom complications, save and reuse your custom complications to give you more time to create attractive and innovative watch faces. View the full blog at its source
-
A complication in Galaxy Watch Designer (GWD) is an object that can be created by a combination of different types of components. A creative complication makes a watch face unique and attractive. Previously, there was no direct way to reuse a custom complication. Now, with the custom complication feature, you can design, save, and reuse your own complications, reducing the time it takes to re-create similar objects. Create a new custom complication You can add any type of component to create a custom complication, and you can change the property of a component while creating a custom complication. Here, I demonstrate a simple example. This complication consists of four components: morning background image, night background image, text with a tag expression to configure opacity, and another text with a tag expression to configure placement. The final complication shows the morning background image and ”Good Morning” text between 6:00:00 and 09:59:59 , and the night background image and ”Good Night” text between 19:00:00 and 23:59:59. Add Morning Background: Select the desired background image from left component bar. Click on Background > Import Image, navigate to the directory that contains the image you want to use, and select the image to import. To make this background appear only in the morning, in the Properties window (the background image must be selected), click the gray triangle in the lower left corner of the Opacity field and write the tag expression below. This tag expression states that if the hour is greater than or equal to 6:00 am and less than or equal to 9:59:59 am, the opacity value is 100%. Otherwise, the opacity value is 0%. ([H]>=6)*([H]<=9)?100:0 Add "Good Morning" Text: Add a text component and write "Good Morning!" To make this text appear only in the morning, repeat step 2. Modify the font color and adjust the text placement. Add Night Background: As in step 1, select the desired background image from the left component bar. To make this background appear only in the evening, you should take a different approach by having it positioned within the viewable area during the evening. To do so, in the Properties window (the background image must be selected), click the gray triangle in the lower left corner of the X axis field within the Placement section, and write the tag expression shown below. This tag expression states that if the hour is less than or equal to 18:59:59, 380 pixels are added to the X-axis placement location, which places it outside of the viewable area. Otherwise, the placement location will be at 0 pixels. Tip: Be careful about layering of the components. Text must be in the upper layer, rather than the background image. ([H]<=18)?380:0 Add "Good Night" Text: Add a text component and write "Good Night!" To make this text appear only in the evening, repeat step 5, and adjust text placement. Select all components, right-click, and select Save As Complication. Create a unique name for this complication. If you use an existing name, then that complication will be replaced with this new one. Once saved, the complication's name appears in the Complications > Custom menu in the component bar. Tag expressions and other properties of the components that you configured in the previous steps provide the default configuration in this saved custom complication. Customize an existing complication GWD has various types of complications that you can customize and save as new complications. For example, follow these steps to customize the Digital Battery complication. Go to the Complications folder, which contains the images you want to change. The path for the Digital Battery complication is: Windows: C:\Program Files\Galaxy Watch Designer\res\Complications\circle\Battery\Digital\res\__COMPLICATION__x Mac: Application > Right click on Galaxy Watch Designer > Select Show package contents > Contents > Resources >res > Complications > Circle > Battery >Digital >res > __COMPLICATION__x Copy the _ COMPLICATION__x folder, and paste it into a directory other than the Galaxy Watch Designer directory. Make replacement images for this copied folder using any kind of photo editing tool. Launch Galaxy Watch Designer, and create a new project. Select your desired complication. Here, Battery > Digital is selected. From the Layer table, swap each image of the complication with the new image. Right-click on the image name, select Swap Image, navigate to the directory that contains the image you want to use, and select the image. Tip: If you change the original images in the GWD directory, then you won’t have to swap the images. But when you update or reinstall GWD, the modified images are overwritten with the original images. It is safest to add replacement images in another directory and save the changes as a custom complication. Custom complications are not affected after updating or re-installing GWD. Make additional changes, if you want. Select all components of this complication, right-click, and select Save As Complication. Create a unique name for this complication. If you use an existing name, then that complication will be replaced with this new one. Now you can find this complication in Complications > Custom. You can use this customized complication whenever you want. Tip: You can group all the components of the complication before saving it as a custom complication, which makes it easier to move. Ungroup the complication before using it. Notes Be mindful of GWD limitations, including those listed below: There are limitations on using weather components with health components and tag expressions. If you add two custom complications that contain items that are not supported when used in the same design, then neither complication works correctly on the real device. The design may work in the Run window, but on the real device, it won’t. If you add a weather component, some of the provided complications become disabled, as they contain incompatible components. GWD does not provide a warning message if you add custom complications with incompatible components. You are allowed to add any custom complication. If the design doesn’t work properly on real device, check if you have added any custom complications with incompatible components. A custom complication can be designed with any kind of component and saves a component’s configured properties, such as Gyro settings, along with Tag expressions. Button action and AOD mode are not saved as part of a custom complication. If you design a complication in AOD mode, it is not saved as part of a custom complication. You can only save Active mode complications. If you want to create an AOD custom complication, cut and paste it from AOD mode to Active mode and save it. When you want to use it, add it from the custom menu, then cut it from Active mode, and paste it in AOD mode. With custom complications, save and reuse your custom complications to give you more time to create attractive and innovative watch faces. View the full blog at its source
-
A complication in Galaxy Watch Designer (GWD) is an object that can be created by a combination of different types of components. A creative complication makes a watch face unique and attractive. Previously, there was no direct way to reuse a custom complication. Now, with the custom complication feature, you can design, save, and reuse your own complications, reducing the time it takes to re-create similar objects. Create a new custom complication You can add any type of component to create a custom complication, and you can change the property of a component while creating a custom complication. Here, I demonstrate a simple example. This complication consists of four components: morning background image, night background image, text with a tag expression to configure opacity, and another text with a tag expression to configure placement. The final complication shows the morning background image and ”Good Morning” text between 6:00:00 and 09:59:59 , and the night background image and ”Good Night” text between 19:00:00 and 23:59:59. Add Morning Background: Select the desired background image from left component bar. Click on Background > Import Image, navigate to the directory that contains the image you want to use, and select the image to import. To make this background appear only in the morning, in the Properties window (the background image must be selected), click the gray triangle in the lower left corner of the Opacity field and write the tag expression below. This tag expression states that if the hour is greater than or equal to 6:00 am and less than or equal to 9:59:59 am, the opacity value is 100%. Otherwise, the opacity value is 0%. ([H]>=6)*([H]<=9)?100:0 Add "Good Morning" Text: Add a text component and write "Good Morning!" To make this text appear only in the morning, repeat step 2. Modify the font color and adjust the text placement. Add Night Background: As in step 1, select the desired background image from the left component bar. To make this background appear only in the evening, you should take a different approach by having it positioned within the viewable area during the evening. To do so, in the Properties window (the background image must be selected), click the gray triangle in the lower left corner of the X axis field within the Placement section, and write the tag expression shown below. This tag expression states that if the hour is less than or equal to 18:59:59, 380 pixels are added to the X-axis placement location, which places it outside of the viewable area. Otherwise, the placement location will be at 0 pixels. Tip: Be careful about layering of the components. Text must be in the upper layer, rather than the background image. ([H]<=18)?380:0 Add "Good Night" Text: Add a text component and write "Good Night!" To make this text appear only in the evening, repeat step 5, and adjust text placement. Select all components, right-click, and select Save As Complication. Create a unique name for this complication. If you use an existing name, then that complication will be replaced with this new one. Once saved, the complication's name appears in the Complications > Custom menu in the component bar. Tag expressions and other properties of the components that you configured in the previous steps provide the default configuration in this saved custom complication. Customize an existing complication GWD has various types of complications that you can customize and save as new complications. For example, follow these steps to customize the Digital Battery complication. Go to the Complications folder, which contains the images you want to change. The path for the Digital Battery complication is: Windows: C:\Program Files\Galaxy Watch Designer\res\Complications\circle\Battery\Digital\res\__COMPLICATION__x Mac: Application > Right click on Galaxy Watch Designer > Select Show package contents > Contents > Resources >res > Complications > Circle > Battery >Digital >res > __COMPLICATION__x Copy the _ COMPLICATION__x folder, and paste it into a directory other than the Galaxy Watch Designer directory. Make replacement images for this copied folder using any kind of photo editing tool. Launch Galaxy Watch Designer, and create a new project. Select your desired complication. Here, Battery > Digital is selected. From the Layer table, swap each image of the complication with the new image. Right-click on the image name, select Swap Image, navigate to the directory that contains the image you want to use, and select the image. Tip: If you change the original images in the GWD directory, then you won’t have to swap the images. But when you update or reinstall GWD, the modified images are overwritten with the original images. It is safest to add replacement images in another directory and save the changes as a custom complication. Custom complications are not affected after updating or re-installing GWD. Make additional changes, if you want. Select all components of this complication, right-click, and select Save As Complication. Create a unique name for this complication. If you use an existing name, then that complication will be replaced with this new one. Now you can find this complication in Complications > Custom. You can use this customized complication whenever you want. Tip: You can group all the components of the complication before saving it as a custom complication, which makes it easier to move. Ungroup the complication before using it. Notes Be mindful of GWD limitations, including those listed below: There are limitations on using weather components with health components and tag expressions. If you add two custom complications that contain items that are not supported when used in the same design, then neither complication works correctly on the real device. The design may work in the Run window, but on the real device, it won’t. If you add a weather component, some of the provided complications become disabled, as they contain incompatible components. GWD does not provide a warning message if you add custom complications with incompatible components. You are allowed to add any custom complication. If the design doesn’t work properly on real device, check if you have added any custom complications with incompatible components. A custom complication can be designed with any kind of component and saves a component’s configured properties, such as Gyro settings, along with Tag expressions. Button action and AOD mode are not saved as part of a custom complication. If you design a complication in AOD mode, it is not saved as part of a custom complication. You can only save Active mode complications. If you want to create an AOD custom complication, cut and paste it from AOD mode to Active mode and save it. When you want to use it, add it from the custom menu, then cut it from Active mode, and paste it in AOD mode. With custom complications, save and reuse your custom complications to give you more time to create attractive and innovative watch faces. View the full blog at its source
-
It is not a common scenario to grab a hardware key event in your application, because you can simply use controls like Editor or Entry when you need to get input from users. However, if you want to make a more advanced application which handles hardware key inputs more detail or especially when you want to do something with the Smart TV remote control key event, you want to grab hardware key events. How to get hardware key event Using EcoreEvent class There is a class defined in ElmSharp called EcoreEvent. You can use this ElmSharp.EcoreEvent<EcoreEventType> class to create the following ecore event types that are being notified. KeyDown KeyUp MouseButtonDown MouseButtonUp MouseButtonCancel MouseMove MouseWheel MouseIn MouseOut Implementing in application Mainpage.xaml Here is the preparation in the main page of an application to show which key event is occured. One label named keyDownLabel will show which key down event is occured, the other label named keyDownLabel will show which key up event is occured. <c:CirclePage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:c="clr-namespace:Tizen.Wearable.CircularUI.Forms;assembly=Tizen.Wearable.CircularUI.Forms" x:Class="HandleHWKey.MainPage"> <c:CirclePage.Content> <StackLayout VerticalOptions="CenterAndExpand"> <Label x:Name="keyDownLabel" Text="Which key is down?" HorizontalOptions="CenterAndExpand" /> <Label x:Name="keyDownLabel" Text="Which key is up?" HorizontalOptions="CenterAndExpand" /> </StackLayout> </c:CirclePage.Content> </c:CirclePage> Mainpage.xaml.cs Now on the cs file, declare and create EcoreEvent with the proper EcoreKeyEventType like below. Here I created EcoreEventType.KeyDown and EcoreEventType.KeyUp to grab the hardware key down and up events. After creations, I added event handlers using On event handler. Both event handler will update the hardware key name and the key code on each labels. EcoreKeyEventArgs is an EventArgs to record the Ecore event's key name and key code. You can see the defined and supported hardware key name here. using Xamarin.Forms; using Xamarin.Forms.Xaml; using Tizen.Wearable.CircularUI.Forms; using ElmSharp; // declare using statement namespace HandleHWKey { [XamlCompilation(XamlCompilationOptions.Compile)] public partial class MainPage : CirclePage { EcoreEvent<EcoreKeyEventArgs> _ecoreKeyDown; EcoreEvent<EcoreKeyEventArgs> _ecoreKeyUp; public MainPage() { InitializeComponent(); _ecoreKeyDown = new EcoreEvent<EcoreKeyEventArgs>(EcoreEventType.KeyDown, EcoreKeyEventArgs.Create); _ecoreKeyDown.On += _ecoreKeyDown_On; _ecoreKeyUp = new EcoreEvent<EcoreKeyEventArgs>(EcoreEventType.KeyUp, EcoreKeyEventArgs.Create); _ecoreKeyUp.On += _ecoreKeyUp_On; } private void _ecoreKeyDown_On(object sender, EcoreKeyEventArgs e) { keyDownLabel.Text = $"{e.KeyName} ({e.KeyCode})"; } private void _ecoreKeyUp_On(object sender, EcoreKeyEventArgs e) { keyUpLabel.Text = $"{e.KeyName} ({e.KeyCode})"; } } } Running application on emulator You can see the pressed hardware key name and a key code on the upper label, and the released hardware key name and a key code on the lower label. For TV developers If you are developing for Samsung Smart TV and are finding how to simply handle hardware key events, Tizen.TV.UIControls is right there for you. Tizen.TV.UIControls not only provides a variety sets of UI controls for easily creating TV applications, but also have Xamarin.Forms extension features that helps you create TV applications easily. InputEvents feature in this library is the wrapper for this ElmSharp EcoreEvents so you can easily grab keys, for example remote control keys, in your application. Check out the guides and the API reference for InputEvents. View the full blog at its source
-
It is not a common scenario to grab a hardware key event in your application, because you can simply use controls like Editor or Entry when you need to get input from users. However, if you want to make a more advanced application which handles hardware key inputs more detail or especially when you want to do something with the Smart TV remote control key event, you want to grab hardware key events. How to get hardware key event Using EcoreEvent class There is a class defined in ElmSharp called EcoreEvent. You can use this ElmSharp.EcoreEvent<EcoreEventType> class to create the following ecore event types that are being notified. KeyDown KeyUp MouseButtonDown MouseButtonUp MouseButtonCancel MouseMove MouseWheel MouseIn MouseOut Implementing in application Mainpage.xaml Here is the preparation in the main page of an application to show which key event is occured. One label named keyDownLabel will show which key down event is occured, the other label named keyDownLabel will show which key up event is occured. <c:CirclePage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:c="clr-namespace:Tizen.Wearable.CircularUI.Forms;assembly=Tizen.Wearable.CircularUI.Forms" x:Class="HandleHWKey.MainPage"> <c:CirclePage.Content> <StackLayout VerticalOptions="CenterAndExpand"> <Label x:Name="keyDownLabel" Text="Which key is down?" HorizontalOptions="CenterAndExpand" /> <Label x:Name="keyDownLabel" Text="Which key is up?" HorizontalOptions="CenterAndExpand" /> </StackLayout> </c:CirclePage.Content> </c:CirclePage> Mainpage.xaml.cs Now on the cs file, declare and create EcoreEvent with the proper EcoreKeyEventType like below. Here I created EcoreEventType.KeyDown and EcoreEventType.KeyUp to grab the hardware key down and up events. After creations, I added event handlers using On event handler. Both event handler will update the hardware key name and the key code on each labels. EcoreKeyEventArgs is an EventArgs to record the Ecore event's key name and key code. You can see the defined and supported hardware key name here. using Xamarin.Forms; using Xamarin.Forms.Xaml; using Tizen.Wearable.CircularUI.Forms; using ElmSharp; // declare using statement namespace HandleHWKey { [XamlCompilation(XamlCompilationOptions.Compile)] public partial class MainPage : CirclePage { EcoreEvent<EcoreKeyEventArgs> _ecoreKeyDown; EcoreEvent<EcoreKeyEventArgs> _ecoreKeyUp; public MainPage() { InitializeComponent(); _ecoreKeyDown = new EcoreEvent<EcoreKeyEventArgs>(EcoreEventType.KeyDown, EcoreKeyEventArgs.Create); _ecoreKeyDown.On += _ecoreKeyDown_On; _ecoreKeyUp = new EcoreEvent<EcoreKeyEventArgs>(EcoreEventType.KeyUp, EcoreKeyEventArgs.Create); _ecoreKeyUp.On += _ecoreKeyUp_On; } private void _ecoreKeyDown_On(object sender, EcoreKeyEventArgs e) { keyDownLabel.Text = $"{e.KeyName} ({e.KeyCode})"; } private void _ecoreKeyUp_On(object sender, EcoreKeyEventArgs e) { keyUpLabel.Text = $"{e.KeyName} ({e.KeyCode})"; } } } Running application on emulator You can see the pressed hardware key name and a key code on the upper label, and the released hardware key name and a key code on the lower label. For TV developers If you are developing for Samsung Smart TV and are finding how to simply handle hardware key events, Tizen.TV.UIControls is right there for you. Tizen.TV.UIControls not only provides a variety sets of UI controls for easily creating TV applications, but also have Xamarin.Forms extension features that helps you create TV applications easily. InputEvents feature in this library is the wrapper for this ElmSharp EcoreEvents so you can easily grab keys, for example remote control keys, in your application. Check out the guides and the API reference for InputEvents. View the full blog at its source
-
This is the second video in the Tizen Tidbits series, where we cover many core concepts of Tizen development in focused videos of ten minutes or less. Today we will show you an overview of the different samples offered in Tizen Studio and how you can leverage them to start your own projects. The video focuses on web app development with Tizen Studio, but you can find similar samples for native applications, and in upcoming videos we will cover samples and core concepts for the Tizen .NET framework. Don’t forget to tell us in the new, Discourse-based forums what topics you will like us to touch in upcoming videos. View the full blog at its source
-
This is the second video in the Tizen Tidbits series, where we cover many core concepts of Tizen development in focused videos of ten minutes or less. Today we will show you an overview of the different samples offered in Tizen Studio and how you can leverage them to start your own projects. The video focuses on web app development with Tizen Studio, but you can find similar samples for native applications, and in upcoming videos we will cover samples and core concepts for the Tizen .NET framework. Don’t forget to tell us in the new, Discourse-based forums what topics you will like us to touch in upcoming videos. View the full blog at its source
-
Start Date 2020-01-13T09:00:00-08:00 End Date 2020-01-17T09:00:00-08:00 LocationChattanooga Convention Center, 1150 Carter Street, Chattanooga, TN 37402 Join us for an exciting keynote on Samsung's voice assistant, Bixby, by Adam Cheyer, CTO of Viv Labs and VP at Samsung. You'll also be able to hear from our partners on the solutions they have built on top of Bixby. Read more about Samsung's presence at Project Voice on the blog Learn More View the full blog at its source
-
Bixby Takes Center Stage at Project Voice
Samsung Newsroom posted a topic in Samsung Developer Forum
CES isn't the only big conference to hit in January 2020. The following week, from January 13-17, an army of voice platforms, developers, analysts, and media will descend on Chattanooga, Tennessee to exchange ideas and strategies at Project Voice. The Bixby Developers team will be there from Monday's opening workshops to the closing address on Friday —we'll be especially hard to miss on Thursday, when our own Adam Cheyer delivers the keynote to kick off the day. Project Voice is a can't-miss conference no matter where you engage with Bixby, whether you're merely curious or an advanced developer working on a new capsule: Existing Bixby developers will be fascinated by in-depth case study conversations with Premier Developers and breakout sessions with tips and tricks for everything from optimizing your Bixby Marketplace presence to building for the Galaxy Watch. Prospective Bixby developers will learn everything you need to start building a capsule at our Monday workshop, where lucky participants also have a chance to win a sleek new smartwatch or two; Thursday's breakout sessions are filled with even more insights designed to put you on the path to success. Podcasters and content providers are warmly invited to stop by our booth at the Voice World Fair, where we'll show you how to get your creative output into Bixby. Everyone at the conference is encouraged to stop by our booth in any case; we'll be raffling off a Galaxy Watch Active2 smartwatch every day of the show. Pack something nice for Wednesday's Project Voice Awards Gala, where Adam Cheyer will accept a Lifetime Achievement Award, and the winners for Bixby Developer of the Year and Capsule of the Year will be announced. If you're just starting out, hungry for advanced tips, or just wondering how you can plug into the Bixby ecosystem, get your ticket for Project Voice now. Prepare to make some new connections, and brace yourself to learn more than you ever thought possible! Can't be there in person? Follow along on our new Twitter account, @bixbydevelopers. View the full blog at its source -
Bixby Takes Center Stage at Project Voice
Samsung Newsroom posted a topic in Samsung Developer Forum
CES isn’t the only big conference to hit in January 2020. The following week, from January 13-17, an army of voice platforms, developers, analysts, and media will descend on Chattanooga, Tennessee to exchange ideas and strategies at Project Voice. The Bixby Developers team will be there from Monday’s opening workshops to the closing address on Friday —we’ll be especially hard to miss on Thursday, when our own Adam Cheyer delivers the keynote to kick off the day. Project Voice is a can’t-miss conference no matter where you engage with Bixby, whether you’re merely curious or an advanced developer working on a new capsule: Existing Bixby developers will be fascinated by in-depth case study conversations with Premier Developers and breakout sessions with tips and tricks for everything from optimizing your Bixby Marketplace presence to building for the Galaxy Watch. Prospective Bixby developers will learn everything you need to start building a capsule at our Monday workshop, where lucky participants also have a chance to win a sleek new smartwatch or two; Thursday’s breakout sessions are filled with even more insights designed to put you on the path to success. Podcasters and content providers are warmly invited to stop by our booth at the Voice World Fair, where we’ll show you how to get your creative output into Bixby. Everyone at the conference is encouraged to stop by our booth in any case; we’ll be raffling off a Galaxy Watch Active2 smartwatch every day of the show. Pack something nice for Wednesday’s Project Voice Awards Gala, where Adam Cheyer will accept a Lifetime Achievement Award, and the winners for Bixby Developer of the Year and Capsule of the Year will be announced. If you’re just starting out, hungry for advanced tips, or just wondering how you can plug into the Bixby ecosystem, get your ticket for Project Voice now. Prepare to make some new connections, and brace yourself to learn more than you ever thought possible! Can’t be there in person? Follow along on our new Twitter account, @bixbydevelopers. View the full blog at its source -
Start Date 2020-02-11T08:30:00-08:00 End Date 2020-02-11T08:30:00-08:00 LocationOnline On February 11, Samsung Electronics will unveil new, innovative devices that will shape the next decade of mobile experiences. The reveal will take place at the Samsung Galaxy Unpacked Event in San Francisco at 11 a.m. PST. Livestreaming of the event will be available - follow this link for more details. View the full blog at its source
-
The Samsung Tizen TV SDK 5.5 is now available. The SDK provides developers with the tools they need to begin developing for the Tizen TV platform. The tool set includes an Integrated Development Environment (IDE), a light-weight TV Simulator for testing web apps, and a TV Emulator. View the full blog at its source
-
In this new video series, we will cover many core concepts of Tizen development in short, focused videos. Today we will show you how to create a new project in Tizen Studio and use the different templates to start building your own apps. The templates shown in the video are for web app development, but you will find a similar setup for native applications. The video series will mostly center around wearable development for the Galaxy Watch. Future videos will reach all corners of Tizen app development, so please tell us in the forums what topics you will like us to touch in upcoming videos. View the full blog at its source
-
In this new video series, we will cover many core concepts of Tizen development in short, focused videos. Today we will show you how to create a new project in Tizen Studio and use the different templates to start building your own apps. The templates shown in the video are for web app development, but you will find a similar setup for native applications. The video series will mostly center around wearable development for the Galaxy Watch. Future videos will reach all corners of Tizen app development, so please tell us in the forums what topics you will like us to touch in upcoming videos. View the full blog at its source
-
Creating compelling social media visuals can be a very time-consuming endeavor. It’s even harder to find the time to write great copy that complements the visuals. To top it all off, there is no guarantee that your post will reach enough people to make it worth your time. In spite of this, social media remains a pivotal tool for sellers to gain traction in the ever-growing Galaxy Store. That’s why we decided to help sellers cut down on the time needed to make great posts with our new social media kit. Download Social Media Kit for Phone Apps and Themes Download Social Media Kit for Watch Apps and Watch Faces This new kit will allow you to quickly add a screenshot of your watch face, theme, or app; drop in a high-res background image, and add a snappy title in seconds. It will then create exact post sizes for the three major social networks–Facebook, Instagram, and Twitter. It’s that easy! However, we know that creating visuals is only half the battle. Because the holiday season is right around the corner (and with it, a 25%-40% increase in Galaxy Store activity), we wanted to give you all a little extra boost during this time. We want to help you move up those all-important “top” category lists. During the next few weeks, we will run a content amplification campaign. Sellers who use the new social media kit and post on Twitter, Facebook, and Instagram using their Galaxy Store badge links and the hashtag #GalaxyStoreHolidays will have a chance at being retweeted by one of our social media accounts. The Galaxy Store and Samsung Developers accounts have over 100k followers worldwide! If you have a bad case of writers block or just want to further cut down on your time spent on this exercise, we have provided some sample copy to get you started: Suggested Copy (Watch Face): The holidays are here and all the amazing Samsung wearables deserve the best watch face designs! Check out one of my top sellers, [Insert watch face name], to really make that Galaxy Watch standout! [Insert Galaxy Badge Link] #GalaxyStoreHolidays Suggested Copy (Theme): The holidays are here and all those amazing Galaxy phones deserve a great, new theme! Check out one of my top sellers, [Insert theme name], to really make that new Note10 shine! [Insert Galaxy Badge Link] #GalaxyStoreHolidays Just remember these are just suggestions, and it may benefit you to change the wording in order to stand out even more. This new kill requires the use of Adobe Creative Cloud. Here’s how to get started: Download the Photoshop files from the links above Insert app/watch face/theme screenshot Drop in background image Find free high-res images @ pexels.com or similar sites Insert your headline We recommend keeping it short and simple Write your copy and don’t forget to add your Galaxy Store badge link Start sharing your Tweets and Facebook and Instagram posts You can use buffer.com to help schedule all your posts Always use the hashtag #GalaxyStoreHolidays The Samsung Developers and Galaxy Store accounts will retweet different posts using this hashtag throughout the holiday season There is NO GUARANTEE that yours will be selected, please keep this in mind The more you post the better your chance will be to be seen by more than 100k followers worldwide Don’t wait – holiday shoppers await! View the full blog at its source
-
Creating compelling social media visuals can be a very time-consuming endeavor. It's even harder to find the time to write great copy that complements the visuals. To top it all off, there is no guarantee that your post will reach enough people to make it worth your time. In spite of this, social media remains a pivotal tool for sellers to gain traction in the ever-growing Galaxy Store. That’s why we decided to help sellers cut down on the time needed to make great posts with our new social media kit. Download Social Media Kit for Phone Apps and Themes Download Social Media Kit for Watch Apps and Watch Faces This new kit will allow you to quickly add a screenshot of your watch face, theme, or app; drop in a high-res background image, and add a snappy title in seconds. It will then create exact post sizes for the three major social networks--Facebook, Instagram, and Twitter. It’s that easy! However, we know that creating visuals is only half the battle. Because the holiday season is right around the corner (and with it, a 25%-40% increase in Galaxy Store activity), we wanted to give you all a little extra boost during this time. We want to help you move up those all-important “top” category lists. During the next few weeks, we will run a content amplification campaign. Sellers who use the new social media kit and post on Twitter, Facebook, and Instagram using their Galaxy Store badge links and the hashtag #GalaxyStoreHolidays will have a chance at being retweeted by one of our social media accounts. The Galaxy Store and Samsung Developers accounts have over 100k followers worldwide! If you have a bad case of writers block or just want to further cut down on your time spent on this exercise, we have provided some sample copy to get you started: Suggested Copy (Watch Face): The holidays are here and all the amazing Samsung wearables deserve the best watch face designs! Check out one of my top sellers, [Insert watch face name], to really make that Galaxy Watch standout! [Insert Galaxy Badge Link] #GalaxyStoreHolidays Suggested Copy (Theme): The holidays are here and all those amazing Galaxy phones deserve a great, new theme! Check out one of my top sellers, [Insert theme name], to really make that new Note10 shine! [Insert Galaxy Badge Link] #GalaxyStoreHolidays Just remember these are just suggestions, and it may benefit you to change the wording in order to stand out even more. This new skill requires the use of Adobe Creative Cloud. Here's how to get started: Download the Photoshop files from the links above Insert app/watch face/theme screenshot Drop in background image Find free high-res images @ pexels.com or similar sites Insert your headline We recommend keeping it short and simple Write your copy and don’t forget to add your Galaxy Store badge link Start sharing your Tweets and Facebook and Instagram posts You can use buffer.com to help schedule all your posts Always use the hashtag #GalaxyStoreHolidays The Samsung Developers and Galaxy Store accounts will retweet different posts using this hashtag throughout the holiday season There is NO GUARANTEE that yours will be selected, please keep this in mind The more you post the better your chance will be to be seen by more than 100k followers worldwide Don't wait - holiday shoppers await! View the full blog at its source
-
When you want to use the internet image in your application, you would be worrying about the slow image loading or the load failure caused by the network issues. In this scenario, it would be really good idea to show the default temporal image until the actual image is successfully loaded and ready to be displayed. Also reusing the image data which has been downloaded can make displaying image very fast. FFImageLoading is the library including all those cool features and helping you to load images quick and easy. What is FFImageLoading - Fast & Furious Image Loading Library to load images quickly & easily on Xamarin.iOS, Xamarin.Android, Xamarin.Forms, Xamarin.Mac / Xamarin.Tizen and Windows (UWP, WinRT). Features (support on Tizen) Configurable disk and memory caching Multiple image views using the same image source (url, path, resource) will use only one bitmap which is cached in memory (less memory usage) Deduplication of similar download/load requests. (If 100 similar requests arrive at same time then one real loading will be performed while 99 others will wait). Error and loading placeholders support Images can be automatically downsampled to specified size (less memory usage) SVG support Image loading Fade-In animations support Can retry image downloads (RetryCount, RetryDelay) Getting started Let's use Fast & Furious Image on your Application Install the FFImageloading package nuget.exe nuget.exe install Xamarin.FFImageLoading.Forms .NET CLI dotnet add package Xamarin.FFImageLoading.Forms Package reference <PackageReference Include="Xamarin.FFImageLoading.Forms" Version="2.4.11.982" /> Initialize FFImageLoading To use FFImageLoading, initialize library for tizen platform and setup various options var app = new Program(); Forms.Init(app); // Initialize FFImageLoading with FormsApplication object FFImageLoading.Forms.Platform.CachedImageRenderer.Init(app); Setup options on startup time If you want to handle events from CachedImage object on your app code, you need to set ExecuteCallbacksOnUIThread property to true protected override void OnCreate() { base.OnCreate(); var config = new FFImageLoading.Config.Configuration { ExecuteCallbacksOnUIThread = true, }; FFImageLoading.ImageService.Instance.Initialize(config); LoadApplication(new App()); } CachedImage CachedImage provides a main functionality of FFImageLoading including cached image loading. A usage is very simmilar with the original Image class of Xamarin.Forms. <?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:ff="clr-namespace:FFImageLoading.Forms;assembly=FFImageLoading.Forms" x:Class="CachedImageSample.MainPage"> <ContentPage.Content> <StackLayout> <ff:CachedImage LoadingPlaceholder="loading.jpg" Source="http://i.imgur.com/gkVgpL1.jpg"/> </StackLayout> </ContentPage.Content> </ContentPage> var image = new CachedImage { LoadingPlaceholder = "loading.jpg", Source = "http://i.imgur.com/gkVgpL1.jpg" }; Useful properties Property Description LoadingPlaceholder If set, a loading placeholder is shown while loading. It supports UriImageSource, FileImageSource and StreamImageSource. ErrorPlaceholder If set, an error placeholder is shown when error occurs while loading image. It supports UriImageSource, FileImageSource and StreamImageSource. RetryCount (int, default: 3) If image download failed, or something wrong happened, it can be automatically retried. Defines retries count. RetryDelay (int, default: 250) If image download failed, or something wrong happened, it can be automatically retried. Defines retry delay. CacheDuration (Timespan, default: TimeSpan.FromDays(90)) Defines how long file cache of downloaded image is valid. Clear cache on the memory and disk If there is not enough memory on a device, you need to suppress memory usage in your app, FFImageLoading provides a way to clear cache on the memory. // Provided in `CoreApplication`, it is the best place to clear memory cache protected override void OnLowMemory(LowMemoryEventArgs e) { FFImageLoading.ImageService.Instance.InvalidateMemoryCache(); } You can also clear cache on the disk. FFImageLoading.ImageService.Instance.InvalidateDiskCacheAsync(); The Best usage of CachedImage CachedImage works best when it is used in CollectionView, because CollectionView unloads a view that is out of sight and reloads when it comes back to the sight. Once image source is loaded, it shows really quick. Privileges If image from internet is not shown, check your app's privilege, it needs internet privilege. In the tizen-manifest.xml file: To access the Internet, declare http://tizen.org/privilege/internet Links Project site API Reference Tizen Sample View the full blog at its source
-
Smart watch users are interested in having an interactive and eye-catching watch faces, which makes creating watch faces a great area for developers to explore. You can create varieties of watch faces, focusing on different perspectives and purposes. This blog can help you create a basic watch face using HTML and JavaScript in Tizen Studio. We will also discuss simple interactions, such as launching an app from watch face, providing sensor data, and so on. Design Watch Face Figure 1 shows a sample watch face that implements an analog clock, has two interactive icons, and shows the wearer’s step count using the pedometer sensor. One of the icons launches the SHealth app to measure heart rate, and another icon displays the current date and launches the Calendar app. Figure 1: Sample watch face design Define Category Add wearable_clock as the category of your app in the config.xml file. It defines your application as a watch face. <tizen:category name="http://tizen.org/category/wearable_clock"/> Create a Basic Watch Face As this is an analog clock, first you’ll have to calculate the rotation angles of the watch hands and then update the UI accordingly. A sample implementation is shown in the following code snippets: the updateTime() function calculates rotation angle with respect to time, and the rotateElement() function updates the UI with rotating watch hands (see Figure 2). function updateTime() { var curtime = new Date(), hour = curtime.getHours(), minute = curtime.getMinutes(), second = curtime.getSeconds(); rotateElement("hand-main-hour", (hour + (minute / 60) + (second / 3600)) * 30); rotateElement("hand-main-minute", (minute + second / 60) * 6); rotateElement("hand-main-second", second * 6); if (curDate < 10) str_curdate.innerHTML = "0" + curDate; else str_curdate.innerHTML = curDate; } function rotateElement(elementID, angle) { var element = document.querySelector("#" + elementID); element.style.transform = "rotate(" + angle + "deg)"; } Figure 2: Basic watch face Add Functionality Launch App The Application API provides a method to launch an app in Tizen. To launch the app, add following privilege to the config.xml file: <tizen:privilege name="http://tizen.org/privilege/application.launch"/> Then use launch(ApplicationID) method to launch the desired application. If you do not know the ID of that application, you can use getAppsInfo() to get the list of IDs. The Heart icon launches SHealth app’s heart rate measuring page (com.samsung.shealth.heartrate.measure). The implementation is as follows: var heart_click = document.getElementById("heart"); heart_click.addEventListener('click', function() { tizen.application.launch("com.samsung.shealth.heartrate.measure"); }); Figure 3: Launch SHealth from the watch face The Calendar icon shows the current date and launches the calendar application (com.samsung.w-calendar2) on the watch. var calendar_click = document.getElementById('date-calendar'); calendar_click.addEventListener('click', function() { tizen.application.launch("com.samsung.w-calendar2"); }); var curtime = new Date(), curDate = curtime.getDate(), str_curdate = document.getElementById("date-calendar"); str_curdate.innerHTML = curDate; Figure 4: Launch Calendar from the watch face Access Device Sensor Data The pedometer sensor provides step count data. To access this sensor, you need to add a feature and a privilege to the config.xml file: Next, you have to ask for user permission to start reading data from the pedometer sensor. The following code snippet shows the implementation: function onchangedCB(pedometerInfo) { var str_step = document.getElementById('step-count'); str_step.innerHTML = pedometerInfo.cumulativeTotalStepCount; } function onSuccess() { tizen.humanactivitymonitor.start("PEDOMETER", onchangedCB,onError,option); } function onError(e) { console.log("error " + JSON.stringify(e)); } tizen.ppm.requestPermission("http://tizen.org/privilege/healthinfo", onSuccess, onError); Figure 5: Step count It’s simple to add functionalities to a basic watch face, isn’t it? I hope this blog inspires and helps you create some amazing watch faces using your own ideas and designs. View the full blog at its source
-
We are pleased to announce the release of Tizen Studio version 3.6. This release includes new features to further improve the performance of the Tizen Studio IDE and its tools. Key features: 5.5 Platform images have been updated. Support for the type property for wrt service applications has been provided. For more information about the new features and bug fixes, see Release Notes. To download Tizen Studio, visit https://developer.tizen.org/development/tizen-studio/download View the full article
-
Hackers’ Playground, the first hacking experience event at the Samsung Developer Conference (SDC), was held during SDC19 in San Jose. The security team at Samsung Research hosted this event to help developers learn about the importance of security and how to protect their own code. The event was open to any software developer or security researcher. Many developers, from newbies to masters, attended the event to learn or show off their hacking skills. Hackers’ Playground featured two programs, Hacking 101 and Open CTF. Hacking 101 Hacking 101 was a hacking tutorial zone where developers could learn hacking skills such as Attack, Defense, and Reversing. The security team prepared fascinating examples with their own step-by-step guide, and the skilled engineers from the team assisted the attendees. In addition, attendees had a chance to get cool souvenirs after the tutorial. Open CTF Among hackers, Capture The Flag (CTF) is a well-known hacking competition. The Security team prepared Jeopardy-game-show-style challenges in five categories: Attack, Defense, Reversing, Crypto, and Coding. At the end of each session, there was an awards ceremony and a drawing. The winners of each category received brand new Samsung products such as a Portable SSD or JBL Bluetooth Speakers. The winners received the latest Galaxy Watch Active II as well as serious bragging rights. Many attendees stayed in the event zone for hours and were eager to find and fix security vulnerabilities. They left review comments such as “It was nice to be able to think of code from an attackers’ point of view, not a developers’” and “I want to participate in this event again in next SDC.” Samsung takes Security very seriously and is involved in a variety of security-related activities. Among the various activities, the 3rd Samsung Security Tech Forum (SSTF) ended with unprecedented success in Seoul, South Korea. View the full blog at its source
-
Watch faces are a special type of application that runs on the home screen of a Tizen wearable watch. Different watch faces have different purposes and can be interacted with in diverse ways. A watch face creates the first impression of the watch and holds value as a fashion accessory. Anyone can make a watch face using Galaxy Watch Designer (GWD).[1] However, GWD limits how many different features you can add in a watch face. On watch faces, data is displayed to the user in the form of “complications,” which show individual data points such as steps or heart rate. While GWD gives you a set of complications you can add to designs, it does not allow you to add custom complications, as the numbers of complications are fixed inside the GWD tool. With Tizen Studio, you can create complications that pull in data from your own custom sources or perform custom actions, such as launching a separate application or opening a settings menu. With Tizen Studio, you have more options than the ones GWD gives you. Using Tizen Web/Native/.NET APIs, developers can add a large number of functionalities on watch faces programmatically. In this article, we’ll start by developing a basic watch face using Tizen Web API. Prerequisites You need to define your app as a watch face application through an application category in the config.xml file. To achieve that, add wearable_clock under category. <widget xmlns:tizen="http://tizen.org/ns/widgets" xmlns="http://www.w3.org/ns/widgets" id="http://yourdomain/WatchFace" version="1.0.0" viewmodes="maximized"> <tizen:application id="msWLHN3Mpw.WatchFace" package="msWLHN3Mpw" required_version="2.3.1"/> <tizen:category name="http://tizen.org/category/wearable_clock"/> <content src="index.html"/> <feature name="http://tizen.org/feature/screen.shape.circle"/> <feature name="http://tizen.org/feature/screen.size.all"/> <icon src="icon.png"/> <name>WatchFace</name> <tizen:profile name="wearable"/> </widget> Resources For an analog watch, we need three hands for second, minute, and hour. We also need a background image with a marked time index. The following table shows resolutions for images in our example: Image Width (pixels) Height (pixels) Background 360 360 Hour hand 15 360 Minute hand 16 360 Second hand 16 360 Implementation We need to create a <div> element for each component, such as background, hour hand, minute hand, and second hand. <div id="container"> <div id="background"> <div id="components-main"> <div id="hand-main-hour"></div> <div id="hand-main-minute"></div> <div id="hand-main-second"></div> </div> </div> </div> We are using an image as the watch face background, so we need to set the background image by setting styles in the CSS file. Background Image: The clock time index is set on top of the background image. It could be a separate <div> element, but we assembled the clock index with the green background into one image (see Figure 1). Figure 1: Watch face background image CSS #background { width: 100%; height: 100%; background-image: url("../image/watch_bg.png"); } We also need to set styles for watch face hands separately. The app image folder holds three images, one each for the hour hand, minute hand, and second hand. Then we’ll add some info to the CSS to adjust the position, size, and so on. The style set for the minute hand is shown below: #hand-main-minute { position: absolute; left: 172px; top: 0px; width: 16px; height: 360px; background-image: url("../image/watch_hand_minute.png"); background-position: center top; background-size: contain; } We need to define a function that will rotate hands by a specific angle with its element ID. function rotateElement(elementID, angle) { var element = document.querySelector("#" + elementID); element.style.transform = "rotate(" + angle + "deg)"; } We also need to have the hand update every second. To do that, we’ll set an interval to call the updateTime() function every second. // Update the watch hands every second setInterval(function() { updateTime(); }, 1000); We are using the getCurrentDateTime() function of Tizen Time API[2] to get the current time object. From this time object, we can get the hour, minute, and second. var datetime = tizen.time.getCurrentDateTime(), hour = datetime.getHours(), minute = datetime.getMinutes(), second = datetime.getSeconds(); Now we are going to call our defined function rotateElement() for the hour, minute, and second hands. // Rotate the hour/minute/second hands rotateElement("hand-main-hour", (hour + (minute / 60) + (second / 3600)) * 30); rotateElement("hand-main-minute", (minute + second / 60) * 6); rotateElement("hand-main-second", second * 6); We need to set an event listener for visibilitychange to update the screen when the display turns on from the off state. // Add an event listener to update the screen immediately when the device wakes up document.addEventListener("visibilitychange", function() { if (!document.hidden) { updateTime(); } }); We also need to set an event and update the screen when the device’s time zone changes. // Add eventListener to update the screen when the time zone is changed tizen.time.setTimezoneChangeListener(function() { updateTime(); }); Additionally, we can set an event listener for ambient mode change. In this article, we added the listener and printed a console message when the ambient mode changed. It will not change anything on the watch during ambient mode, because we haven’t updated the sample watch face for ambient mode. window.addEventListener("ambientmodechanged", function(e) { if (e.detail.ambientMode === true) { // Rendering ambient mode case console.log("Ambient mode"); } else { // Rendering normal case console.log("Normal mode"); } }); Demo A sample watch face app can be downloaded here, and the final watch face is shown in Figure 2. Figure 2: Demo watch face developed using Tizen Web Conclusion This article demonstrates how to start developing watch face apps with Tizen web API using Tizen Studio. We can now add more functionalities and change the watch into more than just a device that shows time. References https://developer.samsung.com/galaxy-watch/design/watch-face/complications https://developer.tizen.org/development/guides/web-application/device-settings-and-systems/time-and-date-management View the full blog at its source
-
Thanks to everyone who came to Samsung Developer Conference last week or tuned in to the livestream! Here were some of our favorite moments that weren’t covered in the Day 1 and Day 2 recaps. Code Lab Code Lab sat in the center of Tech Square and allowed devs to get hands-on experience with the latest SDKs and developer tools. Samsung engineers were there for support and fun coding challenges gave attendees the chance to win exclusive prizes. PENUP The PENUP app is a social network for designers on the Galaxy smartphone. You can learn how to draw digitally by tracing on top of a video clip or background image – it’s a cool way to turn photos into masterpieces! The PENUP team secured two digital artists for SDC19. The artists roamed around and used a Tab S6 and S Pen to sketch attendees and capture the action at SDC19. There were also great tutorials on the S Pen and S Pen SDK in Tech Square! Laugh and Learn Senior Developer Evangelist Tony Morelan and comedian Corey Rosen had a high-energy comedy and improv presentation on Day 1 called Galaxy Watch Face Design from Concept to Completion. Attendees and designers collaborated in real time to create an interactive Galaxy watch face. It was a fun experiment that demonstrated how easy it is to design without coding. The audience was able to quickly create a playful watch face. Fit @ SDC One theme of SDC19 was collaboration. Samsung is forging new partnerships with brands to help devs have more tools at their disposal and reach a wider audience. Two such partners are Under Armour and Skimble, and each morning they put together a wellness activity that featured their new Galaxy Store apps. Day 1: Yoga-Centric Exercise Class with Skimble This class was led by a trainer from Made for Samsung partner Skimble. Yoga mats and Samsung Galaxy Watch Active2s were available for attendees, and they could download the Workout Trainer by Skimble app to follow along with a Samsung-specific workout. Everyone was able to monitor their heart rate on the watch while getting their move on! Day 2: Fun Run/Walk with Under Armour Under Armour organized a two-mile walk or three-mile run for attendees before the conference. Samsung Galaxy Watch Active2s were given to participants and synced with the Map My Run app to track their distance, pace, and calorie burn. Devs, we hope that SDC19 inspired you to continue innovating. From troubleshooting to new platform training, the Samsung Developer Program is always here to help. If you aren’t a member, consider joining our community today. Check out our post-event site with more highlights, photos, and videos of SDC19. We hope to see you next year! View the full blog at its source