Quantcast
Jump to content


Samsung Newsroom

Administrators
  • Posts

    998
  • Joined

  • Last visited

    Never

Everything posted by Samsung Newsroom

  1. Since the release of Galaxy Watch Designer 1.7, the Gear S2 watch is no longer supported. This has caused many apps to be rejected by the review team when publishing to the Galaxy Store. When uploading your watch face app to Seller Office you must now deselect all S2 devices within the Supported Devices. After uploading your binary file, the S2 devices can either be deselected individually from the list of 1,300+ device combinations, or selected all at once by following the steps below: Click the red number next to Selected Device(s) to open the Detailed Device Settings dialog box. This number represents the selected Samsung devices that your app will be compatible with. Type Gear S2 in the search field to list all of the selected S2 devices. Uncheck Select All within the Device Group to deselect all S2 devices. Click Save. Click OK to close the WPC Notice. Click the Save button prior to submitting your app. Now that the S2 devices are no longer selected, the red number that represents the compatible devices is reduced by approximately 300. If your app was rejected due to Gear S2 device incompatibility and you still have questions, feel free to search the Galaxy Watch Designer Forum or send an email to [email protected]. View the full blog at its source
  2. A big part of converting users from a click to a sale often involves your ratings and reviews. Apps that have strong reviews and scores typically have an edge over apps with few or bad reviews. In today’s world, this is how many users define quality without actually purchasing. How can you get reviews when you’re just starting out? Sometimes, it’s as easy as simply asking. Just Checking In By implementing the code shown below, users are prompted to leave a review on the Galaxy Store after a certain number of logins. By giving users an easy way to leave a 5-star review, you will likely start getting more positive reviews, and your downloads may increase as well. How you implement this is up to you and depends on your app. If you think users have a good understanding of how your app works after just a few logins, then you should prompt them then. However, if your app is more complex and you think users need additional time to see its value, it’s better to prompt them later. The biggest thing to remember is that you only have a small window of time to ask. Waiting too long to ask is the same as not asking at all. public void onClick(DialogInterface dialog, int id) { reviewSubmitted = true; sharedPref.putBoolean("review_submitted",reviewSubmitted); sharedPref.commit(); try { Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse( "samsungapps://ProductDetail/<PackageName>")); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); } catch (android.content.ActivityNotFoundException anfe) { Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse( "http://www.samsungapps.com/appquery/appDetail.as?appId=<PackageName>" )); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); } } Number of Reviews After Three Days – Credit: babich.biz Another thing to keep in mind is not to ask at the beginning of a session. No one likes a pop-up, and users probably don’t want to leave a review just as they are opening your app. Tests prove this to be true, showing that 50% of users close the app after being prompted to leave a review at the beginning of the session. It’s also important to not ask over and over again. Ensure that the user meets a few conditions before you ask, such as after using the app for a few days or after completing certain tasks. This way, you ensure they have used the app before they leave a review. If they haven’t chosen to leave a review after a few prompts, they probably aren’t going to, so it’s better to stop asking rather than risk losing a user. How can you get reviews when you’re just starting out? Sometimes, it’s as easy as simply asking. You should also be a bit more strategic in your ask. Instead of asking users to rate your app, ask them if they are enjoying it. If they say they love it, you can redirect them to the store to leave a positive review. If they think it needs work, ask them to send feedback by email or a dedicated forum. This way, you’re not incentivizing poor reviews, and you’re garnering valuable feedback from your community. Finally, sellers should be aware that the Galaxy Store is implementing conditions for appearing in the “top” lists. As of September 27, 2019 apps that appear in the top lists need to have at least 10 reviews and an average of 2.5 stars. These conditions are based by country, so if your app has 100 reviews and a 4-star rating in the US, but only 5 reviews and a 4-star rating in Korea, your app will appear in the US top list, but not in Korea’s. This makes asking for reviews even more important, but you’ll want to localize first. For more info about localization, check out our localization blog post. Gaining lots of good reviews means taking the time to not only create an amazing app experience, but also knowing when, where, and how to ask each user to leave one. The best thing you can do to gain better reviews is just asking. View the full blog at its source
  3. Testing on the newest OS is essential for all developers to ensure that their content, whether apps, games, or themes, is compatible and runs correctly. With the release of Android Q on Samsung devices right around the corner, we’ve created a handy guide to help developers install Android Q beta, so you can test your apps. Know Your Options The beta opens on October 21, so be sure to mark your calendar. It’s also important to note that the beta program is only for Galaxy flagship phones such as the Note10, S10, Note9, and S9. Depending on your device and carrier, you may have different options for getting beta access. The following table shows the regions and carriers that will have access to the Q OS beta program. If your device falls into one of these categories, you’re in luck! All you need to do is download the Samsung Members App from the Galaxy Store, and follow the registration instructions in the app. After you’re done, your phone updates automatically as soon as possible. Country Carrier Beta Open (10/21) Korea SKC Open KTC Open LUC Open UNLOCKED Open US SPR Open TMB 7,500 registered users UNLOCKED Open UK UNLOCKED Open Germany UNLOCKED Open Poland UNLOCKED Open France UNLOCKED Open Spain UNLOCKED Open India UNLOCKED Open China UNLOCKED Open The beta is available for the carriers and countries shown above, but if you don’t fall into one of these categories or the beta program is full, what can you do? Remote Testing If you cannot update your own personal device, you’re not out of options just yet. We understand not everyone has access to a device that fits these requirements, so as such we are adding phones with the Q OS beta to the Remote Test Lab so that you may remotely test your apps and themes on real Samsung devices. Testing is straightforward and easy on the Remote Test Lab, so you can head to the Remote Testing Lab (RTL) to start testing as soon as the beta version is publicly available. Deregistering You may want to remove the Q OS beta from your device once you’ve finished playing with the new features and testing all your awesome content. To unregister your device, simply open the Samsung Members app and go to the Settings menu in the dropdown in the upper right corner. Once there, click the One UI Beta Program menu item and follow the prompts to unregister your device. Your device automatically returns to its previous OS. OneUI Beta makes kitten happy View the full blog at its source
  4. We’re sure you’ve heard about the exciting sessions and speakers at Samsung Developer Conference. From Samsung leaders announcing the latest dev tools to fireside chats about the future of tech to sessions on emerging topics, SDC19 is full of valuable insights and intriguing information. But the fun doesn’t stop there! It’s also a haven for innovation and inspiration — thanks to these cool activations and exhibits. A Developer’s Playground – Tech Square and Dev Park Tech Square Visit Samsung product zones at Tech Square – from Bixby to Smart TV to Galaxy. Discover the latest SDKs, work 1:1 with Samsung experts, and chat with Samsung partners about their latest work. AI/IoT Zone – Check out areas dedicated to SmartThings, Tizen, and Bixby. Relax in comfy massage chairs powered by Tizen, explore the SmartThings partner showcase, and stop by the Bixby Hackathon and Magic Show. Code Lab – Get hands-on experience with the latest SDKs and developer tools with the help of Samsung engineers. Plus, complete fun coding challenges for the chance to win exclusive tech prizes. Dev Park Play, network, and get inspired with fun activations at Dev Park, like the Designer Zone featuring the winners of Samsung’s mobile design competition, and trending topics at the Theater. Last but not least, swing by to say hi to the Samsung Developer Program and Think Tank teams! Hacker’s Playground – Learn skills like Attack, Defense, and Reversing from expert hackers. We’ll have toy examples with step-by-step guides, and if you complete the tutorial, you might be in for a surprise. Up for a challenge? Show off your hacking skills for a chance to win hot Samsung prizes. It’s open to everyone from newbies to experts, so bring your own laptop and compete for some serious bragging rights. XR: Delusion Experience – Get in the Halloween spirit with our haunted XR experience – Delusion: Lies Within. Experience the latest in Samsung AR and XR as you “interact” with hidden Delusion characters. Workshop with the tech after testing out the TetaVi volumetric rig. Just scan yourself, drop your avatar into Delusion content, and have some spooky fun. Think Tank: ONA Interactive Wall – Check out this multi-touch, multi-user interface with 3D-gesture sensing. ONA tracks your location and movement when you’re using it to play games, making it a literal game changer. Feeling Inspired Yet? These are just a few of the highlights. Don’t miss the rest – register for SDC19 today! Use the code PRIORITY until October 22 to secure exclusive seating near the stage during the Keynote. Only valid for the first 100 people to redeem the code! Check out the full lineup of tech sessions, follow us on social, and keep an eye on #SDC19 for the latest news and updates. We can’t wait to see you in San Jose! View the full blog at its source
  5. Distributed ledger-based technologies are becoming more popular and easy to use. Anyone can now build a new cryptocurrency or token in the Blockchain world. This rise in popularity and value makes crypto assets a big target for hackers. If you want to keep your valuable crypto assets safe, using a hardware cold wallet such as Trezor or Ledger Nano S has become a necessity. Unfortunately, that adds up to one more item in your pocket that you always have to carry around. Thankfully, gone are the days of carrying clunky, old wallets. Recent Galaxy phones, such as the S10e, S10, S10+, and Fold, can now securely store your cryptocurrency wallet using the Samsung Blockchain Keystore (SBK). Along with storing your cryptocurrency wallet, the SBK SDK allows you to get your Blockchain address and sign cryptocurrency transactions. In this article, we explore one of the key features offered by the Keystore SDK–how to get your Blockchain address from the SBK SDK and three ways to share it: Display as QR code Copy to clipboard Share through Android’s share intent Setting up the Project and Handling SBK Data To set up your Android project with the SBK SDK, follow these instructions. To use functionalities offered by the SDK, first fetch an instance of the service. private ScwService mScwService = ScwService.getInstance(); After you have fetched the ScwService instance, you can check whether your device is Keystore-supported. if (mScwService == null) { Log.e("KeystoreApp", "Keystore is not supported on this device."); } If the device is Keystore-supported, you can fetch the address list with getAddressList(): mScwService.getAddressList(addressListCallback, hdPathList); The first parameter to getAddressList() is a ScwGetAddressListCallback, which is executed after getting a response from Keystore. ScwGetAddressListCallback() has two functions: onSuccess(): This function is called when the address list has been fetched successfully from Keystore. onFailure(): This function is called if any errors occur while fetching the address list from Keystore. ScwService.ScwGetAddressListCallback addressListCallback = new ScwService.ScwGetAddressListCallback() { @Override public void onSuccess(List addressList) { //You can share your address from the address list here } @Override public void onFailure(int failureCode) { //Based on the failure code you can show appropriate alerts here } }; The second parameter is an ArrayList of Hierarchical Deterministic (HD) Path(s) whose addresses you want to fetch. If you want to learn more about HD paths, please refer to BIP-44. For example, if you want to find the public address of your first five accounts, pass the following list as a parameter: ArrayList hdPathList = new ArrayList<>(); hdPathList.add("m/44'/60'/0'/0/0"); hdPathList.add("m/44'/60'/0'/0/1"); hdPathList.add("m/44'/60'/0'/0/2"); hdPathList.add("m/44'/60'/0'/0/3"); hdPathList.add("m/44'/60'/0'/0/4"); A Sample App with the SBK SDK Now that we are familiar with getAddressList(), let’s dive into our sample application. Features of our Public Address with SBK app are: Fetch your public address from the Keystore Switch between multiple public addresses Display QR code of the selected account Copy selected address into the clipboard Send the selected address with supported applications with Android’s share intent Initially, only the address of the first account is loaded. When you press the Add button, the HD path of a new account is added to hdPathList, and public addresses are fetched. public void addAccount(View view) { //Account Index is incremented by 1 to get the new account accountIndex++; //HDPath of new account is added to hdPathList hdPathList.add("m/44'/60'/0'/0/" + accountIndex); showToast("HDPath Added to list"); //Public Address of new account is fetched getPublicAddress(); } Public addresses are fetched using the getPublicAddress() function depicted below. If the address list is fetched successfully, onSuccess() is called, and: The spinner’s previous data is cleared. The newly fetched list is added to the spinner. The UI is updated. If an error occurs, it is logged and available from logcat. Common errors such as ERROR_INVALID_SCW_APP_ID can be fixed very easily by enabling Developer Mode from the Keystore application. You can find instructions on how to enable Developer Mode here. private void getPublicAddress() { ScwService.ScwGetAddressListCallback addressListCallback = new ScwService.ScwGetAddressListCallback() { @Override public void onSuccess(final List publicAddressList) { //After Address List has been fetched Spinner is updated with new list runOnUiThread(new Runnable() { @Override public void run() { //Clear existing list spinnerAdapter.clear(); //New list is added spinnerAdapter.addAll(publicAddressList); spinnerAdapter.notifyDataSetChanged(); if (publicAddressList.size() == 1) { showToast(publicAddressList.size() + " address fetched."); } else { showToast(publicAddressList.size() + " addresses fetched."); } } }); } @Override public void onFailure(int errorCode) { switch (errorCode) { case ScwErrorCode.ERROR_INVALID_SCW_APP_ID: Log.e(LOG_TAG,"Developer option not enabled."); break; case ScwErrorCode.ERROR_CHECK_APP_VERSION_FAILED: Log.e(LOG_TAG,"Check internet connection."); break; case ScwErrorCode.ERROR_OP_FAIL: Log.e(LOG_TAG,"Operation Failed"); break; default: Log.e(LOG_TAG,"Error with Error Code: "+errorCode); break; } } }; if (mScwService == null) { Log.e(LOG_TAG, "Keystore is not supported in this device."); } else { //If Keystore is supported on device address list is requested mScwService.getAddressList(addressListCallback, hdPathList); } } After loading all addresses into the spinner, we can now select any address from it. Once an address is selected, its QR Code is generated and displayed. publicAddressSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> adapterView, View view, int position, long l) { //Get Selected Address from spinner selectedAddress = adapterView.getItemAtPosition(position).toString(); selectedAddressTextView.setText(selectedAddress); qrCodeImageView.setImageBitmap(generateQRCode(selectedAddress)); } In this application, we used “ZXing” to generate the QR bitmap of the selected public address. private Bitmap generateQRCode(String text) { MultiFormatWriter multiFormatWriter = new MultiFormatWriter(); Bitmap bitmap = Bitmap.createBitmap(10, 10, Bitmap.Config.RGB_565); try { //Text encoded to QR BitMatrix BitMatrix bitMatrix = multiFormatWriter.encode(text, BarcodeFormat.QR_CODE, 1000, 1000); BarcodeEncoder barcodeEncoder = new BarcodeEncoder(); //QR Bitmatrix encoded to Bitmap bitmap = barcodeEncoder.createBitmap(bitMatrix); } catch (WriterException e) { e.printStackTrace(); } finally { return bitmap; } } When you press the copy button, the address is copied to the clipboard. public void copyAddress(View view) { ClipboardManager clipboardManager = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); ClipData clipData = ClipData.newPlainText("Public Address", selectedAddress); clipboardManager.setPrimaryClip(clipData); Toast.makeText(this, "Address Copied", Toast.LENGTH_SHORT).show(); } We can also share the selected public address using the Android ACTION_SEND intent. public void shareAddress(View view) { Intent sendIntent = new Intent(); sendIntent.setAction(Intent.ACTION_SEND); sendIntent.putExtra(Intent.EXTRA_TEXT, selectedAddress); sendIntent.setType("text/plain"); startActivity(sendIntent); } Conclusion Now that you know more about the Samsung Blockchain Keystore SDK, you can use it to enrich your Blockchain application. For more resources on Keystore SDK, visit https://developer.samsung.com/blockchain/keystore/sdk. View the full blog at its source
  6. T-minus 20 days until Samsung Developer Conference! Get ready for an incredible lineup of speakers and tech sessions. Hear the latest announcements straight from Samsung leaders and learn from industry pioneers as they discuss tech’s hottest topics. Plus, get hands-on experience with the newest SDKs and developer tools. Check out some speakers we’re excited about. Business Done Different Taher Behbehani is a successful investor, advisor, and entrepreneur. He began his career engineering medical devices to keep children safe during surgery. Today, he leads Samsung’s mobile enterprise business in the US, working with devs, entrepreneurs, and enterprises to bring meaningful technology solutions to the market. Join him at the Spotlight Session to learn how today’s talented developers and most innovative enterprises can collaborate to drive impact and change. Blockchain to the Masses Founder of TRON and CEO of BitTorrent, Justin Sun is a blockchain pioneer and entrepreneur. TRON has one of the most profound and fastest growing blockchain ecosystems in the world. Hear from Justin at his SDC19 session, where he will share his thoughts on how to take blockchain to the masses. Explore the full list of tech sessions — plus, a few of our highlights below. Monetization Opportunities on Samsung Internet Starting with a new browser extension, this session introduces different ways to partner with Samsung Internet and build an optimized, mobile-friendly extension for Samsung’s native browser experience. Plus, learn how to onboard Samsung Pay as a secure payment method for e-commerce transactions on the web. Tizen 5.5: Platform Update and Developer Environment Join us to discuss cutting-edge features and improvements in Tizen 5.5! This session explores exciting updates like new APIs and developer environment enhancement in Tizen .NET and Web. Plus, we’ll explore SDKs that are sure to excite third-party devs for Samsung Galaxy Watch and Samsung TVs. Digital Marketing and e-Commerce Development for Smart Appliances Whether it’s e-Commerce or digital content, devs are leveraging IoT and other emerging platforms to drive innovation and bring additional convenience to consumers. Find out how partners are collaborating with Samsung to make this happen and what it can mean for you. See a Speaker or Session You’re Interested In? Don’t miss out! If you haven’t bought your ticket yet, fix that [system error] and register today with this hack – use the promo code PRIORITY when you check out. The first 100 people to redeem the code will be invited to sit in a reserved section near the stage during the keynote! In the meantime, check out the full lineup of sessions, follow us on social, and keep an eye on #SDC19 for the latest news and updates. We can’t wait to see you! View the full blog at its source
  7. Rotary event handling, enabled via the bezel, is supported on the Tizen platform. A bezel is a term used to describe the outside frame of a device, and in the case of a Galaxy Watch, the bezel is the outer ring of the device, which can be rotated. Rotary events are triggered from the Galaxy Watch rotary component when the bezel is rotated clockwise or counterclockwise. The event for each rotation is measured in incremental units called “detents.” Bezel interactions can be used in a variety of ways, such as controlling the application page, controlling the snap list, changing the progress bar value, scrolling the page, changing the volume, and setting configurations such as date-time on the date-time picker. This blog discusses how to handle rotary events in Tizen web and native applications. In the following example, you’ll learn how to let a user interact with bezel by using the rotary event to receive or reject a call. The user rotates the bezel clockwise to receive the call and counterclockwise to reject it. Note: Because Galaxy Active devices do not have bezels, rotary features will not work on them. Prerequisites Tizen Web In the Tizen web application, add the following line in the config.xml file: <feature name="tizen.org/feature/input.rotating_bezel"/> Tizen Native In the Tizen native application, include the <system_info.h>header file to use the functions and data types of the system information API. #include<system_info.h> You also must add the following line to the manifest file: <feature name="http://tizen.org/feature/input.rotating_bezel">true</feature> Check capability Tizen Web In the Tizen web application, use the following line to check if the device supports rotary events or if it uses bezel: var isSupport = tizen.systeminfo.getCapability('http://tizen.org/feature/input.rotating_bezel'); console.log(' Bezel = ' + isSupport); The getCapability() function of the Tizen web API returns with information about whether or not the device supports bezel. Tizen Native In the Tizen native application, use the following code to check bezel capability: bool rotaryValue; int rotaryReturn; rotaryReturn = system_info_get_platform_bool("http://tizen.org/feature/input.rotating_bezel", & rotaryValue); if (rotaryReturn!= SYSTEM_INFO_ERROR_NONE) { dlog_print(DLOG_INFO, LOG_TAG, "Rotary error"); return; } dlog_print(DLOG_INFO, LOG_TAG, "Bezel: %s", value ? "Supported" : "Not supported"); Implementation Tizen Web Register the rotarydetent event. After registering an event, ev.detail.direction provides the direction value. If the value is CW, the bezel is rotated clockwise. If the value of direction is CCW, the bezel is rotated counterclockwise. document.addEventListener('rotarydetent', function(ev) { /* Get the direction value from the event */ var direction = ev.detail.direction; var textbox = document.querySelector('.contents'); box = document.querySelector('#textbox'); if (direction == 'CW') { /* Add behavior for clockwise rotation */ console.log('clockwise'); box.innerHTML ="clockwise"; } else if (direction == 'CCW') { /* Add behavior for counter-clockwise rotation */ console.log('counter-clockwise'); box.innerHTML ="counter-clockwise"; } }); Tizen Native Register the rotary event in the app using the following line: eext_rotary_event_handler_add(_rotary_handler_cb, ad); The handle function is defined using following code: Eina_Bool _rotary_handler_cb(appdata_s *data, Eext_Rotary_Event_Info *ev) { if (ev->direction == EEXT_ROTARY_DIRECTION_CLOCKWISE) { dlog_print(DLOG_DEBUG, LOG_TAG, "Rotary device rotated in clockwise direction"); } else { dlog_print(DLOG_DEBUG, LOG_TAG, "Rotary device rotated in counter-clockwise direction"); } return EINA_FALSE; } If the rotation direction is equal to EEXT_ROTARY_DIRECTION_CLOCKWISE, the bezel is rotated clockwise. Otherwise, the bezel is rotated counterclockwise. Demo Two sample apps are attached: • Rotary Native • Rotary Web Web When you run the web sample app and turn the bezel clockwise, the following text appears on the watch face: When you turn the bezel counter counterclockwise, “counterclockwise” appears on the watch face: Native When you run the native sample app and turn the bezel clockwise, the following text appears on the watch face: When you turn the bezel counterclockwise, the following text appears: For more information The bezel is the physical controller of some Samsung wearable devices. Understanding the physical characteristics of the bezel will help you design better interactions. References: https://developer.tizen.org/development/guides/web-application/user-interface/tizen-advanced-ui/applications-circular-ui/handling-rotary-events https://developer.tizen.org/development/guides/native-application/user-interface/efl/hardware-input-handling/managing-rotary-events https://developer.tizen.org/design/wearable/interaction/bezel-interactions?langswitch=en View the full blog at its source
  8. Health monitoring is a very popular feature in smart watches, and Tizen provides various APIs for this purpose. One API is HumanActivityMonitor, which allows users to monitor health by providing metrics such as heart rate, step count, and stress level. This blog describes how to measure heart rate using this API. A sample web app combined with a widget is attached. This sample app measures heart rate and stores data by timestamp, and the widget shows the last measured heart rate. This blog focuses on how to measure heart rate using the device sensor, stored data, and communication between an app and a widget. Create and run a Tizen project 1. Create a project in Tizen Studio. Because our target is an app that is combined with a widget, select the Widget template to create this project. 2. Add the Tizen Advanced UI (TAU) framework library to your project. You can create and manage various UI functionalities using the TAU library as an alternative to designing a UI with HTML and CSS components. 3. Link the tau.circle.min.css and tau.min.js in the app’s index.html file. <link rel="stylesheet" href="lib/tau/wearable/theme/default/tau.min.css"> <link rel="stylesheet" media="all and (-tizen-geometric-shape: circle)" href="lib/tau/wearable/theme/default/tau.circle.min.css"> <script src="lib/tau/wearable/js/tau.min.js"> </script> Measure heart rate and manage data To measure heart rate using the HumanActivityMonitor API, add the following feature and privilege to the config.xml file: <feature name="http://tizen.org/feature/humanactivitymonitor"/> <tizen:privilege name="http://tizen.org/privilege/healthinfo"/> Applications must request a user’s permission for privacy-related features. The tizen.ppm.requestPermission() method invokes the permission pop-up. When users give permission through the pop-up, they can then use the app features related to that privilege. To measure heart rate, users must give permission to access the sensor using the following code snippet: function onSuccess() { function onchangedCB(hrmInfo) { console.log(‘heart rate:’ + hrmInfo.heartRate); tizen.humanactivitymonitor.stop('HRM'); } tizen.humanactivitymonitor.start('HRM', onchangedCB); } function onError(e) { console.log("error " + JSON.stringify(e)); } tizen.ppm.requestPermission("http://tizen.org/privilege/healthinfo",onSuccess, onError); Note that the HumanActivityMonitor API provides heart rate data directly in BPM (beats per minute). If you need the raw data of the sensor, you can use SensorHRMRawData. The following screenshots show how to measure heart rate using the sample app: The Web Storage API stores data in key-value format. This API offers two types of storage – Local and Session. In the sample, we use local storage, along with Date as key and heartRate as value. The Date key retrieves data according to date, week, and month. If you do not want to retrieve history according to date, you can use a different key, such as an integer value; just make sure there is no repetition in key value. Create a Date object to get the current time stamp. localStorage.setItem() puts the key (Date)-value (heartRate) pair in local storage. var date_key = new Date(); localStorage.setItem(date_key, hrmInfo.heartRate); To retrieve data, filter according to the key. Date and month are retrieved from the Date object and filter data using localStorage.getItem(localStorage.key(i)). var date = new Date(); var lastdate = new Date(localStorage.key(i)); if (lastdate.getDate() == date.getDate() && lastdate.getMonth() == date.getMonth()) { console.log(localStorage.key(i)+ " :" + localStorage.getItem(localStorage.key(i))); The following screenshots show how the history is categorized by day, week, and month: Communication between the app and a widget The sample widget shows the last measured heart rate value, and heart rate history is stored in the local storage of the web app. To establish communication between the app and widget, we’ll use the Preference API. The Preference API stores key-pair values, allowing web widgets to communicate with their parent apps. In the app, data is stored with ‘KEY’: tizen.preference.setValue('KEY', hrmInfo.heartRate); In the widget, data is retrieved using the same ‘KEY’: if (tizen.preference.exists('KEY')) { console.log(‘Last Measured: ‘ + tizen.preference.getValue('KEY')); } The following screenshot of the sample widget shows the last measured heart rate: Launch the app from a widget To launch an app from widget, add the following privilege to config.xml: <tizen:privilege name="http://tizen.org/privilege/application.launch"/> To launch an app, provide your app ID in tizen.application.launch(). tizen.application.launch(YourAppID); In the sample widget, the user taps Measure to launch the heart-rate measuring page or History to launch the heart-rate history page, and Preference can be used to determine which one is clicked. To implement, a different key-value pair is set for each page in the widget, and in the web app, key values are checked to detect which page is clicked. For example, in the widget, the open_measure key is set to 1 to link to the Measure Page. The app then launches. tizen.preference.setValue(‘open_measure’, 1); tizen.application.launch(YourAppID); The app checks for the open_measure key. If the key exists, the user is redirected to the Measure Page with tau.changePage(). window.onload = function() { if (tizen.preference.exists(' open_measure ')) { tau.changePage(YourPageID); } } You can also use the HumanActivityMonitor API to implement a step counter, stress level reading, GPS, and other features in your wearable device. Because enabling other features is similar to implementing the heart rate monitor, you can use this blog as a guide and the attached sampleHeartRateMonitor to enable a full range of health monitoring metrics to your Galaxy Watch. View the full blog at its source
  9. SDC19 is just over a month away, and we’re excited to announce more speakers and sessions. Join us and experience keynotes featuring renowned innovators like Vitalik Buterin, exciting sessions on new Samsung tools, and hands-on time with some of the latest tech. Hear From Blockchain Pioneer Vitalik Buterin Learn from one of the brightest minds in cryptocurrency and blockchain at SDC19. Ethereum creator and co-founder Vitalik Buterin will take the stage at our Spotlight Session and share how he created one of the most valuable blockchain platforms and what he’s working on as the leader of Ethereum’s research team. Don’t miss your chance to hear his story firsthand! Explore the Efficiency of NNStreamer NNStreamer allows on-device AI developers to easily implement applications and services with multiple neural networks, sensors, and preprocessors. It has high-bandwidth, a low-cost pipeline, complex topology, easy synchronization, and parallelism with multiple networks. During this tech session, learn about NNStreamer topics that range from extensibility and compatibility to sensor support and prototyping. Learn About Air Actions Air Actions are changing the app development game. The updated S Pen SDK lets devs enable Bluetooth LE-based gesture control with motion tracking, and it understands gestures and controls your device in brand new ways. This tech session will teach you how to integrate Air Actions into your app with Samsung’s open API. Dive Into TizenRT: A Reliable IoT Platform Since 2016, TizenRT has been constantly evolving. This session covers the platform’s most recent advancements to increase its IoT reliability. TizenRT now isolates applications, detects faults in each application, prevents those faults from spreading, and performs a restart or upgrade of the faulted application — all without disturbing other running applications. Devs who attend this session should know basic real-time operating system features. Analyze Samsung 5G and 6G Technology Explore the evolution of the 5G standard and services, and the vision for 6G. Samsung is one of the most influential companies in 5G standardization and commercialization. This tech session will introduce Samsung 5G tech and standard leadership. It will also cover the potential shape of the next wireless generation — 6G — and provide a comprehensive overview of the market and industry prospects over the next decade, and Samsung’s corresponding vision. We’ll See You There! Excited to learn new skills and get the scoop on emerging industry topics? Check out the full lineup of tech sessions and register today. Plus, follow us on social, and keep an eye on #SDC19 for the latest news and updates. View the full blog at its source
  10. The Samsung Developer Program has announced the launch of the Best of Galaxy Store Awards 2019! The inaugural Best of Galaxy Store Awards launched at SDC 2018 and acknowledged the best app, game, theme, watch face and watch app. Galaxy Store publishers selected for this prestigious award exemplify excellence in innovation, quality and creativity. Here is a look at what’s new with the Galaxy Store in 2019, including exciting new features, offering increased promotional opportunities for developers. With the addition of editorial pages, also known as Editor’s Picks, developers have the opportunity to see their apps featured in personalized app recommendations (which are automatically algorithm-generated relevant recommended apps) for the category a user is searching for. We talked with Ed Viejo, Director, Content & Services, Galaxy Store, and here is what we learned: Q. Tell us what is new with the Galaxy Store? A. So many exciting changes have happened with the Galaxy Store. Earlier this year we launched a new version. Not only did it bring a brand-new look but also a number of improvements as well as new features. From more personalized recommendations to enhanced search capability. Integration with Samsung Rewards give our users more ways to spend their earned points. However, the most exciting feature is our new editorial pages which enable us to craft stories to more effectively promote the unique content and apps available in the Galaxy Store. Q. Why did you launch the Best of Galaxy Store Awards? A. We believe the hardworking and dedicated community of developers are the heart of the Galaxy Store. Over the last few years the store has made some incredible strides forward and our developers have contributed to this success. Therefore, we wanted to recognize and reward the best work that this community has to offer because the store cannot exist without them. We are looking forward to recognizing those developers with the Best of Galaxy Store Awards 2019. Q: How can the Galaxy App store can help developers get new revenue streams and user acquisition? A. There are many resources available to publishers on the Galaxy Store to support the success of their apps. A key resource available to publishers is the Galaxy Store Badge. Samsung Developer Program members can create their very own Galaxy Store Badges that put their apps, watch faces, and themes center stage on their personal website, their branded media sites like Facebook, Twitter, YouTube, and drive customers to their Galaxy Store pages in a single click. Whether they’re running paid media campaigns or just promoting themselves on the web, Galaxy Store Badges can increase downloads by 7 times over organic search. TIP: Learn more about how to use the Galaxy Badge to promote through your own channels, improving discoverability and the opportunity to be selected as a Best of Galaxy Store 2019 winner. Q. What can winners of the Best of Galaxy Store Awards 2019 expect? A. This year we are looking to expand the number of categories to recognize even more developers. Some of the benefits winners will receive are additional personalized promotion within the store, best of 2019 app banner, an award and other partner recognitions that are still in the works. New this year we plan to do an editorial spotlight featuring of all the winners. Q. How can developers reach more customers across more devices with the Galaxy Store? A. In 2018, Samsung shipped more than 292 million smartphones worldwide. As the global leading smartphone vendor, Samsung is known for consumer products such as mobile devices, home entertainment systems and more. The Galaxy Store is a premium, one-stop-shop marketplace where our users can get the most out of their Galaxy devices tailored to their needs. Customers are looking for Wallpapers, Themes, Fonts and Galaxy Watch Faces to personalize their devices and give it a unique look that fits them. They use Stickers to make your messages fun. The Galaxy store helps these customers discover curated and Made for Samsung apps that are optimized for their device for the best user experience. Our goal is to help more developers reach more customers and delight end users by delivering experiences that blend with the intent of each device and service context. Q. What is next with the Best of Galaxy Store Awards 2019? A. Stay tuned to updates on the Best of Galaxy Store Awards 2019, including information on the selection process an expanded list of categories, interviews from some of last years’ winners, and tips and tricks on being selected. Q. When will the winners of the Best of Galaxy Store Awards 2019 be announced? A. Winners will be announced on October 29th at the Samsung Developer Conference in San Jose, California. View the full blog at its source
  11. This is the third post in the series covering Samsung’s participation in the MIT’s Medicine Grand Hack. You can find the first post here, and the second post here. The Promentia team was the Grand Prize Winner in the Mental Health and Professional Burnout track. Promentia’s project was an Alzheimer’s Disease prevention app, also named Promentia, with the tagline “Stay You.” Promentia accepting their award The team’s main point is that people do not realize that Alzheimer’s Disease is a highly delayable disease. More and more people are finding out that they are at higher risk of Alzheimer’s Disease as the popularity of at home genome services continues to rise. Promentia demoing their app They created a mobile prototype deployed on a Samsung Galaxy Note 9, and showed how they could use Samsung’s technology to develop a way to digitally enable ‪Alzheimer’s disease prevention.‬‬ By monitoring the results from blood tests for six specific biomarkers scientifically proven to correlate to the onset of Alzheimer’s Disease (hsCRP, Homocysteine, Fasting insulin, Hemoglobin A1C, Fasting glucose, and Vitamin D), sleep, and exercise, the app tailors personalized feedback. Personalized feedback provided by the app The full team This is the first product of its kind. Promentia’s goal was to make Alzheimer’s Disease prevention tactics more easily accessible to the general public, so you can Stay You. View the full blog at its source
  12. In my previous post I covered Samsung’s partnership with the Massachusetts Institute of Technology (MIT) and the Department of Veterans Affairs to host and sponsor the MIT’s Medicine Grand Hack, to foster creativity to solve some of the problems in the health care system. In this post I want to highlight one of the teams that participated in the hack: Insomniax. With the clarity of their focus, and how they integrated Samsung’s wearable devices in their pitch, they were able to stand out during the weekend’s activities and win the Department of Veteran’s Affairs award. The Insomniax team participated in the mental health and professional burnout track, and created an application that uses biometrics and self-reported data to develop personalized recommendations for veterans with mental illnesses, who have poor sleep quality. Their prototype highlighted the importance of having an easily accessible device that helps you tracking your daily routine and, with the help of an Artificial Intelligence system, gives you relevant advice to improve your quality of life. Insomniax showcasing their app The concept of the application they were working on was a way to combine data already collected by the Samsung Watch’s multiple sensors (things like heart rate, sleep, stress) along with a nightly questionnaire on activities/pre-sleep habits. The combined collected data then would be sent to a server with a REST API, then the system would process the data and revise the user’s recorded medical history to provide personalized recommendations on how they can get better sleep. The Insomniax Team Their demo was developed as a web app using Tizen Studio, and it was deployed on the Galaxy Watches that were made available to the Hackathon’s attendees. These kind of apps can take advantage of the advanced features included in the Samsung Watches, like the Human Activity Monitor, that gives you access to and record human activity data from various sensors and recorders on the device. View the full blog at its source
  13. Samsung Electronics is in partnership with the Massachusetts Institute of Technology (MIT) and the Department of Veterans Affairs, Veterans Health Administration (VHA) to foster creativity and innovation to solve health care big problems, with the help of modern technology. As part of this partnership, we recently hosted the MIT Hacking Medicine Grand Hack in Washington DC. Just like the Boston event held in June, this hackathon differed from other developer events in a few important ways: The interdisciplinary focus was obvious from the moment teams were formed, just after the keynote on Friday. Feasibility and business viability were integral to all pitches. But most importantly, there was no need to code and all projects were problem-centered work or covered real user needs. The three-day event started on August 2nd and was hosted in Samsung’s Solutions Center in Washington D.C. During the weekend students, engineers, designers and developers participated in one of the three tracks forming groups, and bringing their diverse views and backgrounds to offer new solutions to problems that affect the lives of millions of people in America. These were the three tracks that participants could be part of: Access to health care Mental health and professional burnout Rare and orphan diseases. Each track had a winner, and sponsors and partners also awarded teams that showed promising ideas. Samsung provided Galaxy Note9 phones and Galaxy Watches to allow teams experiment and find out the best way to integrate the different sensors and SDKs into their own projects. We saw some creative uses of Samsung technologies and genuine desire to improve the health care system leveraging modern technology. The Key Watch team won the Samsung Breakthroughs That Matter Award in the Rare and Orphan Diseases track. This team was distinguished not only for the clarity of their project, but also for their enthusiasm to incorporate Samsung technologies in their pitch. The Key Watch team with Christopher Balcik, Samsung Vice President of Federal Government Business During the weekend, the team developed a way to monitor response to medication to tackle misdiagnosis of Parkinson’s disease vs drug-induced parkinsonism (DIP), which is the second most common cause for parkinsonism. While displaying similar symptoms, a rare disease requires an entirely separate treatment process. Additionally, up to 15% of Parkinson’s disease patients have the rare variant DIP, so, Key Watch’s solution could improve the life of tens of thousands, just in the US. Their envisioned system would work like this: A patient having parkinsonism symptoms would come in to consult with the doctor on an actionable plan for their treatment. Because Parkinson’s Disease accounts for 85% parkinsonism cases, they are likely to be classified as having Parkinson’s disease (PD). They are given treatment for PD and monitored – if their symptoms get better, as detected by Key Watch’s platform, then that would support their diagnosis. However, if the patient actually has DIP, the PD medication would have little to no effect, and through Key Watch’s continuous monitoring tool doctors can quickly intervene and pivot the treatment protocol. After enrolling on the platform, Key Watch would have continuous feedback on the patients tracked symptoms over time, which enables the doctor to effectively adjust the drug dosage. Key Watch: The full team The Key Watch members looked into the different sensors that the Samsung Galaxy watches could provide them, and focused on the gyroscope and the accelerometer APIs, that would give them data from a patient’s movements, including tremors and slow movement. With enough data, and medical experience, the proposed system would be able to detect the source of a patient’s movement abnormalities. To learn more about how you can get access to the Samsung wearable devices sensors, visit the Samsung Developer Program and start creating your own apps now. Stay tuned for more information about this event in the coming weeks! View the full blog at its source
  14. You can’t really change the weather using Galaxy Watch Designer (GWD). However, GWD version 1.7.1 introduced the ability to design a watch face that uses a button to display weather content in various units on the watch face. The temperature unit selector lets users change the temperature unit. Previously, you could set the Auto-refresh time of any weather data; now the update weather data feature allows users to update weather information, which is provided by OpenWeatherMap, whenever they want. Get Started The temperature unit selector and update weather data features both require the use of weather components. However, keep in mind the following limitations with using any weather components in GWD. Avoid using the following with weather components: In-App Purchase Tag expression Text elements: Steps % Step counts Steps goal Speed Burned calorie Moved distance Heart rate Water intake Caffeine intake Floor You must use a weather API key to facilitate the use of any weather component. For more details, see this section. Note: The Weather API can determine a watch’s location to show the current weather data, but it can’t detect your location on the Galaxy Watch Designer tool. To see the current weather data on the GWD tool, select your location manually from Edit > Preferences > APIs > Current location > Select location. Temperature Unit Selector The Text > Temperature element displays the current weather temperature on your watch face. The temperature unit selector enables you to select the temperature unit (Celsius, Fahrenheit, or Kelvin). To create a temperature unit selector on your watch face: From the sidebar, click Text > Temperature: A dialog box opens, warning you of the limitation of using this element. Check Do not show again if you understand the limitation, and click OK. We recommend: Don’t check Do not show again, so you’ll be reminded of the limitations the next time you use this element. From Properties, click the Set as Button menu option. From Properties > Action, click Action > Interaction > Tap, and then set Action to Change Temperature Unit. Update Weather Data Follow these steps to add the update weather data feature: From the sidebar, click Text > {any weather type}. From Properties, click the Set as Button menu option. From Properties > Action, click Action > Interaction > Tap, and then set Action to Update Weather Data. Test the feature Test your ability to modify weather content using the attached sample GWD file. Tap on the temperature text to change to another unit. If it is not the unit you want, tap again. Because there are three temperature unit options, you must tap twice to cycle through the units (see Figure 1). Figure 1 Tap on the update weather data button for the latest weather data (see Figure 2). In this figure, the last time data was updated was at 09:40. Figure 2 To check weather on a real device, make sure your watch is connected to the Internet, and location services are enabled. View the full blog at its source
  15. Last month, the Samsung Galaxy GameDev team attended Develop: Brighton – the UK’s biggest developer-focused games industry event. The sun-kissed conference showcased the best local talent, with some fantastic experiences from indies and big publishers alike. I particularly enjoyed nDreams’ showcase of their upcoming VR game Phantom: Covert Ops – it looks set to be the biggest kayaking stealth shooter of the year! Samsung was out in force at the event with two business staff and two technical staff, along with yours truly. We spent most of the time having meetings on the beach in the delightfully bright sunshine. I’m leaving a note to myself that breakfast beachside chats are my new favorite way to spend a work trip! It was particularly lovely to see ex-colleagues and friends from SEGA, Sony, Jagex, Miniclip, and Sumo Digital while hanging out in the bar. Though I can’t go into great detail about what we discussed behind closed doors, believe me when I say the UK has some incredible products coming to mobile over the next couple of years. I am not talking your typical hyper-casual games either – core gaming might be seeing a bit of a shakeup very soon! Another show highlight was the Develop: Star Awards, which featured industry heavy hitters like Gabe Newell and Sean Murray, and of course, many excellent games. While we were too busy networking to attend any sessions, there were many interesting topics discussed during the conference. Three of the speakers that caught my eye were: In-game Content Generation Using Machine Learning (Raheel Yawar) MMObile: Bringing Old School RuneScape to Smartphones (Christopher Knowles) Next Gen VR – What Developers Need to Know (Andrew Ayre/Alvaro Barua) It would be remiss of me not to mention the social side of Develop: Brighton, as it is part of what makes the conference so popular. We managed to get along to the GamesIndustry.biz party on Wednesday night and what a turn out it was. The warm night was filled with energy & laughter, with some excellent new connections made and far too many cheeky lemonades. I can’t tell you how grateful I was to MAG Interactive for providing free bacon rolls the morning after. If you were there, then thank you for being part of such a great event. If you weren’t, I strongly recommend you come along next time – I may even buy you a beachside breakfast! View the full blog at its source
  16. Samsung Developer Conference is coming up fast! From October 29 – 30, the industry’s top tech leaders will cover topics from AI to IoT to blockchain. We just announced the first wave of sessions! Check out some highlights below: Secure Your Decentralized App with Samsung Blockchain Keystore Samsung Blockchain Keystore on the Galaxy S10 addresses the vulnerabilities of using blockchain tech on your phone. During this session, learn about blockchain from the most innovative industry thinkers, and dive into Samsung Blockchain Keystore’s overall architecture and security features. Haven’t used the Blockchain Keystore SDK before? No problem. This session walks you through how to integrate it into your app. Explore Progressive Web Apps and the Evolution of the Web Building and distributing apps using web tech just got easier. Progressive Web Apps (PWA) leverage new capabilities to better integrate your app into the OS. Learn about new features and tools during this in-depth session, and hear from Samsung experts and partners about how PWA can benefit from WebAPK, OneUI CSS, and more. Optimize Your Mobile Game with Vulkan During this session, hear from the Galaxy GameDev team as they share tips and tricks about Vulkan optimization. Plus, explore case studies and best practices from past and present game partner collaborations. Dive Into Knox Partner Program and Knox Dev Tools Learn about the Knox Partner Program and how Samsung’s mobile enterprise partner program supports partners and devs with the right resources and B2B dev tools such as EMM, Mobile Threat Detection, Remote Control, and Secure Voice. Discover the Next Phase of IoT Engagement and Growth There are lots of exciting things in store for the SmartThings IoT business platform. Explore future services and offerings, and find out how to join the SmartThings community. This session presents improvements made to the IoT environment to improve business growth for partners and devs. These are just five sessions of many. Check out the rest on the SDC19 website and stay tuned for more coming soon! In the meantime, register today and save $150 with early bird pricing. View the full blog at its source
  17. SIGGRAPH, inaugurated in 1974, is the largest general-purpose computer graphics (“…and interactive techniques”) technical conference in the world. Since 1999 I’ve visited whenever I can. There’s a lot of focus in off-line production rendering and desktop graphics, and I find that the latest research, techniques, and technology eventually percolate to real-time and mobile devices. It’s also inspiring to see advances in state of the art. If you see a talk like “Fractional Gaussian Fields for Modeling and Rendering of Spatially-Correlated Media” and think “ooh!” SIGGRAPH is the conference for you. Pixel gets ignored by an attendee at the South Hall entrance This year the conference returned to Los Angeles. It was the largest since 2012, with 180 exhibitors and 18,700 attendees. No longer bigger than GDC, and less than half the size of my first SIGGRAPH, but still a reassuring upward trend. Several sessions were heavily over-subscribed – notably the always-popular “Advances in Real-Time Rendering” course (with a “…for games” suffix the last couple of years), and the NVIDIA “Deep Learning for Content Creation and Real-Time Rendering” session. Packed sessions were made more uncomfortable by poor air conditioning, so I was glad to have been acclimatized by the brief heatwave in the UK. Mobile sessions were relatively sparse this year – although Google had several interesting papers, mostly in the area of computational photography. Unusually, Apple presented vendor sessions on RealityKit and Metal. Virtual reality remained popular, with the now-annual VR Theatre and several examples in the Emerging Technologies area. While neither phone vendors such as Samsung nor mobile GPU vendors like Arm and Qualcomm had exhibitor booths this year, engineers were present in force. In contrast, game engine titans Unity and Epic were highly visible on the show floor, as were the perennial motion capture rigs – which are becoming more effective, real-time and commoditized for game developer use. The annual Real Time Live session goes from strength to strength. Notable this year was an encore appearance by Level Ex, demonstrating real-time ray tracing on mobile, although not necessarily rendering what you might expect. I was pleased to see both awards for the participants go to the very cool AI technology GauGAN, co-developed by Chris Hebert, a Samsung UK alumnus (see image below). GauGAN (draw the image on the left, get the image on the right, AI is scary) There is usually a hot research topic at each SIGGRAPH which dominates the technical sessions. Unsurprisingly, after last year’s announcement of DXR and this year’s reveal of the NVIDIA Turing architecture, there was a heavy focus on ray tracing. One could spend almost the entire conference in ray-tracing sessions and still miss some. Dedicated ray tracing hardware has expanded the number of game engines using true ray casting, increasing developer productivity. Although increasing GPU speed has allowed selective ray-traced effects for some years now, research is currently very active. The importance of appropriate sampling and ray types in practical engines was stressed to non-expert developers, and there was a public claim that ray tracing would be ubiquitous in five years. Still, even with a Titan RTX, current ray-traced scenes were often visibly noisy. Technology has advanced, but not infinitely. While there was some evidence of this in previous years, there was a big step forward this time in noise reduction: blue noise, temporal AA, and especially machine-learning denoising networks. Some of the denoising networks can achieve remarkable results with a minimal number of samples; others are in active use by film studios to improve preview times. Currently, the most effective techniques are computationally costly, but EA discussed how best to combine real-time approaches in the PICA PICA demo, and NVIDIA discussed denoising in Quake II RTX. We are some way from mobile-ray-tracing being viable for general use, but the results achieved with such limited ray throughput are starting to convince me that it should be on everyone’s radar, especially with machine learning hardware taking off. I think we’ll be busy with the rasterizer for a while yet, though! Exhibition floor and Geek Bar It wasn’t all ray tracing. Motion capture, learned character motion, and simulating real-world surfaces all got their time, along with advances in fluid and collision modeling. SIGGRAPH typically has several parallel tracks and usually manages to have at least two talks you’d like to see at any given moment, not counting the customary papers that are cool, but you’ll never need to use. Fortunately, the technical papers fast-forward session was available to provide an overview of everything (with traditional damage to the Stanford bunny and armadillo models). It’s too bad the reduced presentation times this year made it disappointingly more serious than usual. Usually, the Computer Animation Festival lightens things up a bit. Alongside the showcase of major studio work, there were some examples of the traditional dark humor: Wild Love and Stuffed, as well as the inappropriate comedy of Kinky Kitchen. This year the organizers seem to have felt the need to have a message in a lot of the pieces, though. Igor Coric’s “Passage,” The Stained Club, Hedgehog, and The Tree were all moving, but hardly uplifting, and I left slightly shell-shocked. Even if more political than usual, the festival did at least maintain the tradition of something weird. Cap’s Shield – Marvel Studios (Production Gallery) Victoria Alonso, executive VP of production at Marvel Studios, gave this year’s keynote. She endeared herself to the audience by saying she was a long-time SIGGRAPH attendee, and further won over a subset of the crowd by saying she wanted to keep film production local to Los Angeles. Unfortunately, I was I bit less enamoured of her admitted dislike of comics and fixation on the record earnings of Avengers: Endgame — but I suppose film producers don’t have to be geeks like me! Several Marvel costumes did make it to the Production Gallery for the second year running, which was cool to see.  In contrast, I had the privilege to catch Katie Bouman (above), of the Event Horizon team, giving her “Imaging a Black Hole with the Event Horizon Telescope” talk. The audience of image-processing and computer-vision professionals really appreciated this session. Finally, the Khronos Group gave a well-attended round-up of the state of their APIs. Their after-party was unusually filled with many new faces – apparently due to the launch of the company’s “3D Commerce” initiative. The sun sets on another SIGGRAPH And so another SIGGRAPH came to an end. Next year SIGGRAPH hits Washington DC, which at least means my flights will be cheaper and shorter. I hope to see you there! View the full blog at its source
  18. On Wednesday, August 7th, Samsung unveiled the Galaxy Note10 in New York City. Now in two sizes, these powerful phones pack a variety of features for productivity and creativity. Most interesting for developers is the evolution of the S Pen and the introduction of Air Actions. While the Note9 allowed developers to leverage a single- or double-click of the S Pen to control apps, the new S Pen has both a gyroscope and an accelerometer. Air Actions let developers use gestures to enhance app functionality by detecting basic movements. Furthermore, the full S Pen Remote SDK gives devs access to raw data, enabling you to capture complex movements. Whether your app requires users to swipe right, cast magic spells, or engage in a lightsaber battle, the updated S Pen SDK has you covered. I know you’re thinking “that’s impossible, even for a computer!” but it’s true! Want to conduct a symphony? Perfect your golf swing? Now you can with the Note10. The Note10 also extends the capabilities of DeX by making it easier for users to access mobile capabilities on a PC or Mac. Developers can learn more about optimizing their apps for DeX on the developer portal. Galaxy Watch Active2 The newest addition to the Galaxy Watch portfolio is the Galaxy Watch Active2. It combines the best features of the original Galaxy Watch with those of the Galaxy Watch Active by bringing back the rotating bezel, this time in digital form. Users can disable the touch bezel, so check out our user-interface guidelines to ensure you know how to support the rotating bezel, touch bezel, and bezel-less devices in your apps. Designers can continue to be creative and build beautiful custom watch faces for the Galaxy Watch Active2. Learn more about Galaxy Watch Designer and unleash your creative juices. You might have caught the moment during Unpacked where they showed someone taking a group selfie from their phone by simply tapping an app on their watch. Apps like this are built with Tizen, which supports native, web, and .NET development. Last year’s Best of Galaxy Store Watch App winner was Kemas Dimas, who created a wrist camera app that does just what you saw onstage. If you’re in San Francisco on August 22, we invite you to register now and join us at an event focused on growth and innovation in the wearable device market. You’ll hear from Samsung and partner experts in the health and wearable space, and we’ll be previewing the new Galaxy Watch Active2. Galaxy Tab S6 We also highlighted the new Galaxy Tab S6. Like the Note10, it supports Bixby. Developers can start building Bixby capsules today. The Tab S6 also supports the new Air Actions and full S Pen SDK.  If you didn’t catch Unpacked live, or want to watch it again, the full video replay is above. You can also check out the Samsung Newsroom for more on the day’s announcements. See these products in action and learn more about all of the different SDKs and tools available for developers and designers at this year’s Samsung Developer Conference! Register by September 27 to capture early bird prices. Do or do not. There is no try. View the full blog at its source
  19. In April, Samsung Galaxy GameDev went to Croatia for Reboot Develop Blue. We sent two technical staff and an account manager for a whole host of activities, and I’ll admit that we looked at the event (which is new to us) as a rather speculative attempt to connect with game developers. After all, Reboot previously had no technical track and has only been running for a handful of years; maybe it would turn out to be a non-event. But Reboot managed to exceed all our expectations. We had approximately 60 seriously-interesting and highly-competent game developers in our sessions. Alon Or Bach, who heads our Vulkan standards effort, did a great job in a talk on advanced Vulkan programming techniques, which are used in Croteam’s Serious Engine for Mobile. Alon then went on to host a panel discussion on the merits of Vulkan. This panel featured some lively and informative input from Karlo Jež from Croteam, Christian Forfang from ARM, and Graham Wihlidal from EA’s SEED group.  Quiz Time! Watch the above video of Alon presenting at Reboot, then answer the following multiple-choice questions (scroll to the end of the blog the answers). 1. What is the most significant performance gain you can reasonably expect to see when you completely fix some badly-chosen pipeline barriers in a trivial Vulkan app? a. 25% b. 50% c. 100% d. Nothing, there’s no such thing as a badly-chosen pipeline barrier. 2. In general, what’s the preferred draw order for opaque geometry in Vulkan? a. Left to Right b. Right to Left c. Top to Bottom d. Bottom to Top e. Front to Back f. Back to Front g. Some other order that isn’t listed here. 3. In terms of texture formats, why is a “Tiled” buffer generally preferred to a “Linear” buffer? a. Samsung’s Tiling architectures store Tiled buffers on chip. b. Reducing power consumption is more important for mobile devices than protecting bandwidth. c. There’s a bug in the driver. d. Ha! It’s a trick question! Tiling isn’t preferred. e. Texture fetches cooperate better with the cache that way. 4. To make sure you were paying attention — and for two special bonus points — What animal did Alon reference in his talk, and why? On the account management side, David Pither spent most of his meal and coffee breaks over the three days having enlightening conversations with both developers and publishers who might benefit from collaborating with Samsung’s Galaxy GameDev group. It was business networking at its best, and we came back with a long list of action items which has kept David busy for weeks. David also set up conversations with folks that we regularly work with like Sega, Croteam, and EA. It’s always good to keep in touch with the big boys of gaming. We now know more about their technology and publishing roadmaps, which means we now know more about how we can help. My trip home was a bit of a disappointment. Getting home roughly 15 hours late isn’t high on my list of “Fun ways to start a holiday,” but it certainly won’t stop me (and more importantly) Samsung from going back next year. In fact, my enthusiasm levels for the Reboot events are so high that we plan to attend the Reboot Develop Red event in Banff in October. And of course, we’ll be back in Croatia next spring. Hopefully, we’ll see you there as well! Reboot Blue, and Reboot Red – they’re both firmly in our calendar from here on. Soon we’re going Reboot Purple. We’re adding a lot more technical info over the coming months, so make sure you revisit the blog soon to learn more about Vulkan. In the meantime, to keep you going: A gentle intro: vulkan-tutorial.com/Introduction A set of beginner’s guides: khronos.org/blog/beginners-guide-to-vulkan Getting in deep: khronos.org/developers/library/2019-vulkanised-is-back (.pdf format) youtube.com/user/khronosgroup (videos) Quiz Answers 1: C 2: E 3: E 4: A hedgehog – because Alon’s fellow speaker’s name is “Karlo Jež” and Jež is Croatian for Hedgehog! View the full blog at its source
  20. Samsung Developer Conference is Where Now Meets Next. It’s two days of learning and inspiration where Samsung introduces new technology for the now and a greater vision for what’s next. Join fellow developers to imagine future possibilities and master the skills to realize them. At last year’s conference, Samsung broke barriers and redefined technology with announcements on One UI, Bixby Developer Studio, and more. Plus, devs learned about the latest SDKs directly from Samsung engineers during hands-on code labs. Technical sessions provided more updates on a range of topics, including Bixby and the New Exponential Frontier of Intelligent Assistants, which was one of the most attended sessions in 2018. Key leaders from the Samsung team broke down what Bixby was, why it was different, how to capitalize on it, tips for integration, and more. SDC19 Will Be One for the Books SDC19 will once again operate at the intersection of now and next with two days of exciting code labs, demos, technical sessions, and keynotes with the industry’s leading experts. Discover the latest in tech with groundbreaking sessions on Bixby, AI, blockchain, wearables, and more. Every element of this year’s conference is about the developer experience, including the brand identity. For SDC19, emoticons were created out of programming code — a playful representation of the developers, creators, technologists, and Samsung pros that make up the conference’s diverse audience. Emoticons symbolize what tiny bits of code can create when thoughtfully assembled. Get Early Bird Pricing Grab your spot today for Samsung Developer Conference and save $150! Don’t miss your chance to experience cutting-edge technology, network with tech leaders, and learn Samsung’s latest dev tools first-hand. See you there on October 29–30 at the San Jose Convention Center. Already registered? We can’t wait to see you! In the meantime, follow us on Facebook, Twitter, LinkedIn, and Instagram for the latest updates on sessions, speakers, and more. View the full blog at its source
  21. At GDC 2019, Arm and Samsung were joined on stage in the “All-in-One Guide to Vulkan on Mobile” talk to share their learning from helping numerous developers and studios in optimizing their Vulkan mobile games. In tandem, Arm released Vulkan Best Practices for Mobile Developers to address some of the most common challenges faced when coding Vulkan applications on mobile. It includes an expansive list of runnable samples with full source code available online. This blog series delves in detail into each sample, investigates individual Vulkan features, and demonstrates best practices of how to use them. Overview Setting up a Vulkan swapchain involves picking between options that don’t have a straightforward connection to performance. The default options might not be the most efficient ones, and what works best on a desktop may be different from what works on mobile. Looking at the VkSwapchainCreateInfoKHR struct, we identified three options that need a more detailed analysis: presentMode: what does each present mode imply in terms of performance? minImageCount: which is the best number of images? preTransform: what does it mean, and what do we need to do about it? This blog post covers the first two points, as they are both tied to the concept of buffering swapchain images. Surface transform is quite a complex topic that we’ll cover in a future post on the Arm community. Choosing a present mode Vulkan has several present modes, but mobile GPUs only support a subset of them. In general, presenting an image directly to the screen (immediate mode) is not supported. The application will render an image, then pass it to the presentation engine via vkQueuePresentKHR. The presentation engine will display the image for the next VSync cycle, and then it will make it available to the application again. The only present modes which support VSync are: FIFO: VK_PRESENT_MODE_FIFO_KHR MAILBOX: VK_PRESENT_MODE_MAILBOX_KHR We will now each of these in more detail to understand which one is better for mobile. Figure 1 shows an outline of how the FIFO present mode works. The presentation engine has a queue (or “FIFO”) of images, in this case, three of them. At each VSync signal, the image in front of the queue displays on screen and is then released. The application will acquire one of the available ones, draw to it and then hand it over to the presentation engine, which will push it to the back of the queue. You may be used to this behavior from other graphics APIs, double or triple buffering – more on that later! An interesting property of the FIFO present mode is that if the GPU can process images really fast, the queue can become full at some point. When this happens, the CPU and the GPU will idle until an image finishes its time on screen and is available again. The framerate will be capped at a stable 60 fps, corresponding to VSync. This idling behavior works well on mobile because it means that no unnecessary work is performed. The extra CPU and GPU budget will be detected by the DVFS (Dynamic Voltage and Frequency Scaling) system, which reduces their frequencies to save power at no performance cost. This limits overheating and saves battery life – even a small detail such as the present mode can have a significant impact on your users’ experience! Let us take a look at MAILBOX now. The main difference, as you can see from Figure 2 below, is that there is no queue anymore. The presentation engine will now hold a single image that will be presented at each VSync signal. The app can acquire a new image straight away, render to it, and present it. If an image is queued for presentation, it will be discarded. Mobile demands efficiency; hence, the word “discarded” should be a big red flag when developing on mobile – the aim should always be to avoid unnecessary work. Since an image was queued for presentation, the framerate will not improve. What is the advantage of MAILBOX then? Being able to keep submitting frames lets you ensure you have the latest user input, so input latency can be lower versus FIFO. The price you pay for MAILBOX can be very steep. If you don’t throttle your CPU and GPU at all, one of them may be fully utilized, resulting in higher power consumption. Unless you need low-input latency, our recommendation is to use FIFO. Choosing the number of images It is now clear that FIFO is the most efficient present mode for mobile, but what about minImageCount? In the context of FIFO, minImageCount differentiates between double and triple buffering, which can have an impact on performance. The number of images you ask for needs to be bound within the minimum and maximum images supported by the surface (you can query these values via surface capabilities). You will typically ask for 2 or 3 images, but the presentation engine can decide to allocate more. Let us start with double buffering. Figure 4 outlines the expected double-buffering behavior. Double buffering works well if frames can be processed within 16.6ms, which is the interval between VSync signals at a rate of 60 fps. The rendered image is presented to the swapchain, and the previously presented one is made available to the application again. What happens if the GPU cannot process frames within 16.6ms? Double buffering breaks! As you can see from Figure 5, if no images are ready when the VSync signal arrives, the only option for the presentation engine is to keep the current image on screen. The app has to wait for another whole VSync cycle before it acquires a new image, which effectively limits the framerate to 30 fps. A much higher rate could be achieved if the GPU could keep processing frames. This may be ok for you if you are happy to limit framerate to 30 fps, but if you’re aiming for 60 fps, you should consider triple buffering. Even if your app can achieve 60 fps most of the time, with double buffering the tiniest slowdown below 60 fps results in an immediate drop to 30 fps. Figure 6 shows triple buffering in action. Even if the GPU has not finished rendering when VSync arrives, a previous frame is queued for presentation. This means that the presentation engine can release the currently displayed image and the GPU can acquire it as soon as it is ready. In the example shown, triple buffering results in ~50 fps versus 30 fps with double buffering. The sample Our Vulkan Best Practice for Mobile Developers project on Github has a sample on swapchain images, that specifically compares double and triple buffering. You can check out the tutorial for the Swapchain Images sample. As you can see from Figures 7 and 8, triple buffering lets the app achieve a stable 60 fps (16.6 ms frame time), providing x2 higher frame rate. When switching to double buffering the framerate drops. We encourage you to check out the project on the Vulkan Mobile Best Practice GitHub page and try this or other samples for yourself! The sample code gives developers on-screen control to demonstrate multiple ways of using the feature. It also shows the performance impact of the different approaches through real-time hardware counters on the display. You are also warmly invited to contribute to the project by providing feedback and fixes and creating additional samples. Please also visit the Arm Community for more in-depth blogs on the other Vulkan samples. View the full blog at its source
  22. The Samsung Galaxy S10 5G has now arrived in the U.S. That means that now is a great time for forward-thinking developers to target this device in anticipation of upcoming growth of 5G technology. As a technologist at Samsung, I am very excited about the possibilities created by 5G, and have been investigating how we can build a foundation to create 5G apps and games on the S10 5G. What’s so special about 5G? You may know it’s another generation of network transfer standard faster than the 4G/LTE speed we are used to now. While that is true, it overlooks the extent of the technological advance of this generation. It’s exponentially faster than 4G and has lower latency. These upgrades will both enhance and empower a whole set of technologies previously unfeasible. As a global leader of 5G devices, we will guide you through upcoming Android APIs and common practices to: Check for and test for 5G capabilities Monitor real-world device connection speed App design considerations to take advantage of 5G speed For example, the most straight-forward use case of mobile networks is watching videos on the go. Prior to 4G, the slow speed and low resolution supported by 3G resulted in poor experiences. Now 5G enhances the video resolution even further, producing film-like experiences. However, as is the case in the current 4G era, your device will not always be at 5G. Your connected speed could be affected by a number of factors. What do these varying factors mean to the application developer who’s working with videos? Ideally, depending on the actual connection speed, an appropriately sized video stream should be sent to the user. If instead you always stream the highest definition version, the video will inevitably lag and result in a bad experience. Don’t worry, as long as you follow the tip below, this won’t be a problem for you or your users. Stating with Android Q, there are capabilities to detect actual connection speed. A developer will use the class: NetworkCapabilities While this may seem like another long, complex class with many options, the functions of interest to a 5G developer are: getLinkDownstreamBandwidthKbps() This returns downstream bandwidth measured in kilobytes-per-second. A developer can poll this value periodically to gauge actual connection speed. They can then route appropriately-sized streams to the end user. NetworkCapabilities.NET_CAPABILITY_NOT_METERED This indicates that the end user has not set, or doesn’t have a connection limitation imposed upon them, thus bandwidth isn’t a cost factor to the end user. If this flag were false, a developer might want to warn the user and give them steps to handle the situation appropriately. Otherwise, the user may misplace blame of any video stoppage on the developer. The exact strategies of monitoring and switching to non-5G mode are usually the same whether you develop a video app or competitive networked game, with customizations on frequency and indication to the user. Overall, it is not a daunting task and does not interfere with your app’s structure. At Samsung we are eager to help developers succeed on our platforms. This is only the first of many guides we have planned to assist you in preparing your apps to take advantage of 5G. For more developmental resources on 5G and Samsung in general, please go to developer.samsung.com. We are excited to have you onboard. View the full blog at its source
  23. A key component of theme design is custom icons. These icons can launch apps like email, camera, and music, and are also used as weather app symbols and user-interface indicators throughout a theme. Icons are a great way to show off your design skills, enhance your theme concept, and set your design apart from others. They can be sold as Icon Packs or as part of a Galaxy Theme on the Galaxy Store. In this article, you’ll find some useful tips for both prospective Galaxy Theme designers and current designers on how to create custom theme icons. Becoming a Samsung Theme Partner Only those who have been accepted into a Samsung Theme Partnership can design and sell themes on the Galaxy Store. You can learn more about how to apply for a theme partnership by reading How to Submit a Galaxy Themes Portfolio. You can download the Theme Editor software and start customizing the icons in your theme design once you’re a part of the program. Customization When building a theme there are many opportunities to replace the default icons, buttons, and indicator symbols with customized graphics. However, only the icons in the Icon Pack have to be customized when you submit a theme for approval. The theme will be rejected if the default icons are not replaced with customized icons. Non-Customizable Icons Certain icons cannot be changed. These icons include third-party apps like YouTube and Facebook, or system apps like Smart Switch and Optical Reader. However, you can still add a custom background or frame to these icons by using the Icon Tray feature. Read below for more information on Icon Trays. Icon Design Tips Download Default Icons. If you would like to have example files of the default icons, download by right-clicking one of the icons in the UI preview window and selecting [Download]. To download all of the icons, right-click and select [Download All]. Size and Resolution. Icons within the Icon Pack must be 144 pixels square in size, with a screen resolution of 72ppi. Color Mode. The document image color mode for icons must be either grayscale or RGB. Adobe Illustrator. Use a vector-based program like Adobe Illustrator to easily edit or enlarge your icon artwork without losing quality. Adobe Photoshop. If using a bitmap-based program like Adobe Photoshop, place vector artwork as smart object layers. This allows the artwork to be enlarged without losing quality. Document size. As mobile device screens improve, the Themes Editor software may increase the required size for app icons. Start with a larger document size that can be easily reduced to 144 pixels. Example: A 576 pixel document can be reduced to 144 pixels when multiplying by 25%. Designing at a larger size ensures that you have master files that can be exported larger than 144 pixels in the future. JPGs & PNGs. Even though icons can be imported into Theme Editor as JPGs or PNGs, I would suggest PNGs to allow for transparent backgrounds. Color Palette. Icons are easy to read at a quick glance when fewer colors are used. Create a simplified, cohesive color palette with enough background contrast so that your icons can be seen. Icon Tray Use the Icon Tray feature to add a background or frame to your Icon Pack apps. The Icon Tray displays an additional image independent of the icon image within the app. This is helpful when adding a similar background, or to frame third-party and system app icons that cannot be customized. To use the Icon Tray feature, click [Icon pack] in the sidebar and then [App icons]. Then, click anywhere in the UI Preview Window that is not within the dotted-lined rows of icons to display the Icon Tray builder window. Select [All Apps] if you would like every app in the UI theme to have the same custom background. Select [Unassigned Apps] to add a custom background to the app icons that cannot be customized. When choosing this option you must still replace the icons that can be customized. Weather Widget Icons The Weather widget consists of 27 icons, one for each weather condition. Even though it is not required to change these symbols, doing so is a great way to create a unique theme. To access the Weather widget, click [Home screen] in the sidebar and then [Partly Sunny] in the default UI screen window. Take note that the size of the icons are 219 x 219 pixels. Calendar App Icon There are two options to customize the calendar app. The first is to upload a custom icon that symbolizes a calendar. The second option is to create a Live icon that shows the current date on top of a custom icon background. 1. To create a Live icon, click [Icon pack] in the left sidebar and then the [Calendar app icon row] in the default UI screen window. 2. Click the [default icon] to the right of the Calendar app to replace the app icon. Once replaced, the option to add a Live icon will appear. 3. Click [Live icon] to open the icon builder. In this window you can add a calendar background image, and set the font color for both the day of the week and day of the month. Both font colors must be changed from the default font colors. If not, the Save button will not be active. If you do not want the day of the week to appear, set the font color opacity to 0% in the middle option of the three customizable sections. If you would like the style of the standard calendar icon to match the style of the Live icon, place a checkmark next to [Set the current preview as a normal]. If not, an icon image must be uploaded for the normal calendar icon. Free Icons For Free Themes If you would like to offer a free theme and are looking for free icons, you can download different public icon packs by logging into your Samsung Account and visiting the Themes page. These free icons are only available to those who have been accepted as a Theme Partner. Each icon set is a Photoshop file with embedded smart object icons. You can customize and save icons individually. Uploading Icons Click the image button to the right of each icon to upload an individual icon. Click the “Add All” folder button in the upper right of the icons window to add a group. If using the “Add All” feature, file names must match the names the default icons. Bad Design The majority of Theme Partnership applications are rejected because: Icons are not customized Backgrounds make the icon too difficult to read Symbols do not correlate to their specific app Icons are poor quality Below are examples of bad icons: Final Design Thoughts Your icon designs have the greatest impact on the look of your theme design and give it unique characteristics. True for all aspects of UI design, clean and simple is the approach you should take when designing app icons. They should be easy to read not only at first glance but also when distinguishing between other apps on the same UI screen. Testing the readability of your apps at actual size is very important. It is highly suggested to either view your theme on a mobile phone or print out your theme at actual size. Stepping back and quickly glancing allows you to determine if your icons are designed well and that it’s easy to understand what they represent. For tips on designing themes, be sure to read the blog Design Tips: Galaxy Themes. If you are not familiar with 9-patch images or the 9-patch editor, please read the blog Use The 9-Patch Editor To Create Responsive Galaxy Themes Components. View the full blog at its source
  24. Registration for Samsung Developer Conference 2019 is now open! Join more than 5,000 innovators, developers, technologists, and content creators to explore the next wave of intelligent tech. If you enjoy meeting and collaborating with industry leaders and world-renowned speakers, then SDC19 is for you. The two-day conference will be packed with code labs, demos, technical sessions, and keynotes from Samsung executives and the industry’s most-innovative thinkers. You’ll get hands-on experience with our latest hardware, software, and services with the help of Samsung engineers and tech partners from around the globe. For a limited-time only, register for #SDC19 with an exclusive presale discount that includes: SDC19 tickets at the lowest possible price – $120! Updates on the latest SDC news, technical session details, and speaker lineup A two-day pass that includes admission to all keynotes, sessions, code labs, as well as Devs + Drinks Entrance to our Samsung Exhibition area 1:1 training with Samsung experts And more! Space for this select group is limited, so sign up today! Register Now! We look forward to seeing you on October 29 – 30 at the San Jose Convention Center. In the meantime, check out the highlights from SDC18. View the full blog at its source


×
×
  • Create New...