Filter
-
Content Type
-
Category
Mobile/Wearable
Visual Display
Digital Appliance
Platform
Recommendations
Filter
Learn Code Lab
codelabmatter build a matter iot app with smartthings home api objective learn how to create an iot app to onboard, control, remove, and share matter devices using smartthings home apis notesmartthings home apis are distributed only to authorized users if you want permission to use the apis, contact st matter@samsung com overview matter is an open-source connectivity standard for smart home and internet of things iot devices it is a secure, reliable, and seamless cross-platform protocol for connecting compatible devices and systems with one another smartthings provides the matter virtual device app and smartthings home apis to help you quickly develop matter devices and use the smartthings ecosystem without needing to build your own iot ecosystem you can use smartthings home apis to onboard, control, remove, and share all matter devices when building your application other iot ecosystems can use the matter devices onboarded on your iot app through the multi-admin function for detailed information, go to partners smartthings com/matter set up your environment you will need the following host pc running on windows 10 or higher or ubuntu 20 04 x64 android studio latest version recommended java se development kit jdk 11 or later devices connected on the same network mobile device with matter virtual device app installed mobile device with developer mode and usb debugging enabled matter-enabled smartthings station onboarded with samsung account used for smartthings app tipyou can create a virtual device as a third-party iot device sample code noteyou can request permission to access the sample project file for this code lab by sending an email to st matter@samsung com start your project after downloading the sample code containing the project files, open your android studio and click open to open an existing project locate the downloaded android project from the directory and click ok commission the device you can onboard a matter-compatible device to the iot app by calling the commissiondevice api, which can lay the groundwork to control, remove, and share the device go to app > java > com samsung android matter home sample > feature > main in the mainviewmodel kt file, call the commissiondevice api to launch the onboarding activity and join the device to the smarththings fabric // ================================================================================= // codelab // step 1 create an instance of matter commissioning client // step 2 call the commissiondevice api to launch the onboarding activity in home service // step 3 set _intentsender value from return value of commissiondevice api // todo 1 device commission and join a device to smartthings fabric // todo 1 uncomment the following code blocks // --------------------------------------------------------------------------------- //val commissioningclient = matter getcommissioningclient //val intentsender = commissioningclient commissiondevice context //_intentsender value = intentsender // ================================================================================= control the device capabilities are core to the smartthings architecture they abstract specific devices into their underlying functions, which allows the retrieval of the state of a device component or control of the device function each device has its own appropriate capabilities therefore, each device has a different control api, and the more functions it supports, the more apis it has to use in this step, select a device type that you want to onboard and control using necessary home apis the level of modification complexity is assigned per each device contact sensorlevel 1 3 mins file path app > java > com samsung android matter home sample > feature > device file name contactsensorviewmodel kt // ================================================================================= // codelab level 1 // step 1 get contactsensor capability from device instance // step 2 get stream openclose value from contactsensor capability // step 3 set _openclose value for ui updating // todo 1 uncomment the following code blocks // --------------------------------------------------------------------------------- //device readcapability contactsensor ? openclose? collect { openclose -> // _openclose value = openclose //} // ================================================================================= // ================================================================================= // codelab level 1 // step 1 get battery capability from device instance // step 2 get stream battery value from battery capability // step 3 set _batterystatus value for ui updating // todo 2 uncomment the following code blocks // --------------------------------------------------------------------------------- //device readcapability battery ? battery? collect { battery -> // _batterystatus value = battery //} // ================================================================================= motion sensorlevel 1 3 mins file path app > java > com samsung android matter home sample > feature > device file name motionsensorviewmodel kt // ================================================================================= // codelab level 1 // step 1 get motionsensor capability from device instance // step 2 get stream occupied value from motionsensor capability // step 3 set _motionoccupied value for ui updating // todo 1 uncomment the following code blocks // --------------------------------------------------------------------------------- //device readcapability motionsensor ? occupied? collect { motionoccupied -> // _motionoccupied value = motionoccupied // timber d "occupied= $motionoccupied" //} // ================================================================================= // ================================================================================= // codelab level 1 // step 1 get battery capability from device instance // step 2 get stream battery value from battery capability // step 3 set _batterystatus value for ui updating // todo 2 uncomment the following code blocks // --------------------------------------------------------------------------------- //device readcapability battery ? battery? collect { battery -> // _batterystatus value = battery // timber d "battery= $battery" //} // ================================================================================= on-off switchlevel 2 4 mins file path app > java > com samsung android matter home sample > feature > device file name switchviewmodel kt // ================================================================================= // codelab level 2 // step 1 get switch capability from device instance // step 2 get stream onoff value from switch capability // step 3 set _onoff value for ui updating // todo 1 uncomment the following code blocks // --------------------------------------------------------------------------------- //device readcapability switch ? onoff? collect { onoff -> // _onoff value = onoff //} // ================================================================================= // ================================================================================= // codelab level 2 // step 1 get switch capability from device instance // step 2 control the device using the apis that supported by switch capability // toggle switch state based on onoff value // onoff == true call switch off // onoff == false call switch on // todo 2 uncomment the following code blocks // --------------------------------------------------------------------------------- //device readcapability switch ? let { switch -> // if onoff == true { // switch off // } else { // switch on // } //} // ================================================================================= smart locklevel 3 8 mins file path app > java > com samsung android matter home sample > feature > device file name smartlockviewmodel kt // ================================================================================= // codelab level 3 // step 1 get lock capability from device instance // step 2 get stream lockunlock value from lock capability // step 3 set _lockstatus value for ui updating // --------------------------------------------------------------------------------- // todo 1 copy code below device readcapability lock ? lockunlock? collect { lockunlock -> _lockstatus value = lockunlock } // ================================================================================= // ================================================================================= // codelab level 3 // step 1 get tamperalert capability from device instance // step 2 get stream tamperalert value from tamperalert capability // step 3 set _tamperstatus value for ui updating // --------------------------------------------------------------------------------- // todo 2 copy code below device readcapability tamperalert ? tamperalert? collect { tamperalert -> _tamperstatus value = tamperalert } // ================================================================================= // ================================================================================= // codelab level 3 // step 1 get battery capability from device instance // step 2 get stream battery value from battery capability // step 3 set _batterystatus value for ui updating // --------------------------------------------------------------------------------- // todo 3 copy code below device readcapability battery ? battery? collect { battery -> _batterystatus value = battery } // ================================================================================= // ================================================================================= // codelab level 3 // step 1 get lock capability from device instance // step 2 control the device using the apis that supported by lock capability // toggle lock state based on lockunlock value // lockunlock == true call lock // lockunlock == false call unlock // --------------------------------------------------------------------------------- // todo 4 copy code below device readcapability lock ? let { lock -> if lockunlock == true { lock lock } else { lock unlock } } // ================================================================================= blindslevel 3 8 mins file path app > java > com samsung android matter home sample > feature > device file name blindviewmodel kt // ================================================================================= // codelab level 3 // step 1 get windowshade capability from device instance // step 2 get stream windowshademode value from windowshade capability // step 3 set _windowshademode value for ui updating // --------------------------------------------------------------------------------- // todo 1 copy code below device readcapability windowshade ? windowshademode? collect { windowshademode -> timber d "windowshademode $windowshademode" _windowshademode value = windowshademode } // ================================================================================= // ================================================================================= // codelab level 3 // step 1 get windowshadelevel capability from device instance // step 2 get stream shadelevel value from windowshadelevel capability // step 3 set _shadelevel value for ui updating // --------------------------------------------------------------------------------- // todo 2 copy code below device readcapability windowshadelevel ? shadelevel? collect { shadelevel -> timber d "shadelevel $shadelevel" _shadelevel value = shadelevel } // ================================================================================= // ================================================================================= // codelab level 3 // step 1 get battery capability from device instance // step 2 get stream battery value from battery capability // step 3 set _batterystatus value for ui updating // --------------------------------------------------------------------------------- // todo 3 copy code below device readcapability battery ? battery? collect { battery -> _batterystatus value = battery } // ================================================================================= // ================================================================================= // codelab level 3 // step 1 get windowshade capability from device instance // step 2 control the device using the apis that supported by windowshade capability // send windowshade open/close/pause command based on controlcommand value // "open" call windowshade open // "close" call windowshade close // "pause" call windowshade pause // --------------------------------------------------------------------------------- // todo 4 copy code below device readcapability windowshade ? let { windowshade -> when controlcommand { "open" -> windowshade open "close" -> windowshade close "pause" -> windowshade pause } } // ================================================================================= extended color lightlevel 4 10 mins file path app > java > com samsung android matter home sample > feature > device file name lightviewmodel kt // ================================================================================= // codelab level 4 // step 1 get switch capability from device instance // step 2 get stream onoff value from switch capability // step 3 set _onoff value for ui updating // --------------------------------------------------------------------------------- // todo 1 copy code below device readcapability switch ? onoff? collect { onoff -> _onoff value = onoff } // ================================================================================= // ================================================================================= // codelab level 4 // step 1 get switchlevel capability from device instance // step 2 get stream level value from switchlevel capability // step 3 set _level value for ui updating // --------------------------------------------------------------------------------- // todo 2 copy code below device readcapability switchlevel ? level? collect { level -> _level value = level } // ================================================================================= // ================================================================================= // codelab level 4 // step 1 get switch capability from device instance // step 2 control the device using the apis that supported by switch capability // toggle switch state based on onoff value // onoff == true call switch off // onoff == false call switch on // --------------------------------------------------------------------------------- // todo 3 copy code below device readcapability switch ? let { switch -> if onoff == true { switch off } else { switch on } } // ================================================================================= // ================================================================================= // codelab level 4 // step 1 get switchlevel capability from device instance // step 2 control the device using the apis that supported by switchlevel capability // call switchlevel setlevel with percentage value // --------------------------------------------------------------------------------- // todo 4 copy code below timber d "target position = $percentage" device readcapability switchlevel ? setlevel percentage // ================================================================================= // ================================================================================= // codelab level 4 // step 1 get colorcontrol capability from device instance // step 2 control the device using the apis that supported by colorcontrol capability // call colorcontrol setcolor with hue,saturation value // --------------------------------------------------------------------------------- // todo 5 copy code below timber d "hue $hue,saturation $saturation" device readcapability colorcontrol ? setcolor hue todouble , saturation todouble // ================================================================================= // ================================================================================= // codelab level 4 // step 1 get colortemperature capability from device instance // step 2 control the device using the apis that supported by colortemperature capability // call colortemperature setcolortemperature with temperature // --------------------------------------------------------------------------------- // todo 6 copy code below device readcapability colortemperature ? setcolortemperature temperature // ================================================================================= video playerlevel 4 10 mins file path app > java > com samsung android matter home sample > feature > device file name televisionviewmodel kt // ================================================================================= // codelab level 4 // step 1 get switch capability from device instance // step 2 get stream onoff value from switch capability // step 3 set _onoff value for ui updating // --------------------------------------------------------------------------------- // todo 1 copy code below device readcapability switch ? onoff? collect { onoff -> _onoff value = onoff } // ================================================================================= // ================================================================================= // codelab level 4 // step 1 get mediaplayback capability from device instance // step 2 get stream mediaplaybackstate value from mediaplayback capability // step 3 set _mediaplaybackstate value for ui updating // --------------------------------------------------------------------------------- // todo 2 copy code below device readcapability mediaplayback ? mediaplaybackstate? collect { mediaplaybackstate -> _mediaplaybackstate value = mediaplaybackstate } // ================================================================================= // ================================================================================= // codelab level 4 // step 1 get switch capability from device instance // step 2 control the device using the apis that supported by switch capability // toggle switch state based on onoff value // onoff == true call switch off // onoff == false call switch on // --------------------------------------------------------------------------------- // todo 3 copy code below device readcapability switch ? let { switch -> if onoff == true { switch off } else { switch on } } // ================================================================================= // ================================================================================= // codelab level 4 // step 1 get mediaplayback capability from device instance // step 2 control the device using the apis that supported by mediaplayback capability // send mediaplayback play/pause/stop/rewind/fastforward command based on controlcommand value // "play" call mediaplayback play and setplaybackstatus with playbackstatus playing // "pause" call mediaplayback pause and setplaybackstatus with playbackstatus paused // "stop" call mediaplayback stop and setplaybackstatus with playbackstatus stopped // "rewind" call mediaplayback rewind and setplaybackstatus with playbackstatus rewinding // "fastforward" call mediaplayback fastforward and setplaybackstatus with playbackstatus fastforwarding // --------------------------------------------------------------------------------- // todo 4 copy code below device readcapability mediaplayback ? let { mediaplayback -> when controlcommand { "play" -> { mediaplayback play mediaplayback setplaybackstatus playbackstatus playing } "pause" -> { mediaplayback pause mediaplayback setplaybackstatus playbackstatus paused } "stop" -> { mediaplayback stop mediaplayback setplaybackstatus playbackstatus stopped } "rewind" -> { mediaplayback rewind mediaplayback setplaybackstatus playbackstatus rewinding } "fastforward" -> { mediaplayback fastforward mediaplayback setplaybackstatus playbackstatus fastforwarding } } } // ================================================================================= // ================================================================================= // codelab level 4 // step 1 get mediatrackcontrol capability from device instance // step 2 control the device using the apis that supported by mediatrackcontrol capability // send mediatrack nexttrack/previoustrack command based on controlcommand value // "nexttrack" call mediatrack nexttrack // "previoustrack" call mediatrack previoustrack // --------------------------------------------------------------------------------- // todo 5 copy code below device readcapability mediatrackcontrol ? let { mediatrack -> when controlcommand { "nexttrack" -> mediatrack nexttrack "previoustrack" -> mediatrack previoustrack } } // ================================================================================= // ================================================================================= // codelab level 4 // step 1 get keypadinput capability from device instance // step 2 control the device using the apis that supported by keypadinput capability // call keypadinput sendkey with key value // --------------------------------------------------------------------------------- // todo 6 copy code below device readcapability keypadinput ? sendkey key // ================================================================================= thermostatlevel 5 13 mins file path app > java > com samsung android matter home sample > feature > device file name thermostatviewmodel kt // ================================================================================= // codelab level 5 // step 1 get thermostatmode capability from device instance // step 2 get stream thermostatmode value from thermostatmode capability // step 3 set _systemmode value for ui updating // --------------------------------------------------------------------------------- // todo 1 copy code below device readcapability thermostatmode ? thermostatmode? collect { thermostatmode -> timber d "viewmodel thermostatmode $thermostatmode" _systemmode value = thermostatmode } // ================================================================================= // ================================================================================= // codelab level 5 // step 1 get thermostatfanmode capability from device instance // step 2 get stream thermostatfanmode value from thermostatfanmode capability // step 3 set _fanmode value for ui updating // --------------------------------------------------------------------------------- // todo 2 copy code below device readcapability thermostatfanmode ? thermostatfanmode? collect { fanmode -> _fanmode value = fanmode } // ================================================================================= // ================================================================================= // codelab level 5 // step 1 get temperaturemeasurement capability from device instance // step 2 get stream temperature value from temperaturemeasurement capability // step 3 set _temperature value for ui updating // --------------------------------------------------------------------------------- // todo 3 copy code below device readcapability temperaturemeasurement ? temperature? collect { temperature -> _temperature value = temperature } // ================================================================================= // ================================================================================= // codelab level 5 // step 1 get thermostatcoolingsetpointbattery capability from device instance // step 2 get stream coolingsetpoint value from thermostatcoolingsetpoint capability // step 3 set _occupiedcoolingsetpoint value for ui updating // --------------------------------------------------------------------------------- // todo 4 copy code below device readcapability thermostatcoolingsetpoint ? coolingsetpoint? collect { coolingsetpoint -> _occupiedcoolingsetpoint value = coolingsetpoint } // ================================================================================= // ================================================================================= // codelab level 5 // step 1 get thermostatheatingsetpoint capability from device instance // step 2 get stream heatingsetpoint value from thermostatheatingsetpoint capability // step 3 set _occupiedheatingsetpoint value for ui updating // --------------------------------------------------------------------------------- // todo 5 copy code below device readcapability thermostatheatingsetpoint ? heatingsetpoint? collect { heatingsetpoint -> _occupiedheatingsetpoint value = heatingsetpoint } // ================================================================================= // ================================================================================= // codelab level 5 // step 1 get relativehumiditymeasurement capability from device instance // step 2 get stream humidity value from relativehumiditymeasurement capability // step 3 set _humidity value for ui updating // --------------------------------------------------------------------------------- // todo 6 copy code below device readcapability relativehumiditymeasurement ? humidity? collect { humidity -> _humidity value = humidity } // ================================================================================= // ================================================================================= // codelab level 5 // step 1 get battery capability from device instance // step 2 get stream battery value from battery capability // step 3 set _batterystatus value for ui updating // --------------------------------------------------------------------------------- // todo 7 copy code below device readcapability battery ? battery? collect { battery -> _batterystatus value = battery } // ================================================================================= // ================================================================================= // codelab level 5 // step 1 get thermostatmode capability from device instance // step 2 control the device using the apis that supported by thermostatmode capability // change thermostatmode state based on systemmode value // thermostatsystemmode off call thermostatmode off // thermostatsystemmode cool call thermostatmode cool // thermostatsystemmode heat call thermostatmode heat // thermostatsystemmode auto call thermostatmode auto // --------------------------------------------------------------------------------- // todo 8 copy code below device readcapability thermostatmode ? let { thermostatmode -> when systemmode { thermostatsystemmode off -> thermostatmode off thermostatsystemmode cool -> thermostatmode cool thermostatsystemmode heat -> thermostatmode heat thermostatsystemmode auto -> thermostatmode auto } } // ================================================================================= // ================================================================================= // step 1 get thermostatfanmode capability from device instance // step 2 control the device using the apis that supported by thermostatfanmode capability // change thermostatfanmode state based on fanmode value // thermostatfanmodeenum auto call thermostatfanmode fanauto // thermostatfanmodeenum circulate call thermostatfanmode fancirculate // thermostatfanmodeenum followschedule call thermostatfanmode setthermostatfanmode with followschedule // thermostatfanmodeenum on call thermostatfanmode fanon // --------------------------------------------------------------------------------- // todo 9 copy code below device readcapability thermostatfanmode ? let { thermostatfanmode -> when fanmode { thermostatfanmodeenum auto -> thermostatfanmode fanauto thermostatfanmodeenum circulate -> thermostatfanmode fancirculate thermostatfanmodeenum followschedule -> thermostatfanmode setthermostatfanmode "followschedule" thermostatfanmodeenum on -> thermostatfanmode fanon } } // ================================================================================= // ================================================================================= // codelab level 5 // step 1 get thermostatheatingsetpoint capability value from device instance // step 2 increase _occupiedheatingsetpoint value that have current heating value // step 3 if new increased value is under value_max 104 , // call setheatingsetpoint of thermostatheatingsetpoint capability with new increased value // --------------------------------------------------------------------------------- // todo 10 copy code below device readcapability thermostatheatingsetpoint ? let { heatingsetpoint -> val nextvalue = _occupiedheatingsetpoint value!! + 1 if nextvalue < value_max { heatingsetpoint setheatingsetpoint nextvalue } } // ================================================================================= // ================================================================================= // codelab level 5 // step 1 get thermostatheatingsetpoint capability value from device instance // step 2 decrease _occupiedheatingsetpoint value that have current heating value // step 3 if new decreased value is over value_min 32 , // call setheatingsetpoint of thermostatheatingsetpoint capability with new decreased value // --------------------------------------------------------------------------------- // todo 11 copy code below device readcapability thermostatheatingsetpoint ? let { heatingsetpoint -> val nextvalue = _occupiedheatingsetpoint value!! - 1 if nextvalue > value_min { heatingsetpoint setheatingsetpoint nextvalue } } // ================================================================================= // ================================================================================= // codelab level 5 // step 1 get thermostatcoolingsetpoint capability value from device instance // step 2 increase _occupiedcoolingsetpoint value that have current cooling value // step 3 if new increased value is under value_max 104 , // call setcoolingsetpoint of thermostatcoolingsetpoint capability with new increased value // --------------------------------------------------------------------------------- // todo 12 copy code below device readcapability thermostatcoolingsetpoint ? let { coolingsetpoint -> val nextvalue = _occupiedcoolingsetpoint value!! + 1 if nextvalue < value_max { coolingsetpoint setcoolingsetpoint nextvalue } } // ================================================================================= // ================================================================================= // codelab level 5 // step 1 get thermostatcoolingsetpoint capability value from device instance // step 2 decrease _occupiedcoolingsetpoint value that have current cooling value // step 3 if new decreased value is over value_min 32 , // call setcoolingsetpoint of thermostatcoolingsetpoint capability with new decreased value // --------------------------------------------------------------------------------- // todo 13 copy code below device readcapability thermostatcoolingsetpoint ? let { coolingsetpoint -> val nextvalue = _occupiedcoolingsetpoint value!! - 1 if nextvalue > value_min { coolingsetpoint setcoolingsetpoint nextvalue } } // ================================================================================= noteyou can find related files in android studio by going to edit menu> find > find in files and entering the keyword "codelab" remove the device using removedevice api, you can remove the device from your iot app and the smartthings fabric go to app > java > com samsung android matter home sample > feature > device > base in the baseviewmodel kt file, call the removedevice api to launch the removedevice activity // ================================================================================= // [codelab] device remove from smartthings fabric // step 1 create an instance of matter commissioning client // step 2 call the removedevice api to launch the removedevice activity in home service // step 3 set _intentsender value from return value of removedevice api // todo 1 uncomment the following code blocks // --------------------------------------------------------------------------------- //val commissioningclient = matter getcommissioningclient //val intentsender = commissioningclient removedevice // context, // commissioningclient removedevicerequest deviceid // //_intentsenderforremovedevice value = intentsender // ================================================================================= share the device matter devices can be shared with other matter-compatible iot platforms, such as google home, using home apis without resetting the device while connected to smartthings to perform this operation, it is necessary to enter the commissioning mode without resetting the device in the baseviewmodel kt file, call the sharedevice api to launch the sharedevice activity // ================================================================================= // [codelab] device share to other platforms // step 1 create an instance of matter commissioning client // step 2 call the sharedevice api to launch the sharedevice activity in home service // step 3 set _intentsender value from return value of sharedevice api // todo 1 uncomment the following code blocks // --------------------------------------------------------------------------------- //val commissioningclient = matter getcommissioningclient //val intentsender = commissioningclient sharedevice // context, // commissioningclient sharedevicerequest deviceid // //_intentsenderforsharedevice value = intentsender // ================================================================================= build and run the iot app run the sample app to build and run your iot app, follow these steps using a usb cable, connect your mobile device select the sample iot app from the run configurations menu in the android studio then, select the connected device in the target device menu click run onboard to onboard the virtual device go to the matter virtual device app then, select and set up the virtual device type you want to control click save click start to show the qr code for onboarding go to the sample iot app and click the + button then, onboard the virtual device by scanning its qr code control by sample iot app in the sample iot app, control the virtual device by using its various functions such as on and off for switch you're done! congratulations! you have successfully achieved the goal of this code lab topic now, you can create a matter-compatible iot application with smartthings home apis by yourself! learn more by going to smartthings matter libraries
featured
bloganother year will soon be past and, like many of you, we’re looking forward to next year. we’ll be taking some time the next few weeks to be with our families, and will be back in 2022 with more blogs, podcasts, product announcements, and ways for you to succeed with galaxy store and samsung platforms. with the end-of-year holidays upon us, we’re stopping to reflect on what we did in 2021. even with covid making a disruption in everyone’s lives, we’re still here to help developers find answers and hopefully, also find success. here are some of our most memorable moments. 10. developer portal refresh brought a modern look and support for mobile we’ve been working for several years to bring samsung’s developer portal into a single web infrastructure. we moved content from multiple servers and cloud services into a cms that uses open standards and a responsive design for mobile devices. we pored through a decade of content to make sure it was still timely and accurate for your needs today. we integrated the developer forums to use the same samsung account login for both the developer portal and seller portal to give you a more seamless experience. in october of this year, we made a ux refresh to the site and the most amazing thing is how easy that process went. there were no late nights in the weeks prior to launch. we were able to test the new ux in a sandbox rigorously. then the deployment to production happened almost instantaneously. we spent less time worrying about our website and more time creating the content you need to do your work. we understand how important the samsung developer portal is to you and your work. that’s why we took the time to ensure a smooth transition as we made major infrastructure changes. 9. monthly updates keep developers up-to-date on new galaxy store features the galaxy store product management team began publishing monthly newsletters to enlighten developers of the latest features and improvements to seller portal. these updates also usually appear as blog posts in the first week or two of the month. some of the major announcements include: staged app rollouts (october) local currencies in settlement and financial reports (september) private beta testing (july) galaxy store developer api (april) look for more exciting improvements in 2022 as galaxy store continues to innovate. 8. unpacked events bring exciting new product announcements galaxy unpacked in january 2021 brought announcements of the galaxy buds pro, galaxy s21, and the new galaxy smarttag. the event highlighted samsung’s design concepts with one ui 3 and integrated experiences from partners like microsoft and google. the august galaxy unpacked event brought announcements of galaxy z fold3 and galaxy z flip3 phones. these devices have many new hardware and software features for developers to build upon. this blog post highlighted many of the ways that developers can implement features supporting flex mode and s pen remote, while ensuring that users have a seamless experience with app continuity. the most anticipated announcement of the august galaxy unpacked event was the unveiling of galaxy watch4, featuring wear os, powered by samsung. as with the tizen-powered galaxy watch devices, samsung released a new tool, galaxy watch studio converter, to help existing designers bring their watch faces to wear os. designers could also start a new watch face project from scratch with the newly-released watch face studio tool. 7. remote test lab updates allow developers to experience the latest hardware as new devices are announced, developers can use the remote test lab (rtl) to ensure that their apps work properly on the new version of one ui as well as different screen resolutions and pixel densities. in 2021, the rtl development team added support for foldables and galaxy s21 devices, allowing developers to ensure their apps work correctly before the devices are available to consumers. the rtl team also added support for android studio. in september, thousands of devices were added in data centers around the world to ensure that a compatible device is always available. as part of this release, rtl was re-engineered to work exclusively in the chrome browser, so that no external software is needed to test apps on all the latest devices. 6. samsung developer forums activity the samsung developer forums, based on the popular open-source discourse project, were introduced in january 2020, replacing an aging forum infrastructure that didn’t work well on mobile devices. by using the same samsung account authentication method as the samsung developers site, we’re able to provide a nearly-seamless experience across different hosts and platforms. since their introduction, we’ve seen large numbers of visitors stop by the forums with questions. community manager ron liechty has more than 25 years of experience in managing healthy communities—his knowledge and guidance keeps the forums a useful resource for developers. some of these visitors have become our best community members, providing valuable feedback to their peers as well as helping to moderate spam and malicious content. 5. supporting game developers in 2021 games are a noticeable part of the galaxy store experience and we work with many partners and internal teams to ensure that gamers have a great experience on galaxy devices. the galaxy gamedev team works closely with some of the top publishers and developers to improve performance of top titles on mobile. this team creates tools that provide great detail on the performance of the cpu and gpu during intense moments of gameplay. the gamedev team then documents their efforts in a series of best practices and blog posts to help developers everywhere. in addition to our internal team work, we frequently work with our partners at arm to deliver relevant content for game developers. this summer, we published and promoted a number of educational articles, webinars, and training series in cooperation with the arm developer team. best practices for mobile game developers and artists new vulkan extensions for mobile: maintenance extensions new vulkan extensions for mobile: legacy support extensions new game changing vulkan extensions for mobile: descriptor indexing new game changing vulkan extensions for mobile: buffer device address new game changing vulkan extensions for mobile: timeline semaphores mike barnes from the gamedev team, together with eric cloninger from the samsung developers team, presented at the virtual gdc2021 event in july. gdc is an important event for all of us at samsung and we hope to see you all there at the live event in march 2022. 4. new voices appeared on samsung developers podcast, season 2 shortly before the covid-19 pandemic changed our lives, tony morelan from samsung developers attended a podcasting event and came back to the office inspired to start a podcast. he lined up guests from internal teams and important partners. everyone had a great time participating and it gave us a way to continue delivering quality content to developers. as 2020 turned to 2021, we continued bringing interesting guests from across the mobile design and development ecosystem. we used the podcast to talk about the upcoming virtual samsung developer conference and chat with the people that made the event a success. here are some of the highlights from season 2 of the samsung developers podcast: drazen stojcic, urarity – watch faces, design tan nguyen, butterfly-effected gmbh – galaxy themes, marketing, licensing the samsung internet advocacy team – web standards, privacy, foldable devices we’re still hoping for a return to days where we can travel and meet in person, but until that time comes, please join us in listening to these industry veterans and top developers on the samsung developers podcast. season 3 begins in early 2022. 3. blog series instructs readers on design and successful marketing without live events the past two years, we have searched for new ways to continue delivering timely and helpful advice to mobile app designers and developers. as mentioned previously, we worked with arm this year to bring great technical content front and center. we also worked with our network of top designers, developers, and thought leaders on concepts that will help you succeed on galaxy store and in creating better experiences for your users: better for all – in this blog series, we talked with leading designers and experts to help understand the increasingly important concepts behind the diversity, equality, and inclusion movement. this series discussed aspects of language used in apps, themes, and watch designs. it also highlights important guidelines to ensure apps and web sites are accessible to users with sight, mobility, and hearing impairments. better for all: mobile accessibility better for all: inclusive policies with daniel appelquist better for all: equal accessibility better for all: bringing diversity to design with eglantina hasaj and manpreet kaur better for all: diversity in design better for all: developing and designing for diversity refresh for success – it’s not enough to simply submit a title to a digital marketplace and assume success will follow and continue without extra effort. in this series, top galaxy store designers and developers talk about how they maintain their product lines to ensure a steady flow of revenue and new customers. refresh for success: maintain quality themes design with olga gabay from zeru studio refresh for success: improve your process to keep designs fresh with tan nguyen from butterfly-effected, gmbh refresh for success: improve your process and de-clutter your galaxy store with drazen stojcic from urarity prime time design – finding success in designing new products is an intensely unique and personal process. the prime time design series includes interviews with some of the most unique people creating for galaxy store. read how these talented people inspire themselves and how they convert that inspiration into action. prime time design: unpacking the creative process with ramon campos from friss in motion prime time design: unpacking the creative process with pedro machado from health face prime time design: unpacking the creative process with john shih from x9 studio strategies for success – tony morelan was a successful watch face designer before coming to work with the samsung developers team. we’re grateful for his knowledge of design as well as how to turn designs into revenue. in this four-part series, tony points out steps to creating successful galaxy store product submissions. strategies for success: selling your apps strategies for success: understanding consumer trends strategies for success: building your fan base strategies for success: making your brand successful 2. best of galaxy store awards highlight successful developers the galaxy store app on your mobile device is more than just an app. behind the scenes, there is a team of developers, product managers, business leaders, and security experts devoted to ensuring the best possible online experience for consumers in 180 countries. because of their dedication, developers and designers have a great platform for monetizing their work. each year, the samsung developers team works with the galaxy store operations and business development teams to determine the best games, apps, and themes based on revenue, downloads, and impact to consumers. the result is the best of galaxy store awards. in 2018 and 2019, the best of galaxy store awards were presented live, on stage, at the samsung developer conference (sdc). without a live event in 2020 or 2021, the samsung developers team decided to continue the tradition of highlighting and awarding our top galaxy store products. even without an in-person event, we used a live premiere on youtube to have a single moment in time to celebrate with the winners. tony morelan emceed the event, but he had a lot of help from ron liechty, jeanne hsu, susie perez, and shelly wu. we thank them for their hard work. we hope you’ll enjoy watching! look for the “best of galaxy store” sash on apps, games, themes, and watch faces in galaxy store to know that you’re getting a truly unique experience. 1. discovering new opportunities at sdc21 each year, the samsung developer conference is the culmination of an incredible amount of planning and work by hundreds of people. even though the event was virtual in 2021, there was still a huge volume of work. instead of preparing for a live audience, our teams practiced in front of a galaxy phone on a tripod (really). instead of building booths and planning meals, we built a website and social media campaigns to reach a larger audience. eric cloninger and tony morelan kicked off the promotion for sdc21 with a podcast featuring a previous sdc speaker, chris shomo. before the conference, visitors were invited to create whimsical caricatures of themselves using the mysdcstack mini-site and submit their designs to social media. by participating in the event website, watching sessions, and trying the code labs, visitors would earn points toward a prize drawing after sdc. relive the experience of sdc21 by watching the keynote or any of the highlight sessions and technical talks by viewing this playlist wrapping up when sdc is finished, our team takes a collective deep breath, happy to be done. it is a satisfying experience to pull off a big industry event. we don’t know yet how we’ll handle live events, but we remain optimistic that some will occur. we are making plans and we hope we’ll be able to see you, somewhere, in 2022. 🤞 take care. stay warm (or cool). best wishes to you all and happy new year!
success story marketplace, design, galaxy watch
blogwe continue to celebrate the top performing apps in creativity, quality, design, and innovation, as we interview winners of our best of galaxy store awards. next in our blog series, we feature matteo dini. matteo dini, founder and ceo of "matteo dini md", shares with us how he manages to maintain a high level of quality and craftsmanship with his watch face designs, many of which boast five star ratings, the importance of developing a recognizable brand, and how the galaxy store badge has played an integral role in his marketing strategy how did you first get into designing watch faces? at the end of 2016, i bought a samsung gear s3 watch, and that’s when i started designing watch faces. at first, it was just for fun, something i did to explore the easily approachable software “galaxy watch designer” (now “galaxy watch studio"). in the spring of 2017, i started publishing some of my watch faces on the galaxy store, and i realized that people were really interested in them, therefore i decided to continue publishing my designs. as one of our more seasoned and successful designers, can you share some key features of a good watch face design? in my opinion, a good watch face design has to be easily readable. it should also feature well thought out colors and shades that match together, and the layouts shouldn’t be too complex. this is the key to attracting a wider range of customers. with your broad experience as a watch face designer, do you still experience technical or design hurdles when designing a watch face? there really is no limit to improvement when it comes to graphic design. the real obstacle to overcome is the lack of new ideas. there should always be new inspirations about how to improve the design aspect of the watch faces. there have been, and still are moments, when i find myself stuck, even for several whole days, before getting to a final result. after creating several watch faces and crossing paths with so many great creations from other designers, pushing the creative limit further can be really hard, especially on a 360x360 screen. however, when i finally find the right path that can lead me to a new good project, i feel so enthusiastic and passionate about my job that it is definitely worth it. where the technical side is concerned, hopefully i’ll be able to add some new features that leverage samsung’s hardware-and-software evolutions. your brand “matteo dini md” is well known in the watch face community. how important is creating your own brand? having a well-recognizable brand is the key to being well known. your brand identifies your work, that is undeniable. finding the perfect name for my brand was not the easiest choice to make. when i started publishing my work on the galaxy store i was really indecisive about leaving my real name-surname. i even thought of inventing a new name from scratch, but then i decided to go for matteo dini, since it gave me the impression of a more personal brand, and i think it worked, or at least i hope so. my brand “matteo dini md” is a legally registered brand in the us and in europe. how do you come up with new designs to support the continued growth and evolution of your brand? ideas can come from seasons, from highly- or poorly-inspired periods, and obviously from market research. “there are no rules” is the only rule. sometimes a design can sprout from a tiny detail that we come to notice in a random object, not necessarily a watch. in a certain way it’s kind of a meditation process - it’s mind work. at the moment, there are two of us designing watch faces for “matteo dini md”, my brother-in-law luca canaletti and i. together we try to imagine how the product could potentially look, and we then sketch some drafts on paper or directly on the software. your designs are highly rated on the galaxy store which speaks to the quality and craftsmanship of your work. how do you achieve such great quality with your designs? to be honest, when it comes to my work i’m a very strict critic. i always detect some enormous flaws, and i hardly find myself truly and completely satisfied with my work. apart from that, the thing luca and i focus on is quality. to achieve that, we try to include as many details as possible and to test our watch faces for several days, in different light and weather conditions, in order to get a good result. but, as i was saying before, there is no limit to improvement, and we learn something new every day. it’s evident that you understand the market and what users want. how much does user feedback factor into the designs you create? are there other factors? i pay so much attention to user feedback. i obviously cannot design something that works for each of them, however i tend to use their suggestions to improve my watch faces and to meet their needs and tastes. being on the galaxy store has provided me with knowledge about people’s taste, and i’m constantly trying to keep several watch faces on the store that can satisfy a wide range of consumers, both young people and adults. i also keep an eye on market trends and all the cutting-edge news that comes out. you employ various marketing strategies, including third-party watch face reviews from jibberjab, social media promotion, free trials, contests, and giveaways. how important is marketing your designs to becoming a successful seller? what tips can you share? the galaxy store is introducing more and more new content every day, so it is really fundamental to promote one’s projects on other marketing channels as well. this is why i employ all those things you mentioned, in order to drive awareness and visibility of my brand on the galaxy store. the paramount thing to do is to create a well-recognizable brand identity, in order to be easily found on the store. i created my brand’s accounts on all the most important social media platforms in order to gain followers and to have a community to directly communicate with. this is fundamental, it’s the starting point for any marketing strategy. how does the galaxy store badge support your marketing strategy? galaxy store badge is, without a doubt, an excellent tool. it generates customized short urls, it can monitor all the clicks you get (which is important for statistics and promotions), and it also gives you the opportunity to use an official samsung official logo, which can be really helpful when it comes to marketing strategies. how has the samsung developer program supported your journey and growth as a watch face designer? the sdp team has always been very helpful and professional, promptly answering my request for technical assistance and solving my problems. they always keep us up-to-date about samsung news and share detailed studies about technical topics. they really support our work. it is also important to follow the dedicated forum. the forum allows us to ask questions and get answers from samsung and the developer community, i was very pleased to meet the team in person, twice actually, at the 2018 and 2019 editions of the samsung developer conference. thank you for the question; since you mentioned it, i really want to publicly thank the sdp team for their amazing work. as the winner of samsung best of galaxy store awards 2019 for “best watch designer (big brand)”, what advice do you have for new designers looking to create a successful watch face business? besides being a watch face designer, i’m a technology enthusiast and my first step was studying the product (samsung gear watch / galaxy watch / galaxy watch active), wearing it 24/7 for several months. i got the full user experience, before becoming a designer. passion and patience are fundamental, new designers shouldn’t get discouraged if the big results don’t come right away. they should keep focusing on finding their style and on trying to improve it day after day. the results will come eventually. what is next for matteo dini md watch faces? at the moment we are focusing on watch face development and we are trying to improve ourselves in order to be ready when samsung shares its plans on any new products or product updates. we want to thank matteo for sharing compelling insights on watch face design and tips on becoming a successful designer with a recognizable brand. be sure to check out matteo dini md’s watch face portfolio, and download your favorite in the galaxy store. 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. designing a watch face for galaxy watch running wear os powered by samsung? check out this code lab about creating a watch face using tag expressions in watch face studio.
Learn Developers Podcast
docseason 3, episode 7 previous episode | episode index | next episode this is a transcript of one episode of the samsung developers podcast, hosted by and produced by tony morelan a listing of all podcast transcripts can be found here host tony morelan senior developer evangelist, samsung developers instagram - twitter - linkedin guests guy merin, senior director of engineering, surface duo developer experience, microsoft ade oshineye, senior staff developer advocate, google søren lambæk, developer relations engineer, samsung foldables, games not only do we chat about the emerging trends in the foldable industry but how companies are working together to help developers create for this new and innovative technology listen download to this episode topics covered foldable industry trends growth of foldables target audience making foldables mainstream benefits of the foldable form factor extending a traditional app to a foldable device process for supporting foldables foldable device example apps consumer adoption challenges developer opportunities resources for developers companies working together on foldables helpful links large screen/foldable guidance large screen app quality jetpack windowmanager jetpack slidingpanelayout jetpack windowmanager foldable/dual-screens surface duo layout libraries surface duo android emulator figma - surface duo design kit surface duo blog surface duo twitch surface duo twitter adopting native language discover quality apps on large screens foldables design/development perspectives learn about foldables case studies 5 steps to large screen designing understanding layout code lab testing window size classes jetnews different screen sizes migrate to responsive layouts compose/activity embedding unfolding gaming potential samsung remote test lab samsung developer program website samsung developer program newsletter samsung developer program blog samsung developer program news samsung developer program facebook samsung developer program instagram samsung developer program twitter samsung developer program youtube samsung developer program linkedin tony morelan linkedin guy merin, microsoft, linkedin ade oshineye, google, linkedin søren lambæk, samsung, linkedin transcript note transcripts are provided by an automated service and reviewed by the samsung developers web team inaccuracies from the transcription process do occur, so please refer to the audio if you are in doubt about the transcript tony morelan 00 01 hey, i'm tony morelan and this is the samsung developers podcast, where we chat with innovators using samsung technologies, award winning app developers and designers, as well as insiders working on the latest samsung tools welcome to season three, episode seven recently i hosted a roundtable discussion on developing for foldable devices not only do we chat about the emerging trends in the foldable industry, but how companies are working together to help developers create for this new and innovative technology enjoy today's show, we're doing something pretty special i've got three guests on the podcast all from leading companies in the foldable space i've got guy merin, senior director of engineering on the surface duo developer experience team at microsoft guy merin 00 53 hi tony, good morning great to be here tony morelan 00 55 excellent i've also got ade oshineye, senior staff developer advocate at google ade oshineye 01 00 hi nice to be here tony morelan 01 03 and i've also got søren lambæk, developer relations engineer at samsung søren lambæk 01 09 hello good to be here tony morelan 01 11 this is amazing i've got all of you on the podcast at the same time we actually haven't tried this format before so let's take him for a ride and see how much fun we can have let me start with guy over at microsoft tell me who is guy merin? guy merin 01 25 hey, yeah, hey, folks so i'm guy the journey in microsoft a few years back started that windows went through the windows mobile, because mobile gadgets and devices are really my passion and then the last five or so years, i've been working full time on android, building a couple of software products, and recently the surface duo so this mobile and android is really my passion and i'm really at my dream job now working with developers, you know, reaching out really great on the personal level, i got recently into mountain climbing so just last weekend, we had a big expedition to summit, one of the washington mountains i live in seattle in washington, okay and that was a very, very fun experience that i found a lot of similarities to, you know, projects we have at work, climbing a mountain and summit thing is really a project on its own with preparation and planning and found a lot of interesting similarities tony morelan 02 29 it gives you a lot of time to think also, i'm sure that when you're climbing so are you like with ropes and rappelling or yeah, rope really guy merin 02 38 is, is more snow so it's ropes and ice axes and stuff but oh, gosh tony morelan 02 45 that is great how many feet would you say? was the summit? guy merin 02 50 close to 11,000 tony morelan 02 52 wow, that is absolutely impressive what was your journey to get to the state of washington? were you born there? or is this? the accent i'm picking up? i'm not quite sure is from the northwest? guy merin 03 07 no, no so no, i was born and raised in israel okay and i moved over to washington eight years ago, i've been working at microsoft in israel, actually doing some fun stuff with windows phone in israel and then pretty much my wife wanted to move over to seattle and that that made us take the trip and we love it here tony morelan 03 32 so now let's move over to google tell me who is ade oshineye? ade oshineye 03 38 so i work in android developer relations i've worked all over the different aspects of google over the last 15 years before that was in consultancy, when i'm not at a desk in front of cameras and things i'm out with a camera, taking photos in zurich, where we have really nice mountains that i like to climb them by sitting in a train that just gently takes you to the top and then i also play badminton and play go so between that i'm pretty busy i tony morelan 04 05 wonder if i understand you actually were born and raised in england is that correct? yes ade oshineye 04 09 so i'm an east londoner but now i live in switzerland, which is strange and very different to east london but i also live in the middle of a whole collection of british shops, so that i can get british food very easily really? okay yes tony morelan 04 27 tell me how did you get involved with foldables at google? ade oshineye 04 30 well, let's see well, me specifically, i mean, i started out with the samsung flip and then we've got this planet of surface duo for us as a company, it's more around the whole beat together not the same idea that the point of the entity ecosystem is that all of these oem can try different things users can try different kinds of experiences developer can try to serve all of them and we power all of that with the platform tony morelan 04 57 and from samsung tell me who is søren lambæk? søren lambæk 05 02 hello, i work at samsung as a developer relations engineer and basically, i building relationships between the games industry and samsung there are so many mobile games out there so we were reaching out to them at a technical level and try to help their games to run smooth on certain devices on a more personal level, i am one of those artists that just got obsessed with programming sure so my background is actually a lot of with art, drawing and music and that kind of thing but i just could see, the programming hat was so powerful so i just, i got this obsession is programming tony morelan 05 48 excellent and i know that you guys can't see on the podcast but soren has some beautiful guitars behind him and before we hit the record button, we were all having a nice conversation about music now, i understand you were born in chile, but raised in england that correct søren lambæk 06 04 and so i was born i was born in chile that's correct and i was raised up in denmark, hence my name and my name is danish and okay because then i guess such a small country and at the time, i wanted to do get a career we didn't have any games industry in denmark so i decided i wanted to go to england and when university studying games design, because there was art, but then i realized programming that's where the future is, for me and then so i was one of the only students that went from art to programming is usually the other way around yeah, tony morelan 06 47 so yeah, i would definitely think so so let's talk foldables back in 2019, samsung released the galaxy fold, which was the first foldable device to really hit the mainstream market since then, other companies like microsoft, motorola, huawei, have released foldable devices and in such a short amount of time, we've seen some really great improvements with this technology guy, you've been from microsoft, what are some of the trends that you've noticed in the foldable industry? guy merin 07 17 some of the trends one we're seeing, as you said, more, more oems picking those up? are you seeing more and more companies bringing for the world? and it's really starting to become a commodity but the cool thing about it that each one has their own different angle to it so you know, for the microsoft one, it's, you know, mainly around productivity and two screens, for others is mainly around more real estate or something that is a small form that can then go to, to a bigger form and it's all really about the form factors and the posters that you can really do with it so how does the phone react when it's folded when it's open when it's tilted 90 degrees? and i think we'll see more of those in the future tony morelan 08 07 are they are you seeing different trends for the way developers are designing and building apps? ade oshineye 08 12 so i think we're seeing three main trends one is the oems exploring the space of possible designs, does the device folding fold out full vertically filled horizontally full three times, there's so many different things oems are doing second stylus is becoming more and more mainstream, that's changing the set of available postures and then the final thing is the way keyboards and trackpads are blurring the distinctions between phones, phablets tablets so the whole notion of what is an android app is becoming this flexible, multi-dimensional space and there's always people exploring that space and trying new things yeah, tony morelan 08 55 yeah soren, what about the growth in this industry? is this been something that you think, you know, over the past several years, it's really been, you know, going much higher? søren lambæk 09 04 yeah so last year, we had 150% growth, and we are expecting that in the future, more and more people seem to get foldable phones and when it comes to games, it does have like quite a lot of benefits because you can use the second screen if you're put it in like a folder but sure you can you can change this from full screen to a two completely different mode where the bottom screen, you can use it for items or mini map and that kind of thing tony morelan 09 35 yeah, yeah you know, this technology is so new that it's at this time, i think we're still trying to figure out what is this this target audience a day? what are your thoughts on who is the target audience for foldables? ade oshineye 09 49 well, i think a good way of thinking about it would be to look at the flips and the surface drill as capturing the two sets of ordinances we see there are very often younger people woohoo, looking for cool new experiences, i tend to see a lot of those people walking around with a samsung flip but then you also see a set of people at the high end with a lot more money tend to be more business people, they tend to have the larger the fold or a duel or something like that, that has a stylus that runs multiple apps at the same time, that sort of almost a replacement laptop and those are the two sets of people i tend to see using foldables tony morelan 10 25 guy, do you have any thoughts on them? on the demographic of who is attracted to foldables? guy merin 10 31 i don't see it as a demographic thing i think i think it will become a commodity that more and more users across the world will? we'll see i think right now we're still seeing trends, because he's on the higher end, of course, yeah so we're seeing trend around there but when this becomes more of a commodity, and i think it will, and more of a mainstream device, i don't think it's going to be a demographic thing, just like we've seen with other form, form factors that are spread across the world tony morelan 11 00 yeah, yeah in certain you'd mentioned about gamers and tell me your thoughts on you know why something like foldable device would be attracted to the gaming community? søren lambæk 11 09 well, obviously, a big screen will have a big effect, not only can you see like a lot of graphics do you like and can change and you can have like, a different benefits doing tony morelan 11 20 that so what would it take for foldables to become more mainstream? søren lambæk 11 24 the price is it's a major one for reforms are quite pricey sure, reducing the price wouldn't make it more accessible for a lot of people tony morelan 11 34 yeah and i also think that really trying to teach developers how to build apps, you know, more education on app adoption is also important søren lambæk 11 43 yeah, definitely, we see a lot of games developer don't even consider foldable phones yet so i hope that is something that is going to change, where they could like start maybe changing the ui before they actually building the game guy merin 11 58 i think it would only if i may add one thing i think it's is a triangle of three things there is, you know, the users and the users’ need to see the benefit of why they should, you know, try a foldable phone or a large screen and then what drives that is apps so the more apps that we see that utilize it, that gives them benefits over using just a single screen, smaller device, the more apps that will use things like side by side or split screen or drag and drop between and just productivity and thinks that users can get more out of these apps when running on these new form factors i think that's another key factor and i think the third piece of this triangle is, in order to make the app better on those, you need to support it, that sdk level and the platform yeah, that's a lot of work that has been done by everybody here so mainly by google, because they of course, own the platform so the more we will see those things as standard like jetpack compose so how do you support foldables? there? how do you support all the other sdks, the more they will come native, the better the apps will get, the better the users will benefit from them? and i think that triangle, doing it correctly, will make it much more mainstream in the future ade oshineye 13 20 i agree with that i think one other thing that we've been pushing is getting developers across the chasm of thinking about this so we have a code lab, we put together with microsoft shows developers how to build for a world where the devices can be radically different sizes i mean, on my desk here, i have a samsung flip and a samsung ultra and they are radically different sizes, one of them can fold to be even smaller so if you want to build for both of these devices, and all the things in between, you have to think about am i going to be a responsive design app or when adaptive app, i had to think about which layouts i'm going to support which postures are going to support which aspect ratios, which resolutions, and developers for a long time, we've been able to sort of not really think very hard about that because most phones for a long time were fairly similar sizes now, the same kindle app that has to fold nicely on a surface duo has to also work on a giant tablet, for example, we have duo and meet and the same apk more or less that runs on your phone also runs on your television when we think of this as large screens, the screens can be very tony morelan 14 35 large what about google's quality guidelines? so the challenge for ade oshineye 14 39 us with quality guidelines is we don't want to stifle innovation but we do want to make sure that when a user downloads an app from our store, that it works well on the device, and that there are there's a well-lit path for developers in how do i give users the best possible experience so we have fatal guidelines and implemented shouldn't advice on what is a high-quality experience and then we have tiers of quality, so that you don't have to take a big jump, you don't have to eat the elephant in one bite you can, i think it's eat the rhinoceros in one bite, you can do it in, in lots of little bites so there are steps you can take to improve your quality and we have an easy-to-understand website that shows you, here's all the things you haven't done yet and you can decide which ones to invest in and when tony morelan 15 29 yeah, and i'll mention here that i know throughout this podcast that you guys will be referencing lots of resources for developers to really learn more about how to create for foldables, i'll be sure to include links in the show notes so that you guys can easily find this content so guy, tell me who do you think would benefit by developing for the foldable form factor and why guy merin 15 52 i think everybody will benefit from it the bottom of the funnel is the apps and the user so the users would benefit the most but i think you're asking more about the developers, i think every developer should look at is how they said here before my app is not going to run now only on a single screen, small device, it will span across others, every developer should think about their app what else can i do now that i have more real estate? and again, if it's a game, okay, what do i do with the second screen? how will my game maybe if i run the game, in a split screen with discord on the other side, because i'm using that for gaming as well, to start thinking about all these new scenarios that your app can now do? how can i provide content to the app that sits just beside me with drag and drop functionalities with these kinds of things? and i think every app, every developer, can benefit from those and you should start thinking about that, because this is preparing for, for the future and for more and more of these devices showing in market yeah, tony morelan 17 02 and i know the other day, a day and i were actually having a conversation about multi app user journeys ade oshineye 17 08 so we've tried to move away from thinking of use cases or scenarios to what we call cjs critical user journeys and part of that is because if i'm at home during the pandemic, i tend to have google docs open with meeting notes and then google meat open that if you move that to a foldable, well, that's one screen each but then i need to drag and drop things across them which means both developers need to think, am i a good citizen? does my app play well with others? historically, developers have tended to think about the user journey only within their own app but if you're a video chat app, you need to think okay, how do i work well, with a game with video content, somebody's watching, if i'm a video app, do i have picture in picture, if i have picture and picture, it unlocks all sorts of interesting new user journeys for the user if i'm a game, and i support multi window scenarios, it becomes possible somebody to play a game and live, stream it or play a game and have a chat conversation going on at the same time so trying to think about the user journey that's not just inside your one app, but it's across your app and other apps or even across multiple instances of your app tony morelan 18 17 store and tell me, what should the developer with an existing app do to extend it to foldables? søren lambæk 18 23 so there's quite a lot of sdk is that can be used already jetpack? windows manager is an android library that can help you with detecting if your app is expanding over multiple screens or not tony morelan 18 39 what about specifically game developers? maybe someone who's developing, you know, for unity or for unreal? are there resources out there to help them? søren lambæk 18 47 yeah, so samsung got like, some tutorials that will help you to set up phone apps for unity and unreal, boston guy merin 18 56 tony, if i may i can add one thing on the first question, what can developers do with an existing app, we put up a three-step guide and it's not specifically for the microsoft surface device for large screen on older foldables and the really the three steps are crawl, walk, run so you should start with taking your app and just trying it out on these new form factors if you have access to one of these devices, just try it there if you don't, there is emulators for everything for foldables for a duo for a large screen so just try your app on the emulator that's step one just see that it behaves well on these new form factors using an email lender step two is what we call the low hanging fruit so don't super invest but start small, as they say, maybe think about how can my app behave when it's running within other apps? so maybe support drag and drop either is a source of or is or is a destination cause doing picture and picture, things like that these are things that are super easy that you know, there's samples, there's code snippets, and you can just go in and copy paste into your app and just support that these are really small additions you can do and then it will really shine on those new devices and step three, is where really all the magic can happen you know, you have more real estate now so there's many new design patterns, you can think about lease details, you can think about a companion plane and a few others so what now will you do in your app that, you know, you have more real estate, you can do things differently? this is step three, which is i think, you know, where all the big value will come but it's a journey towards getting there ade oshineye 20 43 definitely, i think one other thing you may want to include is, at the most basic level, you check things like if i rotate my phone, does your device crash? does the app crash? or does it handle it? and then use thing? okay, so you handle rotation, you don't lose state if i'm halfway through typing a message, and i accidentally rotate my tablet, do you lose my message? that's bad yeah so that continuity is an important thing, all the way up to things like handling hinge occlusion so if you've got a surface duo, there's a hinge down the middle, you've got to remember that there we have an api for that, handling different postures of the device, and even trying to see if you can use those postures to offer new functionality but for a lot of developers, it's stepping back thinking about all the different contexts in which people are going to try to use your app and then making sure that you've handled them tony morelan 21 31 yeah, and guy you had mentioned about them testing, i wanted to also bring up that samsung has their remote tests lab, where you can online access a real device for testing your app so another great resource for developers to, to work with guy merin 21 49 definitely, it's also that in the emulator, the emulator is also an amazing resource, because you can run it locally, you can run it on the cloud, we have some workflows that connect to a cloud emulator so every time you know we have a few samples, so every time we do a check in for the sample, it spins off an emulator and test it looks great so we have all these test steps and none of that is specific to us to the to the demo, you can run it with any other devices well, tony morelan 22 15 tell me what is the figma design kit guy merin 22 18 figma design kit is a tool for designers to start thinking about foldables and large screens and dual screens so when we started the journey with developers, we first were thinking about the developers, how do we support you with sdks and with samples and with documentation, that's step two, actually, step one is thinking about your designs and then we started looking at what are the tools that designers use so figma is one of them and there are others so we just created figma design kit for foldables so it lists out all the layouts that are possible again, the list detail, the companion pane and a few others, gives you all the frames and really helps you think about the scenarios you want to cover in your in your app for these new form factors and then you start working with the developers and the sdk, there's actually a step three that we're trying to do in the future, which is, how do we make it easy? taking a figma design kit or another slope and making that into code? that's going to be the next step in the future? tony morelan 23 30 are they tell me about the jetpack window manager and the jet news demo app? ade oshineye 23 36 so like many people, we have quite some quite old demos that were written in a world where you had a phone and you had a tablet and so we like everybody else had to think about, okay, how do we change this to handle different postures, different aspect ratios so we have an article where we walked through the process we went through to use jetpack window manager to handle a lot of these configuration changes to handle continuity, rotation, a lot of those things so we got actually pretty good article about this i think one of the things we don't touch on in that article that i think is really important, is if i have an existing app that people like, and it's too expensive for me to do a complete rewrite, how do i start adding some of the new things into it so we have a new thing called activity embedding, which lets you get a foot in the door of compose, or we're starting to add these new, more complex layouts so maybe your app was just, oh, i have a bunch of cards that go vertically up and down the screen but it's actually no longer a phone it's a device that folds out is not twice the size so now i need to think, okay, i need to go to a list detail view gmail is a good example of this you do that unfold or you rotate and now you have so much more screen estate the challenge is, how do i embed the new more complex layout index? system set of layouts i already have without having to do a rewrite so there's a lot of that functionality that we're trying to show people because we don't want to fall in the trap of the only way you can get to the new world is to burn everything down and start again we want to give people an incremental path from where they are to where they need to get tony morelan 25 18 i was at gdc, this past year in samsung had a great presentation this morning did you get a chance to see that that presentation at gdc? where they talked about developing for foldables? søren lambæk 25 30 yeah, yeah yeah, yeah, it was one of our team members, mike there was doing a presentation tony morelan 25 37 yeah, i'll make sure to include a link to that to that presentation it was great because they covered foldable optimizations for game engines like unity and unreal, talked about android jetpack apis, and window manager showed examples of things like flex mode and ui scaling, and even had an engineer from unity talk about adaptive performance 4 0 ade tell me what should a developer consider when writing a new app for foldables? ade oshineye 25 46 my immediate reaction to this is, first of all, should i use views? or should i use compose, but i'm talking to more and more of my colleagues, they all go? well, obviously, they should compose because composers the future so the official google recommendation, if you're starting from scratch, start with compose, it will mature as your app matures the other things to think about is what makes foldable special, it's the fact they have all these postures, they have all of these different kinds of usage scenarios that they offer and then you want to avoid littering your code with designs that are attached to a specific screen size, or a specific aspect ratio, or a specific resolution and instead, you've got to decide am i adaptive or responsive? will i try to scale the same design? or will i move the components around when the posture or the orientation or the size changes? it's a difference between an app with a list of cards and the cards just get bigger? and an app that says, well, when you rotate me, i go to a list detail view? tony morelan 26 52 guy, what are your thoughts on what a developer should consider when they're writing a new app for foldables guy merin 26 59 so i think a developer should consider a couple of things one, there's folding features specifically for duo, we have, we have a hinge in the middle so if you have like controls, do you want to put them in the middle, or maybe you want to lay them out a little? a little differently for game developers, we did a lot of work for example, with xbox so when you play a game, you can have the controls on one screen and the game on the other screen so the controls, you know, are now have their own dedicated space so maybe you can do some stuff with it so for example, the one thing we did is depending on where you are in the game itself, the controller themes and the way they look change so if you're now a pirate on a ship, and you're in a sword fight or something, the controller is changed to be a sword, for example, or things like that and then other considerations are the posters so what happens when the device is folded? what happens when it's open? what happens when you rotate it? and all these will change the layout of the app and show different controls and options for the use of yeah, tony morelan 28 12 yeah soren, what would you say are some of the common issues that could come up when designing around foldables? søren lambæk 28 22 i think it's important for developers to consider the ui because on the samsung fold, when the phone is folded, we got like a single display so the aspect ratio on that one is very different to when you're when you got it unfolded so the ui, you will have much less space for ui so that is something that's very important that the transition from going from single display to what's the display, that the ui will change so it fits, there's no point on like, you can see all the ui on when it's when it's unfolded and then when you go to the single screen, half of the ui is not a clickable or you can see it so that's very, very important that you test that on your on your phone tony morelan 29 11 yeah, and i know it's a gdc presentation that's one of the things that mike covered was how to have your game go from the single screen and then when you open up the device, how it transitions to the to the door screen søren lambæk 29 25 yeah, exactly ade oshineye 29 26 oh, actually, that reminds me one thing i, i keep mentioning continuity and mostly people think, oh, i have my device, let's say to tablet like this ultra i have in my hand and in in the vertical orientation that's easy and if i rotate, i don't want to lose my state that's typically what we've always meant by continuity but once you have a device that falls, especially if you've got something that has three screens and how to screen them into screens, i may launch something on the outer screen then i open it up and then the app has to move on or the activity as we found that out the screen to now maybe spread out across both screens and then if i fold it the other way, so i'm now on one of the inner screens, the app has to not lose state now we have a bunch of guidance on how you define normal apps, where it gets especially tricky is when it's things like camera, where you may not just be moving an activity across screens, but it may actually move it across cameras okay, so this is one of those places where, if you have a real device in your hand, you can see it and you can see how for a user, this would be a very comfortable, obvious thing, they would expect holding the device in their hands but for you sitting behind your keyboard, it might not leap out as you as an obvious thing for a user to do yeah, so if you sit with erica, with us a samsung flip, you can take a selfie on it, but you might just very easily rotating your hand and because you want to take a selfie with the other camera for your app that's a very complicated thing for the user it's the most natural thing in the world sure so it's important to think about continuity across the different surfaces of the foldable yeah, guy merin 31 07 yeah and let me give, let me give another example with an email app can be gmail, it can be outlook, it can be whatever it whatever you're using and i think foldable or dual screen is really a great way to read emails so if, if until now, i was used to, you know, in the morning to get to my emails on a single screen device so i just have a list of emails, and then i go into each one of them, read it, go back, go to each one of them, read it, go back reply, what have you, if you don't have a larger screen, you can have the least detail so i see all the emails in one place, i click them and then the other side, i see the actual email that i need to address and now if i have to, is a lengthy email, if i have to read it, i can rotate the device and then i get into this a form, that i across the whole screen, i just see the whole email as detail and then when i hit the reply button, it can go into this laptop mode that you know, the keyboard goes from the bottom and then i could start replying to it and when i'm done, i get back to the least detail up to my next email so it really can serve as a laptop replacement yeah, because you have a larger screen, you can do pretty much in a productive manner, which you can do with your regular pc or mac tony morelan 32 27 yeah, for sure so guy, do you think it's a misconception that developers need to do a lot of custom work, that's only going to be that's only going to add value to a foldable device guy merin 32 38 i think it's a misconception, definitely, there's actually not a lot of work you need to do as i said before, you could start small with just adding drag and drop functionality or picture in picture and that will work across every place, every form factor around large screen small screen, and you're using native api's and sdk to support a foldable, you don't need to pick up another sdk for it it's all supported natively and whatever you do will work across all these devices and again, in the future, it can work on the tv or other on a watch so whatever your app will do, consider all these layouts provide layout screens, for each one of those new form factors, a single app will work on all of it ade oshineye 33 28 yeah, i think something i did this weekend is i went and dug up all my old android devices, i have android devices, going back to the g one and even the ones before the g one that i'm not sure i'm allowed to talk about in public, all the way to the latest ones from today and as developer, handling all of these different scenarios, is actually increasing the maintainability of your app because if i think about the screen on the g one and the resolution of that, and i think about that, compared to the resolution, the pixel six, it's a huge jump, and the screens are so much bigger so think about the kinds of devices we'll have five years from now, how much bigger how much higher resolution will those screens be? how often do you want to rewrite your app between now and then? versus oh, it's just a bigger screen at all it's a different posture and being able to make it a relatively simple migration or maintenance that versus a yet another rewrite tony morelan 34 31 so tell me, soren, what are some good examples of existing apps that are taking advantage of the foldable form factor? søren lambæk 34 39 so we have seen a lot of retro games actually, you are utilizing the phone a lot so because retro games don't really have that much heavy graphics so they've got like, plenty of space that they can use so we have seen where people are using a virtual gamepad on one screen and using live small mini maps and that kind of thing so that's okay seems but i also think that like when you're watching it like a video and you start like folding it, and you just see the video slide up on just one screen, because it assumes that you want to put it on tape or something i think that is really clever and i would like to see more of that thinking tony morelan 35 19 in a day, what are some great examples of existing apps that are taking advantage of the foldable form factor? ade oshineye 35 24 so we see a lot, but actually, my two favorites were shown to me by guy, one was a battleships game where you basically have the device in a tabletop posture, and you basically rotate it the other way for the other person to play oh, i thought that was beautiful yes love that and the second thing he showed me was just the kindle yes so basically be able to have the kindle open like a book, but also be able to fold it the other way so like a like a cheap paperback, where you fold it and you hold him in one hand exactly i would never do that for any of my books, but been able to do that and like surface to that field like that is so nicely that i think was really compelling tony morelan 36 02 and that was the first thing when i when i pulled out the surface duo showed my wife, the first thing she did was grab it in, folded it around like it was a traditional paperback book that was so easy to hold she absolutely loved that that aspect of it guy tell me, what are some other examples of some great apps that are already taking advantage of a foldable, guy merin 36 25 i think two kinds of app one is apps for consuming and i think the kindle is a good example of flipping a page, which is supernatural i really liked that experience as well, but also apps around creation so for example, if you need to edit a video, or edit your photos, or edit the blog post, it's very easy with dual screen or with the foldable or our screen to have the actual video or photo on one side, and on the other side, all the controls, and then you hit a control and you see it real time, what happens, how does it change the other, it's really, really helpful to create and edit your memories that way so it's really a great creation tool, as well, not just for consuming tony morelan 37 12 yeah, i could definitely see that also be a great value with a program like adobe acrobat you know, i'm often editing pdfs and so i could see that would be a great use case for, you know, not only being able to read documents, but then you know, making edits ade oshineye 37 28 i can also imagine with that sort of notebook, passport, sort of novel types, device, where if it's light enough and thin enough, you can sort of fold it in half with a stylus, and just scribble it like you would have a normal notebook, basically, like a moleskin but it's a moleskin with an infinite number of pages there's, guy merin 37 49 there's also psychological sense here, about the folding, and that you can close it so for example, if i'm writing or scribbling or journaling with a stylus on the device, when it's open, when i'm done, consider if you're doing it on a regular notebook, what are you doing, you're closing it, and it gives you a sense that you're done you accomplished something and i think this is where foldables really shine because you're doing something you're reading an email, you're journaling, you're even playing a game, once you're done, you close it, even you hear that little click yes and it gives you a sense, you know, it's like checking a box in your to do and i think this is something that you don't see in other form factors and you see it only on this folding devices that really helps users stay in their flow and then move away to, you know, do something else that is not related to the phone so leave it off and you know, digital wellbeing and stuff tony morelan 38 46 yeah, it's funny that you say that, because that was the one of the first things i noticed when i closed my duo hearing that little click sound it's sitting on my desk i was like, ah, okay, put that away ade oshineye 38 56 yeah, yeah, that's actually not the interesting effectiveness is that with the foldables, initially, because of weight, and then eventually, because of new user journeys, they switch from being in your trouser pocket, at least for me to being in a jacket pocket and that's something changes all the places i use them tony morelan 39 14 interesting yeah and i know when i first got my hands on the z flip, folding it to that such small form factor and putting it in my pocket just felt so much better than some of the bulky devices that i seem to carry around with me søren lambæk 39 30 i actually heard that people who using the ac flip, use the phone less because they have to open it manually so for them, it actually helps them a lot to not like spend too much time on the phone so there, i guess there's some psychological effect ade oshineye 39 47 i mean, i've had the opposite with my flip in that because it's so small, and because it sorts of made me take more selfies i don't usually take selfies because well, i usually have a real camera with me, but i have this thing, it's small enough that it's in the back pocket of my jeans and it's just arms were nice and i would normally just take a photo of the place but as thing i can pull it out, then basically without having to unfold it, or unlock it just pointed on my face, click selfie, put it in my pocket again so for that one particular user journey, i use it more tony morelan 40 20 interesting yeah, i could, i could totally see that but tell me a day, what are some of the challenges that foldable technology needs to overcome to increase consumer adoption? ade oshineye 40 31 i mean, if i look at the variety of devices, i have the flip back pocket of jeans every time when it comes to the fold, i have to sort of look at the jacket i'm wearing and think about, okay, will the material the lining handles the weight, or should it go into my bag, if i'm carrying this surface duo, it's light enough that i can just casually put it in my jacket pocket, it'll be fine but it's too bulky for me to put in the front pocket of any of my jeans and it feels dangerous to put in the back pocket so weight is an issue cost is also an issue because the more expensive it is, the more careful you have to be when you put it away to think, will it be safe in this pocket but as these things get thinner, lighter, cheaper, and we discover more and more user journeys, i think that's going to be really interesting if i give an example, i have the surface level one, and it's great but every now and again, i see somebody surface two or two and i go, oh, they have a pen oh, that's interesting and i find myself thinking, well, that might be an interesting upgrade if it were thin enough and light enough, but then i'm thinking, but will it fit in my jacket? pocket? tony morelan 41 37 sure that's interesting guy tell me what do you think are some of the challenges that the foldable technology needs to overcome? i guy merin 41 45 think the first obvious one is the price point, they're still more expensive than other form factors so i think we're going to see the prices, the prices go down? for sure i think that would be probably my biggest one i think we did not hit the point of, you know, apps, enough apps are there, we'll see more and more apps, and then everybody will want to join the party i don't think we are in that stage yet and i think that will come soon tony morelan 42 13 and so on, what are your thoughts on what sort of challenges that the foldable technology needs to overcome? søren lambæk 42 19 the foldable phone at the moment is very bulky, and it's very heavy, it will be great that it was if it's lighter, i'd know that people that it actually puts people off some people that it is so bulky and heavy, where they will rather i get the flip phone for that reason i also think speaking of the flip, i think battery life is an it's very important i don't know how much bigger battery they can put in them without even giving more bulky and heavier but when you have like on the samsung one, there are three displays and if you use it for game watching films, it's really draining battery so that is i will say that is the big ones for me tony morelan 43 03 so guy, what resources would you recommend for developers interested in creating foldable apps, guy merin 43 09 i think you know; our modal is really meeting the developers where they're at so continue using whatever you're using if you're using a mac or pc, we have emulators for each one of those things so i would start with just following the recommendations you know, we have documentation samsung has google, start there, download an emulator, try it out and then just write a sample app, there was a code lab that we built with google, you could try there to test some of these new capabilities on the emulator on a specific device and then start your journey from there to commutations samples emulator we post a weekly blog, a weekly developer blog every thursday, that brings new information, for example, how to write again, how to use drag and drop, how to run side by side with another app, how to address the post changes, well, layout changes so we have a blog every week that covers code it's a developer blog with specific code and tips and tricks, try those resources and just reach out if you have a question and if you're blocked on anything, we are really here to help you out with your journey because we're creating the future and we want you to be successful with your app on all these new form factors tony morelan 44 34 yeah are there any conferences or events the that you know that you'll be attending? guy merin 44 40 definitely so google io was just completed a few weeks back, a lot of talks around large screens, you can still follow that and see some of the talks droidcon is coming up we just had droidcon san francisco a couple of days ago, and the next one is in berlin, and it's a worldwide conference google's probably going to have a few to prevent samsung has a few events microsoft build was just a couple of weeks ago and we also had to talk about tony morelan 45 08 foldables excellent and i know a day you shared with me a large list of links tells me, you know, what are some of these resources the developers can utilize ade oshineye 45 19 so for us, it's really three buckets there are introductory materials, such as our quality guidelines that i think are really important to sort of absorb into your bones so you can feel what a good experience will be like, and it will nudge you as you go on then we have a large collection of design resources, often at the material design website, but also woven through developers@android com and then the final piece is a set of resources for the developers things like how do i do testing the code library with microsoft but those three buckets of resources are the right ones for you to start with i'd also recommend come to door con berlin, were given a talk a teammate of mine, romano, france will be their co presenting with somebody from microsoft and again, you can go grill those people get lots of questions and of course, there will be future android events, where we'll have more stuff to share tony morelan 46 14 wonderful insight on what does samsung have to offer to help developers søren lambæk 46 20 so sometimes we got our own a game dev space where we posted blocks and tutorials, articles and we will have some when this podcast is out, we should have some tutorials available we also got the gdc presentation that mike did tony morelan 46 37 excellent so any more thoughts as we close the podcasts on this new technology in foldables ade oshineye 46 45 from my perspective, looking at my desk, i've got a flip duo, a samsung tab and that really captures just the variety of form factors that are happening on the android platform and i look forward to seeing more i think that's one of the things i learned here is that there's so much going on and there's so much more to come søren lambæk 47 06 i'm really looking forward to the future to see what new technology and what new devices coming out how the foldable phones will hopefully be more like lighter and more affordable and yeah, i'm really looking forward to see how developers is going to utilize them for all kinds of different apps guy merin 47 28 i think i think this is super exciting times, we are really in a pivotal point of, you know, something new, something a new generation of four factors evolving, and it's happening right now we started seeing the version one of the foldables and tools, we're now seeing a second version and a third version and i think we're going to see more of that and this is just amazing we are creating the future right now and i think developers are the most important part of it, because it will succeed based on the apps, and what developers will do with it and this is a great time now to join this ride and really create the future because i think 10 years from now, we will see things that really start happening right now with apps that take you to the next steps with foldables yeah, tony morelan 48 21 my key takeaway with the foldable industry is how many of these big companies in this industry are working together to further the technology it was great to have you know, someone from google from microsoft, and of course, from samsung, all on the podcast today before we close this out, i want to ask a question of each of you soren, what is it that you do for fun and when you're not at your desk working for samsung? søren lambæk 48 46 as i already said that i do like art to play music and draw and i have an eight-month-old son that's taking up a lot of my time at the moment tony morelan 49 00 wonderful wonderful yeah, congratulations on that thank you in a day, what is it the you do for fun when you can step away from your role at ade oshineye 49 09 google? so i do a lot of things but i think the main thing that occupies my time nowadays has been playing badminton it's an it's a huge part of the swiss culture and there's just a lot of people who play badminton, so it's a great game you can actually get seriously injured in it but you can also get very good at it so i'd recommend it tony morelan 49 32 in guy what is it that you do for fun up in the great northwest? when you get to put aside your responsibilities at microsoft i can see in your background now i noticed on your wall, you've got your own indoor rock-climbing gym guy merin 49 45 yeah, exactly so trivia in the last six months i've been training really, really hard to climb and summit some of the mountains around north washington goal is to get even bigger mountains but we did a couple of summits last weekend and really into climbing and something mountains now wow takes a lot of mental prep, nutrition, fitness level and i've seen a lot of similarities between the experiences i have with preparing for a climb, to even things i do at work it's really managing a project, a lot of insights i got from climbing that i apply in other places tony morelan 50 25 that's great that's great hey, i wanted to thank all of you for being on the podcast today it was wonderful to hear the different voices and get a chance to chat with you all ade oshineye 50 34 thank you very much for having us you closing 50 35 just looking to start creating for samsung download the latest tools to code your next app, or get software for designing apps without coding at all sell your apps to the world on the samsung galaxy store check out developer samsung com today and start your journey with samsung the samsung developers podcast is hosted by tony morelan and produced by jeanne hsu
tutorials web
blogphoto by alexander andrews on unsplash as promised in my last post about dark mode, i bring you a dark mode tutorial 🌚. if you just want to see the code, a refactored version lives on glitch. let’s get straight into it. prerequisites this tutorial is beginner friendly but not if you’ve done absolutely no html, css, javascript. you’ll also need a small html and css site that you’d like to add dark mode to. i’ll be using my own personal site. system preferences many operating systems now have dark and light mode settings which we should respect. a safe assumption to make is that if someone has their operating settings set to “dark” then they probably also want to view your site in dark mode too. we can do this with the css media query [prefers-color-scheme](https://developer.mozilla.org/en-us/docs/web/css/@media/prefers-color-scheme), this media query allows us to recognise the operating system’s colour scheme and define some css rules within it. so, just to make sure things are working let’s set the background to black if the operating system is set to dark: @media (prefers-color-scheme: dark) { body { background-color: black; } } this is my result. the media query can read what the operating system has as its colour scheme and applies the appropriate rules. you can test this by toggling the colour scheme settings on your computer. toggle colours okay, but what if the visitor wants to view your site in a different colour scheme than what the operating system is? we should give them that choice and we can do so by adding a toggle button and using javascript to switch between light and dark colour schemes. html first, let’s add a meta tag the head of our html: <meta name="color-scheme" content="dark light"> this will act as a fallback for the browser should it not have prefers-colour-scheme since it can act as an indicator for browser to know that the content supports colour schemes. then we want to add the button to our body. <button id="colourmodebtn">toggle dark mode</button> finally on the body, we want to add a specific class (which will be important later on): <body class="`systemdarkpreference"> `<button id="colourmodebtn">toggle dark mode</button> `</body>` css next, we want to set some css rules for a light theme within our prefers-color-scheme: dark block. we’re doing this so that if someone has set their operating system to “dark” everything that happens is within a dark os context since we can’t override that setting. now, we need to switch gears in how we’ve been thinking about our colour scheming. sure, it’s light vs dark but it’s also system settings vs overridden, and this is important. it‘s helpful to think of @ media (prefers-color-scheme: dark) as the system dark context within which we also want some rules for that media query and also when we want to override the system setting. it may be complicated but hopefully the code sheds some light: @media (prefers-color-scheme: dark) { body.systemdarkpreference { background-color: black; } } so within our dark context, we’ve added a systemdarkpreference to the body class as a way to apply our dark theme within the system dark context. we don’t need a class for our light theme because we’re going to be toggling the systemdarkpreference. so if the body is in our dark context but doesn’t have the systemdarkpreference class, then it will fall back to what rule it finds for the body element. so, what happens if a visitor switches off the dark theme? or their operating system colour scheme is set to light and they want to switch to dark? or what if the visitor’s operating system doesn’t allow users to change their colour themes? to ensure these visitors are properly served, we’ll want to add some rules outside of the media query. /* default */ body{ background-color: white; } /* dark */ body.dark { background-color: black; } we want to define the body element’s ruleset without any classes as the default behaviour for anyone who visits the site. then a .dark class for those who want to toggle to a dark theme. there is a bit of repetition here since all the dark rules will have to be defined both inside and outside of the prefers-color-scheme media query but the default theme only needs to be defined once. javascript remember to ensure your javascript is within <script></script> tag in your html or, if you prefer, is in a javascript file which is being called from your html like so: <script src="your_file.js"></script>. without the javascript the visitor won’t be able to interact with the page. so next, we’ll add an event listener to the button we created earlier. let’s get the button element: const ***togglecolourmodebtn ***= ***document***.getelementbyid("colourmodebtn"); then we can add the event listener to the button: ***togglecolourmodebtn***.addeventlistener("click", function () {}); at the moment this won’t have any functionality since we’re not asking it to do anything in the listener. within the listener, first we want to make a few checks : ***togglecolourmodebtn***.addeventlistener("click", function () { const hassysdarkclass = ***document***.body.classlist.contains('systemdarkpreference'); const currentsysisdark = ***window***.matchmedia("(prefers-color-scheme: dark)").matches; const isdark = (hassysdarkclass && currentsysisdark) || ***document***.body.classlist.contains('dark'); }); let’s see what each variable is checking: hassysdarkclass checks that the body has the systemdarkpreference class on it. currentsysisdark checks if the operating system is set to dark using the prefers-color-scheme similar to what we’re doing in our css. isdark checks that the first two variables ( hassysdarkclass and currentsysisdark ) are both true at the same time *or *that the body has the .dark class. this could have been one variable but it’s far easier to read split up like this. before we apply the correct styles to our body, we need to remove the hard coded systemdarkpreference since as soon as someone presses our button, they are indicating they want to override the system settings. ***togglecolourmodebtn***.addeventlistener("click", function () { const hassysdarkclass = ***document***.body.classlist.contains('systemdarkpreference'); const currentsysisdark = ***window***.matchmedia("(prefers-color-scheme: dark)").matches; const isdark = (hassysdarkclass && currentsysisdark) || ***document***.body.classlist.contains('dark'); *** document***.body.classlist.remove('systemdarkpreference'); }); then we want to finally apply the correct css rules by toggling the body’s class list to include the .dark class if isdark is false. ***togglecolourmodebtn***.addeventlistener("click", function () { const hassysdarkclass = ***document***.body.classlist.contains('systemdarkpreference'); const currentsysisdark = ***window***.matchmedia("(prefers-color-scheme: dark)").matches; const isdark = (hassysdarkclass && currentsysisdark) || ***document***.body.classlist.contains('dark'); *** document***.body.classlist.remove('systemdarkpreference'); ***document***.body.classlist.toggle('dark', !isdark); }); the end result should look like this. storing settings so that our visitors don’t have to keep readjusting the settings, we should store their preferences. in my last post i spoke about different methods to do this including localstorage and cookies. since my personal site is small and doesn’t collect data to be stored on the server, i’ve decided to go with localstorage. when we make any colour scheme change, we want to save it to the browser’s localstorage which we can do in the event listener we just added. ***togglecolourmodebtn***.addeventlistener("click", function () { ... let colourmode; if (***document***.body.classlist.contains("dark")) { colourmode = "dark"; } else { colourmode = "light"; } ***localstorage***.setitem("colourmode", colourmode); ***localstorage***.setitem("overridesyscolour", "true") }); for this first section there are a few moving parts. first we initiate colourmode so that we can dynamically set it later. next we check if the .dark class is applied to the body element, if it is then we can set colourmode to dark and if it isn’t then we can set it to light. then we can save this value in the localstorage. finally, we also want to keep track of the fact that we’ve overridden the system’s settings in the localstorage. the second section to this is to use what’s in the localstorage to set the page’s colour scheme when the visitor visits the page again. so somewhere outside of and above the event listener, we want to get the colourmode we saved previously and present the correct colour scheme depending on the value. if (***localstorage***.getitem("overridesyscolour") == "true") { const ***currentcolourmode ***= ***localstorage***.getitem("colourmode"); ***document***.body.classlist.remove('systemdarkpreference'); ***document***.body.classlist.add(***currentcolourmode***); } so we’re checking that the system colour scheme has been overridden and if it is, then we remove that hard coded system class then add the value that’s in the localstorage. something to note here is that this value can either be "light" or "dark" however, we don’t have any rules for the .light class so nothing will be applied to this and it will use the default rules as defined in our css. if you have rules for .light this will cause issues, so you may want to use a different name or an empty string when you’re setting the value in localstorage. choosing colours now, arguably the most important factor of dark themes. choosing the correct colours. many sites go for an off-black background and lighter white or off-white text. you want to be careful not to have contrast that’s too sharp but you also need to meet the minimum colour contrast of 4.5:1 for normal text for accessibility purposes. it’s important to make your user experience as comfortable to all visitors as possible. however, you don’t have to be confined to black and white, feel free to be creative. coolors is a tool that allows you to view colour combinations and ensure they meet the web content accessibility guidelines. i went for a dark blue, light blue and pink combo. finished page play with the finished thing. last words samsung internet is starting to support prefers-color-scheme as a labs menu item, so web developers can start working with it, and exploring how it helps them to build better ui. in the meantime, samsung internet will support force dark mode for the sake of users how expect dark web page when they set the device as dark. so if you want to experiment with prefers-color-scheme on samsung internet, make sure to turn it on via the labs menu for now. as i mentioned in my last post, there are many ways to implement dark mode and it’s up to you to analyse what the sacrifices for each method is. for example, if a visitor to my website has javascript turned off on their browser, then this solution won’t work. however, it’s overkill for me to store the theming data in a database (another method) because i don’t collect user data and don’t need to. the method i went with, while not perfect, is a nice middle ground. there are also other factors you may need to consider, such as the typography and icons which i didn’t have to think about. check out the final glitch project to see how i refactored the code and managed the state of the button. if this tutorial is useful to you, feel free to share it and show off your new dark mode sites! ✨
Lola Odelola
events mobile, health, game, ai, iot
blogthe 2022 samsung developer conference in san francisco showcased some of samsung’s latest innovations in technology. this year spotlighted samsung’s brilliant minds innovating a calm technology ecosystem that gives consumers more seamless experiences in their daily lives. every year we kick off sdc with a keynote speech. this year jonghee han, head of the device experience (dx) division, shared how samsung electronics is crafting systems that help make lives smarter, safer, more convenient, and more connected than ever before. covering everything from knox matrix to holistic household platforms like bixby home studio and smartthings. jh han, vice chairman, ceo and head of device experience (dx) division for those interested in learning more, discover the developer updates shared at sdc in this blog post. samsung electronics integrates matter into the smartthings ecosystem jaeyeon jung, corporate vice president at samsung electronics and head of smartthings, shared how developers can maximize calm technology in the home by tapping into smartthings new integration with matter. jaeyeon jung, vp and head of smartthings, mobile experience business matter-enabled devices will join numerous products and brands already available within smartthings’ vast ecosystem, including devices from google, eve systems, honeywell home by resideo, linksys, nanoleaf, philips hue, schlage, wemo, yale, and more. developers, we invite you to build code with matter-enabled devices and watch the many smartthings tech sessions. dolby atmos releases a 3-d audio plugin for samsung mobile matthew reyes from dolby announced dolby atmos’ a new audio plugin with audiokinetic. the audio plugin enables game developers to create a 3-d surround sound effect for galaxy buds and samsung mobile. now players can feel every part of the action on their phones. dolby’s free plugin offers developers a chance to create an even better immersive experience. check out dolby’s tech session, which provides a plugin tutorial. samsung open-sources bothandy project sebastien seung and the team at samsung research america released samsung bothandy’s "openbothandy" open-source project. openbothandy provides manipulation benchmark scenarios, real-time simulation, and baseline manipulation codes. sebastian seung, president and head of samsung research experiment with samsung bothandy and advance robot manipulation technologies. bixby home studio simplifies voice commands bixby's developer evangelist, roger kibbe, shared what’s new with bixby developer studio and bixby home studio. this year's newest update is bixby home studio's voice control optimization tool on smartthings home devices. asr, nlu, and an entire command system are now completed locally on one device. what this means is bixby home studio allows developers to create code that helps consumers complete multiple tasks with a single command on the phone. imagine, you can ask to turn on your ac, and bixby home studio also checks to see if you have any windows open. roger kibbe, senior developer evangelist, north america bixby labs listen to roger’s tech session for more updates and start developing with bixby home studio. samsung health stack optimizes research studies principal engineer jinwoo song from samsung research’s data research team demonstrated how samsung health stack helps developers, engineers, and health professionals optimize research related to digital health using wearable devices. with samsung health stack’s app sdk, developers can create mobile apps that collect data from participants. applications include medical research studies, clinician services, or whatever your imagination envisions. tune in to jinwoo's recorded tech session, and contribute your visions to samsung health stack. relive sdc22 if you’re not done exploring the latest tech innovations, we welcome you to get inspired by sdc from the comfort of your home. you can experience sdc22 all over again–from watching the highlights to accessing the tech sessions on-demand. thank you for reading through our developer announcement for sdc22 events in the past. let us know your favorite moments from sdc by tagging us with the hashtag #sdc22 on twitter, facebook, linkedin, and youtube to continue the discussion.
Mischa Shankerman
events mobile, game
bloglast week’s game developers conference in san francisco brought together top gaming professionals from around the world to showcase the latest in gaming technology. samsung participated in seven sessions during the conference showcasing the work we’re doing to advance the state of mobile gaming. you can re-watch select gdc sessions via our youtube channel. samsung is proud to be a promoter member of the khronos group and participate in many of their open standards, including the vulkan api. during #khronosdevday on tuesday, lewis gordon talked through depth stencil resolve, an upcoming extension to the vulkan api. kostiantyn drabeniuk then joined jack porter from epic games to discuss how we partnered to bring fortnite to mobile devices that run android 8.0 or higher (oreo or pie) and that have the right hardware can take advantage of the vulkan render hardware interface for higher performance than just using open gl es. you can get all of the presentations from the khronos dev day on their web site. on wednesday, samsung, arm, and epic games continued the discussion on optimization. i got my start building profiling and other real-time analysis tools for embedded systems, so i’m really excited to see all of these great tools being made available for today’s game developers. jose and michael shared practical tips on how to double your frame rate in one instance and how to get more than a 50% increase in performance by changing a single line of code in another. arm has also released their vulkan best practices for mobile developers on github. we also had a chance to share our work with unity on their upcoming adaptive performance feature. with precise information on thermal trends, mobile game developers can deliver longer play times and smoother frame rates on the galaxy s10 and galaxy fold. adaptive performance will soon be available as a preview in release 2019.1. we also shared the stage with google to talk about optimizing your apps for different screen sizes including dex and galaxy fold. if you haven’t already done so, check out our resources including our guide to app continuity, our emulator, and the remote testing lab. the google and sdp teams at #gdc19 finally, we discussed several aspects of our galaxy gamedev program which kicked off in 2016. samsung works with gpu manufacturers like arm mali, game engine providers like unity and unreal, as well as developers to ensure galaxy is the best mobile gaming platform. from loaner devices, tools, and on-site support, we’re supporting game developers around the world. we’ve introduced gpuwatch, which lets you monitor the performance of your game in real time without installing any additional software on the device. gpuwatch will be available through the developer options on select devices running android pie. our gamesdk, which will be available soon, allows you to check for gpu bottlenecks and predict thermal throttling so you can make adjustments in real time for maximum performance. outside of gdc, i had the opportunity to attend the 19th annual women in gaming rally. with a focus on diversity and inclusion, the panel discussion at this event highlighted some of the great efforts being made to ensure game creating and game playing can be great experiences for everyone. the energy and positivity in the room were truly inspiring. we hope you’ve enjoyed our focus on gaming during the month of march. stay tuned to our blog for #gamedev news.
Lori Fraleigh
events advertisement
blogthis year’s samsung developer conference (sdc18) may still be a few weeks away, but the excitement is already building for samsung’s showcase of technologies that will help developers and creators build the software and services of tomorrow. we've just announced some of the "can't miss sessions" for sdc18. read on to learn more about some of the exciting sessions that will make sdc18 an event where now meets next. and for a limited time, get 50% off with promo code sdc18-dev50! spotlight session the spotlight session headlining day two of sdc18 will cover some of the tech industry’s most interesting topics. hear from thought leaders in gaming and ai as they discuss exciting news, and reveal their respective outlooks on the future. samsung will also share insights into its gaming strategy during the session, and spotlight innovations encompassing artificial intelligence, the s pen, and much more. speakers include sarah bond, xbox/microsoft’s head of global gaming partnerships and development; tim sweeney, founder and ceo of epic games, the studio behind the wildly popular fortnite; and john hanke, founder and ceo of niantic labs, makers of pokémon go. also included in the spotlight session is president and ceo of wacom, nobutaka ide, who will discuss the power of digital pens and what the future holds for digital ink. bixby sdc18 features a variety of sessions that demonstrate how samsung’s intelligence, bixby, is shaping the landscape for ai platforms. spanning lectures, panels and interactive activities, the sessions, including those listed below, offer attendees the insights they need to develop seamless user experiences for a wide range of devices and services. bixby and the new exponential frontier of intelligent assistants - in this session, key business and technical leaders from the bixby team will explain the ins and outs of the technology, outline bixby’s vision for a new kind of open ecosystem for developers, and discuss how and why to get involved. teaching bixby fundamentals: what you need to know - learn how to access bixby’s development tools, including bixby sdk and ide, to create a bixby experience for your business and prepare it for launch within the bixby ecosystem. smartthings last year at sdc, samsung unveiled smartthings, a new platform for connecting and controlling smart devices. this year, the company will discuss smartthings’ latest enhancements and demonstrate ways to implement the intuitive platform into more devices. highlighted sessions include: smartthings 101: new to smartthings - this session will discuss topics such as which kinds of smartthings api integrations can be built, as well as how to quickly create and integrate with the smartthings api. streamlining iot systems: smartthings cloud-to-cloud device integration - this session will introduce a new developer workspace for integrating cloud-connected devices with smartthings. the workspace will feature new apis and tools that will streamline development and go-to-market processes. devices that are integrated with smartthings will be controlled by bixby and other voice assistant platforms, as well as a full ecosystem of automation and service integrations. and much more additional details on these and other sdc18 sessions may be found here. for more information on this year’s conference, including registration details, please visit sdc18’s official website. and don’t forget to follow @samsung_dev on twitter and keep an eye on the hashtag “#sdc18” for the latest news and updates.
Lori Fraleigh
success story game, marketplace, mobile, ar/vr/xr
blogwe continue to celebrate the top performing apps in creativity, quality, design, and innovation, as we interview winners of our best of galaxy store awards. today, we're talking with greg borrud from niantic about building games that take players out of their homes and into the real world. tell us about niantic niantic is probably best known as the developer of pokémon go, but we are much more than that! niantic is an augmented reality company that helps get people out into the world - exploring with others and having meaningful and engaging experiences. we are both a game developer/publisher as well as a technology company focused on bringing new games and experiences to the world through location-based and ar technology. can you share how niantic has pioneered real world gaming experiences? it started with ingress - a game that asked you to go out and battle for control of points of interest in the real world. this then exploded with the launch of pokémon go in 2016. we all remember packs of people searching for pokémon throughout their neighborhoods. we have continued to evolve our real world platform with more information about the world (we’ve mapped hundreds of millions of places around the world so far), with a focus on creating new gameplay experiences that encourage people to go outside and explore. your premise has been to include a combination of maps and gaming in your app development. can you share how this is done? we’ve built a robust platform that is a map of all the unique and interesting places in our world. this map is curated and updated by our players all the time and we strive to keep it as accurate as we can. that forms the foundation for our new game development. we want to have a wide variety of games and experiences, so we don't have too many restrictions on what a niantic product can be. we want to let the creativity of our teams and our developer partners lead us to entirely new gameplay concepts. what programming languages do you use in development of your games? we use a variety of languages depending on what part of the code our engineers are working in. we primarily develop in c# for the player’s device and java for our servers. occasionally we'll also use c++ or a scripting language like python. at niantic, your work represents the culmination of decades of obsessing about geospatial technology. how important is this technology to your game experiences? critically important. our games are a reflection of the real world. they literally take you outside, exploring neighborhoods and cities, so without precise mapping, we couldn’t build what we offer today. we often hear stories from our pokémon go community about how walking with our games has uncovered hidden gems and historic monuments in their neighborhoods that they never knew existed. our next area of focus is building a dynamic 3d map of the world so that we can progressively layer in augmented reality and other features into our games to make exploring the world more interesting and fun. at the end of the day, the game/experience needs to be fun no matter what technology it is built on top of. you have developed some of the biggest game titles, including pokémon go and harry potter: wizards unite, winner of the best of galaxy store awards 2019 for best ar game. how does augmented reality enhance your games and bring them to life? ar allows us to turn the world outside your door into one of the most amazing, dynamic game boards you can imagine. through ar, your world can be filled with pokémon or wizards. and we’re just in the infancy of what ar can offer. we’re excited to share some of the new ar technologies we are cooking up. your games are highly rated on the galaxy store. how do you maintain your games' quality? we try to learn from and listen to our players as much as we can. although it’s impossible to please everyone all of the time, we do take player feedback very seriously, and we are constantly striving to improve our games by listening, then iterating fast. how has the galaxy store badge supported your game discovery on the galaxy store? the galaxy store badge is supported on a variety of our marketing materials, including the product's website, so players know the game is available on their preferred platform. with all of your success, do you still experience challenges when developing your games? that is one of the great things about making games - there are always new challenges. as technologies, devices, and player preferences evolve, we are challenged every single day we come to work. you have to love (and live for) challenges if you want to be happy in this industry. are there common errors made by developers while programming games? a common error is not testing in a way that replicates a player’s real experience. when tested in isolation, something might ‘work’. but the key is constant testing while looking through the lens of the players. what advice do you have for indie developers attempting to develop a successful game business? start with a small, simple game loop and build it. get it into the hands of your friends and then iterate. it’s an incredible world for game developers right now, as the ability to build something on your own has never been easier. i’m a firm believer in learning by doing. as you continue to pioneer new technologies and gameplay mechanics, what trends do you expect to see? as our mapping and ar technologies continue to evolve and converge, we envision a 3d map of the world that will truly be the ultimate game board. if we can pair that with wearable devices in the future, we believe we will develop new entertainment experiences unlike anything you have seen before. what is ahead for niantic? we’ve got a lot of exciting stuff coming in the near term. as the end of june nears, we’re fast approaching our first anniversary of harry potter: wizards unite, which put magic in the hands of witches and wizards all around the world last summer. for that product, we’re thinking of some exciting new ways to immerse players in the wizarding world with new upcoming features, content releases, and fun in-game events. the fourth anniversary of pokémon go is also approaching this july, and we’ve reimagined our tentpole pokémon go fest event to be playable by the global player base on july 25-26th, wherever they may be. over the past four years, trainers have accomplished some amazing feats; notably walking a collective 28 billion kilometers and making over 280 billion visits to unique points of interest around the world. in the long term, our ultimate goal is to create meaningful and purposeful gameplay experiences. we think these will come in a wide variety of shapes and sizes, and to that extent we have more than 10 new games and ar experiences in different stages of development. we hope to release two new titles in the next six months, with a goal to sustain that cadence annually. we hope these experiences will have a long lasting impact on those who play them. thanks to greg borrud for sharing how niantic creates successful game franchises. follow us on twitter @samsung_dev for more developer interviews and tips for building games, apps, and more for the galaxy store. find out more about our best of galaxy store awards.
Learn Developers Podcast
docseason 1, episode 12 previous episode | episode index | next episode this is a transcript of one episode of the samsung developers podcast, hosted by and produced by tony morelan a listing of all podcast transcripts can be found here host tony morelan product manager, samsung developers instagram - twitter - linkedin guest prasad rayala product manager, samsung electronics in this episode of pow, i interview prasad rayala, product manager for dex, the samsung technology that allows users to extend their galaxy mobile device into a desktop computing experience not only do we talk about the advantages for developers optimizing their apps for dex, but how easy it is to get started listen download this episode topics covered what is dex devices that run dex compatible operating systems optimizing apps for dex dex resources dex sample code security dex features getting started with dex helpful links learn about dex - samsungdex com develop for dex - developer samsung com/samsung-dex samsung dex overview - developer samsung com/samsung-dex/overview dex insights - insights samsung com dex code lab - developer samsung com/codelab dex forum - forum developer samsung com/c/samsung-dex/26 dex whitepaper - insights samsung com/2020/02/12/the-beginners-guide-to-samsung-dex-4/ youtube dex playlist - youtube com/playlist more about samsung dex samsung dex is a new user experience that extends the functionality of your android device to a pc-like environment connect your galaxy to your monitor or tv to bring it to life on the big screen an extension of android n's multi-window mode, there are no proprietary samsung apis needed to launch apps in samsung dex with just a usb cable, unlock your phone's possibilities on pc and mac through samsung dex and now with the note20, you can connect wirelessly to your smart tv using miracast transcript note transcripts are provided by an automated service and reviewed by the samsung developers web team inaccuracies from the transcription process do occur, so please refer to the audio if you are in doubt about the transcript tony morelan 00 02 hey, i'm tony morelan and this is pow! podcasted wisdom from the samsung developer program, where we talk about the latest tech new trends and give insight into all the opportunities available for developers looking to create for samsung on today's show, i interview prasad rayala product manager for dex, the samsung technology that allows users to extend their galaxy mobile device into a desktop computing experience not only do we talk about the advantages for developers optimizing their apps for dex but how he traveled to australia just before covid-19 hit, and with the borders closed he can't come back enjoy so i am super excited to have with me prasad rayala on the podcast i need to first ask who is prasad? prasad rayala 00 48 hey, thanks tony for having me i'm a product manager at samsung electronics america i cover knox mobile enrollment and knox managed products and recently i picked up dex as well and in my role i work with our internal teams to enable them with what's new with these products, how they can be offered to customers, and what challenges customers are facing in implementing these solutions on the other side, i work with our r&d teams to enhance these solutions based on feedback we receive from our customers and partners tony morelan 01 28 so how long have you been at samsung for? prasad rayala 01 31 a total of six years three years with samsung america and three years samsung dubai tony morelan 01 38 i didn't realize that she worked in dubai prasad rayala 01 40 yeah, but three years and then i moved to samsung us tony morelan 01 44 did you study tech when you were in college? prasad rayala 01 48 i am an engineer, but i studied civil engineering, how to construct buildings and bridges but i moved to it i started my career with as a programmer on the midrange systems is foreign during the y2k era, i then moved to java programming language and i've been working outsourcing company in india for over a decade while i was with them, i was posted to dubai, to manage the customer relationships there while i was in dubai, i came across an opportunity to join samsung to manage a large scale smart learning project where about 400 classrooms across the country need to be digitized with large displays in the classrooms and also provide devices for students to consume the content that was in 2013 and after completing the project, i moved to the mobility side and the knox was just launched at that time, and i was cast to spread the awareness of narcs work with partners the ecosystem, just take it to the market and i continued in that role for about three years and in 2016, i moved to the us and joined a global knock solution engineering team and since then i've done different roles like solution engineering, partner management, project management, and now product management tony morelan 03 21 you know, i recently did a podcast interview with the knox partner program prasad rayala 03 25 yes, those are excellent yeah i mean, it's a great initiative, how to help partners, build their solutions, get support, and actually work with samsung in promoting those solutions it's a nice platform tony morelan 03 39 see, it mentioned that you eventually made it to the us tell me where are you based out of right now prasad rayala 03 44 i work out of our mountain view office in the bay area we also have the north america or us r&d team also operates from majority of the knox r&d teams, engineering, product managers work out of that office as well tony morelan 04 00 is that where you're at right at this moment, prasad rayala 04 02 as of this moment, i'm in melbourne, australia my family lives here and i came to visit them, middle of march and since then, i'm stuck here because of the border closures on both sides so i continue to work remotely leveraging all the technical capabilities my company provided, including decks, tony morelan 04 24 like i can imagine what that must be like, you know, glad to know that you and your family are safe and that you're able to continue working hopefully soon, the borders will open and you'll be able to come home but i'm just not sure when that's gonna be let's talk a bit more about dex now, what exactly is dex? prasad rayala 04 41 so samsung dex is a software platform that extends your smartphone or tablet into a desktop computing experience it is built into many of the latest samsung smartphones and tablets it's free you don't have to buy anything lily to get started using decks is just a monitor, hdmi adapter and peripherals like keyboard and mouse and with our latest galaxy note 20, you can use decks wirelessly on most of your tvs that support mirror cast the best part is while you are running decks on the monitor, you can continue to use your device at the same time so you're attending a video conference on the biggest screen, but you can also take notes or browse through your emails on your device at the same time tony morelan 05 33 so i know my first experience with decks was a little over a year ago and back then i actually had to stick it into a cradle so you're saying now it's prasad rayala 05 43 it's miracast? yes, you connect your larger display to mirror cast wirelessly when dex was launched with galaxy s eight yes, there were a couple of hardware accessories like cradle was required to plug it in we graduated from their two wireless connectivity now there are certain limitations like how many number of apps you can run while you're connected wirelessly but you have the option of just going into a meeting room connecting to a display wirelessly and running your presentations off your phone tony morelan 06 18 so can you tell me where did the name dex come from? what does that mean? prasad rayala 06 22 yeah, anything ending with x is very catchy, right? but dex is a short version of desktop experience so when you activate it by connecting your phone or tablet or monitor you get the familiar look and feel of a desktop environment with features and functions you're used to like multiple and resizeable, windows, keyboard shortcuts, and drag and drop etc tony morelan 06 51 do users need to install any special apps or using these special api's to enable samsung dex on their devices? prasad rayala 06 58 no, no special application required, it's pre built on the device firmware you don't have to install anything we just need to connect device to a monitor with the cable and dex will launch automatically an it administrator on the other side can control the text experience like allowing or disallowing enabling decks and choosing which applications can run index mode okay, this can be done using their preferred e&m solution tony morelan 07 27 definitely for security that's an important aspect is dex only compatible with android? or is it compatible beyond android os prasad rayala 07 36 so dex can be used in three different variations to meet various needs first, you can use it by connecting your samsung android device to a monitor or you can run it in standalone mode on the tablet screen without connecting to a monitor or you can use your pc or mac by installing an application on the mac or pc and connect your device through usb cable and run dax on your existing laptop or mac but the experience itself is powered by the software in both on samsung smartphones and tablets, tony morelan 08 15 so what applications can i use index mode? prasad rayala 08 18 pretty much any android application that's running on your device can be run in dex mode, all your favorite business applications like microsoft office, mobile suite, adobe apps for creative professionals, video conferencing apps like microsoft teams, webex, zoom bluejeans, etc wow, okay yeah, and if you are relying on legacy windows applications that do not have mobile or web versions, you can use virtual desktop applications like vmware or citrix within dex to access a full windows desktop from your phone and it's not just all work, you can have some fun too you can play your favorite games on a biggest screen and use your keyboard mouse gaming keyboard and mouse to play to control the game experience on a bigger screen tony morelan 09 14 wow, i didn't know that that's, definitely a great advantage yeah so let's talk a bit about developing for deck so if i'm a developer, why should i optimize my app for decks? prasad rayala 09 24 yeah, based on some market research, we found the majority of it workers use two or more devices for work, phone, laptop, tablet, laptop, desktop, etc at least two when multitasking between these devices, productivity is lost due to compatibility between the operating systems and applications samsung dex minimizes this fragmentation by bringing pc like experience to your mobile devices applications optimized for dex can take advantage of android's multi window features where users can open multiple apps in the same session to work, connect, and interact seamlessly together because these applications will be running on a larger screen index mode, you can use additional features like drag and drop files between windows copy paste between multiple applications and navigate between apps with your familiar keyboard shortcuts tony morelan 10 29 you know, we talked a little bit about covid how you're in australia at the moment because of the borders you know, pretty much the country is working from home so can you talk a bit about the benefits of developers optimizing their apps considering that people are now working at home more? prasad rayala 10 45 yeah, i mean, the the obscene shift in many things that we are usually doing say working from home for an hour is different from working from home for six months teaching kids for a couple of hours from home is different from remote learning toward the day so enabling the secure and productive work from home setup is one of the core use cases of tech's imagine you're about to jump onto a video conferencing call with your team on your laptop, and it decides to go through a noise tony morelan 11 21 yes, yes, prasad rayala 11 22 right at that moment, or you get a blue screen you don't have to reschedule your call, you can just connect your phone to the monitor and fire up your decks and join the call you can continue checking your emails, take notes or even collaborate with your team by sharing your screen while you are on the video conferencing kind of launch through decks if you need access to windows native applications, yes, you can fire up video solution like citrix or vmware and if you have an application running in education space to say students will be able to utilize a large screen to access your solution and use the s pen on the tablets to take notes while attending a session tony morelan 12 08 that's great with this whole distance learning, any sort of tools that we can offer to our students to yeah, to help is prasad rayala 12 14 definitely a huge benefit so my son school is using google classroom and they share a lot of material for kids to work on some math worksheets, etc he's been printing them and writing on them and scanning and sharing with their teachers i told him, why don't you use your s pen so now he's converting it into a pdf? he's editing writing on the tablet itself, just saving it locally and sharing with his teachers we're reducing a lot of printing at home and saving some yes, tony morelan 12 52 definitely definitely that's great so what has samsung decks done to drive awareness for developers prasad rayala 13 00 yeah since the launch of deck samson has worked closely with the developer community in enabling business applications to take advantage of the benefits offered by decks every year at samsung developer conference there are dedicated talk tracks and hands on labs were offered a lot of articles and videos around how dex is enabling certain use cases in verticals like public safety, health care, and education these are published on samsung insights portal and there is a dedicated section on the developer website for samsung to help developers start the journey and optimizing their apps for tax tony morelan 13 43 that's excellent any chance that there's some sample code out there for developers who want to take a look at it and understand a little bit more? prasad rayala 13 49 absolutely there are hands on videos on the developer samsung com how to optimize the applications and there is some sample code explaining each optimization they can do these videos are great like, you can just pause them and make changes to our app and there are instructions on how to test your application, how it's running on dex, etc there are a lot of resources on developer samsung com tony morelan 14 18 that's, that's great so we talked a little bit about your experience with knox so let's talk about what has dex done related to security prasad rayala 14 27 so dex doesn't really interfere with security it fully complies with the policies set by administrator through the mmm say you want to attach a picture you took on your phone to your email and if your administrator has blocked access to the usb ports on your laptop, for security reasons how will you send your picture to your email you will either email it to yourself or to a third party cloud store is both are not productive enough not secure enough so with decks, you'll have that seamless access of your local files on your device, which you can just drag and drop these files onto your email client running on your device itself so no more emailing it yourself or uploading to a third party file sharing system you can also leverage your biometrics to set up samsung pass on on your device to access your online accounts without having to type in your password every time on the personal side if you are using the secure folder where you might have installed sensitive applications, like banking or you store sensitive information, you can continue to use it dex won't interfere with secure folder tony morelan 15 49 so i had mentioned earlier that the version of dex that i had was where i put my device into a cradle so i know that dex has evolved so talk a little bit about where dex originated from and but it's become prasad rayala 16 00 yeah then so the mobile devices is not designed to run multiple applications at the same time right so yes, there can be background applications running but user typically interacts with to one application at a time there is no multi window but as dex enables this multi windows feature, the device can heat up pretty quickly so the first version of dex when it was introduced on galaxy s eight, there was a docking accessory called the deck station or a dex pad was required to start the desktop experience and connect to peripherals so these accessory had a little fan inside to keep the device cool and ports to connect your keyboard and mouse and hdmi back your monitor with node nine, the need for these docking accessories really was eliminated by introducing the next hdmi adapter simple cable or a multi port adapter if you need to connect your peripherals in 2019 with the launch of node 10 decks for pc was introduced i talked before where you can install an application on your pc or a mac and access decks right from your computer with no today don't need any wires, any cables, you can just connect your phone to your miracles supported this tvs wirelessly tony morelan 17 29 so you had mentioned a little bit about multi window are there any other specific types of optimizations? that can be done? prasad rayala 17 36 yeah, i think minimum decks optimized application should support multiwindow keyboard mouse inputs and handle runtime configuration changes generally, if an app follows best practices of android programming, it will successfully run index mode without any code changes okay? there are no samsung specific sdk to integrate our api's to call multi window support enables minimizing, maximizing and resizing the application window only the manifest file needs to be updated to support this feature to enable keyboard and mouse support, you just do not explicitly declare touch screen support in your manifest and keep in mind that when an application switches between mobile and dex mode, runtime configurations change, this is similar to an orientation change from portrait to landscape these runtime configuration changes may result in forcing the application to restart when switching between mobile and x mode you don't want a webex session that you joined from phone to restart when you launch decks mode to avoid this, just follow androids guideline on handling configuration changes and best practices for building a responsive design that seems tony morelan 18 51 pretty straightforward what about some new decks features like finger gestures are drag and drop? prasad rayala 18 57 yeah, so drag and drop, copy paste these features have been there, right from the beginning the finger gestures you're mentioning is how you use your device screen as a touchpad when you are in dex mode by connecting your device to the monitor if you do not have a mouse, you can convert your device screen as a touchpad to interact with decks and run just like a traditional touchpad on a laptop a single tap on your phone screen is same as your mouse left click, a double tap is like a right click, you can pinch your fingers to zoom etc tony morelan 19 35 so what types of apps then are developers optimizing for decks? prasad rayala 19 39 so any application used in a workplace setting right? productivity suites, your vdi applications video conferencing, or specific vertical focused applications like say healthcare or education these are all applications that can be optimized any application that can benefit from a desk stop experience running on a larger screen is a candidate for optimization it's not just limited to, again, work apps, you can optimize some of your games as well, if you will, that games can be educational my daughter is learning how to count by twos, threes, fours, she just started her multiplication and there are a lot of lessons out there router gamified and instead of watching those on a seven inch screen or a 10 inch laptop, i'm letting her watch those things on my samsung tv on a larger screen, and she's happy with it tony morelan 20 41 oh, that's that's excellent so let's talk about some of the challenges is a dex had to face any challenges that you can share? prasad rayala 20 48 yeah, so with dax, our goal is to close the gap between desktop and mobile computing experiences it won't happen overnight we need to build an ecosystem around next to support different use cases, we are pretty confident about meeting their mobile workers needs but we know we have some work to do in other verticals we are investing heavily in enhancing the core capabilities of the device itself to support different vertical use cases, along with live raising capabilities of our partners there are some exciting things on the roadmap so watch this space through this year and early next year tony morelan 21 30 excellent so let's talk about some of the areas of success then what can you share that that you're proud of the dex has accomplished prasad rayala 21 37 so we've seen dex adopted in almost all industries, saying healthcare of patient experiences improved to seamless continuity from doctors workstation to patient rooms and back again in retail the associate can use a single device to say browse through inventory, check prizes, or ask assist customers with checkouts all with a single device say in public safety officer can use his mobile phone while in the field or inside the vehicle or at the station, say in a insurance or construction space, you can consolidate your hardware so you have access to everything you need while in the field without having to go back and forth between devices so we we continue to work with our partners and customers now to identify different use cases in retail bank branches there's a nice use case where the bank associate can interact with the customer to a dual screen kind of mode where associate will be accessing, say presenting different loan options or critical options to the customer and the customer will be using a tablet or filling his or her personal information, both sharing the same device so they're nice use cases we are discovering our customers are help improving the product with the use cases they have in the specific vertical businesses tony morelan 23 15 yeah, and i, you know, i can totally see where you know, we're in the middle of this pandemic with covid it's pretty obvious that even when we get beyond this pandemic, i think our society is going to be making a shift towards how we're conducting a lot of our, you know, day to day business so just your example there of how working with bank institutions, and being able to share screens, but yet, stay within your device, i think is very, very advantageous, right so what advice do you have for developers looking to get started modifying their apps for decks, prasad rayala 23 49 so if you have never experienced vertex, you don't know how your application looks and feels on a larger screen just start simple enabled multi window keyboard shortcuts and just connect your device, launch your application and just see the magic these changes do not require any change in your core and just the manifest file, you can just make some changes and run it once you see how it runs on a larger device with resizable, windows and drag and drop, etc, then it'll force you to think outside that seven inch screen your application is designed to run on or you can then go on and explore more and provide unique features like the contextual menu, or using their mouse wheel to zoom in, say you have a map solution in your application you can use your mouse wheel to zoom in and out of the map, etc that's great tony morelan 24 45 so for a developer that wants to get started, what's the best way for them to learn more? is there a website that they can go to? prasad rayala 24 53 yeah, i mean, to understand what specific solutions are best optimized for dex checkouts samsung dex com it gives an overview of the solution itself, how it runs, how to enable it, what device is it run on, etc and while you're there, just go to text for business section to understand how it's used in different verticals you may be operating in a specific industry, it will help understand how dex is enabling use cases in that industry and there are a lot of videos on youtube on just decks both from samsung team and independent analysts users out there who tried decks for different use cases and finally, when you ready to start optimizing your application, go to developer samsung com and go to the deck section and follow the instruction start simple and just start optimizing your app tony morelan 25 49 that's that's great that sounds actually pretty darn pretty darn easy yeah so are there any news or any events coming up that we can get excited about from decks? prasad rayala 25 58 so as much as we wanted to be in front of our customers and partners but we couldn't do so with covid so we are going as much detail as possible have we had a two day virtually experience event in july where industry experts advised how businesses can adjust to the new normal we have also launched a series of online events called samson together, where we host one hour session with our partners to introduce new solutions we are bringing together to help our customers navigate these difficult situations we covered decks in detail in the last episode, very hands on demonstrations and use cases discussed etc so check out samson together this a series of one hour sessions and the last session covered decks in detail tony morelan 26 52 that's great that's great thank you for that and i will be linking to all of this in the show notes for this episode so make it easy for for our listeners to find those pages if people want to contact you or the decks team, what is the best way for them to do that? prasad rayala 27 06 so the instructions www developer samsung com are pretty self explanatory, a lot of videos and sample code, etc but if you still need help or send in a request with your question inside that portal, there is a dedicated team around the clock to help you with your classifications wherever you are in the world, there is a team in your timezone of answering your questions, make use of that contact form on the www developer samsung com tony morelan 27 36 excellent so a couple of last questions for you so the first thing i want to ask is, when you're not working, what do you do for fun? prasad rayala 27 44 so can you really say when you're not working now that you are at home and you're always hooked on to work? there is no there is no distinction between you're at work at home, you're always tony morelan 27 58 okay, so when you're outside and you're under plugged prasad rayala 28 00 so yeah, mostly i spend my time with my family also my work my toolkits keep me busy helping them with these remote learning or just keeping them busy when when they're not learning but if i can still sneak out some time, while mostly be exploring my neighborhood by walking, i love to go on slow, long walks and probably some hikes tony morelan 28 28 so the last question you had mentioned that you were studying as a civil engineer, and then you actually got to spend time in dubai what was that like with the i'm sure you were amazed with all the buildings that you saw there prasad rayala 28 40 to divide goes to the cycles of real estate boom and bust right when it's booming you you could see thousands of these cranes set up they do go vertical, because they need to make use of the limited the space they have they can't spread out so they go vertical in minimum you'll see like 3050 floors and all that so samsung office was on 51st 52nd floor and we could from there the palm jumeirah, clearly it there are a lot of engineering marvels a lot of great architecture there is a twisting and rotating tower so builders are competing to meet new and unique designs of their most challenging work environment, right, the temperatures constantly about 130 140 sometimes, it's very challenging sometimes it's just fun tony morelan 29 40 well, hey, prasad i absolutely appreciate you taking the time to join me on the podcast thank you very much prasad rayala 29 44 thanks, tony thanks for having me outro 29 47 looking to start creating for samsung, download the latest tools to code your next app, or get software for designing apps without coding it all sell your apps to the world on the samsung galaxy store, check out developer samsung com today and start your journey with samsung the pow! podcast is brought to you by the samsung developer program and produced by tony morelan
We use cookies to improve your experience on our website and to show you relevant advertising. Manage you settings for our cookies below.
These cookies are essential as they enable you to move around the website. This category cannot be disabled.
These cookies collect information about how you use our website. for example which pages you visit most often. All information these cookies collect is used to improve how the website works.
These cookies allow our website to remember choices you make (such as your user name, language or the region your are in) and tailor the website to provide enhanced features and content for you.
These cookies gather information about your browser habits. They remember that you've visited our website and share this information with other organizations such as advertisers.
You have successfully updated your cookie preferences.