Quantcast
Jump to content


Samsung Newsroom

Administrators
  • Posts

    1,340
  • Joined

  • Last visited

    Never

Everything posted by Samsung Newsroom

  1. Start Date Apr 28, 2020 Join the Samsung Knox team for a webinar on how to get your Enterprise Mobility Management (EMM) solution endorsement from Samsung. We will give an overview of the features and benefits of the new Knox Validated Program. You can learn more about Knox here. This webinar is at 2pm KST on Tuesday, April 28th. There is a corresponding webinar in a timezone friendly for developers in North America. View the full blog at its source
  2. A major update for VR and the web Hi! I’m Ada Rose Cannon. As well as being a Developer Advocate for the web browser, Samsung Internet, I am a co-chair of the W3C Immersive Web Working Group and Community Group. These two groups work together to produce the WebXR Device API and related specifications. As you can imagine, getting WebXR support in Samsung Internet is pretty close to my heart. I am pleased to say that since Samsung Internet 11.2, we have initial support for WebXR in our browser. You can view the full support table here. WebXR is a very large API with many modules still being worked out. The core module which is in a stable state is for supporting VR. You maybe thinking that VR in the web is old news. At Samsung, we have supported the WebVR API for years. The WebVR device API is now being deprecated since it had some core issues preventing it from being future proof. WebXR is being designed to replace WebVR and reach further to support many features WebVR was unable to such as Augmented Reality and better support for gamepads. If you have been supporting a website or JavaScript library designed around WebVR, now is the to migrate it to WebXR to ensure it isn’t broken in the near future. Our current support for WebXR is to use the Android VR system to render the experience side by side in the browser so it can be used with cardboard VR devices. WebXR on Android (Link to Demo) Looking to the future for Samsung Internet, we are working on supporting the AR portions of the WebXR device API so you can build websites which place virtual objects into the user’s environment. For more news about WebXR on Samsung Internet please follow us on Twitter (@SamsungInternet) or keep an eye on https://immersiveweb.dev. View the full blog at its source
  3. Localization is the process of adapting an application to a specific country or region. To do this, an application should translate an application’s resources, such as text and images, into multiple languages and formats. Then, the application shows localized resources based on the settings of the device. This post explains how to localize text in Tizen .NET application. I strongly recommend you to read Xamarin.Forms String and Image Localization before you get started. You can obtain the sample application used in this post here. Create resource files The .NET framework provides a way for localizing an application using Resx resource files. Each file contains a list of items that consist of a name/value pair and an application can retrieve a specific resource by name. By using this mechanism, you can store and retrieve localized texts. Create a default resource file. Using Add New Item dialog, add a default resource file. The file name of the default resource doesn’t contain any language information. In the sample application, the default resource file AppResources.resx is added to the Resources folder. Set the Access Modifier to Public, which results in a file with the .designer.cs extension being added to the project. Then, add items which contain the following information: Name : The key used to retrieve the text Value : The localized text Comment : Additional information (optional) Add additional resource files. Create additional resource files for each language you want to support. The file name of each resource should include the language information, such as AppResources.ko-KR.resx. In these resource files, set the Access Modifier to No code gen. The file name of resource can include just the language code, without a country code, such as AppResource.es.resx. If the language of the device is es-ES, the application looks for resource files in this order: AppResources.es-ES.resx AppResources.es.resx AppResources.resx (default) Specify the default language Specify a default language using NeutralResourcesLanguage to inform the resource manager of the app’s default language. This improves lookup performance for the first resource that is loaded. In the sample application, en (English) is set by NeutralResourcesLanguage in Main.cs. For more information about NeutralResourcesLanguage, see NeutralResourcesLanguage Attribute Class. using System.Resources; [assembly: NeutralResourcesLanguage("en")] Localize texts The language setting of a device can be changed when your application is running. To adapt your application to the new language, text needs to be translated on the fly. XAML markup extensions is a good solution to meet this requirement and this is where we will start with my own LocalizingExtension class. [ContentProperty("Name")] public class LocalizingExtension : IMarkupExtension<BindingBase> { private static readonly IValueConverter _converter = new LocalizedResourceConverter(); public string Name { get; set; } public BindingBase ProvideValue(IServiceProvider serviceProvider) { return new Binding(nameof(LocalizationService.UICulture), BindingMode.OneWay, converter: _converter, converterParameter: Name, source: LocalizationService.Instance); } object IMarkupExtension.ProvideValue(IServiceProvider serviceProvider) { return (this as IMarkupExtension<BindingBase>).ProvideValue(serviceProvider); } } This extension enables a text to be localized when an application is started and the language setting is changed. This extension has a single property Name of type string that you set to the name of the text to be localized. This Name property is the content property, so Name= is not required when using it in XAML. I also made a LocalizationService class which provides information about the current language and notifies clients that the language setting has changed. You can see the code here. In addition, the LocalizationService class provides a method to get localized text. This function uses ResourceManager defined in AppResources.Designer.cs. /// <summary> /// Get the value of localized resource. /// </summary> /// <param name="resourceName">Resource name</param> /// <returns> /// The value of localized resource. /// If resourceName is not defined as a name in any resource file, then resourceName is returned as the value of the resource. /// </returns> public string GetResource(string resourceName) { return AppResources.ResourceManager.GetString(resourceName, UICulture) ?? resourceName; } By using this method, the LocalizedResourceConverter class converts text to the localized text. public class LocalizedResourceConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { return LocalizationService.Instance.GetResource(parameter as string); } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } } Accessing the value of text by LocalizingExtension enables localized text to be displayed even if the language setting of device has been changed. <ContentPage x:Class="LocalizationSample.Views.CenterLayoutPage" xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:ext="clr-namespace:LocalizationSample.Extensions" xmlns:viewModels="clr-namespace:LocalizationSample.ViewModels"> <ContentPage.BindingContext> <viewModels:CenterLayoutViewModel/> </ContentPage.BindingContext> <ContentPage.Content> <StackLayout Margin="0, 40, 0, 30" VerticalOptions="CenterAndExpand"> <Label Text="{ext:Localizing CountryName}" HorizontalOptions="CenterAndExpand"/> </StackLayout> </ContentPage.Content> </ContentPage> Sample application demo You can see that the text (CountryName) in the application is changed to the localized text when the language setting is changed. View the full blog at its source
  4. Localization is the process of adapting an application to a specific country or region. To do this, an application should translate an application’s resources, such as text and images, into multiple languages and formats. Then, the application shows localized resources based on the settings of the device. This post explains how to localize text in Tizen .NET application. I strongly recommend you to read Xamarin.Forms String and Image Localization before you get started. You can obtain the sample application used in this post here. Create resource files The .NET framework provides a way for localizing an application using Resx resource files. Each file contains a list of items that consist of a name/value pair and an application can retrieve a specific resource by name. By using this mechanism, you can store and retrieve localized texts. Create a default resource file. Using Add New Item dialog, add a default resource file. The file name of the default resource doesn’t contain any language information. In the sample application, the default resource file AppResources.resx is added to the Resources folder. Set the Access Modifier to Public, which results in a file with the .designer.cs extension being added to the project. Then, add items which contain the following information: Name : The key used to retrieve the text Value : The localized text Comment : Additional information (optional) Add additional resource files. Create additional resource files for each language you want to support. The file name of each resource should include the language information, such as AppResources.ko-KR.resx. In these resource files, set the Access Modifier to No code gen. The file name of resource can include just the language code, without a country code, such as AppResource.es.resx. If the language of the device is es-ES, the application looks for resource files in this order: AppResources.es-ES.resx AppResources.es.resx AppResources.resx (default) Specify the default language Specify a default language using NeutralResourcesLanguage to inform the resource manager of the app’s default language. This improves lookup performance for the first resource that is loaded. In the sample application, en (English) is set by NeutralResourcesLanguage in Main.cs. For more information about NeutralResourcesLanguage, see NeutralResourcesLanguage Attribute Class. using System.Resources; [assembly: NeutralResourcesLanguage("en")] Localize texts The language setting of a device can be changed when your application is running. To adapt your application to the new language, text needs to be translated on the fly. XAML markup extensions is a good solution to meet this requirement and this is where we will start with my own LocalizingExtension class. [ContentProperty("Name")] public class LocalizingExtension : IMarkupExtension<BindingBase> { private static readonly IValueConverter _converter = new LocalizedResourceConverter(); public string Name { get; set; } public BindingBase ProvideValue(IServiceProvider serviceProvider) { return new Binding(nameof(LocalizationService.UICulture), BindingMode.OneWay, converter: _converter, converterParameter: Name, source: LocalizationService.Instance); } object IMarkupExtension.ProvideValue(IServiceProvider serviceProvider) { return (this as IMarkupExtension<BindingBase>).ProvideValue(serviceProvider); } } This extension enables a text to be localized when an application is started and the language setting is changed. This extension has a single property Name of type string that you set to the name of the text to be localized. This Name property is the content property, so Name= is not required when using it in XAML. I also made a LocalizationService class which provides information about the current language and notifies clients that the language setting has changed. You can see the code here. In addition, the LocalizationService class provides a method to get localized text. This function uses ResourceManager defined in AppResources.Designer.cs. /// <summary> /// Get the value of localized resource. /// </summary> /// <param name="resourceName">Resource name</param> /// <returns> /// The value of localized resource. /// If resourceName is not defined as a name in any resource file, then resourceName is returned as the value of the resource. /// </returns> public string GetResource(string resourceName) { return AppResources.ResourceManager.GetString(resourceName, UICulture) ?? resourceName; } By using this method, the LocalizedResourceConverter class converts text to the localized text. public class LocalizedResourceConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { return LocalizationService.Instance.GetResource(parameter as string); } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } } Accessing the value of text by LocalizingExtension enables localized text to be displayed even if the language setting of device has been changed. <ContentPage x:Class="LocalizationSample.Views.CenterLayoutPage" xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:ext="clr-namespace:LocalizationSample.Extensions" xmlns:viewModels="clr-namespace:LocalizationSample.ViewModels"> <ContentPage.BindingContext> <viewModels:CenterLayoutViewModel/> </ContentPage.BindingContext> <ContentPage.Content> <StackLayout Margin="0, 40, 0, 30" VerticalOptions="CenterAndExpand"> <Label Text="{ext:Localizing CountryName}" HorizontalOptions="CenterAndExpand"/> </StackLayout> </ContentPage.Content> </ContentPage> Sample application demo You can see that the text (CountryName) in the application is changed to the localized text when the language setting is changed. View the full blog at its source
  5. Localization is the process of adapting an application to a specific country or region. To do this, an application should translate an application’s resources, such as text and images, into multiple languages and formats. Then, the application shows localized resources based on the settings of the device. This post explains how to localize text in Tizen .NET application. I strongly recommend you to read Xamarin.Forms String and Image Localization before you get started. You can obtain the sample application used in this post here. Create resource files The .NET framework provides a way for localizing an application using Resx resource files. Each file contains a list of items that consist of a name/value pair and an application can retrieve a specific resource by name. By using this mechanism, you can store and retrieve localized texts. Create a default resource file. Using Add New Item dialog, add a default resource file. The file name of the default resource doesn’t contain any language information. In the sample application, the default resource file AppResources.resx is added to the Resources folder. Set the Access Modifier to Public, which results in a file with the .designer.cs extension being added to the project. Then, add items which contain the following information: Name : The key used to retrieve the text Value : The localized text Comment : Additional information (optional) Add additional resource files. Create additional resource files for each language you want to support. The file name of each resource should include the language information, such as AppResources.ko-KR.resx. In these resource files, set the Access Modifier to No code gen. The file name of resource can include just the language code, without a country code, such as AppResource.es.resx. If the language of the device is es-ES, the application looks for resource files in this order: AppResources.es-ES.resx AppResources.es.resx AppResources.resx (default) Specify the default language Specify a default language using NeutralResourcesLanguage to inform the resource manager of the app’s default language. This improves lookup performance for the first resource that is loaded. In the sample application, en (English) is set by NeutralResourcesLanguage in Main.cs. For more information about NeutralResourcesLanguage, see NeutralResourcesLanguage Attribute Class. using System.Resources; [assembly: NeutralResourcesLanguage("en")] Localize texts The language setting of a device can be changed when your application is running. To adapt your application to the new language, text needs to be translated on the fly. XAML markup extensions is a good solution to meet this requirement and this is where we will start with my own LocalizingExtension class. [ContentProperty("Name")] public class LocalizingExtension : IMarkupExtension<BindingBase> { private static readonly IValueConverter _converter = new LocalizedResourceConverter(); public string Name { get; set; } public BindingBase ProvideValue(IServiceProvider serviceProvider) { return new Binding(nameof(LocalizationService.UICulture), BindingMode.OneWay, converter: _converter, converterParameter: Name, source: LocalizationService.Instance); } object IMarkupExtension.ProvideValue(IServiceProvider serviceProvider) { return (this as IMarkupExtension<BindingBase>).ProvideValue(serviceProvider); } } This extension enables a text to be localized when an application is started and the language setting is changed. This extension has a single property Name of type string that you set to the name of the text to be localized. This Name property is the content property, so Name= is not required when using it in XAML. I also made a LocalizationService class which provides information about the current language and notifies clients that the language setting has changed. You can see the code here. In addition, the LocalizationService class provides a method to get localized text. This function uses ResourceManager defined in AppResources.Designer.cs. /// <summary> /// Get the value of localized resource. /// </summary> /// <param name="resourceName">Resource name</param> /// <returns> /// The value of localized resource. /// If resourceName is not defined as a name in any resource file, then resourceName is returned as the value of the resource. /// </returns> public string GetResource(string resourceName) { return AppResources.ResourceManager.GetString(resourceName, UICulture) ?? resourceName; } By using this method, the LocalizedResourceConverter class converts text to the localized text. public class LocalizedResourceConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { return LocalizationService.Instance.GetResource(parameter as string); } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } } Accessing the value of text by LocalizingExtension enables localized text to be displayed even if the language setting of device has been changed. <ContentPage x:Class="LocalizationSample.Views.CenterLayoutPage" xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:ext="clr-namespace:LocalizationSample.Extensions" xmlns:viewModels="clr-namespace:LocalizationSample.ViewModels"> <ContentPage.BindingContext> <viewModels:CenterLayoutViewModel/> </ContentPage.BindingContext> <ContentPage.Content> <StackLayout Margin="0, 40, 0, 30" VerticalOptions="CenterAndExpand"> <Label Text="{ext:Localizing CountryName}" HorizontalOptions="CenterAndExpand"/> </StackLayout> </ContentPage.Content> </ContentPage> Sample application demo You can see that the text (CountryName) in the application is changed to the localized text when the language setting is changed. View the full blog at its source
  6. Localization is the process of adapting an application to a specific country or region. To do this, an application should translate an application’s resources, such as text and images, into multiple languages and formats. Then, the application shows localized resources based on the settings of the device. This post explains how to localize text in Tizen .NET application. I strongly recommend you to read Xamarin.Forms String and Image Localization before you get started. You can obtain the sample application used in this post here. Create resource files The .NET framework provides a way for localizing an application using Resx resource files. Each file contains a list of items that consist of a name/value pair and an application can retrieve a specific resource by name. By using this mechanism, you can store and retrieve localized texts. Create a default resource file. Using Add New Item dialog, add a default resource file. The file name of the default resource doesn’t contain any language information. In the sample application, the default resource file AppResources.resx is added to the Resources folder. Set the Access Modifier to Public, which results in a file with the .designer.cs extension being added to the project. Then, add items which contain the following information: Name : The key used to retrieve the text Value : The localized text Comment : Additional information (optional) Add additional resource files. Create additional resource files for each language you want to support. The file name of each resource should include the language information, such as AppResources.ko-KR.resx. In these resource files, set the Access Modifier to No code gen. The file name of resource can include just the language code, without a country code, such as AppResource.es.resx. If the language of the device is es-ES, the application looks for resource files in this order: AppResources.es-ES.resx AppResources.es.resx AppResources.resx (default) Specify the default language Specify a default language using NeutralResourcesLanguage to inform the resource manager of the app’s default language. This improves lookup performance for the first resource that is loaded. In the sample application, en (English) is set by NeutralResourcesLanguage in Main.cs. For more information about NeutralResourcesLanguage, see NeutralResourcesLanguage Attribute Class. using System.Resources; [assembly: NeutralResourcesLanguage("en")] Localize texts The language setting of a device can be changed when your application is running. To adapt your application to the new language, text needs to be translated on the fly. XAML markup extensions is a good solution to meet this requirement and this is where we will start with my own LocalizingExtension class. [ContentProperty("Name")] public class LocalizingExtension : IMarkupExtension<BindingBase> { private static readonly IValueConverter _converter = new LocalizedResourceConverter(); public string Name { get; set; } public BindingBase ProvideValue(IServiceProvider serviceProvider) { return new Binding(nameof(LocalizationService.UICulture), BindingMode.OneWay, converter: _converter, converterParameter: Name, source: LocalizationService.Instance); } object IMarkupExtension.ProvideValue(IServiceProvider serviceProvider) { return (this as IMarkupExtension<BindingBase>).ProvideValue(serviceProvider); } } This extension enables a text to be localized when an application is started and the language setting is changed. This extension has a single property Name of type string that you set to the name of the text to be localized. This Name property is the content property, so Name= is not required when using it in XAML. I also made a LocalizationService class which provides information about the current language and notifies clients that the language setting has changed. You can see the code here. In addition, the LocalizationService class provides a method to get localized text. This function uses ResourceManager defined in AppResources.Designer.cs. /// <summary> /// Get the value of localized resource. /// </summary> /// <param name="resourceName">Resource name</param> /// <returns> /// The value of localized resource. /// If resourceName is not defined as a name in any resource file, then resourceName is returned as the value of the resource. /// </returns> public string GetResource(string resourceName) { return AppResources.ResourceManager.GetString(resourceName, UICulture) ?? resourceName; } By using this method, the LocalizedResourceConverter class converts text to the localized text. public class LocalizedResourceConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { return LocalizationService.Instance.GetResource(parameter as string); } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } } Accessing the value of text by LocalizingExtension enables localized text to be displayed even if the language setting of device has been changed. <ContentPage x:Class="LocalizationSample.Views.CenterLayoutPage" xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:ext="clr-namespace:LocalizationSample.Extensions" xmlns:viewModels="clr-namespace:LocalizationSample.ViewModels"> <ContentPage.BindingContext> <viewModels:CenterLayoutViewModel/> </ContentPage.BindingContext> <ContentPage.Content> <StackLayout Margin="0, 40, 0, 30" VerticalOptions="CenterAndExpand"> <Label Text="{ext:Localizing CountryName}" HorizontalOptions="CenterAndExpand"/> </StackLayout> </ContentPage.Content> </ContentPage> Sample application demo You can see that the text (CountryName) in the application is changed to the localized text when the language setting is changed. View the full blog at its source
  7. Did you miss out on the latest Samsung Developer newsletter? Catch up now. If you don't currently receive the newsletter, you can subscribe here. View the full blog at its source
  8. Start Date May 07, 2020 Join Developer Evangelists Diego Lizarazo Rivera of Samsung Developers and Laura Morinigo of Samsung Internet for a Live Chat - discuss application development with Samsung technologies, in Spanish. ¡No te lo pierdas! View the full blog at its source
  9. Recognized for “Best Creative App” in our Best of Galaxy Store Awards 2019 is Concepts by TopHatch. TopHatch empowers creative people with design tools that simplify the creative process with smarter, more intuitive technology. David Brittain, co-founder and CEO of TopHatch, shares how Concepts got started, what it takes to maintain your app’s performance, and tips on how indie designers can establish a successful app development business. Tell us about Concepts. Concepts is an infinite creative workspace for visual thinkers, designers and illustrators. Concepts is used by designers at companies like Unity, Illumination Entertainment, HP, and Disney globally to create and share everything from visual notes and storyboards to architectural layouts and product designs., We built Concepts from the ground up for touch and stylus-based devices. When tablets first began to come out, we saw other apps were transplanting awkward desktop mechanics to mobile interfaces instead of writing for the new ecosystem. We saw that design on a mobile platform could be a lot more intuitive and fun and knew that much more was possible. We've been working on our vision for 7 years now, and our software, stylus, and device performance are so fluid that our designers prefer Concepts over paper. How is the app used? Concepts is a powerful creative tool that allows you to explore and communicate ideas with a quick, natural workflow. The app allows you to sketch, edit, and communicate your ideas with liquid, vector-based brushes, and precision tools. The infinite canvas lets you flow with your ideas as far as they’ll go, with fluid pens and brushes that come in designer COPIC colors. The app's customizable layout, easy-to-use layers, drag+drop imports, and precision grids help you sketch and design effortlessly. Everything you draw is an editable vector that can be updated and moved around the canvas, saving you valuable work time.. Concepts is used by creative professionals for note taking, mind mapping, drawing, storyboarding, graphic design, product iteration, interior design and architectural planning. What is Concepts' development methodology? Our development methodology is highly iterative. We take each feature through a complete design cycle. We focus on building one feature at a time, iterate until it’s clean and well developed, then ship a beta as quickly as we can to hear from our users. They are a fantastic group who give us insightful feedback, which we incorporate before releasing the final product. This means we're delivering releases every week on one platform or another. Tell us about the TopHatch team behind Concepts. Our company has been distributed globally from the very start - often called remote, but it works well for us. Ben and I started the company and worked together on Concepts for a year before meeting in-person. We embrace the benefits of a distributed team and avoid the downsides where we can. That means trusting each team member to get their work done and embracing asynchronous workflows. People in the team work the hours and days that work best for them and plan and schedule their work to minimize blocking dependencies on other people. Was Concepts designed for mobile phones or tablets? Is there a difference? Concepts is designed for tablet and stylus first, as the larger screen gives users the most space to sketch and think. When we brought it to Android, we were likely the first major app built for Chrome OS first - it has a large screen, stylus, and resizable windows we wanted to make sure we supported well. We then made it work for phones, although our design did account for this up-front. It’s a challenge to offer the same tools and functionality on really small screens. Ultimately, we have to bias our decisions to the devices our paying users care about the most, which are the ones that give them the most space to work. What’s your approach to user experience and design principles in app development? Our general philosophy is that a good design interface allows creators to focus on what they want to get done. Concepts is a creative app that helps you to work efficiently, so tools are simple, customizable, and only where you need them. If you forget you're using the app as you're "in the zone”, then we have achieved our goal. In concrete terms, this means minimizing the steps in a workflow, avoiding pop-ups and notifications that block progress, and allowing the user to customize layout and tools so the features they need are close at hand (or tap). Another key principle for us is taking a humble position - we don't assume we have the right answers. We listen closely to what our customers want, we prototype features, get feedback, and then adapt. Sometimes this is painful as it means starting again from scratch on a feature we've put weeks of effort into, but in the long run, it's the right choice. How have you maintained your app’s performance since launch? We focus on the long-term success and health of Concepts. We are constantly looking at all aspects of the app's performance. How are we doing with downloads? How well do users convert to becoming paying users? How much time do they spend using the app? We then have to pick an area of focus and look at how to improve that area. Roughly speaking, we tend to spend 3-6 months focusing on one area at a time, as we have found this level of commitment is needed to get results. It's often hard to move the needle unless you commit to a few cycles of changes - this way you can measure what you try, see the results, and adapt your approach. What advice do you have for indie developers and designers attempting to develop a successful app business? Focus. That's the biggest competitive advantage you have. Find your niche that the big companies are not paying attention to. Build something amazing that is loved by your group of customers. And if your business model requires you making money, make sure you are asking for money from those customers from the very beginning. It's a very clear metric as to whether you are building something that meets a customer's needs. Once you have conquered the niche, expand from there. What is next for Concepts? Our big focus over the coming months is cross-platform workflows. Our goal is to make it easy to share and collaborate on content across Android, Windows, and iOS. How has Samsung helped your business? The number one way Samsung helps is by producing so many amazing products that support a stylus. Nine out of the top ten devices that use Concepts on Android are made by Samsung! A high performance tablet that supports palm rejection and a stylus with pressure and tilt response is key to Concepts being a great experience. With the Best of Galaxy Store Awards 2020 selections approaching mid-year, what tips do you have to stand out from the crowd? It's probably not what they want to hear, but I'd recommend not focusing on awards. Focus on making your customers happy :) . We want to thank David for talking with us about TopHatch’s award winning design tools, how Concepts was developed and the importance of monitoring app performance and tips for indie developers interested in building a successful app business. If you’re on a Samsung Galaxy device, you can check out their app here. Follow us on Twitter at @samsung_dev for more developer interviews as well as tips for building games, apps, and more for the Galaxy Store. Find out more about our Best of Galaxy Store Awards. View the full blog at its source
  10. Recognized for “Best Creative App” in our Best of Galaxy Store Awards 2019 is Concepts by TopHatch. TopHatch empowers creative people with design tools that simplify the creative process with smarter, more intuitive technology. David Brittain, co-founder and CEO of TopHatch, shares how Concepts got started, what it takes to maintain your app’s performance, and tips on how indie designers can establish a successful app development business. Tell us about Concepts. Concepts is an infinite creative workspace for visual thinkers, designers and illustrators. Concepts is used by designers at companies like Unity, Illumination Entertainment, HP, and Disney globally to create and share everything from visual notes and storyboards to architectural layouts and product designs., We built Concepts from the ground up for touch and stylus-based devices. When tablets first began to come out, we saw other apps were transplanting awkward desktop mechanics to mobile interfaces instead of writing for the new ecosystem. We saw that design on a mobile platform could be a lot more intuitive and fun and knew that much more was possible. We've been working on our vision for 7 years now, and our software, stylus, and device performance are so fluid that our designers prefer Concepts over paper. How is the app used? Concepts is a powerful creative tool that allows you to explore and communicate ideas with a quick, natural workflow. The app allows you to sketch, edit, and communicate your ideas with liquid, vector-based brushes, and precision tools. The infinite canvas lets you flow with your ideas as far as they’ll go, with fluid pens and brushes that come in designer COPIC colors. The app's customizable layout, easy-to-use layers, drag+drop imports, and precision grids help you sketch and design effortlessly. Everything you draw is an editable vector that can be updated and moved around the canvas, saving you valuable work time.. Concepts is used by creative professionals for note taking, mind mapping, drawing, storyboarding, graphic design, product iteration, interior design and architectural planning. What is Concepts' development methodology? Our development methodology is highly iterative. We take each feature through a complete design cycle. We focus on building one feature at a time, iterate until it’s clean and well developed, then ship a beta as quickly as we can to hear from our users. They are a fantastic group who give us insightful feedback, which we incorporate before releasing the final product. This means we're delivering releases every week on one platform or another. Tell us about the TopHatch team behind Concepts. Our company has been distributed globally from the very start - often called remote, but it works well for us. Ben and I started the company and worked together on Concepts for a year before meeting in-person. We embrace the benefits of a distributed team and avoid the downsides where we can. That means trusting each team member to get their work done and embracing asynchronous workflows. People in the team work the hours and days that work best for them and plan and schedule their work to minimize blocking dependencies on other people. Was Concepts designed for mobile phones or tablets? Is there a difference? Concepts is designed for tablet and stylus first, as the larger screen gives users the most space to sketch and think. When we brought it to Android, we were likely the first major app built for Chrome OS first - it has a large screen, stylus, and resizable windows we wanted to make sure we supported well. We then made it work for phones, although our design did account for this up-front. It’s a challenge to offer the same tools and functionality on really small screens. Ultimately, we have to bias our decisions to the devices our paying users care about the most, which are the ones that give them the most space to work. What’s your approach to user experience and design principles in app development? Our general philosophy is that a good design interface allows creators to focus on what they want to get done. Concepts is a creative app that helps you to work efficiently, so tools are simple, customizable, and only where you need them. If you forget you're using the app as you're "in the zone”, then we have achieved our goal. In concrete terms, this means minimizing the steps in a workflow, avoiding pop-ups and notifications that block progress, and allowing the user to customize layout and tools so the features they need are close at hand (or tap). Another key principle for us is taking a humble position - we don't assume we have the right answers. We listen closely to what our customers want, we prototype features, get feedback, and then adapt. Sometimes this is painful as it means starting again from scratch on a feature we've put weeks of effort into, but in the long run, it's the right choice. How have you maintained your app’s performance since launch? We focus on the long-term success and health of Concepts. We are constantly looking at all aspects of the app's performance. How are we doing with downloads? How well do users convert to becoming paying users? How much time do they spend using the app? We then have to pick an area of focus and look at how to improve that area. Roughly speaking, we tend to spend 3-6 months focusing on one area at a time, as we have found this level of commitment is needed to get results. It's often hard to move the needle unless you commit to a few cycles of changes - this way you can measure what you try, see the results, and adapt your approach. What advice do you have for indie developers and designers attempting to develop a successful app business? Focus. That's the biggest competitive advantage you have. Find your niche that the big companies are not paying attention to. Build something amazing that is loved by your group of customers. And if your business model requires you making money, make sure you are asking for money from those customers from the very beginning. It's a very clear metric as to whether you are building something that meets a customer's needs. Once you have conquered the niche, expand from there. What is next for Concepts? Our big focus over the coming months is cross-platform workflows. Our goal is to make it easy to share and collaborate on content across Android, Windows, and iOS. How has Samsung helped your business? The number one way Samsung helps is by producing so many amazing products that support a stylus. Nine out of the top ten devices that use Concepts on Android are made by Samsung! A high performance tablet that supports palm rejection and a stylus with pressure and tilt response is key to Concepts being a great experience. With the Best of Galaxy Store Awards 2020 selections approaching mid-year, what tips do you have to stand out from the crowd? It's probably not what they want to hear, but I'd recommend not focusing on awards. Focus on making your customers happy :) . We want to thank David for talking with us about TopHatch’s award winning design tools, how Concepts was developed and the importance of monitoring app performance and tips for indie developers interested in building a successful app business. If you’re on a Samsung Galaxy device, you can check out their app here. Follow us on Twitter at @samsung_dev for more developer interviews as well as tips for building games, apps, and more for the Galaxy Store. Find out more about our Best of Galaxy Store Awards. View the full blog at its source
  11. We at Samsung Internet care a lot about Progressive Web Apps (PWAs), this is why we decided to feature some awesome PWAs that we found online. Firstly, what are PWAs? Progressive Web App (PWA) is a concept created by Frances Berriman and Alex Russel to describe apps taking advantage of new features supported by modern browsers that are built using including HTML, CSS, and JavaScript (yes, just web technologies ❤). This is the introduction to Laura’s blog post. I recommend reading her blog post if you are interrested in making a PWA: Progressive Web Apps: Making app-like experiences in the browser Context I discovered Make me cocktail, thanks to Dan (The Director of Web Advocacy at Samsung Internet) during a conversation about PWAs that he was using. I found the Web app particularly useful, especially the “my bar” feature which is just doing the job and making it easier to find nice recipes using only what we have at home. Also, very convenient for noobs like me. We thought why not reach out, learn more about why they choose to develop a PWA for their platform and write a blog post about it! Make Me A Cocktail An Interview with Nick Wilkins from Make Me A Cocktail Make me a Cocktail was founded in 2010, by Nick, with the goal of becoming the best online platform related to cocktail and drink recipes. All of this started because Nick became annoyed of browsing the web trying to find a decent cocktail recipes, and so he decided to create his own platform! Since then the platform evolved and became more popular with more functionalities and design improvements. Why did you decide to make the website a PWA? We originally floated the idea of making the site a PWA when we were investing in a small rewrite of some core underlying structures on the site, and seeing what new technologies had emerged and were emerging in the dev world. At this time we were also investing heavily in performance and trying to understand how we could make our fairly image- and dynamic- rich site, fast and performant for all our users. We were also really keen to explore the possibilities or porting our site over to an app — and this seemed like a great emerging option for this. Did you encounter any technical challenges during the process? We decided early on to not make our site a pure fully-works-offline PWA, but to utilise all of the technologies and opportunities a PWA gives you to give the best experience to the user. Obviously the service worker was a large part of this, and that was the core technical challenge we encountered. Good documentation and tutorials were sparse when we first started to utilise it. Browser dev tools weren’t quite as slick for service workers as they are now, so the core hurdles were dealing with understanding the service worker lifecycle and how to test new ones efficiently and cleanly. Our knowledge of dev tools and the network pane specifically, really increased here. How did the PWA help you, and how did you utilise the service worker power? Ultimately the PWA has helped us in two areas. One is speed and performance. The service worker caching mechanisms and thus serving up assets quickly to users is just a win-win situation. But, we also like to think, and this is a little less tangible, that we’ve given users more accessibility and a better user-experience / option to find data quicker. Things like the manifest, the add to home screen options and the like have helped create quicker avenues to data for the end-user. Thoughts It really is fairly easy now to create a base PWA without offline capability. Depending on your app size and complexity, and your stack, adding full or partial offline capability can be harder and more of a technical challenge. Dynamic user based data that you can’t cache upfront (or can’t cache up to date data) comes at a price if you want to go down that route, and it's important to explore all those avenues. There are little cons to implementing the base PWA experience, the cons really come with time and knowledge that you may need to invest. But ultimately it is all worth it. Conclusion As said by Nick above, creating PWAs is the way to give better experiences to users. This is why at Samsung Internet, we do care a lot about PWAs, and we are currently seeking for PWAs with good user experience to share with the community or even write about! Please contact us by email [email protected] or Twitter if you are working on a PWA or know a good PWA ! Thank you, Kevin (@KevinPicchi, picchi.ch) View the full blog at its source
  12. We at Samsung Internet care a lot about Progressive Web Apps (PWAs), this is why we decided to feature some awesome PWAs that we found online. Firstly, what are PWAs? Progressive Web App (PWA) is a concept created by Frances Berriman and Alex Russel to describe apps taking advantage of new features supported by modern browsers that are built using including HTML, CSS, and JavaScript (yes, just web technologies ❤). This is the introduction to Laura’s blog post. I recommend reading her blog post if you are interrested in making a PWA: Progressive Web Apps: Making app-like experiences in the browser Context I discovered Make me cocktail, thanks to Dan (The Director of Web Advocacy at Samsung Internet) during a conversation about PWAs that he was using. I found the Web app particularly useful, especially the “my bar” feature which is just doing the job and making it easier to find nice recipes using only what we have at home. Also, very convenient for noobs like me. We thought why not reach out, learn more about why they choose to develop a PWA for their platform and write a blog post about it! Make Me A Cocktail An Interview with Nick Wilkins from Make Me A Cocktail Make me a Cocktail was founded in 2010, by Nick, with the goal of becoming the best online platform related to cocktail and drink recipes. All of this started because Nick became annoyed of browsing the web trying to find a decent cocktail recipes, and so he decided to create his own platform! Since then the platform evolved and became more popular with more functionalities and design improvements. Why did you decide to make the website a PWA? We originally floated the idea of making the site a PWA when we were investing in a small rewrite of some core underlying structures on the site, and seeing what new technologies had emerged and were emerging in the dev world. At this time we were also investing heavily in performance and trying to understand how we could make our fairly image- and dynamic- rich site, fast and performant for all our users. We were also really keen to explore the possibilities or porting our site over to an app — and this seemed like a great emerging option for this. Did you encounter any technical challenges during the process? We decided early on to not make our site a pure fully-works-offline PWA, but to utilise all of the technologies and opportunities a PWA gives you to give the best experience to the user. Obviously the service worker was a large part of this, and that was the core technical challenge we encountered. Good documentation and tutorials were sparse when we first started to utilise it. Browser dev tools weren’t quite as slick for service workers as they are now, so the core hurdles were dealing with understanding the service worker lifecycle and how to test new ones efficiently and cleanly. Our knowledge of dev tools and the network pane specifically, really increased here. How did the PWA help you, and how did you utilise the service worker power? Ultimately the PWA has helped us in two areas. One is speed and performance. The service worker caching mechanisms and thus serving up assets quickly to users is just a win-win situation. But, we also like to think, and this is a little less tangible, that we’ve given users more accessibility and a better user-experience / option to find data quicker. Things like the manifest, the add to home screen options and the like have helped create quicker avenues to data for the end-user. Thoughts It really is fairly easy now to create a base PWA without offline capability. Depending on your app size and complexity, and your stack, adding full or partial offline capability can be harder and more of a technical challenge. Dynamic user based data that you can’t cache upfront (or can’t cache up to date data) comes at a price if you want to go down that route, and it's important to explore all those avenues. There are little cons to implementing the base PWA experience, the cons really come with time and knowledge that you may need to invest. But ultimately it is all worth it. Conclusion As said by Nick above, creating PWAs is the way to give better experiences to users. This is why at Samsung Internet, we do care a lot about PWAs, and we are currently seeking for PWAs with good user experience to share with the community or even write about! Please contact us by email [email protected] or Twitter if you are working on a PWA or know a good PWA ! Thank you, Kevin (@KevinPicchi, picchi.ch) View the full blog at its source
  13. Start Date Nov 17, 2020 Location Brooklyn Expo Center, Brooklyn, NY Join Samsung at droidcon NYC. We'll share more information as we get closer to the event. Register now! View the full blog at its source
  14. Galaxy Watch Designer is now Galaxy Watch Studio. Beyond the name change, new features in v2.0.0 include: The digital clock component supports the Korean lunar calendar. Year is a new tag ID that can be used in a tag expression. Search for a specific language and filter languages by region for a digital clock component (Properties > Type > Language). Style, Gridline Every, and Subdivisions settings added to Preferences (Edit > Preferences > View). See all of the new features in the Release Notes. Have questions? Ask them in the forums. View the full blog at its source
  15. Start Date Apr 30, 2020 Location Online The Samsung Internet team is excited to announce April's monthly meetup. Join us to learn and discuss topics about the web. AGENDA 18:00 GMT+1 Welcome and Introduction - Latest news about Samsung Internet 18:30 GMT+1 First Speaker 19:15 GMT +1 Second Speaker 20:00 GMT+1 Q&A We have our first speaker confirmed! Majid Hajian: Majid is a passionate software developer with years of developing and architecting complex web and mobile applications. He is passionate about web platform especially Flutter, IoT, PWAs, and performance. He loves sharing his knowledge with the community by writing and speaking, contributing to open source and organizing meetups and events. Majid is the award-winning author of "Progressive web app with Angular" book by Apress and "Progressive Web Apps" video course by PacktPub and Udemy. He is (co)organizer of a few mobile and web meetups in Norway as well as Nordic conferences for mobile and Angular, Mobile Era and ngVikings. View the full blog at its source
  16. Start Date Apr 17, 2020 Location Online Join the Samsung Developer Program workshop and learn how to develop wearable apps in Tizen. In this two hour workshop, you will learn about the Tizen Platform. The workshop will include "follow along" coding sections, so be prepared to get some practical experience with Tizen Studio and the Galaxy Watch. At the end of this workshop, you will have the knowledge to develop your first Tizen Wearable app and the basics to publish it in the Samsung Galaxy Store. This workshop will show participants how to: • Develop a wearable web app using Tizen Studio IDE • Design your app with Tizen Advance UI library (TAU) • Implement sensor features with JavaScript • Test your app on the emulator • Publish an app in the Galaxy Store If you have knowledge of front-end programming, or experience developing applications using any widely available IDE, we encourage you to register. View the full blog at its source
  17. Start Date Apr 17, 2020 Location Online Rio de La Plata Special Edition In this edition of our virtual office hours, we have as a special guest Natalia Venditto, @AnfibiaCreativa, principal software engineer and architect from Netcentric, we are going to discuss JavaScript Frameworks and Web Architecture. Join us during the conversation! - Unete a la conversación AGENDA: 17:00 GMT+1: Hello and welcome. Introduction to Office Hours and Samsung Internet. 17:10 GMT+1: JavaScript Frameworks Discussion 18:00 GMT+1: Q&A View the full blog at its source
  18. Want to design UI themes for Galaxy mobile devices using Galaxy Themes Studio and sell to the world, all without coding? The Galaxy Themes submission window is now open for applications from April 14th to April 28th. To become a themes designer, you must submit an application with a mock-up theme design. Your design will be reviewed by the Themes team, and if approved you will receive access to Galaxy Themes Studio. Think you can wow us with your design? Check out these great tips: View the full blog at its source
  19. The Galaxy Emulator Skin aims to give you the closest possible experience to a real device. In recent years, Samsung has released smartphones with rounded corner displays, punch-hole selfie cameras, and notches. To keep up with these design features, we have released Galaxy Emulator Skin version 2.0. The Galaxy Emulator Skin 2.0 still has the same minimalist look with the device positioned beside the on-screen control buttons and keyboard. We have now added notches and rounded corners to the display, as well as punch-hole selfie cameras to applicable device skins. Note that the punch-hole is simply a placeholder meant to replicate the look of the actual device. In Galaxy Emulator Skin 2.0, you can now use the volume rockers to control the audio volume and the power button to switch the device on and off. Included in this release are skins for the Galaxy Fold, S8, S8+, S9, S9+, S10, S10+, S10e, Note8, Note9, Note10, and Note10+ devices. Skins for the new S20, S20+, S20 Ultra, and Z Flip devices also come with the same enhanced look. From now on, Galaxy Emulator Skin releases have the new look and features. To download the skins, go to https://developer.samsung.com/galaxy-emulator-skin/overview.html. View the full blog at its source
  20. Samsung Ocean is an initiative of Samsung in Brazil that offers technical training to the community and promotes the creation of technology-based companies (startups). While many workshops in the past have been hosted in-person in Manaus or Sao Paulo, new courses are being taught online during the month of April. All courses will be taught in Portuguese. 4/23 - 10am to 12pm Artificial Intelligence - How it is present in your daily life 4/27 - 6 pm to 8 pm Introduction to Blockchain 4/18 - 10am to 12pm Virtual voice assistant in Bixby - bringing intelligence to the interface 4/28 - 4 pm to 6 pm Introduction to game development with Unity 4/29 - 4 pm to 5 pm Introduction to the Internet of Things 4/30 - 3:00 pm to 4:00 pm Fundamentals of data analysis 4/30 - 6:00 pm to 8:00 pm Introduction to Tizen Registration is required. View the full blog at its source
  21. Start Date Apr 14, 2020 Location Online Join this Live Video Chat with Samsung Evangelist Tony Morelan to get your Galaxy Watch Designer and Themes Studio questions answered. Discuss techniques and strategies that relate to design, building and selling on the Galaxy Store. Receive live support from a pro! View the full blog at its source
  22. Start Date Apr 14, 2020 Join this Live Chat with Samsung Evangelist Tony Morelan to get your Galaxy Watch Designer and Themes Studio questions answered. Discuss techniques and strategies that relate to design, building and selling on the Galaxy Store. Receive live support from a pro! View the full blog at its source
  23. NOTE: This article assumes that you have prior knowledge about machine learning. If you have any questions, please post them in the Samsung Neural forum. The development of machine learning has revolutionized the technology industry by bringing human-like decision making to compact devices. From health care to real estate, finance, and computer vision, machine learning has penetrated almost every field. Today, many businesses deploy machine learning to gain a competitive edge for their products and services. One of the fastest-growing machine learning areas is Deep Neural Networking (DNN), also known as Artificial Intelligence (AI), which is inspired by the neural interactions in the human brain. With the AI industry growing so quickly, it is not only difficult to be up-to-date with the latest innovations, but even more so to deploy those developments in your business or application. As AI technology paves its way into the mobile industry, one wonders: What can be achieved with the limited capacity of mobile embedded devices? How does one execute DNN models on mobile devices, and what are the implications of running a computationally intensive model on a low resource device? How does it affect the user experience? Typically, a deep neural network is developed on a resource-rich GPU farm or server, where it is designed and then trained with a specific data set. This pre-trained DNN model is then ready to be deployed in an environment, such as a mobile device, to generate output. A pre-trained DNN model can easily be used to develop an AI-based application that brings completely unique user experiences to mobile devices. A variety of pre-trained models, such as Inception, Resnet, and Mobilenet are available in the open source community. The Samsung Neural SDK is Samsung’s in-house inference engine which efficiently executes a pre-trained DNN model on Samsung mobile devices. It is a one-stop solution for all application and DNN model developers who want to develop AI-based applications for Samsung mobile devices. To simplify the process of deploying applications that exploit neural networking technologies, the Samsung Neural SDK supports the leading DNN model formats, such as Caffe, Tensorflow, TFLite, and ONNX, while enabling you to select between the available compute units on the device, such as the CPU, GPU, or AI Processor.1 The Samsung Neural SDK enables easy, efficient and secure execution of pre-trained DNN models on Samsung mobile devices, irrespective of the constraints posed by hardware such as compute unit capability, memory configuration and power limitations. Samsung Neural Stack Features The Samsung Neural SDK provides simple APIs that enable you to easily deploy on-device pre-trained or custom neural networks. The SDK is designed to accelerate the machine learning models in order to improve performance and optimize hardware utilization, balancing performance and latency with memory use and power consumption. The Samsung Neural SDK supports mixed precision formats (FP32/FP16 and int8), and provides a great variety of operations that enable you to experiment with different models and architectures to find what works best for your use case. It also employs industry-standard cryptographic encryption methods for neural network models, to protect your intellectual property. The Samsung Neural SDK includes complete API documentation for your ready reference. It describes all the optimization tools and supported operations, provides code examples, and more. Sample benchmarking code included with the Samsung Neural SDK The accompanying sample benchmarking code helps you understand how to use the API methods and demonstrates the available features and configurations, such as selecting a compute unit and execution data type. The Samsung Neural SDK can be used in a wide range of applications that utilize Deep Neural Networks and improves their performance on Samsung mobile devices. It has already been applied to many use cases and we look forward to supporting your application idea. Are you interested in using Samsung Neural SDK? Visit Samsung Neural SDK to learn more about becoming a partner today. Partners gain access to the SDK and technical content such as developer tips and sample code. If you have questions about the Samsung Neural SDK, email us at [email protected]. [1] AI processors include neural processing units (NPU) and digital signal processors (DSP). The Samsung Neural SDK currently supports only the Caffe and Tensorflow formats. View the full blog at its source
  24. Start Date Apr 09, 2020 Location Online Did your app development journey hit a roadblock? Need advice on creating your wearable app? Are you learning how to leverage Tizen to reach millions of Samsung devices around the world? Join our Developer Evangelist Diego Lizarazo Rivera for a live chat on developing for Samsung wearables. Bring your questions and receive live support from a pro! View the full blog at its source
  25. Start Date Apr 09, 2020 Location Online In this edition of Samsung Internet virtual office hours, we're going to talking to Dominique Hazaël-Massieux from the World Wide Web Consortium (W3C) about what's new in web standards and what the W3C is doing to engage developers around the world. AGENDA: 14:00 BST / 9:00 EDT Hello and welcome. Introduction to Office Hours and Samsung Internet. 14:10 BST / 9:10 EDT Web standards discussion with Dom 16:00 BST / 11:00 EDT Q&A Dominique Hazaël-Massieux (@dontcallmedom) is W3C Developer Relationships Lead, W3C Community Development Lead (in charge of managing the Community Groups program), champion for the Telecommunication Industry in W3C, part of the W3C Project Management team, W3C Strategy Specialist on Virtual and Augmented Reality, and serves as staff contact in the Web Real-Time Communications Working Group, the Immersive Web Working Group, and the Web & Networks Interest Group.https://admin.developer.samsung.com/admin/SDP/events/SamsungInternet/pages/b8ac8209-5ca1-4f40-ba63-66af402e786f# View the full blog at its source


×
×
  • Create New...