Filter
-
Content Type
-
Category
Mobile/Wearable
Visual Display
Digital Appliance
Platform
Recommendations
Filter
Distribute Galaxy Store
docuser attribution user acquisition is the process required to attract, gain, and retain customers user attribution is a way to identify how a user finds your app's detail page in galaxy store that is, did the user and potential customer find your app from a link in a banner in galaxy store, as a result of a keyword search in galaxy store, or from a galaxy store badge link in a social media post? galaxy store statistics provides user acquisition reports that measure user attribution and breaks down the numbers by channel, source, keywords, and featuring galaxy store banner or icon notestatistics listed here are not available in all countries the following is the hierarchy and descriptions of the categories you may find in the user acquisition reports in the descriptions, organic users are users who are directed to your app's detail page from an item within galaxy store or galaxy themes such as a banner, icon, widget, or search result non-organic users are users who are directed to your app's detail page from an item outside of galaxy store or galaxy themes any user is any organic or non-organic user category description all channels any user who has accessed your app's detail page this is the total number of users who have visited you app’s detail page direct any user who does not fit into any category excluding all channels but whose source can be identified explore organic users who do not fit into any organic category these are users who are browsing galaxy store and viewing apps that are interesting to them featured banner organic users who click on a banner from one of the main pages in galaxy store featured icon organic users who click on an icon from one of the main pages in galaxy store galaxy store badge non-organic users who click a special short link that was generated from the samsung developer dashboard or in seller portal see galaxy store badge promotion for more information about galaxy store badges if a badge click comes from a category already tracked in gss for example, from a twitter post , the click is counted once and attributed to the galaxy store badge category only the badge must be linked to the product detail page of an android app or galaxy watch app gss does not track badges for theme product detail pages nor theme/galaxy watch seller brand pages galaxy store all organic users these users find your app from a link within galaxy store hun heads-up notification non-organic users who respond to a push notification generated by the galaxy store platform used exclusively by galaxy store see push notification for notifications generated by the samsung messaging platform native apps non-organic users whose source is another samsung product for example, bixby, gear manager [galaxy wearables], or s finder or from a samsung domain for example, com sec * or com samsung * others any user who does not fit into any category excluding all channels and whose source cannot be identified promotion organic users who visit a galaxy store promotion page and either download your app or go to your app's detail page galaxy store promotion pages are accessed by clicking the gift icon in the top right corner of any main section featured, exclusives, themes, or watch in galaxy store push notification non-organic users who respond to a push notification generated by the samsung messaging platform used by galaxy store and other samsung teams see hun for notifications generated by the galaxy store platform referral non-organic users who directly access your app's detail page and whose source cannot be identified samsung any user who finds your app's detail page from a samsung-generated source this includes organic, native apps, hun, push notification, social, galaxy store badge, and referral users search organic users who use the galaxy store search page to find your app's detail page social non-organic users who follow a link from a social networking platform such as twitter, instagram, line, or facebook if a click from a social networking platform comes from a galaxy store badge, the click is counted once and attributed to the galaxy store badge category only
Learn Developers Podcast
docseason 2, 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 eric cloninger, lead, developer relations team, samsung electronics chris shomo, infinity watchfaces listen download this episode topics covered sdc21, virtual conference history of the samsung developer conference conference audience keynote speakers conference announcements technical sessions expo floor galaxy store gallery code lab virtual reality after-hours party chris shomo, infinity watchfaces watch face studio 2020 best of galaxy store awards 2021 best of galaxy store awards bixby developers one ui beta samsung podcast platform smartthings helpful links sdc21, virtual conference - developer samsung com/sdc sdc18 highlights - youtube video sdc19 highlights - youtube video sdc19 replay - youtube video sdc21 preview - youtube video code lab - developer samsung com/codelab chris shomo, infinity watchfaces - youtube video watch face studio - developer samsung com/one-ui-watch 2020 best of galaxy store awards - youtube video 2021 best of galaxy store awards preview - youtube video bixby developers - bixbydevelopers com/ one ui beta - developer samsung com/one-ui-beta/index html samsung podcast platform - samsungpodcasts com/ smartthings - developer samsung com/smartthings samsung developers homepage - developer samsung com samsung developers newsletter - developer samsung com/newsletter samsung developers blog - developer samsung com/blog samsung developers news - developer samsung com/news samsung developers facebook - facebook com/samsungdev samsung developers instagram - instagram com/samsung_dev samsung developers twitter - twitter com/samsung_dev samsung developers youtube - youtube com/samsungdevelopers samsung developers linkedin - linkedin com/company/samsungdevelopers eric cloninger linkedin - linkedin com/in/ericcloninger/ chris shomo linkedin - linkedin com/in/christopher-shomo tony morelan linkedin - linkedin com/in/tony-morelan 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 pow! 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 two, episode seven today's show is a special episode of the pow! podcast last year, we were not able to have our annual samsung developer conference because of the pandemic but this year, we're back with sdc21, a virtual conference this coming october, i sat down with eric cloninger, who leads developer relations at samsung not only do we talk about some of the highlights from our past developer conferences, but what you can look forward to at this year's sdc21 enjoy hey, eric, welcome to the podcast eric cloninger 00 51 hey, tony glad to be here tony morelan 00 53 so i couldn't be more excited about this special episode where we get to chat about not only the past samsung developer conferences, but our upcoming sdc21 eric cloninger 01 03 yeah, it's gonna be a lot of fun it is different this year for certain tony morelan 01 06 let me first start off by asking what exactly is the samsung developer conference, eric cloninger 01 11 samsung creates a lot of different platforms and sdks for developers to create for and integrate with so sdc is one of the ways we promote our platforms, and educate developers on their capabilities like many companies, we realized that developers add a lot of value to our products with their own creations so sdc is our opportunity to share knowledge and hopefully build a connection to the people that are making our products better tony morelan 01 36 yeah, and what's unique with sdc 21 is this year, it's actually going to be a virtual conference now we know that it's because the current pandemic we're in, but it's, i think, an opportunity for samsung really to reach to a much bigger global audience that will be able to come in and attend our conference eric cloninger 01 55 certainly, you know, in the years past, it's been a live event and there would be quite a few people there -- several thousand now with it being virtual, we have a much bigger audience and people can actually see the technical sessions as well as the keynote online even though it's not in person, it is still something that where we can share knowledge, and people can give us feedback on what they like and don't tony morelan 02 21 let's go back and talk a little bit about the history of sdc i think it started back in 2013 is that correct? that's correct eric cloninger 02 29 and i was there in 2014, talking about the gear watch tony morelan 02 34 development wow, that must have been pretty close to when we first launched the watch eric cloninger 02 39 i think it was the first gear s was the product that that i was working on and we were talking about development tools and how to write apps for those watches tony morelan 02 49 since then, we've done seven sdcs that, you know, there was a year i think around 2015 that we skipped and of course last year, we did have to hold off on doing an actual conference past locations, primarily san francisco in the bay area eric cloninger 03 06 it's been at moscone every year until 2019, when it moved to san jose so it's always been in the bay area somewhere that people who attend tony morelan 03 15 tell me about, you know, what is what is the audience eric cloninger 03 19 the audience is primarily developers and the content is really focused on that group a lot of samsung employees attend to give the technical talks and a lot to people come from all over the world to work in the booths and on the show floor in one sense sdc is like a family reunion, we get a chance to meet the people that we've emailed with and been on web conferences for a long time that's a chance to come together but it's also the fruition of a year of hard work, you'll whether it's virtual or in person, we can use the opportunity to celebrate and to share what we've worked on with third party developer community tony morelan 04 05 yeah, i know, my first sdc was 2018 that was in san francisco i hit started at samsung just a few months earlier than that so it was a great opportunity, really, for me to meet, not just some of these employees that had only been, you know, emailing with but a lot of the partners that we had a great report with sdc 19 eric cloninger 04 29 i think there was over 5000 close to 6000 people that it's been five to 6000 every year since that i've been here yeah, so that's a fairly good-sized conference tony morelan 04 37 so let's talk about some of the past keynotes and some of the big announcements that we've made going back to 2017 i think we had stan lee, is that correct? eric cloninger 04 47 yeah, stan lee from marvel was one of the main speakers that was pretty interesting in 2018, we had a lot of people watching because that's the day that they announced the galaxy fold wow so the first time anybody saw it was on stage at sdc and there were probably a half a million people watching live on either facebook live or youtube tony morelan 05 13 i remember my takeaway from sdc18 was tim sweeney for fortnite epic games? eric cloninger 05 18 absolutely on stage with one of our vps who was holding your tiny sword and shield you know, it just it added to the silliness, but also the fun was pretty, pretty fun tony morelan 05 33 oh, definitely now sdc 19 we had another very interesting person up on the stage talk a little bit about vitalik eric cloninger 05 41 yeah, vitalik buterin is the co-founder of ethereum and that year, we also had justin sun from tron the blockchain community is very interesting and it's definitely a new aspect for samsung is we had the blockchain wallet sdk that was coming out that year and so we wanted to have people that could talk about their interactions with it so vitalik and justin, were on stage in the spotlight session on day two tony morelan 06 09 yeah, that was pretty exciting actually, to see him up on stage they're in live in person so a big part of our conference are the technical sessions, it's a chance for the community really to learn about new and upcoming technologies talk a bit about some of those sessions that we've had in the past eric cloninger 06 27 so pretty much any of samsung's technical features sdks and services have sessions at sdc so if you're interested in ai and voice activated services, you can go to multiple bixby sessions, if you're into the internet of things and how to integrate into samsung smartthings ecosystem, there will be information there you know, as i mentioned previously, there's blockchain, there's the knox partnership for if you want to do secure computing, one ui if you're a designer, and all the new foldable phones and devices out there, there's a lot of content around how to handle app continuity and the flex mode, as well as the unique things about foldable design that you can learn about, as well as things like samsung health and how to design for themes there's a wide range of technical sessions for pretty much anybody at any experience level tony morelan 07 24 yeah, yeah, in my area of involvement with the developer conference has been around that design side i mean, as you know, my background is in design, you know, when we are giving the sessions on theme, designing watchface designing that that's really where i get my involvement with so a lot of fun for me to be at the conference walking around the expo floor has been one of the most exciting things for me to be there because truthfully at these different conferences, you just don't know what you're going to see and i remember walking in the room if it was sdc 18 or 19 but seeing this awesome car on the expo floor, the harmon car eric cloninger 08 00 yeah, the great thing about the expo floor is where you, you get to do a lot of the kind of non-technical learning it's a great place in a more relaxed atmosphere to meet and talk to people about what's going on so the harmon car harman is a subsidiary of samsung, and they create high end audio equipment so i'm sure you're familiar with brands like harman, kardon, or jbl, or infiniti, all very high-end brands harman also creates infotainment systems and telematics solutions for automakers and so what they would do for several years is they would bring a car onto the show floor and deck it out with a lot of the latest software and hardware, as well as the audio systems for the attendees to sit in the car and try it out unfortunately, they wouldn't let us drive it around the show floor obviously tony morelan 08 47 i will say i actually did ride the elevator with the person who drove the car from southern california up to northern california for the show so i did get to ask a little bit about you know what it is like to get behind the wheel of that car and she said it was an absolute blast to drive it up five eric cloninger 09 04 i'm sure they had to go the speed limit though tony morelan 09 06 definitely i know that smart things back in 14, one of our first conferences they actually set up like what they call the connected home eric cloninger 09 14 yeah, it was actually a full size when not full sizes about a 900 square foot, you know, a 30 by 30 area where they had different rooms and inside each of those rooms, they would have different ways that you could integrate different iot solutions into the smart home tony morelan 09 32 now just to be clear, a 900 square foot home in san francisco actually is full size so in 2018, we did something i was actually pretty excited about we created what we called a gallery of theme so you know as you know, with the galaxy store, designers can publish their phone themes, but what we did is we took those designs and actually built like a museum gallery big, full size images of the different themes nicely framed, and people would walk around this gallery and not only see this beautiful, much larger than life theme design but this was a gallery where at the end of the conference, we actually raffled off the different pieces, eric cloninger 10 15 it really shows how we have a lot of incredibly creative people who are creating work for the galaxy store, and samsung galaxy devices all of those things that were shown in that that gallery are available for anyone to download and purchase on the galaxy store tony morelan 10 31 yeah, i know that that gallery really, really was a success in a lot of people really enjoyed seeing that worked in person another area of the floor that i saw had a lot of activity was code lab, talking about what exactly is code lab at the at the conference eric cloninger 10 46 code lab is an interactive learning experience, you don't have to actually be present at sdc to be able to use it samsung employees create guided learning modules, with examples and downloadable code snippets that you can use to learn anything from android development, watch face design, or theme by the time you've gone through everything tony morelan 11 13 so if people want to learn more about code lab outside of the conference, where can they find that information, eric cloninger 11 18 you can find the code lab on the samsung developer portal at developer samsung com/codelab tony morelan 11 26 so i think one of the most exciting things that i saw happen on the expo floor was the vr team, they set up this like photography studio that talk about that eric cloninger 11 36 so in 2018, that team created what was called a volumetric camera setup so it had cameras in a lot of different positions in 360 degrees so they would take a very detailed scan of your body, and then they would print it out on a 3d printer and so that was really cool and then the following year, that same team took that that same type of technology, and they integrated it with a live interactive experience called delusion and delusion was a very creepy, interactive experience where you interacted with all of these crazy characters and because of the time of the year, it was october 29, and 30th so it's just the day before halloween, okay, you had all of these various characters that you were interacting with in a 3d experience and the thing that was cool about it was the second night, we had this, you know, after hours segment and those characters in the game that actually came to life, and you actually saw these people walking around that you had interacted with, in the interactive exhibit tony morelan 12 49 yeah, i remember that being a very fun and freaky evening, i was i was working in one of the booths behind the scenes doors were closed and as they were prepping for the opening of the of the doors, the fog machine was rolling, that people started rushing in and then i saw those characters that had been in that interactive space, actually walking amongst the people and there were a few times that in a fun way, those a little not at ease with them with those different folks eric cloninger 13 23 yeah, it was kind of a creepy experience because some of those characters, i mean, they stayed in character, and they got to look right through you and it just it was very creepy experience so the after-hours is a lot of fun at you at sdc as it is, with a lot of events, it's an it's an opportunity to kind of be a lot more relaxed you'll see some people that you saw in the, the technical sessions earlier in the day, and you have a chance to maybe drill down a little deeper while you have, you know, a plate of food and beverage in your hand so it's a good experience overall and you know, to be honest, i'm looking forward to when we can do that again tony morelan 14 02 yeah, yeah, hopefully, hopefully that will be next year so i thought it would be nice if we brought in a designer slash developer who has been very involved with the samson community and who has not only attended and many of the past sdc conferences, but was also invited to speak at one of the past sessions chris shomo, from infinity watchfaces eric cloninger 14 20 hey, chris, welcome to the show chris shomo 14 23 hey, thank you for having me on here tony morelan 14 25 yeah, no, it's great it's great to have you on the podcast so looking back at the samsung developer program, chris has been one of those resources that we've turned to many times and it simply comes down to not only your success, but your willingness to share and, and really help grow the entire ecosystem for samsung watchfaces and galaxy devices chris shomo 14 43 well, one thing that i've learned is all about the community that's one of the reasons i love to share things that i find out because i've also reached out to other designers and ask them, you know, hey, how do you do this? how do you do that? and they're more than willing to share back so it really is a given take type of thing and you know, if you're nice, then you can find some answers that you're looking for out there tony morelan 15 04 there you go definitely and you know, honestly, the more success there is amongst all the designers just the more vibrant the galaxy store is just with, with lots of great content chris shomo 15 13 oh, yeah and just how it developed over time, too, because, like i've seen it, since the very beginning, when there was hardly anything on there and then just watching it explode to all these designs that you can't even imagine what's going to pop on there next it's exactly designed to blow me away all the time tony morelan 15 29 so chris is the person behind infinity watch faces, and truly is one of the first designers who started creating for the platform tell me what year was it that you actually started designing and selling on galaxy store? chris shomo 15 39 oh, goodness 2016 tony morelan 15 41 wow yeah so i actually did an episode on the podcast on chris last year, it was great episode, we talked about how you got your start creating for samsung and, and also that your house in savannah, georgia was featured in an episode of ghost hunters that it is haunted? chris shomo 15 56 yes, it is it's been quite an experience, even though i do believe that the ghost does appreciate me being here, i believe i do not know that but she's been pretty nice tony morelan 16 08 guys nice so if you want to learn much more about chris, go back to that episode and check it out it was it was a great show so in 2017, before i started working with samsung, you were actually invited to come out to san francisco and speak at the conference tell me about that chris shomo 16 22 wow, it was quite an experience and first off, it was my first developers conference, first type of any type of tech conference so i was a little nervous in the very beginning because here i am, i'm going to san francisco, and i'm getting ready to speak in front of a lot of other designers and developers what an experience it was great tony morelan 16 43 i'm sure it was nice to actually meet also the people, you know, not only at samsung, but then you know, some of the fellow developers that are part of this community chris shomo 16 51 yeah, and also met a lot of people that became future designers of for specifically watch faces, which was wonderful they always come back to me and be like, hey, i was there and i'm like, i remember you and you know, and they take off and they do very well yeah tony morelan 17 06 so i actually came across a video on youtube of you speaking at the conference and that's how i actually got my start how i first discovered that, you know, you can create these watch faces and, and start selling them for samsung now, i took it a step further and actually started working for samsung eventually chris shomo 17 23 yep and i think that's amazing i remember you sent me an email one time actually telling me that i had a typo on my website that's right and i was like, whoa, thank you, because it was just, uh, you know, no one wants a stupid typo on their website so i got that fixed and, and then i never knew that, you know, i'd be working with yeah, back and forth, like we are now and stuff so it's great it's amazing how everything is connected tony morelan 17 49 yeah so earlier this year, we announced a partnership with google and warehouse and introduced watch face studio to new tool for designing galaxy watch faces that are sold on the google play store when the tool was first developed, we asked you to be part of that early access team so can you tell me about that experience, how it is working with that tool, and what it's like to now publish on google play? chris shomo 18 10 well, first off, thank you for getting me in there and you recommended me for being part of that team and it was excellent to be part of it, because i was able to kind of push it to its limits for animations i had a really long animation, i was testing with it and i was sending it back and forth with samsung and it helped them iron out and smooth out how the animations were working on the watch and that was great and, you know, of course, there's going to be a little bit of growing pains in the very beginning we're working on that but it's been amazing how the team at samsung has been so responsive and to get the software right for us you can really create some masterpieces so i'm excited about this tony morelan 18 55 yeah, and that's why i thought it was so important to have you part of that team is because really your designs are not like the typical design i mean, you really do push the software to try and get the most out of it you know, they're there's fun, they're quirky, i mean animations are a huge part of your designs so is there anything new and exciting that we can anticipate coming out in the in the near future? chris shomo 19 15 oh, wow i don't really know myself because i kind of jumped around so much with these designs, which is another reason why yeah, i guess it's kind of unexpected and surprising when another one comes out at one time you'll have like dancing tigers in the next second you have dolphins and sea turtle swimming i'm working on getting one onto the google play store right now called flip out that has the dolphins and the sea turtles and then tiger time as well and then we got a giant eyeball for halloween that she's showing up so yeah, a bunch of different things tony morelan 19 48 you've got it in there they're super crazy they're very artistic chris shomo 19 51 thank you yeah, and it also one of the things that i like to concentrate on is trying to bring joy to people with the watch face is where they look at it and you know, just for a moment of time, they can actually, you know, take a break from reality, they get absorbed into the watch smile for a minute if that happens, and i know it's exceeded tony morelan 20 13 it also what i love is how you build in this sort of like goals where the watch will change, like, lets you step into an example, as you're reaching your different step goals throughout the day, your watch face then is also changing throughout the day chris shomo 20 27 and that started out of course, with the ties and watches and it worked with every one step goal percentage that they set with the watch and that was another thing that i'm glad i was in the beta because i was really expressing how much we needed a step goal percentage and to work with it, and they added it in after i requested it and it was really quick and of course there are some differences where we have to set the watch pace to its unique step goal as opposed to the user set step go but that's because of that they're trying to make it so it's compatible with all the different watches and where it was but that's cool, it opens up a new line of challenge faces where you can reach 1000 steps for this to happen 2000 steps for this to happen and i think it's really going to open the door for a lot of unique and creative designs tony morelan 21 17 you know, you brought up a great point that i always stress and that is how approachable samsung is to our developer community samsung really does listen to our developers and we actually want to have that one on one communications you know, through our different channels, it is really easy to reach out to us and we'll give you that that personal attention that we know our developers need when they're creating for samsung chris shomo 21 39 and i've really watched the developers program grow over time too because back in 2016 you know it was kind of a shot in the dark but everybody was like new to it samsung was new to this the watch faces and working with this well ready to be flooded of designers that are getting ready to come in and then every one of samsung embraced us we feel like we're part of a family tony morelan 22 02 thanks thanks, chris i got to thank you for jumping in and joining us on the podcast when sdc is back in person i hope to see you there, if not sooner, i will definitely be there chris shomo 22 10 count me in tony morelan 22 12 awesome thanks, chris thanks eric cloninger 22 15 it was great to hear from chris he's a part of the community of designers and developers that really make the galaxy store special tony morelan 22 22 yeah, he's been there from pretty much day one so it was great to catch up with chris and like i said, i can't wait to actually see him in person so it past sdcs, we've done what's called the best of galaxy store awards, i think, sec 18 was the first time that we did the show at the conference sec 19 that's when i actually hosted it down in san jose, it was great we have a lot of the winners actually, at the conference, we're able to recognize them for the great apps that they've created for galaxy store however, last year in 2020, because we did not have a conference, we did a virtual award show this was presented on youtube as a life premiere and it really actually was a lot of fun because we were able to reach out to a quite a big audience eric cloninger 23 09 one of the things i thought was cool about that once we all said in the chat room, it was in the early evening us time, but there were people logging in from russia and the czech republic and slovenia all of these developers and designers who had created things in one go is the middle of their night, but they were on there congratulating each other tony morelan 23 29 i think it really shows how the award show is really a global award show i mean we've got winners from all around the world winners from large companies down to indie designers and developers and it really is a huge, huge community eric cloninger 23 45 i think it shows how the galaxy store enables a lot of smaller operations, smaller individuals who may get lost in a larger organization that they can actually create something and monetize it and enjoy the success that they can have from their own work tony morelan 24 03 yeah, no that's very true that being said, though, there have been some pretty big names that we've recognized with awards in the past we've given awards to tik tok, epic games fortnite, microsoft with their franchise forza, top golf, that was another one and then there's a great company butterfly affected that his license big brands like spongebob, hello kitty, and star trek, it was great to see them recognized for their work eric cloninger 24 31 and also last year, for the first time, bixby developers had the opportunity to have their capsules judged and in 2020 the winner was spotify tony morelan 24 43 yeah, it was a lot of fun i actually worked on many of the trailers that were shown in the award show and spotify was one of the ones that i really, really enjoyed doing, not only the voiceover for but integrating the music and all the editing that was that was a lot of fun to work on that project and we look forward to that in 2021 eric cloninger 24 59 and so when is the award show this year tony morelan 25 05 so the award show will be part of sdc so that is on october 26 later on in the evening, though, we're going to be doing a premiere on youtube at 6pm eastern, and we will be participating in a live chat so we would love for, you know, not only the winners will be on participating in this live chat, but we would love just to have the community on there so we can all get together as a chance to, you know, congratulate the winners, and really talk about all of the great apps that were recognized during the award show eric cloninger 25 35 yeah, the one thing about this, that i think we did have a lot of fun with it last year, and we hope to have more fun this year in that chat session, the invitation goes out to really everyone who is interested in the galaxy ecosystem and that could be anybody who is a user or a consumer or a developer or a designer you know, we want to we want to celebrate everyone's hard work tony morelan 25 59 definitely, definitely and if you would like to actually go back and see who the previous winners are, and actually learn more about this upcoming award show, you can go over to developer samsung com forward slash awards to learn more about the best of galaxy store award show so let's talk about sdc 21 as you know, it's a virtual show that will be on october 26 where can people find out more information about registering to attend the virtual conference? eric cloninger 26 28 so the conference is free for anyone to attend, and you can learn more at developer samsung com slash sdc tony morelan 26 38 let's talk about some of the sessions what can you share about the sessions at sdc 21? eric cloninger 26 44 well, i don't want to steal any of the thunder from the product teams have been working so hard for the last year but it will tell you that most every technology team that is working on products at samsung will have something to talk about at sdc so if you're interested in the one ui beta, you'll learn a lot more about that at the sessions, the watchface tools, there's a podcasting platform that's brand new that i think you know something about, tony morelan 27 09 yeah, yeah, no, i am helping out the podcast platform team we're excited samsung has their new podcast platform, making it easy for users to listen to podcasts and we're really excited because in october, we're going to be expanding this platform to countries in europe so it's really a big deal you can check out my session and i kind of walk you through how it is that you submit your podcast to samsung so do you have any insight on what is going to be featured in the keynote, eric cloninger 27 38 i do have a little bit of information to share and one of the things that is always kind of fun with the keynote at sdc is that samsung president dj koh will be speaking as well as many other people from within the design and engineering teams at samsung as you know, the last physical sdc was in 2019, your seems like our world has kind of stopped but to be honest, the pace of technology keeps on moving and so nearly every samsung technology team will be there and they want to talk about all the innovation creation that they've done in the last two years so there'll be things announced for nearly every technology team from bixby and smartthings to mobile devices and smart tvs there's lots of information for developers that they will be able to use to create their own products for 2022 and beyond tony morelan 28 34 so really exciting sdc 21 is going to be october 26 eric cloninger 28 39 and if you want to attend, all you have to do is register at developer samsung com/sdc it's free to attend and we would love to see you there tony morelan 28 51 excellent hey, eric, thanks so much for being on the podcast super exciting to be back at it with sdc and i can't i can't wait for it eric cloninger 28 59 oh, absolutely it's really, it's the result of a year's worth of work by hundreds of people and we really want to share it with all the people out there tony morelan 29 10 yeah, it should be a great show right thanks, eric all right eric cloninger 29 13 thank you, tony closing 29 14 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 tony morelan 29 30 the pow! podcast is brought to you by the samsung developer program produced by tony morelan
Learn Developers Podcast
docseason 1, episode 14 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 guests hyunah kwon, charlotte allen samsung electronics in the season one finale of pow, i interview charlotte allen and hyunah kwon charlotte is the driving force behind samsung's annual best of galaxy store awards, and hyunah is the director of product for galaxy store not only do we talk about the history of the awards, past highlights of previous awards, but we chat about exciting new changes to galaxy store, and our upcoming 2020 best of galaxy store awards show more about the best of galaxy store awards celebrating the year’s top performing apps in creativity, quality, design, and innovation, the best of galaxy store awards are the ultimate achievement for samsung galaxy store sellers! join us on december 9th, 5 00pm pst, as we reveal and celebrate this years' winners! listen download this episode topics covered history of the best of galaxy store awards previous award winners galaxy store enhancements exclusive consumer benefits samsung rewards always-on points earning program pandemic impact galaxy store mobile gaming features growth and revenue galaxy store badges 2020 best of galaxy store awards show new award categories winner selections and promoting awards show trailer helpful links best of galaxy store awards - developer samsung com/best-of-galaxy-store galaxy store consumers - samsung com/global/galaxy/apps/galaxy-store galaxy store developers - developer samsung com/galaxy-store galaxy store marketing resources - developer samsung com/galaxy-store/marketing-resources html samsung rewards - samsung com/us/rewards/gaming galaxy store badges - developer samsung com/galaxy-store/gsb-promotion galaxy store games developers - developer samsung com/galaxy-games samsung developer program homepage - developer samsung com samsung developer program newsletter - developer samsung com/newsletter samsung developer program blog - developer samsung com/blog samsung developer program news - developer samsung com/news samsung developer program facebook - facebook com/samsungdev samsung developer program instagram - instagram com/samsung_dev samsung developer program twitter - twitter com/samsung_dev samsung developer program youtube - youtube com/samsungdevelopers samsung developer program linkedin - linkedin com/company/samsungdevelopers tony morelan linkedin - linkedin com/in/tony-morelan charlotte allen linkedin - linkedin com/in/allencharlotte hyunah kwon linkedin - linkedin com/in/hyunahkwon 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! podcast of 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 charlotte allen and hyunah kwon charlotte is the driving force behind samsung's annual best of galaxy store awards hyunah is the director of products for the galaxy store not only do we talk about the history of the awards, past highlights of previous awards, but we chat about exciting new changes to the galaxy store, and our upcoming award show where we will celebrate the amazing apps that will win awards during the 2020 best of galaxy store award show and what better way to celebrate our season finale of the power podcast enjoy hey, charlotte, nice to have you back on the podcast charlotte allen 00 52 i know it's been a while tony morelan 00 55 so for those that don't remember, or might have missed the episode, charlotte actually interviewed me at the beginning of the season so that our listeners could learn a little bit more about me, you know, find out who their host was and a lot has happened since then i think we've actually recorded about 12 episodes, but it has all been during this pandemic that we've been going through so it's been a crazy year, needless to say, but the galaxy store has been going strong this is the last episode, the season finale and what better way than to discuss the best of galaxy store awards for 2020 so i would love to talk a little bit about the history of the awards charlotte has been working on this awards program since its inception can you explain to the audience what are the best of galaxy store awards? charlotte allen 01 44 yeah, absolutely the b best of galaxy store awards were created to recognize apps that have stood out amongst the crowd in the us galaxy store we look for excellence in innovation, design, creativity, quality and performance so i've been with samsung for several years now and they know that we've been doing this award show during that time but when did the awards first start, the program was launched in 2018 as a pilot, recognizing just five galaxy store publishers our goal in creating the program was to acknowledge and celebrate the contributions of designers developers to samsung's ecosystem tony morelan 02 23 this will be the third year then charlotte allen 02 27 right we are now in our third year, as you said, we increase the awards to five categories in over 20 winners so we've come a long way in three short years, and we expect to continue to grow the best up galaxy store awards program in the future so where were those previous award shows held the inaugural best of galaxy store award ceremony in 2018, was held at the samsung developer conference at the moscone center in san francisco last year's award ceremony was held at sdc 2019, at the san jose convention center and we recognize 25 developers and designers from around the world and 21 of those winners were in attendance, which was great to see and he showed us how important this recognition is from samsung tony morelan 03 14 yeah, i was actually the host of the award show last year in san jose and that was my highlight was actually meeting these developers for the first time, you know, we've been communicating with them, you know, throughout the year, but to actually meet them face to face, and to see how rewarding it was for them to receive this award that was definitely an amazing moment charlotte allen 03 34 yeah, i agree it was also, i think, rewarding and inspiring for us to see, you know, their excitement and just how much effort they put into getting their work yeah, definitely let's talk about some of these past recipients but where's the best way for people to learn, like who won in 2018, who won in 2019 so we have a great list of winners now, having done this for two years and going into our third so a list with our past winners can be found on samsung's developer program site on the best of galaxy store landing page, and it features over 30 step galaxy store award winners and that is tony morelan 04 12 developer samsung com and if you go there, you can navigate over to the to the galaxy award page yes, charlotte allen 04 19 yes, you can tony morelan 04 21 so having done this now for several years, i'm sure you've got a highlight tell me you know if you have a special story about maybe a past winner, charlotte allen 04 28 yeah, there are several that come to mind but one that i'll share is we awarded bergen for best new watch face designer, and his award was picked up by the uruguay embassy who tweeted a congratulations to bergen and i thought that was really amazing tony morelan 04 44 that is and bergen is honestly an amazing designer ton of success he was the designer when i was first looking into starting myself selling watch faces i was seeing his work and i thought my god this guy is putting out you know; insanely creative watch faces and my goal was to try and you know, do something at his level i mean, he just amazing detail amazing depth, amazing features so when i was starting out, he was the one that i looked up to trying to emulate, you know, his success so great to see that he was awarded that year charlotte allen 05 20 wow, pretty, pretty amazing tony morelan 05 22 so who qualifies for you know, potentially winning a best of galaxy store award? charlotte allen 05 27 all galaxy store publishers qualify for bigger well-known brands to indie developers, designers, they all qualify tony morelan 05 33 that's, that's, that's great they'd love to see how open samsung is that? you know, it's not just a developer that is a big brand name but you know, we'd like to recognize even the small person, the indie developer, who is absolutely, you know, maybe doesn't have all of that experience, but it's still putting out great content so i thought it would be exciting if we actually brought somebody from the galaxy store team onto our podcast today so i would like to welcome hyunah kwon hi, hyunah hi, tony hi, charlotte thanks for inviting me so you are director of product galaxy store and games? can you tell me how long have you been in that role? hyunah kwon 06 13 i've been in this role since this year to work for galaxy store and games i've been in samsung for about 13 years, starting with my experience in mobile devices in different product management in this domain of mobile and we're very excited to expand to service businesses in samsung, and i'm in charge of galaxy store app as well as gaming ecosystem tony morelan 06 42 in samsung i had no idea you actually had been at samsung for that long can you tell us what is new with the galaxy store? hyunah kwon 06 48 yes, this year has been a full of exciting news and updates and changes with the galaxy store, we just launched a new version introducing an enhanced game discovery experience as you know, samsung has been fully committed to offer an excellent mobile gaming experience with our hardware it could be like this stunning screen experiences long battery and very powerful performance on a mobile gaming and now galaxy, gamers can actually visit the galaxy store to discover new games and they can view these stunning videos to learn more about the new games, they can pre-register for the upcoming seasons of their favorite games, and so forth for that we can also share more details and we also had interesting gear for all types of apps and content we've been seeing a growing consumption of digital contents in the context of endemic as you know so on the other hand, some people say that they're having a digital fatigue, if you will, caused by these exceptional circumstances so we worked on simplifying this experience and make the downloading experience really quick and easy for our consumers, helping users to find the content they need with the better fit recommendations, as well as our editors recommendations for them as well and we also refreshed our design with a clean and harmonious look for example, now you will see it very reduced banner sizes here and there, we ensure that pleasant browsing experience and downloading and the best part is the exclusive benefits that our consumers love about galaxy store so we offer new promotions events almost every week for example, in the us market remember, we integrated samsung rewards last year so that users could spam their points against their purchase in our store earlier this year since july, we launched an always on points earning program so now users can earn three points for every dollar spent with whether you purchase an app or a theme or enough items in your game app so the more they enjoy galaxy store, and the more they can get rewarded tony morelan 09 09 know that is specifically for us customers, correct? hyunah kwon 09 14 yes, so many other countries could have some different programs but this is in the us that sounds amazing tony morelan 09 21 so i thought it was interesting you said that because of the pandemic because of covid that you've actually seen an increase in people using their apps, and then they're starting to get the fatigue with it is that that's correct hyunah kwon 09 33 yes so the pandemic has been overwhelming for everyone, for sure but it also was a great opportunity for some in many app developers so we could see gaming industry, for example, has been really booming utilizing this opportunity and media, the chance watching videos, or checking on news and healthcare app that user can you know, i actually spend a lot more time on the at home so things like health care at home improvement apps has been actually pretty popular too and overall, we had really great and busy year, we'll collaborate with our developers this year to help them really growing tony morelan 10 18 yeah, that's, that's great to see that, you know, even though this is, you know, an unfortunate thing that our world is going through with a pandemic, that you found ways to help people out more, you know, considering that they are having to better devices and access this information so you had mentioned also that you're involved with the gaming aspect of it can you tell me, are there any new features for gamers? hyunah kwon 10 38 yes, so we have simply fire up in two parts one is the gaming another part is the access all the collection of the contents that we provide for galaxy users so in that game tab, you will see an immersive the game discovery area if you think about gaming in general has been developing, you now see a games that are very spectacular, they have a story in it, you can interact multiple players all together, you can create a history or you can, you know, be really in a deeper side of your action all of that is pretty similar in movie industry, if you think about it so when you watch a movie, you generally check a minute the trailer just to make sure you are watching a good movie, it's the same for games, we're providing our gamers the ability to discover what this game is about, and how they would play the download this game another party's our game introduction page, what we call the detail page of the app has been recolored refreshed, so that they can actually see some very valid information about the games, we are providing a tag information, it can be something like this game is about a multiplayer game it's a strategy rpg, or if it's casual gaming, or this game is featuring a medieval setting, with all kinds of information like that we are including more than 300 pack information, so that you can really see what these game is characterized for also some real time stats-based information, like you can see all these games, some are very popular, there's 10,000 users downloading this game at the moment right now, or it can be you know, 300 people are actually playing this particular game and i think it's very important to highlight the personalized information is very key for our success as we mentioned earlier, this is very important for any user to enjoy their experience not spending too much time making their efforts, there's this fatigue about finding the right apps for me, etc so we also use a lot of user database recommendation that they can find the relevant game for them and lastly, our galaxy store has been very appreciated by our speed to download and installation so our consumers really love about our quick download feature, we actually feature this little button that you can directly install and download from what you're previewing from, you don't need to go through the detail page and click another time to download we're just giving them a direct access to download so we call we call that a quick download as well tony morelan 13 37 that's great i know that that is a feature that i would definitely appreciate so for developers that have joined the samsung developer program, how can members grow their user base in their revenue hyunah kwon 13 52 share our strategy is to empower our developer partners by enhancing our platform that support them so obviously, there's many ways to grow their apps and their performance there are many resources available, so publishers on the galaxy store to support their success and one thing that i'd like to highlight is these days, in particular, the app discovery is really diversifying so customers are learning about their new app that anymore in their app store like we did 10 years ago and they're actually learning from their friends and social media, a lot many different channels so the optimization of the contents inside our store is still being very important but managing growth from multi-channel approach becomes even more important galaxy store is having our batch feature galaxies or batches that drive customers from their multiple channel of discovery to galaxy store pages in a single click and that improves a conversion by optimizing your discovery channel as well as all the listing information, you're providing a nice detail page and we are going to provide more and more resources for you to optimize that listing information and grow the app developers revenues to help our developers succeed in their acquisition campaigns with the galaxy store or optimizing their customer journey from discovery to download we are also working with the leading mobile measurement partners so that developers can measure their campaign performance and to end with the accurate data and generally, what we would recommend as tactics for growth will be things like, you know, generating more traffic and top of the funnel traffic, and from there, how to optimize their download conversion and, as you know, download is not the end, most partners are frustrated, i get so many downloads, what i'm not where why am i not growing from there? i think we also can help on our developers to manage their paid conversion and retention, because retention also is a key for your success and growth and i would always advise people to lean into the customer lifetime value, rather than focusing on the download number itself tony morelan 16 21 can you tell me how developers can learn how to maximize their growth with the with the galaxy store? hyunah kwon 16 26 yes, sure so as i mentioned before, there's lots of packets of growth available so in terms of generating traffic, you can rely on us campaigns, it can be digital campaign, it can be social media campaigns, and we're going to be supportive on all your campaign executions if you need a specific resource to optimize your campaign, please reach out to our team as well, as very importantly, users are browsing from their search engine so obviously, the search engine optimization techniques, or search engine-based advertising, all this traffic and also come into our store and we can optimize that flow for your growth as well in terms of download conversion, which is happening within our app, we are continuously improving our detail page optimization tools, as well as we would encourage our developers to manage their own reviews of their apps so we are providing the way that the developers can prompt their reviews, and allowing their users to write the positive reviews about their apps so that we can also optimize our conversion that way, so that way, we are continuously updating our product and we believe it's important to provide our updated information on what developers can do with us so we are planning to provide all this further information through block past webinars and dedicated resources and now developer portal as soon as our new features on our platform is available so i would encourage all developers to visit our developer@samsung com and stay tuned for more updates and you can also sign up for our newsletter so that you can get this information available from galaxies tony morelan 18 25 yeah, in the in the link to sign up for the newsletter is developer samsung com/newsletter and i'll be sure to include all of these links that you've mentioned in the in the show notes so hyunah, i absolutely appreciate you taking the time to join me on the podcast today love seeing how the galaxy store is evolving and super excited with what's coming up in the near future so thanks again for joining us hyunah kwon 18 49 thanks, tony for inviting me to the podcast it was a pleasure tony morelan 18 54 so charlotte, getting back to the awards for this year i know that the pandemic obviously has affected everybody in in many different ways can you tell us how it's actually impacting the award show for this year? charlotte allen 19 07 it is in fact in many in person events this year as we know, including our best of galaxy store awards 2020 award ceremony, which is typically held at sdc our developer conference, this year's best of galaxy store awards 2020 ceremony will be held virtually, and premiered on youtube on december 9 2020 at 5pm pacific standard time so stay tuned to the best galaxy store awards page if you're not a member of our samsung developer program or bixby developers, now is a great time to register to get all the updates and features i just shared tony morelan 19 44 excellent so i know in the past, in order to attend the award show you had to attend our conference, which meant you had to come out to the bay area here and admission into the conference this year though, is that going to be different charlotte allen 19 55 the exciting thing for me is this year for the first time anyone can and attend and like you shared, the awards are typically held at our conference and even then, sometimes sessions conflict with our award ceremony but this year, anyone can attend and so we're really looking forward to having a great crowd attend this year's awards tony morelan 20 15 yeah, no, i am excited too, as well we talked about how the award show has been growing from originally, it was just the five awards and now we've expanded we're up over 20 awards can you talk about some of the new categories for this year? charlotte allen 20 28 yes, this year's awards will acknowledge over 20 winners in five categories and the categories include best app, this game best the best watch, and we've added bixby to this year's best of galaxy store awards and we're really excited about that tony morelan 20 44 yeah earlier this year, i did a podcast interview with roger kibbe, at bixby on the viv lab team so super excited they're going to be joining us and in awarding their developers yeah, that is very exciting talking about the winners can you tell me how are winners selected? charlotte allen 21 01 winners are selected by our galaxy store team who do a yearly editorial review of all apps published to the galaxy store? tony morelan 21 09 what would you say is the biggest challenge with the with the award selection? charlotte allen 21 14 i would say narrowing down the list of winners the galaxy store offers expertly curated quality apps, which means we have a lot of great apps on the galaxy store tony morelan 21 24 yeah, i know because i've been involved with the with the selection and awarding process and it is a challenge because you know, we've got a team that goes through all this and it makes their nominations and, and their selection as to who they think should win and sometimes you know what your favorite app may be different than my favorite app so we get to battle it out yeah, to figure out who is the winner for that award? yes so what is it that the samsung developer program team is doing to help promote the winners, charlotte allen 21 54 winners are featured in galaxy store merchandising for the award ceremony, we have a best of galaxy store press release that samsung does one winner per category is chosen to be featured in that press release however, winners can write a press release with a quote from samsung as well we do post winner developer marketing newsletters, blogs, and podcasts interviews tony morelan 22 16 yeah, i'm actually really looking forward to next season in the podcast where i get a chance to interview some of some of these winners for the best of awards that should be a lot of fun now that you and i and our team has been involved with a selection process for the awards can you tell me what is your favorite award? charlotte allen 22 36 hmm, that's a tough one i would say if i had to choose, i would say that collections, the theme collections and the watch collections because it shows a body of amazing work right and so i think that if i had to choose, i would say that be my favorite what about you? tony morelan 22 55 you know, my favorite, i think it's the fact that we do recognize those indie developers so it's the small, you know, new independent designer, that's they've just put together this amazing app and we're recognizing that so you don't have to be this big brand, you don't have to have, you know, a large collection, i love the fact that we are awarding those large collections, because it's an amazing, you know, opportunity for us to recognize when a designer has just got this amazing library of work but i'd love the fact that we also recognize that individual, one key design that just stands out so you know, you can even be the little developer and we're still going to find yeah, and then recognize you for your great work so what advice do you have for developers hoping to be considered for future awards? charlotte allen 23 45 the biggest advice i can share is marketing your work digitally socially, as it drives awareness, it drives, downloads, ratings, and reviews and if you have not already done so, download the galaxy batch, it supports marketing your ad driving users to the galaxy store to download or purchase your app so my biggest advice is, if you have not posted it to your site, i encourage you to do it today tony morelan 24 12 yeah, definitely and in the reason being is that we need you to show up on our radar so if you put out a great app, and it's not showing up in our in our analytics of you know, top selling apps or apps that are being downloaded, we're not going to find it so it's a great way for us to find your app is when you're doing all of that marketing push behind it, then once we see it, then we can dive into a little deeper and see if it's worthy of the award but yeah, you definitely have to get traction on your app from a social standpoint, that's a huge way for us to discover your apps so what's the best way for people to learn more about the best of galaxy store awards charlotte allen 24 54 we have a galaxy store landing page on our samsung developer program site and there, you'll find details about the program updates on the best of galaxy store awards 2020 and highlights from past year's awards, including winner interviews yeah tony morelan 25 09 and as a reminder, that is developer samsung com and from there, you can navigate over to the galaxy store awards page, all the links that we were mentioning, and the podcast will be included in the show notes so you can check there can you tell me, are there any upcoming news that you can share that's related to the award show? charlotte allen 25 29 we have some upcoming blogs, we're going to take a look back at some of last year's winners, highlight some of their successes, and really begin promoting the best of galaxy store awards 2020 as we get near to the virtual award ceremony, and we really can't wait tony morelan 25 47 yeah, and one thing i'd like to share is that we are working on a trailer a little teaser for the award show the trailer will be released exactly 30 days before the award show so on november 9, we will be releasing our little teaser trailer for the award show so be sure to stay tuned for that so charlotte, thank you very much for joining me on the podcast today and sharing all of the information about the award show really appreciate you coming on the podcast charlotte allen 26 16 thanks it's great to be back again tony morelan 26 18 and just to sign off, this is our final episode of season one of the podcast i hope you all have enjoyed not just this episode, but the prior 13 episodes that we did that make up season one of the power podcast we look forward to having you join us next year we're going to start the new year off with season two and we are really excited with the shows that were lining up and you definitely will be hearing from some of the winners of our best of galaxy store awards for 2020 so thank you very much outro 26 51 looking to start creating for samsung, download the latest tools to code your next app, or get software for designing apps without coding at all sell your apps to the world on the samsung galaxy store check out developer samsung com today and start your journey with samsung the pow! podcast is brought to you by the samsung developer program and produced by tony morelan
success story marketplace, mobile, foldable
blogjeanne hsu, senior marketing manager for developer relations at samsung, chatted with shilpi aggarwal, senior engineering manager in document cloud. she has been at adobe for 15 years, working on portable document format (pdf) technologies at all levels of the stack, with a deep interest in creating seamless customer experiences. jeanne hsu (jh): shilpi, what is your role at adobe? shilpi aggarwal (sa): i deliver products that power pdf creation and consumption across mobile form factors. i manage the adobe acrobat app on the android platform and provide best-in-class pdf experiences to millions of users every day. jh: what was your professional journey that led you to adobe? sa: at university i used adobe photoshop and acrobat reader on a daily basis, so i was familiar with the software. i joined adobe fresh out of college and immediately loved the culture. i am a true believer in adobe values, so i’ve stayed with adobe since the beginning of my career. jh: that’s a long time to be at one company. i noticed adobe’s core values are being genuine, exceptional, innovative, and involved. which values resonate the most for you? sa: being genuine and getting involved. it feels so easy to be myself here. adobe also values diversity and inclusion; everyone is equally valued. people have the freedom to speak out in meetings and can reach out to any executive. i treasure that. jh: how did covid-19 impact the team? sa: when the pandemic hit, adobe held a virtual all hands meeting and asked how people were doing and if there was anything they needed. i said i needed an oxygen cylinder for someone in india. an evp on the call messaged me 1:1 and said he had access to one. i was impressed that he would reach out to help like that. this level of support and engagement from leadership in the hour of need is what i value the most. jh: how did the relationship with samsung first start? sa: our samsung and adobe document cloud partnership started in 2018 with the debut of adobe scan on the galaxy note9. bixby vision was enabled to work seamlessly with adobe scan, giving customers the ability to get more done on the go. in 2020, we expanded our partnership with the launch of the adobe acrobat mobile app in the galaxy store. galaxy store users could download and subscribe to adobe acrobat mobile, which included capabilities to edit text and images, export to and from pdf, more advanced features to create pdfs, combine and organize pdfs, and more. adobe acrobat reader mobile app — best made for samsung app award jh: congrats on winning the 2021 best of galaxy store award — best made for samsung app — for adobe acrobat reader. what does it mean to win this award? sa: i am delighted and proud. our team was really happy to hear the news, and we had a small virtual party afterward. with the acrobat reader mobile app, our mission has always been to fundamentally change the way people consume and modify digital documents, and to become the first choice for pdf productivity for mobile-first users. i feel humbled by the chance to empower millions who use our app every day. i am grateful to our customers and to our amazing partners at samsung for recognizing us. jh: what makes your app unique? sa: people regularly work with documents on the go, and the pdf file format makes it easy to view most documents on a mobile device with formatting intact. with the acrobat mobile app, you can view pdfs for quick document reviews and edits, easy form filling and signing, and much more. it’s different from other mobile pdf solutions because it offers an end-to-end workflow for creating, editing, signing, reviewing, and storing pdfs across devices. acrobat was built for mobile, so you can read documents without pinching and zooming. you can organize paper documents digitally with mobile-first features like liquid mode and scan. and let’s not forget that adobe invented the pdf format and continues to innovate every day for the millions of people around the world who use the acrobat mobile app. jh: i heard about another intriguing feature for adobe acrobat reader called read out loud. tell us more about that. sa: yes, it’s part of our mobile first strategy. read out loud is a text-to-speech (tts) tool that reads text contained in pdf documents. it’s important for accessibility for all. jh: what else differentiates the adobe pdf experience for mobile users? sa: liquid mode senses your mobile device’s screen size and adjusts accordingly. you can change text size and spacing for better readability. you can also search text and expand images and charts. last year it was our most talked-about feature, with great reviews. users also like the form-filling experience and the ability to add signatures on forms. jh: i’m a big fan too. i love the form-filling and signature capabilities. it’s far better than the alternative of printing it out, filling it out manually, signing it, and then taking a picture to upload. it’s a real game changer. feedback and discoverability jh: what kind of feedback have you received from users? sa: we have over 90 million active users a month. they give us lots of feedback, and we take that feedback very seriously. every month we go over online reviews, dedicated adobe forums, and support email lists. because we value customer feedback in our product development process, we’re consistently able to deliver a product customers enjoy. here are some comments from our users: app is great, super easy to use and really easy to learn how to use without much of a learning curve, kind of just explains itself as it goes along, a very intuitive app, almost seems as if it's learning you as you learn it, making it extremely functional for even the most novice of users. adobe acrobat mobile is a reliable tool and extremely useful for editing documents efficiently and has a sleek design. i do not know about many others, but i know adobe has always been convenient and easy to use and the editor is such a remarkably helpful tool. i love this! you can sign papers that are sent to you via text, email, and postal mail on your phone and send them back to those who need signed paperwork. it takes two minutes to sign papers and send them back... jh: with all the competition for apps, what has been your strategy for discoverability? sa: we optimize our content on app store pages to make sure people can easily discover the apps’ benefits. we also run campaigns to new potential customers and existing users who have other adobe products but not acrobat mobile. for example, we send campaigns to existing adobe customers to let them know they can download the acrobat mobile app to view and work with documents on their mobile devices. advice and the future jh: what advice would you give developers looking to bring their app to galaxy store? sa: i would say to design the app with scale in mind. whatever changes we make should be architected to scale to other adobe apps going forward. for example, billing was a key component for our partnership with the samsung galaxy store. we modularized it so it could be plug-and-play. other adobe groups have asked to use the billing component for their products with samsung. the samsung partnership helped us think in this way. we can scale our app with other stores without major code rewrites. this led us to think about how to scale for multiple stores, best practices, and notification support. with a more expansive mindset, we decoupled components and came up with a design to create different flavors of the app with the same code. a modular design provides a foundation to build out for other platforms. jh: what other advice would you give for developers in general? sa: keep learning, no matter what your role is in the business. my path was individual contributor to team lead to manager to senior management. never stop learning. set aside time to refresh your skills and keep yourself up to date. jh: do you have plans to make your app compatible with foldable devices? sa: yes. we’ve done a lot of work on foldables, including the samsung z fold and z flip devices. we’re doing rigorous testing to ensure compatibility. jh: what’s next on the horizon for your team? sa: there are more than four billion smartphones today, and they are increasing in emerging markets. while digital documents are ubiquitous in developed countries, we will continue to innovate our products and work with mobile app store partners like samsung so we can expand the value we deliver to customers worldwide. marketing jh: what are some of the ways you promote adobe acrobat mobile? sa: here are our websites and channels: website facebook twitter linkedin youtube blog diversity and inclusion jh: what is adobe doing related to diversity and inclusion? sa: we have several programs that foster diversity and inclusion. adobe for all is a program in which adobe employees with diverse backgrounds share their stories and inspire others. in wesp (women employee shadow program), women shadow execs, and the execs mentor them for three months. our team has a healthy balance of men and women. during the pandemic, we found working remotely and hiring remotely has helped us increase our pool of applicants. we’re excited to see more people from different geos and diverse cultures applying. jh: what do you do for fun outside of work? sa: i’m into freestyle dancing; it gives me a lot of peace and calm. i’ve done aerobics. also, i’ve performed bollywood style and competed in multiple team events, winning twice. i performed with a group of dancers at an adobe talent show, which was fun. i also spend time with my seven-year-old son; he’s in that phase of doing lots of cute and naughty things, which keeps me engaged. jh: it’s been great talking to you shilpi. thanks for this interview. sa: you’re welcome. be sure to also follow us on @samsung_dev to keep up-to-date on the latest developer news, and keep an eye on our blogs for other helpful resources. you can also sign up for the samsung developer program to take advantage of exclusive benefits and access helpful developer resources.
Jeanne Hsu
Learn Developers Podcast
docseason 3, episode 3 previous episode | episode index | next episode this is a transcript of one episode of the samsung developers podcast, hosted by and produced by tony morelan a listing of all podcast transcripts can be found here host tony morelan senior developer evangelist, samsung developers instagram - twitter - linkedin guest tobias thorsen & peter holm, biodome games, galaxy store not only do we chat about their award-winning mobile game gold digger frvr, but how being acquired by a larger game publisher has allowed them to focus more on game development, while the publisher handles the marketing aspect of producing games listen download this episode topics covered biodome games studio spelunca frvr best of galaxy store awards publishing on galaxy store marketing discoverability galaxy badge generating revenue integrating iap music diversity and inclusion helpful links gold digger frvr - golddigger frvr com facebook gold train frvr - facebook gold train frvr - goldtrain frvr com biodome games - biodome games frvr - frvr com frvr careers - careers frvr com galaxy store badges - developer samsung com/galaxy-store/gsb-promotion galaxy themes - developer samsung com/galaxy-themes samsung developer program homepage - developer samsung com samsung developer program newsletter - developer samsung com/newsletter samsung developer program blog - developer samsung com/blog samsung developer program news - developer samsung com/news samsung developer program facebook - facebook com/samsungdev samsung developer program instagram - instagram com/samsung_dev samsung developer program twitter - twitter com/samsung_dev samsung developer program youtube - youtube com/samsungdevelopers samsung developer program linkedin - linkedin com/company/samsungdevelopers 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 three on today's show, i'm joined by the founders of biodome games to be a sourcing in peter home not only do we chat about their award-winning mobile game gold digger, but how being acquired by a larger game publisher has allowed them to focus more on game development, while the publisher handles the marketing aspect of producing games oh, yeah and we also chat about how their game studio is now called studio spelunka enjoy hey, i am excited for today's podcast to be interviewing, not just one, but the two founders of biodome games to be a source in and peter home hey, guys, welcome to the podcast thank you thank you so let me first start by asking who is to be as thorson? tobias thorsen 01 04 well, i'm 40 years old, i grew up in rural denmark far out west, i would describe myself as a programmer with somewhat of an artistic sense i like programming not because i'm particularly good at writing beautiful code, but because it gives a degree of control, and you get a final say in the product you're developing and i really like that tony morelan 01 28 that's great and now we also are joined by peter home tell me who is peter holm? peter holm 01 36 well, self-taught game design, usability, user experience, business, creative direction type of guy yeah, i enjoy making games tony morelan 01 47 wonderful so toby, let me get back to you what is your role at biodome games? tobias thorsen 01 53 i'm the lead programmer, and gameplay and vendor and then i'm a co-founder, tony morelan 01 58 wonderful and peter yourself, what is what exactly is your role? peter holm 02 04 aware of many hats i'm the ceo formula game design, producer, artist tony morelan 02 13 so let's talk about the history by a dump because i know that you guys were acquired by fr vr and actually recently changed your studio name to spell blanca but i understand that your history goes way back that you guys were actually friends in kindergarten so give me that full history of, of the two of you how you guys started working together, and how that led up to biodome games and eventually now spin like a studio peter holm 02 38 well, it all started around the lego bricks in kindergarten tobias thorsen 02 45 it's true, somewhat, peter holm 02 47 somewhat true, at least professional working together, but started animation studio and could make where we did 3d animation and space, spare time we started making a game and that spare time project kind of got out of hand and turned into a game that we actually released and that was 24 years ago or something? tobias thorsen 03 10 yeah, we released it in 2000 peter holm 03 14 no, no, no, we didn't the first one was in 98 it was really tobias thorsen 03 20 so long ago tony morelan 03 23 the internet was just, you know, starting out what was the process for releasing those games? tobias thorsen 03 29 well, the game was kind of an experiment it was called chases and i was just getting into game development while working at his animation studio, where peter also works i kind of pivoted back to programming, which i did a lot of when i was a teenager so i tried experimented with programming, a small game, which was at first only meant for our own enjoyment i wanted a top-down shooter that i could play in split screen with my friends so i made that, and it was quite fun and it just turned more and more advanced and like when you're young and new to project like this, it just takes it on its own life and you develop and develop and then at some point, we figured that, hey, this is a product, we are having so much fun playing it every weekend, we played it and so we figured that other people could enjoy this and so we decided to do it ourselves and back then it meant making our own cds and sending them by mail so there was quite a task, but there was really there was how game distribution was done back then wow and tony morelan 04 38 what was the platform that you guys built it on? that was tobias thorsen 04 40 windows and to my great regrets i programmed everything in visual basic because that was the language and you back then yeah, and visual basic was definitely not made for game development so i had to do all sorts of tricks to make it work and it just got more and more advanced and then at some point, we figured now it's enough and we made the cds we made 1000 cds and sold them one at a time from our website tony morelan 05 11 i know my brief experience with gaming back in the late 90s was using flash and i understand that you guys have some experience also, using flash back in those glorious days of the of the late 90s tobias thorsen 05 26 yeah, well, after, after our game chasers, we sold like 200 copies and we kind of realized we couldn't make a living from that so we had to get a real job so we started doing advertisement games and other flash games and that that was really the platform for gaming back then on the web was flash peter holm 05 49 and it kind of happened by accident that that what we did back then turned into becoming an actual game company because i think at that point, from my, my perspective, at least, making games was kind of a side gig, hobby, hobby thing but what i was desperately into was actually flesh and getting 3d animation onto the web using flash magic that was kind of the big thing back then tobias thorsen 06 17 yeah fancy ui designs and stuff like yeah, peter holm 06 21 fancy ui designs, and wow, transitions and whoa, what not? common colleague, and i found a company focusing on just that, and, and we kind of figured out along the way that hey, wait a minute, maybe we could just do some flash games and it seems like people want to buy those, and so on all of a sudden, we had a gaming company, with a ton of clients all over the world and tony morelan 06 45 that was fun and what was the name of that gaming company? peter holm 06 48 there was a tunic, like titanic but cartoon instead, so tony morelan 06 53 okay, yeah and the success yeah, the success of that, did that go down? peter holm 07 00 it went down? eventually yes but i will say that we left it to be as an ai, we left the company in 2007 a year after that it went down so nothing on us it was a series of unfortunate events that led to the company crashing tony morelan 07 21 so i understand that you guys built a company, cape copenhagen, correct that actually, like flourish, you had, you know, lots of employees over 30 employees you learned a lot of lessons from that company and some of the challenges that came out of that tell me tell me a little bit about cape copenhagen peter holm 07 38 yeah, so cape copenhagen came out of the out of chasis the first game we've made way back, and titanic so actually, we left that company in order to make a new version of chase as that was the big dream, we established the company that in turn turned into cape cod and that company was focused on chasis to begin with, and we worked on a demo for a long time, and we pitched it to publishers, and we didn't seem to be learning the right deal at any point so we left it and returned to flash games, tobias thorsen 08 12 i fell into the trap that many game developers to programmers, particularly that i want to make my own engine sure that was possible back in the 90s, and beginning of the 2000s, but at that point, 2008 it was the scene was so diverse with graphics cards, and sound cards and hardware all over the place and multi-platform so it really was a too big of a task again, i made a lot of programming that turned out to be dead code, because you can't maintain such a big code base for so many cases and get out into all the corners with your own tech at least not one guy peter holm 08 54 yeah, we painted ourselves into a corner with that project and tobias thorsen 09 00 share yeah, multiple times peter holm 09 03 so learning from that we return to the stuff that worked in titanic and return to making flash games for clients and then at some point later on, we finally made the jump to unity and 3d games tony morelan 09 21 and was at the beginning of biodome games no, the peter holm 09 25 beginning of biodome games is later so keepcup magnet almost existed for 10 years wow and i think we were almost 40 people at the peak and at some point we had a lot of stuff lined up but it all fell through and having a business that rely on client work and all the client work disappearing that's, that's not really healthy sure and we hadn't really managed to build a really solid foundation because i think we wanted too much on the same time really wanted to do great plant work but we also wanted to make our own games, which is by definition underfunded yeah, so that was a very difficult balance to strike tobias thorsen 10 11 for 10 years, we kind of swapped between the two, and we couldn't make a clear path we didn't really want to focus entirely on client projects and we didn't want to take too much funding and get economically dependent by taking big investments and not having our own company yeah, sure so we were kind of flip flopping around for 10 years, until we could no longer flip flop peter holm 10 38 yeah so we were stubborn, and flip flopping and refusing to take other people's money and so on so it was it was kind of yeah, maybe not that smart of a choice but anyway, it was fun tobias thorsen 10 53 it was it was a great company i really loved my colleagues, amazing company tony morelan 10 59 so it sounds like then eventually, there came a moment where you decided that it was best that you just close the company, correct? peter holm 11 07 yeah, at a at a at some point it was basically out of our hands we had, within the same week, we had three almost signed deals that disappeared and that was really enough to take us out of business so we had to close down and that was the beginning of biodome games tony morelan 11 28 so then, so then you interbase decided to still continue working together, you obviously are determined to find success, peter holm 11 37 we actually had a conversation at some point where we were looking at each other than just meeting room and things were just collapsing around us and we kind of okay, so what we're going to do get a job i don't know how to get a job we basically we were unemployable at that point, i guess we didn't have a choice tony morelan 12 01 so that was it it was just you looked at each other and said well, you've got me and i've got you so let's figure out 12 07 something like that tony morelan 12 11 so with the with the closing of cape copenhagen was that the beginning of biodome games, peter holm 12 17 at cape copenhagen we had a third partner who, brian, who we work with for many years, he had left the company i think, one and a half years before we went belly up basically, he had to he had to do something else with its life at that point he was he was kind of burned out on client work and stuff like that but around the time that we went belly up, and we had the infamous conversation and in the meeting room about having no choice but to start a new company, he had probably around that time joined, joined a little startup called frvr and we kind of followed along and looked at what they were doing while we were doing other stuff because we still wanted to do our own games we had a client project that could get biodome games running, so we didn't have to take any funding and stuff and that was basically our plan just to chug along, do a project end and then fund another game that we wanted to do tobias thorsen 13 22 yeah and i remember brian liftin, in melta, at that point, and he was back in copenhagen and he was really, really trying to sell this idea that we should work for frvr very hard we are skeptical what's, what's this? and it's hypercasual? and is that really our gig peter holm 13 43 instant games? what is this? yeah tobias thorsen 13 48 it felt like a return to something that we left many years ago in titanic and flash games sure so we weren't, we were not really convinced in the beginning and we had some other projects and very artsy projects lined up for ourselves and i remember we made this calculation at some point, if we're going to succeed with our own game and distributing it and making a steam version of that game and becoming a hit it was it was really unlikely and the numbers just told us well, we really just have so much better chance of succeeding if we go with prime and this tony morelan 14 26 is because i mean, it's really was just the two of you still, i mean, it's not like you had employees it was the tobias thorsen 14 31 two of us yeah, yeah peter holm 14 33 yeah and then we really tried to stick to gut feeling about making our own game and realizing our artistic ambition through that game, but as at the same time, we really wanted to achieve that commercial success and i think the message that that brian came with, why don't you shove your artistic ambition and allow yourself just to be commercial for once, sir and i think, as you said, to be as that it would be a marathon to maybe get the game finished and maybe get it shipped and so on but because the scope was smaller, and the tech was more accessible and they had good channel relationships and could get our game out there, i mean, that would just make a lot of sense and it played to all our strengths and so on tobias thorsen 15 23 it turned out to be a no brainer, because what we lacked they had, we didn't have any connections in the industry to publishers, and we didn't know how to put a game on facebook instant or steam and let alone peter holm 15 38 samsung galaxy store yeah tobias thorsen 15 43 so we kind of saw well, maybe we don't have to sacrifice our artistic integrity just because it's an instant game or just because it's a small casual game, who still make something that that would be ours and feels like something we want to work on so tony morelan 16 01 sure so then you decided to work closer with frvr and they acquired biodome games? tobias thorsen 16 08 no, not at this point okay, peter holm 16 11 actually, we decided to enter a publishing agreement with them so we basically made an exclusivity deal with them we got to use their tech and in return, they promised to try to publish our games if we made something good, of course and that was just a huge relief to take that step and start making small games and then yeah, fast forward two years and four games, and they acquired us because we had proven that that we have something that actually worked tony morelan 16 48 and just so i have a good understanding frvr is basically handing like the publishing and the marketing but that you guys are still pretty much a standalone team, your own your own studio, correct? peter holm 17 00 yeah, the new setup is, is 100% frvr own studio, but we have full autonomy we can do what we want basically, as long as we try to make long term business sense of course, in our industry, it's a first party studio, meaning that the publisher owns the studio and we keep working on our games on the games from biodome games that would transfer to this new entity, it feels like our studio and be treated like our studio tony morelan 17 30 now now recently, you decided to change the name from biodome games to spelunka correct? peter holm 17 37 yeah, that was that was part of the of the setting up a new studio so biodome games guild formerly exists now it's basically a holding company okay but, but yeah, so the new studio is called frvr studios belong? tony morelan 17 53 and what is the what is the meaning? what is the thought behind spelunka? tobias thorsen 17 58 spelunka means cave exploration and if you go spelunking you explore caves no, it's quite suiting for gold digger tony morelan 18 08 yeah, is very appropriate i myself actually have spent a very little time but did one day of spelunking definitely was during my, my youth when i didn't have a fear of small spaces and claustrophobia i can't imagine getting back down into the earth like i did when i was younger and climbing around those caves is exhilarating peter holm 18 31 i wouldn't last a second environment; it would be so horrible tobias thorsen 18 38 it's good thing we can do it in a games and tony morelan 18 41 yeah, wonderful so tell me now about spelunka how many employees are you guys? peter holm 18 48 for? so us and two other guys and we were still looking to hire more people with can still kind of figuring out what kind of people we need but more developers needed? yes yeah, we tobias thorsen 19 02 are three programmers now and then peter so we are going to need some more assistance with the graphics and game design and these parts tony morelan 19 13 wonderful well, i know a lot of people who listen to the podcasts are always looking for opportunities for work so i'll make sure to include links in the in the show notes are there any links that we'll be able to share related to maybe applying for a job at splunk and studious? peter holm 19 28 yeah, i think we have one opening now on the fob career side but i think we'll add some more in the near future tony morelan 19 37 so let's talk about the relationship with samsung how did that actually come about? peter holm 19 41 again, we have to point to two ffvi they seem to be really amazing with the challenge relationships and that's, i mean, that's a huge win for us because we can really focus on game development that that relationship with samsung that ffvs been able to build them? in part on our behalf? is it something that we're really grateful about? tobias thorsen 20 06 yeah, i think at first our games were mostly published on facebook and then when they were kind of proven that they worked and the generator revenue they expanded to the newly formed channel on bixby i think back then it's a couple years ago tony morelan 20 25 so i wasn't familiar with that so bixby, our voice assistant, is that what you're referring to? peter holm 20 29 yeah, i think there's still on older devices that hadn't received updates, you would still be able to swipe right and then you would open a discovery surface called bixby as well, where the games will be featured and that was the first appearance on samsung devices to my knowledge, so yeah, it seems to be a lot of samsung channels that the game is feature tony morelan 20 58 so last year, you guys were the winner for the 2021 best of galaxy store award best instant play game tell me tell me what did it mean to win that award? peter holm 21 11 that was pretty special i'd say we had not seen that common i mean, we hadn't imagined in a million years that we made an award-winning game i mean, we knew we made a great game and a fun game, but we haven't seen it as a as a game that would win an award so it was super happy about it tobias thorsen 21 32 in retrospect, i could see that the game stands out a bit it's a combination of gameplay and, and style that's that i haven't seen many places tony morelan 21 44 so let's talk about gold digger i mean, i played it because i was part of the team that was going through all the nominations and selecting who was going to be a winner it was a very addicting game to play but tell the folks out there what actually is gold digger tobias thorsen 22 00 i remember when we when we came up with the idea, because we were i think we were talking about digging game peter holm 22 08 yeah you mentioned you mentioned boulder dash as i remember it, you look over your screen and say, you remember the tony morelan 22 15 boulder dash? i love that game peter holm 22 17 as a yeah oh, yeah yeah, that was that was a great game maybe we should do something like that use it and i said, oh, yeah and we can that match three elements so you match the gems and i think that was the conclusion of our game design and brainstorming session, as i remember it it was tobias thorsen 22 37 very, very brief and which, which is, i guess, a good thing that you could describe a full gameplay with the one minute of talk hey, let's try that that could work and i peter holm 22 48 think it was only a couple of days later, you had the first prototype running us, i remember it at least and then of course, a few months until we had tobias thorsen 22 57 playable in the frvr bible when they recommend gameplay ideas to pursue one of the key points is mashups of, of different genres so not don't make a clone but try to mix and match different areas and see what that leads to tony morelan 23 18 so the gameplay there's this little there's like this old man miner who's going around smashing rocks looking for gems correct? peter holm 23 27 actually, when you play this kind of a fast-paced mining game, which is kind of a maybe because mining is, is in real life, it would be really slow pace but i guess that was the inspiration we took from balderdash that we wanted it to be speedier and like an explorer it's so it's i think it's as much an exploration game as its mining game, taking game but yeah, you view push rocks around and match them up and when you align three or more rocks, they explode and, and help you excavate and then there's a lot of stuff to discover and pick up, buy and sell tony morelan 24 07 so i remember seeing at the time when you win the award, you guys produced a meme a great photo graphic of your first dollar that you earned on gold digger side by side with winning the samsung award tell me about that peter holm 24 23 yeah, it was quite a revelation for us to allow ourselves to be focusing totally on making something that made money so making our actual first dollar was quite an event so we made ourselves an award to celebrate the moment and we awarded it to us so thanking us for the award so yeah, that was that was how it started making our own awards and how it's going winning actual awards from samsung that was that was quite a tobias thorsen 24 58 in many ways goes to go has become the game that we dreamed of making for many, many years all the time in cape, we were talking about how it would be so great to have just a small game that would make a little bit of money to support one guy who could work on this and it took the end of cape copenhagen and the rise of a new company before it actually happened for us peter holm 25 20 in a way you could say we've been working on this game for 22 years tony morelan 25 28 so i understand that gold digger is not the only gold game in your in your franchise that you have another game called gold train, frvr tell me tell me about gold train? tobias thorsen 25 39 yeah, that was the first we made it was it's a more traditional, proven gameplay in many ways it's a based-on pipe mania, also a very old game where you match train tracks to make the train run okay and since we kind of knew what kind of game we were doing with, we chose that game for just getting to know the tech from frvr so it was kind of a training game training train game tony morelan 26 10 that's great peter holm 26 11 at that point, we had decided, of course that we wanted to make a game that would make us money so in order to cast the rights bill over the game, we needed something with gold and it seemed to work okay, tony morelan 26 25 so tell me what is the platform that you're building your games on tobias thorsen 26 30 html5, and built on the engine that frvr provided it's all javascript, very old-style javascript, so no modern shenanigans it's, you have a script as it looks 1015 years ago so it's in many ways, it's, it's very easy and very simple to get started with but when a project gets really complex, it's it has its own challenges as well tony morelan 26 57 yeah, i think there'll be a lot of limitations with it but you guys have found a way to work within those limitations to create something that's that successful tobias thorsen 27 05 yeah, i'd say some of the bigger challenges has come now that we've hired new programmers who has to take this two-year-old code base that i've been working on exclusively, and try to figure out what's going on our first-time employee, he was really, for a month, and he was so confused so we decided to make a major cleanup of the code and we've been working on that for a couple of months now, tony morelan 27 32 how funny i can take that as like, you know, you take this really top-level auto mechanic, and then you throw an old ferrari at them and say, alright, yeah, get this going here peter holm 27 45 but about the limitations, i think part of the charm of working with this is actually the limitations that you have to impose on yourself and your ambition and that's, i think, part of the reason that we can make it work tony morelan 28 00 it's interesting, because, you know, my, my background truly is in graphic design and i often teach the opposite of that, in the sense that, you know, when you're creating a logo, you don't want to limit yourself by diving right into a program, like adobe illustrator to start designing your logo that really, you should grab pencil and paper and start sketching so that you don't have any limitations but it sounds like you know, your approach having to work with him in this javascript, you've got some limitations but i would think that, you know, that that must trigger certain parts of your brain where you really have to think like, how are you going to get this done? peter holm 28 39 yeah, i think i think would you say about logo design is totally true, i would definitely go for a pencil first but again, that's the pencil is a conceptual limitation that you put into the process at that point true so i totally agree with that one but in this case, i think one of one of the great benefits about the limitations we have on the platform is that there's a lot of stuff we just can't do period so we don't have to get distracted by ambient occlusion or real time shadows, or hdr lighting or stuff like that that's completely irrelevant to the gameplay but if we had every single tool, we could so easily get distracted by stuff that's not super essential to get right tobias thorsen 29 27 yeah but essentially is it's a sprite engine, you can display sprites, and you can display a lot of them but that's it there's no spinning stuff, and no 3d had hardly any animation system we had to make that ourselves also tony morelan 29 45 oh, wow so i would think that the process i mean, tell me is it would you say it's quicker i mean, i know that some of these game developers that i've that i've chatted with, it takes them years to go to market on a design that they're working on those limitations actually help speed the process could you can't go down all these different avenues and work on things such as 3d and lighting yeah, definitely tobias thorsen 30 06 in the beginning, it's a, it's very, very fast to make a prototype and try something out and i think the challenge really comes when you're when you're continuously working on a project, and it gets more and more complex, because then yeah, this group really has its limitations sure peter holm 30 25 yeah and i think the platform's says a lot about your shadow choice as well, you wouldn't, you wouldn't go ahead and make a first-person shooter and that wouldn't make sense i mean, you wouldn't have you would pick another tool for it from the first prototype until gold digger went live i think that was about three or four months or something tony morelan 30 44 like that it's so quick peter holm 30 47 yeah, and it's a great joy to work with that quick turnaround, because you get something done, right? tony morelan 30 54 yeah and you get the feedback so quick, because as soon as you put it out there, you start i mean, you had mentioned that you would first release like on facebook instant i mean, you almost using that as your testing platform so you release it quickly like this, you get that feedback and now you can get back into the studio and start finding ways to really improve on it before it gets out to the to the larger audience peter holm 31 13 exactly exactly and you have actual people playing it and having opinions about it and telling you what, what they think about it that that's just so much more fun than sitting deep in the trench working on the same project for two or three years without it seeing any type of reality tobias thorsen 31 35 and a lot less risky, of course, saves a lot of money, too i peter holm 31 39 would say yeah oh, yeah, definitely tony morelan 31 43 so i'd like to talk a bit about the marketing i know that frvr is handling all of this for you what were some of the tools that work because i've seen some banners that you guys have done on galaxy store peter holm 31 54 yeah, for us at least privileged situation that that frvr handles most of that and we basically just supply them with, with assets that they can they can build banners and stuff from tony morelan 32 07 the end if some of these banners were related to different seasons, whether it's halloween or valentine's peter holm 32 13 oh, yeah, yeah yeah so what we did recently was, was some seasonal updates for the game we had a super nice christmas update for it with a snowy landscape and you could explore the mine and find christmas decorations and stuff and i think you could even get a santa hat and yeah, i think we had a very nice feature from samsung on that and of course, that's so nice to see that they will yeah, spend some nice storefront for the game tony morelan 32 58 so tell me, are there other games that you guys have produced outside of gold digger and gold train? peter holm 33 04 yeah, we have we have two other games we have the pot rush, cool rush mini golfing game and a pool game tobias thorsen 33 13 it's a very casual approach to pool and a very casual approach to mini golf it's a sure something that a hardcore pool player woods would find appalling because you just you just sit there and you shoot balls, if the balls and get them in that into the hole it's very simple and it's not even on a pool table it's an endless trek tony morelan 33 40 lsa check that out tell me so where are you guys getting your ideas for games? peter holm 33 45 i don't know i mean, sometimes it's just like what we talked about with gold, they got this two reference points, and then they have a weird connection other times it's, it's more like, what type of interaction would be fun? what would feel good? okay, and then in turn, how could we turn that into a game? i think that the pool russian portrush games kind of grew out of that approach we kind of wanted a very simple interaction that would be fun and quick to repeat i think we had a few iterations of that before it kind of gelled into a pool game and a mini golf game tobias thorsen 34 28 and it was very much inspired also by one of our vrs biggest hits, which is a basketball game, where the only thing you do is to flip basketballs, okay, and have to hit the hoop so the gameplay style is quite similar you just shoot balls again and again and again you can get really good at it and you can suck at it tony morelan 34 52 i remember there was a game a long time ago, very similar where you would just throwing trash into a little trash bin peter holm 34 57 yes yeah i think that that's that, for me at least that's been that's been kind of a fascination all the way back from the first flash games that how much can you boil down the experience? how small can we make it and still make it enjoyable? i still think that's very much motivation for me at least two or a driver for me at least to see how, how tiny can you make it? how much of a great experience can you make with the smallest mechanic possible, basically? tony morelan 35 28 so tell me what is your process for designing, developing in and then publishing a game, if ar tobias thorsen 35 35 vr has a set of goalposts, you have to reach first you make a prototype that the guys there review their game designers, and they look at the game and try to give their input on whether or not it would succeed, or if it has potential than if, if they approve it, and think we might be able to do something with that we make a prototype, and it's been put out on a very limited market so there's a small subset of players who get to play it and then during this process, the retention is measured and you see how many people are actually returning to it and these are paid users, they are advertising, and people come and play and then there are a set amount of iterations where you try to improve in each iteration to see if you can get the game sticky enough and this process is, in large part to avoid working a lot on a game that doesn't have potential that's not going to work in the real world so if you pass through these goalposts, you, it's published to a wider audience worldwide peter holm 36 41 okay and i think and i think if we should just talk a bit about our internal process as well, it would be more something along the lines of running with a gut feel, up until the point where we felt we have something that would show some kind of potential yeah, and then trying to find the smallest subset of that, that we could take to a level where it could actually be tested in in live circumstances tony morelan 37 11 so we've seen a lot of success around gold digger, can you tell me like how many active users do you guys have playing the game? peter holm 37 19 across samsung channels? i think we're seeing about of course; it goes up and down with stole features and stuff, but an average about 100,000 active users a day wow so that's, that's pretty neat tony morelan 37 33 yeah, that's, that's crazy to guys just creating a game like that and you've got over 100,000 people playing it daily tobias thorsen 37 40 it feels really weird in the beginning, when it started to take off and i remember, at the start, we were extremely popular in vietnam, and poland tony morelan 37 51 really, yeah, tobias thorsen 37 52 there was some strange demographic that we never fully discovered why, but yeah, peter holm 37 58 yes, sometimes like that, you suddenly get a spike in in a market that you didn't expect at all tony morelan 38 03 so obviously, revenue needs to play a part somewhere when it comes to the success of a game so tell me what is it that you guys are doing to help generate revenue while playing gold digger? peter holm 38 15 well, the very basic stuff is, of course, that the main revenue is coming in from ads, we try to find convenient, or you could say, quote, unquote, natural places to show ads and hopefully, some players would click those ads and when they do that, that generates some revenue back to us also on platforms that support it we have in game purchases, so you could actually pay real money to buy stuff tony morelan 38 46 so what are your what are your key learnings? when it comes to iap? peter holm 38 49 the key learning i think, is that people actually want to pay for stuff when they enjoy the game so if you make a great game, people will definitely pay for stuff in the game tobias thorsen 39 00 i remember in the beginning when these in app purchase issues came up with some smurf game where people bought smith berries, and i was very skeptical of them, but who's paying for this? but again, it's uh, if you make something that's actually fun, and people want to play, then they'll pay tony morelan 39 19 yeah, i was listening to a podcast once different market that they were talking about ip in a sense that, you know, they could have hundreds of 1000s of people interacting with this, but all it takes is a small percentage that are willing to pay and that truthfully can generate a decent amount of revenue that because the reach is so big, and it's a global audience, that it just takes a few people you know, interested in actually paying the they can really help bring some money your way? peter holm 39 46 yeah, yeah yeah it is it is a game of volume, because you need a lot of ads to be shown and you need a lot of players to have enough players that would actually want to spend money on it as well tony morelan 40 03 so one of the things that really stood out for me when i was playing gold digger was the music so let's talk a bit about the music of gold digger peter holm 40 11 we're fortunate to work with a really great composer that is also happens to be a friend and former colleague, his name is rasmus hdmi, and if anyone is out there listening and wants to music, you should definitely know because this is so great actually, we work with him in our past company and, and he's, he's working with the fob as well tony morelan 40 34 yeah, so the song that we just heard leading up to this question that was from gold digger, and a few of the other songs that one that we started the podcast off with, and one that we'll be closing with those were from gold train so yeah, absolutely beautiful music that you guys are creating there and frvr it's tobias thorsen 40 52 actually something that people come and done we get a lot of feedback where people say, hey, what's up music? peter holm 40 59 actually, there's a funny story about that composer back in the day, we made a game for lego and it was for a disney themed ip and we needed some music for that game and our composer was patmos, who made the music for these games as well he made some disney inspired music that was completely original he made it all from scratch and once disney had to approve the game, they were kind of going out okay, where's that music from? what movie? did you rap? tony morelan 41 35 really? peter holm 41 36 oh, it's totally original music it's so they were they were kind of impressed with him so tony morelan 41 44 wow so he does music for not just you guys, but for many of the other franchises underneath fr vr, correct? yeah peter holm 41 52 yeah he said, i think he's the closest thing they get to a house composer tony morelan 41 57 so what advice would you give developers looking to bring their games to galaxy store? tobias thorsen 42 02 work with a great publisher? peter holm 42 05 yeah, the advice we took was, was work with frvr yeah, tony morelan 42 10 that's great and i love hearing about that because i know a lot of indie developers, their challenges, they've come up with a great game but these are not marketing people these are not publishing people i mean, these really are great game designers and then where do they go? how do they take their game out to the public? so it's wonderful to hear that there is a resource with a company like frvr that these indie developers can turn to, they can actually bring their game to market tobias thorsen 42 35 yeah and it's hard work doing publishing and it's hard work to maintain the relations with different outlets like the galaxy store, it's not something that you just walk in from the street and say, hey, can you put our game on the store and featured? i think a lot of game developers forget about it i did for many years, i thought it would just make a great game, then it'll all come by itself that's not true peter holm 43 03 selling is hard, right? it's not something you want to do next to you making the game job you want dedicated people to take care of that tony morelan 43 12 yeah and i would think that really game developers they've got that their brain is wired for being creative in wanting to code or, you know, figure out the technology behind it the last thing i want to do is like get on a phone and try and start doing the marketing yeah, making those phone calls to try and you know, get their game out there to be seen peter holm 43 32 yeah, exactly it's, it's liberating to hand it off to someone who knows what they're doing tony morelan 43 38 so what is in the future for spelunka? peter holm 43 41 well, the near future is way more gold digger and i think we have a lot of fun ideas for making the game even more fun for players and yeah, and we're just looking forward to dive deeper into it tony morelan 43 57 and i know you guys are a small company, you just are a few people what are in your future plans related to diversity and inclusion? peter holm 44 06 well, right now we have to be totally honest, which is for white dudes all the same age, all sporting the same beer guard and stuff like that so it's kind of i mean, it's not really diverse, but, but we really want to change that up we strongly believe that diverse teams make better decisions and better games sure and we're super happy to first experience when the game kind of came out that it is a very even 5050 split male female really, okay yeah and it's a rare thing to get something like that yeah so we really want to emphasize that and i think the age wise the audience is extremely wide as well we have young kids playing it and we recently had a very nice letter from 70 something year old gentleman who we enjoyed playing it with his wife wow so i mean, it's a, it's a very, very wide audience and we want to cater to that tony morelan 45 08 yeah yeah, that is that is very unique now and the game is very new i mean, it is it is a young game, do you have plans of maybe like offering the ability to skin your character to be able to create something that maybe somebody relates to a little bit more? peter holm 45 21 yeah, i don't think everyone wants to be that red bearded, grumpy old minus i think it would only be fair to enable people to make their own characters and so on that's, that's part of it of the scope as well as some points yeah, definitely tony morelan 45 38 so to me, it's tell me what is it that you do for fun outside of work, i understand that you actually are a pretty artsy person tobias thorsen 45 47 well, when you sit all day and program and stare into a screen, it's quite nice to do something physical so i've been doing lots of stuff over the years with the painting and arts and lately i've been doing a lot of comics, so it's quite new hobby for me tony morelan 46 04 ceramics really? so pottery yeah, pottery tobias thorsen 46 07 and modeling and doing crazy sculptures i've never thought much about these things until i really tried it and when i when i held an item that i made, which was all glossy and looks totally finished, yeah but it was quite a nice experience so i dove more into it it's very rewarding to have to eat out of a plate that you made yourself tony morelan 46 40 that is wonderful so and peter, let me ask you what is it that you do for fun outside of work? i understand that you actually like to pretend to be a lumberjack peter holm 46 50 yeah, i do i do i have a big, big, badly maintained garden and a small strip of forest that that i can joyfully call my own and once in a while we have a storm that that troubles a tree and i get to cut it up and chop it for firewood and stuff like that so i really enjoy you could say rough gardening like that also woodworking, artsy, artsy, do it yourself projects with all the kids, which of which have four tony morelan 47 26 wow, that's excellent so i have one more question for you since you guys became friends you said back when you started kindergarten tell me who is better at sharing to be or peter tobias thorsen 47 40 sharing tony morelan 47 42 yes peter holm 47 44 that's definitely to be as to be as a very, very generous soul that shares all these good ideas tony morelan 47 55 that's great you guys, it has been absolutely wonderful to chat with the two of you you guys are doing great work at splunk and i'm looking forward to seeing much more down the road on galaxy store tobias thorsen 48 06 thank you very much thank you peter holm 48 07 it was a it was a pleasure to talk to you closing 48 09 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 tony morelan 48 26 the samsung developers podcast is hosted by tony morelan and produced by jeanne hsu
Develop Samsung Pay
apioverview package class tree index help package com samsung android sdk samsungpay v2 class spaysdk java lang object com samsung android sdk samsungpay v2 spaysdk direct known subclasses cardmanager, paymentmanager public abstract class spaysdk extends object this class allows to define samsung pay sdk information, common error codes, and constants since api level 1 1 nested class summary nested classes modifier and type class description static enum spaysdk brand this enumeration provides sdk supported card brands such as american express, mastercard, visa, discover, china unionpay, octopus, eci, pagobancomat, mada and elo static enum spaysdk servicetype this enumeration provides service types partners must set their service type in the partnerinfo when they call any apis static enum spaysdk transactiontype this value is specifically supported for mada tokens and will not apply to other token types field summary fields modifier and type field description static final string common_status_table this table shows the status codes used commonly status bundle keys bundle values spay_not_supported 0 extra_error_reason error_device_not_samsung -350 error_spay_pkg_not_found -351 error_spay_sdk_service_not_available -352 error_device_integrity_check_fail -353 error_spay_app_integrity_check_fail -360 error_android_platform_check_fail -361 spay_not_ready 1 extra_error_reason error_spay_setup_not_completed -356 error_spay_app_need_to_update -357 error_spay_internal -1 extra_error_reason error_server_internal -311 n/a n/a error_not_allowed -6 extra_error_reason error_invalid_parameter -12 error_sdk_not_supported_for_this_region -300 error_service_id_invalid -301 error_service_unavailable_for_this_region -302 error_partner_app_signature_mismatch -303 error_partner_app_version_not_supported -304 error_partner_app_blocked -305 error_user_not_registered_for_debug -306 error_service_not_approved_for_release -307 error_partner_not_approved -308 error_unauthorized_request_type -309 error_expired_or_invalid_debug_key -310 error_missing_information -354 error_unable_to_verify_caller -359 error_invalid_parameter -12 n/a n/a error_no_network -21 n/a n/a error_server_no_response -22 n/a n/a error_partner_info_invalid -99 extra_error_reason error_partner_sdk_api_level -10 error_partner_service_type -11 error_partner_sdk_version_not_allowed -358 error_initiation_fail -103 n/a n/a spay_not_allowed_temporally 3 extra_error_reason error_spay_connected_with_external_display -605 error_spay_fmm_lock -604 n/a n/a paymentmanager error_making_sheet_failed -115 n/a n/a static final string cryptogram_type_icc key to represent the icc cryptogram type of mastercard static final string cryptogram_type_ucaf key to represent the ucaf cryptogram type of mastercard static final string device_id key to represent unique device id static final string device_type_gear device type is gear static final string device_type_phone device type is phone static final int error_android_platform_check_fail this error indicates that android platform version check has failed for in-app payment, the samsung pay sdk requires android 6 0 m android api level 23 or later versions of the android os this is returned as extra_error_reason for spay_not_supported error static final int error_device_integrity_check_fail this error indicates that device integrity check has failed this is returned as extra_error_reason for spay_not_supported error static final int error_device_not_samsung this error indicates that the device is not a samsung device this is returned as extra_error_reason for spay_not_supported error static final int error_duplicated_sdk_api_called this error indicates that duplicate api called by partner static final int error_expired_or_invalid_debug_key this error indicates that debug key is invalid or expired this is returned as extra_error_reason for error_not_allowed error for example, if the partner app uses expired debug-api-key, then the partner app verification will be failed static final int error_initiation_fail this error indicates that session initiation or service binding has failed for example, if the service connection with samsung pay was not successful static final int error_invalid_parameter this error indicates that requested operation contains invalid parameter or invalid bundle key/value static final int error_missing_information this error indicates that some information of partner is missing this error code is returned as an extra_error_reason of error_not_allowed error for example, if the partner app does not deliver a required information to samsung pay to get the wallet information, then samsung pay will send this error to partner app also if the partner does not define the issuer name in samsung pay developer portal, samsung pay will send this error to partner app static final int error_no_network this error indicates that samsung pay is unable to connect to the server since there is no network for example, partner app tries to verify with server while network is not connected static final int error_none this error indicates that requested operation is success with no error static final int error_not_allowed this error indicates that requested operation is not allowed for example, partner app verification has failed in samsung pay server static final int error_not_found this error indicates that given card id is not found in samsung pay static final int error_not_supported this error indicates that requested operation is not supported in samsung pay static final int error_partner_app_blocked this error indicates that partner app version is removed/blocked by the samsung pay developers this is returned as extra_error_reason for error_not_allowed error for example, if the partner app is blocked, then the partner app verification will be failed static final int error_partner_app_signature_mismatch this error indicates that the app signature is different from the one registered from samsung pay developers this is returned as extra_error_reason for error_not_allowed error for example, if different signature is used for signing apk, the partner app verification will be failed checking signature logic will be activated in case debug mode is "n" static final int error_partner_app_version_not_supported this error indicates that app version is not supported by samsung pay this is returned as extra_error_reason for error_not_allowed error for example, if the version registered from developer portal is higher than current version or no any version registered , then the partner app verification will be failed static final int error_partner_info_invalid this error indicates that partner information is invalid for example, partner app is using sdk version not allowed, invalid service type, wrong api level, and so on static final int error_partner_not_approved this error indicates that partner registration is not done on the samsung pay developers this is returned as extra_error_reason for error_not_allowed error for example, if the partner app is submitted but not approved, then the partner app verification will be failed static final int error_partner_sdk_api_level this error indicates that sdk api level is missing or invalid partner must set valid api level in the androidmanifest file static final int error_partner_sdk_version_not_allowed this error indicates that the partner app is using samsung pay sdk not allowed this is returned as extra_error_reason for error_partner_info_invalid error static final int error_partner_service_type this error indicates that the service type is invalid partner must set valid service type in partnerinfo when calling apis this is returned as extra_error_reason for spay_not_ready error static final int error_registration_fail this error indicates that the card provisioning has failed static final int error_sdk_not_supported_for_this_region this error indicates that the samsung pay sdk is not supported in particular region this is returned as extra_error_reason for error_not_allowed error for example, if the device is from the country that samsung pay sdk is not supported, then the partner app verification will be failed static final int error_server_internal this error indicates that server fails to proceed request due to unknown internal error this is returned as extra_error_reason for error_spay_internal error for example, if the server error occurred while the partner verification is going on, then the partner app verification will be failed static final int error_server_no_response this error indicates that server did not respond to the samsung pay request static final int error_service_id_invalid this error indicates that service id is not registered with the samsung pay developers this is returned as extra_error_reason for error_not_allowed error for example, if invalid service id was used in partner app, then the partner app verification will be failed static final int error_service_not_approved_for_release this error indicates that service version is not approved for release by the samsung pay developers this is returned as extra_error_reason for error_not_allowed error for example, if the partner app is not registered for release mode, then the partner app verification will be failed static final int error_service_unavailable_for_this_region this error indicates that sdk support is not available for partner's service in particular region static final int error_spay_app_integrity_check_fail this error indicates that samsung pay app integrity check has failed this is returned as extra_error_reason for spay_not_supported error static final int error_spay_app_need_to_update this error indicates that the samsung pay should be updated partner app need to ask user to update samsung pay app static final int error_spay_connected_with_external_display this error indicates that device is connected with an external display due to security reason, samsung pay cannot be launched at this moment in this case, partner can guide user to disconnect any external display if connected static final int error_spay_fmm_lock this error indicates that device is locked due to fmm find my mobile partner app needs to ask user to unlock the samsung pay app static final int error_spay_internal this error indicates that internal error has occurred while the requested operation is going on static final int error_spay_pkg_not_found this error indicates that the samsung pay application is not on the device this is returned as extra_error_reason for spay_not_supported error this could mean that the device does not support samsung pay static final int error_spay_sdk_service_not_available this error indicates that sdk service is not available on this device this is returned as extra_error_reason for spay_not_supported error static final int error_spay_setup_not_completed this error indicates that the samsung pay setup was not completed partner app need to ask user to set up samsung pay app static final int error_unable_to_verify_caller this error indicates that samsung pay is unable to verify partner app at this moment this is returned as extra_error_reason for error_not_allowed error for example, samsung pay tried to connect to the server and validate partner id, but the device does not have the network connectivity static final int error_unauthorized_request_type this error indicates that the partner is not authorized for this request type such as payment or enrollment this is returned as extra_error_reason for error_not_allowed error for example, if the merchant app calls enrollment api, then the partner app verification will be failed static final int error_user_canceled this error indicates that user has cancelled before completing the requested operation for example, user taps the cancel or back key on the payment sheet static final int error_user_not_registered_for_debug this error indicates that user account is not registered for using debug mode on the samsung pay developers this is returned as extra_error_reason for error_not_allowed error for example, if the partner app is in debug mode but the samsung account is not registered for the debug-api-key, then the partner app verification will be failed static final string extra_accept_combo_card key to represent that a merchant accepts combo card partner can use this key to let customers to choose debit/credit in case of combo card static final string extra_card_type key to represent card type the possible values are card card_type_credit_debit card card_type_credit card card_type_debit card card_type_gift card card_type_loyalty card card_type_transit static final string extra_country_code key to represent country code device country code iso 3166-1 alpha-2 static final string extra_cpf_holder_name key to get cpf holder name in extra payment data when partner requests cpf by extra_require_cpf key, the samsung pay would bundle cpf information in the extrapaymentdata parameter of paymentmanager customsheettransactioninfolistener onsuccess com samsung android sdk samsungpay v2 payment customsheetpaymentinfo, java lang string, android os bundle callback static final string extra_cpf_number key to get cpf number in extra payment data when partner requests cpf by extra_require_cpf key, the samsung pay would bundle cpf information in the extrapaymentdata parameter of paymentmanager customsheettransactioninfolistener onsuccess com samsung android sdk samsungpay v2 payment customsheetpaymentinfo, java lang string, android os bundle callback static final string extra_cryptogram_type key to represent the dsrp digital secure remote payments cryptogram type of mastercard static final string extra_device_card_limit_reached key to represent the maximum registered card number has reached or not static final string extra_device_type key to represent type of the device mobile or gear static final string extra_error_reason key to represent extra error reasons static final string extra_error_reason_message key to represent extra error reason messages static final string extra_issuer_name key to represent name of the issuer this key can be used in the bundle for partnerinfo string, bundle static final string extra_issuer_pkgname key to represent package name of the issuer app on android static final string extra_last4_dpan key to represent the last four digits of digitalized personal identification number dpan static final string extra_last4_fpan key to represent the last four digits of funding personal identification number fpan static final string extra_member_id key to represent member id of the issuer this is for korean issuers only static final string extra_merchant_ref_id key to set/get merchant reference id beyond marketplace app or service i e static final string extra_online_transaction_type static final string extra_partner_name key to represent name of the partner app this key can be used in the bundle for partnerinfo string, bundle static final string extra_request_id key to represent request id when a request is failed, tr will send this key to partner app static final string extra_require_cpf key to represent that a partner requires cpf partner can use this key to ask samsung pay to show cpf information in the payment sheet static final string extra_resolved_1 key to represent additional data partner can use this key to put tagged data to a bundle before sending to samsung pay static final string extra_resolved_2 key to represent additional data partner can use this key to put tagged data to a bundle before sending to samsung pay static final string extra_resolved_3 key to represent additional data partner can use this key to put tagged data to a bundle before sending to samsung pay static final string extra_resolved_4 key to represent additional data partner can use this key to put tagged data to a bundle before sending to samsung pay static final string extra_resolved_5 key to represent additional data partner can use this key to put tagged data to a bundle before sending to samsung pay static final string extra_resolved_6 key to represent additional data partner can use this key to put tagged data to a bundle before sending to samsung pay static final string extra_resolved_7 key to represent additional data partner can use this key to put tagged data to a bundle before sending to samsung pay static final string partner_service_type key to represent unique service type this key must be set in the bundle for partnerinfo string, bundle static final int spay_has_no_transit_card this code is returned if samsung pay doesn't have a registered transit card this is for korean issuers only static final int spay_has_transit_card this code is returned if samsung pay has a registered transit card this is for korean issuers only static final int spay_not_allowed_temporally samsung pay is not allowed temporally refer extra reason delivered with extra_error_reason static final int spay_not_ready samsung pay is not completely activated usually, this status code is returned if the user did not complete the mandatory update or if the user is not signed in with the samsung account yet in this case, partner app can call samsungpay activatesamsungpay api to launch samsung pay or can call samsungpay gotoupdatepage api to update samsung pay app static final int spay_not_supported samsung pay is not supported on this device usually, this status code is returned if the device is not compatible to run samsung pay or if the samsung pay app is not installed static final int spay_ready samsung pay is activated and ready to use usually, this status code is returned after user completes all the mandatory updates and is signed in static final string wallet_dm_id key to represent unique device management id static final string wallet_user_id key to represent user's wallet id method summary all methodsstatic methodsconcrete methods modifier and type method description static int getversioncode returns the version code of the samsung pay sdk static string getversionname returns the version name of the samsung pay sdk methods inherited from class java lang object equals, getclass, hashcode, notify, notifyall, tostring, wait, wait, wait field details error_none public static final int error_none this error indicates that requested operation is success with no error see also constant field values error_spay_internal public static final int error_spay_internal this error indicates that internal error has occurred while the requested operation is going on see also constant field values error_not_supported public static final int error_not_supported this error indicates that requested operation is not supported in samsung pay see also constant field values error_not_found public static final int error_not_found this error indicates that given card id is not found in samsung pay see also constant field values error_not_allowed public static final int error_not_allowed this error indicates that requested operation is not allowed for example, partner app verification has failed in samsung pay server see also constant field values error_user_canceled public static final int error_user_canceled this error indicates that user has cancelled before completing the requested operation for example, user taps the cancel or back key on the payment sheet see also constant field values error_partner_sdk_api_level public static final int error_partner_sdk_api_level this error indicates that sdk api level is missing or invalid partner must set valid api level in the androidmanifest file minimum possible version is 1 4 also if the partner set the values defined in higher api level, samsung pay will send this error to partner app this is returned as extra_error_reason for error_partner_info_invalid error since api level 1 4 see also constant field values error_partner_service_type public static final int error_partner_service_type this error indicates that the service type is invalid partner must set valid service type in partnerinfo when calling apis this is returned as extra_error_reason for spay_not_ready error since api level 1 4 see also constant field values error_invalid_parameter public static final int error_invalid_parameter this error indicates that requested operation contains invalid parameter or invalid bundle key/value since api level 2 3 see also constant field values error_no_network public static final int error_no_network this error indicates that samsung pay is unable to connect to the server since there is no network for example, partner app tries to verify with server while network is not connected see also constant field values error_server_no_response public static final int error_server_no_response this error indicates that server did not respond to the samsung pay request see also constant field values error_partner_info_invalid public static final int error_partner_info_invalid this error indicates that partner information is invalid for example, partner app is using sdk version not allowed, invalid service type, wrong api level, and so on since api level 2 5 see also constant field values error_initiation_fail public static final int error_initiation_fail this error indicates that session initiation or service binding has failed for example, if the service connection with samsung pay was not successful see also constant field values error_registration_fail public static final int error_registration_fail this error indicates that the card provisioning has failed since api level 1 2 see also constant field values error_duplicated_sdk_api_called public static final int error_duplicated_sdk_api_called this error indicates that duplicate api called by partner since api level 2 1 see also constant field values error_sdk_not_supported_for_this_region public static final int error_sdk_not_supported_for_this_region this error indicates that the samsung pay sdk is not supported in particular region this is returned as extra_error_reason for error_not_allowed error for example, if the device is from the country that samsung pay sdk is not supported, then the partner app verification will be failed see also constant field values error_service_id_invalid public static final int error_service_id_invalid this error indicates that service id is not registered with the samsung pay developers this is returned as extra_error_reason for error_not_allowed error for example, if invalid service id was used in partner app, then the partner app verification will be failed since api level 2 5 see also constant field values error_service_unavailable_for_this_region public static final int error_service_unavailable_for_this_region this error indicates that sdk support is not available for partner's service in particular region since api level 2 5 see also constant field values error_partner_app_signature_mismatch public static final int error_partner_app_signature_mismatch this error indicates that the app signature is different from the one registered from samsung pay developers this is returned as extra_error_reason for error_not_allowed error for example, if different signature is used for signing apk, the partner app verification will be failed checking signature logic will be activated in case debug mode is "n" since api level 2 9 see also constant field values error_partner_app_version_not_supported public static final int error_partner_app_version_not_supported this error indicates that app version is not supported by samsung pay this is returned as extra_error_reason for error_not_allowed error for example, if the version registered from developer portal is higher than current version or no any version registered , then the partner app verification will be failed since api level 2 9 see also constant field values error_partner_app_blocked public static final int error_partner_app_blocked this error indicates that partner app version is removed/blocked by the samsung pay developers this is returned as extra_error_reason for error_not_allowed error for example, if the partner app is blocked, then the partner app verification will be failed since api level 2 9 see also constant field values error_user_not_registered_for_debug public static final int error_user_not_registered_for_debug this error indicates that user account is not registered for using debug mode on the samsung pay developers this is returned as extra_error_reason for error_not_allowed error for example, if the partner app is in debug mode but the samsung account is not registered for the debug-api-key, then the partner app verification will be failed see also constant field values error_service_not_approved_for_release public static final int error_service_not_approved_for_release this error indicates that service version is not approved for release by the samsung pay developers this is returned as extra_error_reason for error_not_allowed error for example, if the partner app is not registered for release mode, then the partner app verification will be failed since api level 2 5 see also constant field values error_partner_not_approved public static final int error_partner_not_approved this error indicates that partner registration is not done on the samsung pay developers this is returned as extra_error_reason for error_not_allowed error for example, if the partner app is submitted but not approved, then the partner app verification will be failed see also constant field values error_unauthorized_request_type public static final int error_unauthorized_request_type this error indicates that the partner is not authorized for this request type such as payment or enrollment this is returned as extra_error_reason for error_not_allowed error for example, if the merchant app calls enrollment api, then the partner app verification will be failed see also constant field values error_expired_or_invalid_debug_key public static final int error_expired_or_invalid_debug_key this error indicates that debug key is invalid or expired this is returned as extra_error_reason for error_not_allowed error for example, if the partner app uses expired debug-api-key, then the partner app verification will be failed see also constant field values error_server_internal public static final int error_server_internal this error indicates that server fails to proceed request due to unknown internal error this is returned as extra_error_reason for error_spay_internal error for example, if the server error occurred while the partner verification is going on, then the partner app verification will be failed since api level 2 5 see also constant field values error_device_not_samsung public static final int error_device_not_samsung this error indicates that the device is not a samsung device this is returned as extra_error_reason for spay_not_supported error see also constant field values error_spay_pkg_not_found public static final int error_spay_pkg_not_found this error indicates that the samsung pay application is not on the device this is returned as extra_error_reason for spay_not_supported error this could mean that the device does not support samsung pay see also constant field values error_spay_sdk_service_not_available public static final int error_spay_sdk_service_not_available this error indicates that sdk service is not available on this device this is returned as extra_error_reason for spay_not_supported error see also constant field values error_device_integrity_check_fail public static final int error_device_integrity_check_fail this error indicates that device integrity check has failed this is returned as extra_error_reason for spay_not_supported error see also constant field values error_spay_app_integrity_check_fail public static final int error_spay_app_integrity_check_fail this error indicates that samsung pay app integrity check has failed this is returned as extra_error_reason for spay_not_supported error see also constant field values error_android_platform_check_fail public static final int error_android_platform_check_fail this error indicates that android platform version check has failed for in-app payment, the samsung pay sdk requires android 6 0 m android api level 23 or later versions of the android os this is returned as extra_error_reason for spay_not_supported error since api level 1 5 see also constant field values error_missing_information public static final int error_missing_information this error indicates that some information of partner is missing this error code is returned as an extra_error_reason of error_not_allowed error for example, if the partner app does not deliver a required information to samsung pay to get the wallet information, then samsung pay will send this error to partner app also if the partner does not define the issuer name in samsung pay developer portal, samsung pay will send this error to partner app see also constant field values error_spay_setup_not_completed public static final int error_spay_setup_not_completed this error indicates that the samsung pay setup was not completed partner app need to ask user to set up samsung pay app if user agrees, call samsungpay activatesamsungpay api this is returned as extra_error_reason for spay_not_ready error see also constant field values error_spay_app_need_to_update public static final int error_spay_app_need_to_update this error indicates that the samsung pay should be updated partner app need to ask user to update samsung pay app if user agrees, call samsungpay gotoupdatepage api this is returned as extra_error_reason for spay_not_ready error since api level 1 1 see also constant field values error_partner_sdk_version_not_allowed public static final int error_partner_sdk_version_not_allowed this error indicates that the partner app is using samsung pay sdk not allowed this is returned as extra_error_reason for error_partner_info_invalid error since api level 2 5 see also constant field values error_unable_to_verify_caller public static final int error_unable_to_verify_caller this error indicates that samsung pay is unable to verify partner app at this moment this is returned as extra_error_reason for error_not_allowed error for example, samsung pay tried to connect to the server and validate partner id, but the device does not have the network connectivity see also constant field values error_spay_fmm_lock public static final int error_spay_fmm_lock this error indicates that device is locked due to fmm find my mobile partner app needs to ask user to unlock the samsung pay app if user agrees, call samsungpay activatesamsungpay to unlock the samsung pay app since api level 2 1 see also samsungpay activatesamsungpay constant field values error_spay_connected_with_external_display public static final int error_spay_connected_with_external_display this error indicates that device is connected with an external display due to security reason, samsung pay cannot be launched at this moment in this case, partner can guide user to disconnect any external display if connected since api level 2 7 see also constant field values spay_not_supported public static final int spay_not_supported samsung pay is not supported on this device usually, this status code is returned if the device is not compatible to run samsung pay or if the samsung pay app is not installed since api level 1 1 see also constant field values spay_not_ready public static final int spay_not_ready samsung pay is not completely activated usually, this status code is returned if the user did not complete the mandatory update or if the user is not signed in with the samsung account yet in this case, partner app can call samsungpay activatesamsungpay api to launch samsung pay or can call samsungpay gotoupdatepage api to update samsung pay app since api level 1 1 see also constant field values spay_ready public static final int spay_ready samsung pay is activated and ready to use usually, this status code is returned after user completes all the mandatory updates and is signed in since api level 1 1 see also constant field values spay_not_allowed_temporally public static final int spay_not_allowed_temporally samsung pay is not allowed temporally refer extra reason delivered with extra_error_reason since api level 2 7 see also constant field values spay_has_transit_card public static final int spay_has_transit_card this code is returned if samsung pay has a registered transit card this is for korean issuers only since api level 2 8 see also constant field values spay_has_no_transit_card public static final int spay_has_no_transit_card this code is returned if samsung pay doesn't have a registered transit card this is for korean issuers only since api level 2 8 see also constant field values device_type_phone public static final string device_type_phone device type is phone since api level 1 1 see also constant field values device_type_gear public static final string device_type_gear device type is gear since api level 1 1 see also constant field values extra_last4_dpan public static final string extra_last4_dpan key to represent the last four digits of digitalized personal identification number dpan since api level 1 1 see also constant field values extra_last4_fpan public static final string extra_last4_fpan key to represent the last four digits of funding personal identification number fpan since api level 1 1 see also constant field values extra_issuer_name public static final string extra_issuer_name key to represent name of the issuer this key can be used in the bundle for partnerinfo string, bundle since api level 1 1 see also constant field values extra_issuer_pkgname public static final string extra_issuer_pkgname key to represent package name of the issuer app on android since api level 1 1 see also constant field values extra_partner_name public static final string extra_partner_name key to represent name of the partner app this key can be used in the bundle for partnerinfo string, bundle since api level 2 6 see also constant field values extra_error_reason public static final string extra_error_reason key to represent extra error reasons since api level 1 1 see also constant field values extra_error_reason_message public static final string extra_error_reason_message key to represent extra error reason messages since api level 2 9 see also constant field values extra_card_type public static final string extra_card_type key to represent card type the possible values are card card_type_credit_debit card card_type_credit card card_type_debit card card_type_gift card card_type_loyalty card card_type_transit since api level 1 1 see also constant field values extra_device_type public static final string extra_device_type key to represent type of the device mobile or gear the possible values are device_type_phone device_type_gear since api level 1 1 see also constant field values extra_member_id public static final string extra_member_id key to represent member id of the issuer this is for korean issuers only since api level 1 1 see also constant field values extra_country_code public static final string extra_country_code key to represent country code device country code iso 3166-1 alpha-2 since api level 1 1 see also constant field values extra_device_card_limit_reached public static final string extra_device_card_limit_reached key to represent the maximum registered card number has reached or not since api level 1 1 see also constant field values extra_cryptogram_type public static final string extra_cryptogram_type key to represent the dsrp digital secure remote payments cryptogram type of mastercard cryptogram type is supported by mastercard only, can be put as an optional value in extrapaymentinfo of customsheetpaymentinfo since api level 2 4 see also constant field values extra_resolved_1 public static final string extra_resolved_1 key to represent additional data partner can use this key to put tagged data to a bundle before sending to samsung pay since api level 2 4 see also constant field values extra_resolved_2 public static final string extra_resolved_2 key to represent additional data partner can use this key to put tagged data to a bundle before sending to samsung pay since api level 2 4 see also constant field values extra_resolved_3 public static final string extra_resolved_3 key to represent additional data partner can use this key to put tagged data to a bundle before sending to samsung pay since api level 2 4 see also constant field values extra_resolved_4 public static final string extra_resolved_4 key to represent additional data partner can use this key to put tagged data to a bundle before sending to samsung pay since api level 2 4 see also constant field values extra_resolved_5 public static final string extra_resolved_5 key to represent additional data partner can use this key to put tagged data to a bundle before sending to samsung pay since api level 2 4 see also constant field values extra_resolved_6 public static final string extra_resolved_6 key to represent additional data partner can use this key to put tagged data to a bundle before sending to samsung pay since api level 2 4 see also constant field values extra_resolved_7 public static final string extra_resolved_7 key to represent additional data partner can use this key to put tagged data to a bundle before sending to samsung pay since api level 2 4 see also constant field values extra_request_id public static final string extra_request_id key to represent request id when a request is failed, tr will send this key to partner app request id would be helpful for debugging a failed request between partner and tr since api level 2 5 see also constant field values cryptogram_type_ucaf public static final string cryptogram_type_ucaf key to represent the ucaf cryptogram type of mastercard ucaf cryptogram type is supported by mastercard only, can be put as an optional value in extrapaymentinfo of customsheetpaymentinfo ucaf is a default cryptogram type if not specified in the extrapaymentinfo bundle since api level 2 4 see also constant field values cryptogram_type_icc public static final string cryptogram_type_icc key to represent the icc cryptogram type of mastercard icc cryptogram type is supported by mastercard only, can be put as an optional value in extrapaymentinfo of customsheetpaymentinfo since api level 2 4 see also constant field values extra_accept_combo_card public static final string extra_accept_combo_card key to represent that a merchant accepts combo card partner can use this key to let customers to choose debit/credit in case of combo card it can be put as an optional value in extrapaymentinfo of customsheetpaymentinfo the possible value is the boolean since api level 2 9 see also constant field values extra_require_cpf public static final string extra_require_cpf key to represent that a partner requires cpf partner can use this key to ask samsung pay to show cpf information in the payment sheet it can be put as an optional value in extrapaymentinfo of customsheetpaymentinfo the possible value is the boolean this is for brazil partners only since api level 2 11 see also constant field values extra_cpf_holder_name public static final string extra_cpf_holder_name key to get cpf holder name in extra payment data when partner requests cpf by extra_require_cpf key, the samsung pay would bundle cpf information in the extrapaymentdata parameter of paymentmanager customsheettransactioninfolistener onsuccess com samsung android sdk samsungpay v2 payment customsheetpaymentinfo, java lang string, android os bundle callback since api level 2 11 see also constant field values extra_cpf_number public static final string extra_cpf_number key to get cpf number in extra payment data when partner requests cpf by extra_require_cpf key, the samsung pay would bundle cpf information in the extrapaymentdata parameter of paymentmanager customsheettransactioninfolistener onsuccess com samsung android sdk samsungpay v2 payment customsheetpaymentinfo, java lang string, android os bundle callback since api level 2 11 see also constant field values extra_merchant_ref_id public static final string extra_merchant_ref_id key to set/get merchant reference id beyond marketplace app or service i e bixby when marketplace apps request in-app payment, they can set merchant reference id so that samsung pay app can get detail information about the merchant using the id since api level 2 11 see also constant field values extra_online_transaction_type public static final string extra_online_transaction_type see also constant field values wallet_user_id public static final string wallet_user_id key to represent user's wallet id since api level 1 2 see also constant field values device_id public static final string device_id key to represent unique device id since api level 1 2 see also constant field values wallet_dm_id public static final string wallet_dm_id key to represent unique device management id since api level 1 2 see also constant field values partner_service_type public static final string partner_service_type key to represent unique service type this key must be set in the bundle for partnerinfo string, bundle since api level 1 4 see also constant field values common_status_table public static final string common_status_table this table shows the status codes used commonly status bundle keys bundle values spay_not_supported 0 extra_error_reason error_device_not_samsung -350 error_spay_pkg_not_found -351 error_spay_sdk_service_not_available -352 error_device_integrity_check_fail -353 error_spay_app_integrity_check_fail -360 error_android_platform_check_fail -361 spay_not_ready 1 extra_error_reason error_spay_setup_not_completed -356 error_spay_app_need_to_update -357 error_spay_internal -1 extra_error_reason error_server_internal -311 n/a n/a error_not_allowed -6 extra_error_reason error_invalid_parameter -12 error_sdk_not_supported_for_this_region -300 error_service_id_invalid -301 error_service_unavailable_for_this_region -302 error_partner_app_signature_mismatch -303 error_partner_app_version_not_supported -304 error_partner_app_blocked -305 error_user_not_registered_for_debug -306 error_service_not_approved_for_release -307 error_partner_not_approved -308 error_unauthorized_request_type -309 error_expired_or_invalid_debug_key -310 error_missing_information -354 error_unable_to_verify_caller -359 error_invalid_parameter -12 n/a n/a error_no_network -21 n/a n/a error_server_no_response -22 n/a n/a error_partner_info_invalid -99 extra_error_reason error_partner_sdk_api_level -10 error_partner_service_type -11 error_partner_sdk_version_not_allowed -358 error_initiation_fail -103 n/a n/a spay_not_allowed_temporally 3 extra_error_reason error_spay_connected_with_external_display -605 error_spay_fmm_lock -604 n/a n/a paymentmanager error_making_sheet_failed -115 n/a n/a see also constant field values method details getversioncode public static int getversioncode returns the version code of the samsung pay sdk returns sdk version code since api level 1 1 getversionname @nonnull public static string getversionname returns the version name of the samsung pay sdk returns sdk version name since api level 1 1 samsung electronics samsung pay sdk 2 22 00 - nov 19 2024
Learn Developers Podcast
docseason 3, episode 4 previous episode | episode index | next episode this is a transcript of one episode of the samsung developers podcast, hosted by and produced by tony morelan a listing of all podcast transcripts can be found here host tony morelan senior developer evangelist, samsung developers instagram - twitter - linkedin guest chris benjaminsen, frvr games, galaxy store chris benjaminsen, founder of frvr, the super successful game publisher with over 70 titles on samsung services not only do we chat about monetization and game revenue strategies, but how the frvr platform has allowed them to scale their global reach all music from today's show is from frvr games, composed by rasmus hartvig listen download this episode topics covered frvr publishing on galaxy store marketing discoverability monetization generating revenue in-app purchase iap in-app advertising iaa interstitial ads galaxy badge best of galaxy store awards acquiring games/studios diversity and inclusion helpful links frvr - frvr com frvr careers - careers frvr com frvr linkedin - linkedin com/company/frvr frvr youtube - youtube com/c/frvrgames gold train frvr - goldtrain frvr com chris benjaminsen linkedin - linkedin com/in/chrisbenjaminsen/ chris benjaminsen twitter - twitter com/benjaminsen galaxy badges - developer samsung com/galaxy-store/gsb-promotion samsung iap - developer samsung com/iap samsung developer program homepage - developer samsung com samsung developer program newsletter - developer samsung com/newsletter samsung developer program blog - developer samsung com/blog samsung developer program news - developer samsung com/news samsung developer program facebook - facebook com/samsungdev samsung developer program instagram - instagram com/samsung_dev samsung developer program twitter - twitter com/samsung_dev samsung developer program youtube - youtube com/samsungdevelopers samsung developer program linkedin - linkedin com/company/samsungdevelopers 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 four on today's show, i'm joined by chris benjaminsen, founder of frvr, the super successful game publisher with over 70 titles on samsung services not only do we chat about monetization and game revenue strategies, but how the frvr platform has allowed them to scale their global reach and the music from today's show is from frvr games, all composed by rasmus hartvig, enjoy hey, chris, welcome to the podcast chris benjaminsen 00 50 hey, tony thanks for having me yeah, so tony morelan 00 52 so i'm excited to chat with you because, you know, we've had game developers on the podcast, but never a game publisher let me first ask you though, who is chris benjaminsen? chris benjaminsen 01 02 like? that's a good question like, if i were to define myself, i think there's like two defining characteristics, like one is i must make things and the second one is, i detest repetition so if you come to my place, it's not unlikely i will cook but it's very unlikely i'm cooking something i made before so you know, it might be good might not be good, right? but you know, that, that drives and making things like it, it can be origami, it can be computer games that can be like, doesn't really matter, as long as i'm sort of producing something, and then i really don't like doing things twice right you know, like, anything that's routine is just boring tony morelan 01 41 so you're an explorer, then? chris benjaminsen 01 43 i guess so i guess so yeah tony morelan 01 47 so you're with frvr? what exactly is your role? and what is frvr? chris benjaminsen 01 53 like, like, i'm the i'm the original founder, the company, right? you know, and my role today is mostly around working together with massive companies such as samsung, i lead a team at frvr that does that and if you're, if you were to describe frvr, as a company, we're a platform and a publisher okay, so we have a platform that allows game developers to make fantastic games and with all the services that they need to do to do so basically, anything in between a, a game developer and a consumer, and then we also the publisher, we actually make sure that the games get in front of the right user, and they have an opportunity to play those games tony morelan 02 29 okay, what does frvr stand for? it's an acronym, does it have a deep meaning? chris benjaminsen 02 35 no, it's not like, like, a lot of people are sort of asking us if we have french vr company, which we're not yeah, but, but like, like, if rbis is technically forever, without the vowels okay, you can trademark frvr you can trademark forever, at least, not unless you have apple liberal money, right? so so if we say if i'm yeah, because if you could locally use you sort of the full pronunciation you can actually use the trademark so there's a bunch of stupid rules there tony morelan 03 07 interesting interesting so before we dive into frvr, tell me about your journey what led you into the mobile gaming area, and then specifically into creating frvr, chris benjaminsen 03 17 i've been in the, in the games industry for like, more than 20 years, my first job, sort of professional job ever was to make a real time multiplayer games in javascript and if i'd be honest, my seventh startup in total and my second year, and my third platform company over also have like a long history of sort of building companies in this space and i've been very fortunate i never managed to go bankrupt but one of these companies so far, right, you know, so little bit proud about that tony morelan 03 48 oh, that's great it definitely plays into you know, when you first started, you had said that, you know, you're not going to repeat much so you said seven companies that you've started, chris benjaminsen 03 58 you had all very different companies, and some of them were like, like, like, very small and, and never got successful, anything like that right? it's just like the companies apparently gets bigger and bigger every time i try yeah, there might be there might be new startups in the future as well but for now, if rbis is a very exciting company to work at, and definitely want to want to spend my time tony morelan 04 20 so i know one of those companies you had started you actually, it was a pretty successful company that you ended up selling but you came away with that from with a lot of lessons learned, i would say is that correct? chris benjaminsen 04 33 yeah so like, like, in a previous life, build a platform company that did infrastructure for cash or mobile, social and in that company, there was a lot of people building games on top of our infrastructure and 1000s of developers right and, and there was there's a few significant learnings from that so one was that building a company that just charges other people for services is not a particularly good business, a lot of money was made by the developers on top of our platform where we are not making quite a lot of money so you know, make sure that that you actually participate where, where the value is if you want to be a publisher and then the second learning was that the successful developers were not the ones who had the best at making games, right? so there's, there's not a strong connection between sort of making games that are fun to play and the economic success that those developers were able to see so if you want to be successful in the game space, and this is particularly true in the in the mobile game space, you need to be good at a lot of other things that has nothing to do with game development, such as a user acquisition, and revenue optimization, and data and all these things and that, you know, i don't think there's anything wrong with that but if you are somebody who really loves making kickass games, you're missing the 90% if you also want to be successful at that tony morelan 05 57 it's interesting you say that, you know, i had on the podcast a few weeks ago, peter and tobias from biodome games, they have their game gold digger, frvr yeah and it was peter, who had a great quote, saying that he was chatting with one of his partners, who had said, you know, for once, can you stop trying to be so artistic in your games and just build a game that can be successful? and, you know, we all had a good laugh at that chris benjaminsen 06 23 yeah and, you know, i think all industries are like that, right you know, you probably have to be good at a multitude of different disciplines to be successful but, but the games industry, being one of the most valuable entertainment industry, two worlds is, of course, also one of the most competitive and that competitive landscape it's a very, it's a very hard place for, for most people to compete and, and the market sentiment is sort of dominated by survival bias yeah right you know, like, like, the people who won the lottery yeah you know, like, like an among us are like flappy birds so like these, these small teams that had an outsized hit, right, but that's like winning the lottery good luck with that yeah and tony morelan 07 04 i think a great example of that right now is wordle, in the phenomenon behind that chris benjaminsen 07 08 absolutely fantastic game, right you know, and i like these small puzzle games once in a while to come along i was like, 2048, as well, which was also originally made, i think, by an italian game developer, you know, just as a small example, fantastic, fantastic game as well yeah, tony morelan 07 25 definitely, in kind of going back to, you know, what i mentioned, peter, and tobias, they said that for them, you know, the key to their success was partnering with someone like frvr, so that they could just focus on creating the game and let everybody on your team handle everything that when it comes to publishing and marketing, so i think there's a huge value with where you guys are in this space chris benjaminsen 07 47 i hope so like, that's what we're trying to do we're trying to allow developers focusing on making fantastic games and then we took care of all the nitty gritty details of making those games available and i think we published the 39 platforms and then while also helping those developers make sure that the right users come into the games yeah, yeah because it's not it's not only just about the volume of people who play a game, it's more important to make sure that the right user plays the game sure, to get the kind of games that i like, it's not necessarily the kind of games that you like, right, for tony morelan 08 17 sure so let's talk a bit about the history how long has frvr been in existence? chris benjaminsen 08 22 so i think i think technically, they were written, sort of in the integration of the company was founded in must be 2016 okay and their written version of frb apps was decided to be the biggest, baddest lifestyle company you have ever heard of, and sort of sort of allowed me to go and travel the world without having to worry about expenses and it did that it did that very well like, very successfully however, like i'd had a corporate job in corporate america, i had moved to san francisco at this point in my life after having sold a previous company and i sort of managed to convince myself that everything that was wrong with my life was working it turned out everything that was wrong with my life was working for corporate america and it took me it took me like three weeks and a whole bunch of success to realize that and decide, oh, wow, there's a big opportunity here in what inevitably came if ivr that exists today yeah, i teamed up with a guy called brian meidell they joining co-founder came in and we started sort of getting serious about the company a few years after the original founding tony morelan 09 28 and it was brian actually, who had told peter, hey, for once, put artistic stuff aside and let's focus on you know, how to be successful here chris benjaminsen 09 36 yeah and like he's a fantastic executor right, you know, and that's, like, due to building big teams and sort of running productions a lot of repetition stuff i don't like right, yes really good at that tony morelan 09 48 that's great so how many employees are at frvr? chris benjaminsen 09 52 yeah, so i think we are 130 now so as of today, but yeah, like we find ourselves in a situation right now, where we are onboarding around 11 new people a month, so you're growing? yeah, every time you ask that question, the number would have changed? tony morelan 10 08 no, are these people are you focused in one headquarters? are you guys you know, all around the globe? chris benjaminsen 10 13 we have most of our people in in lisbon in portugal and that's predominantly where we are focusing on hiring okay, you know, post covid, the world has changed and, you know, we absolutely accept that some people want to be wherever it is they want to be so we also we also have offices in denmark, we have offices in united kingdom and we have a small office in malta as well, and a small office in spain so we have we have sort of different opportunities for people who wants to work in an office got it and then the majority of people are now in in disband portugal and that's also where we are mostly doing a tony morelan 10 50 hiring you yourself, though you are in the uk is that correct? yeah, i'm chris benjaminsen 10 53 in london, right? you know, i get to i get to be a special snowflake and decide where i want to live so i live in tony morelan 11 01 wonderful now under the frvr brand how many game studios do you guys have that you're working with? chris benjaminsen 11 07 we are publisher right? you know, so? we i think presently we work with around 20 okay, yeah other studios, right? so it's a non-insignificant amount but we have high aspirations, we want to get to a place where we can work with hundreds, if not 1000s of developers sure to do fantastic things tony morelan 11 28 so how many monthly players? do you get playing frvr games on all channels? chris benjaminsen 11 34 i get to it various, right like, like a lot of our success comes from viral traffic right okay so active users can range from i got a really bad month, 50 million to get month where we were we peek into, like, like 100 plus million mark wow, tony morelan 11 50 monthly active users that's crazy yeah, it's chris benjaminsen 11 53 a lot of people so far, i think like, like it's a number we track we think we've had around 1 6 billion absolute unique for the lifetime of the company tony morelan 12 03 wow and that is just in you know, you said the 2016 was the start of frvr chris benjaminsen 12 09 have you? i failed to remember it might have been 15 right but yeah, like plus minus a year sure tony morelan 12 16 so now let's talk about samsung and galaxy store with frvr, what are some of the popular titles that you guys offer on galaxy store? chris benjaminsen 12 24 so particularly on the galaxy store, like we have, i think we have like 12 games live, their most notice would be it's called tigger, frvr which, which is built by peter and team and then we have sort of our higher end games like a basketball and a hex and however, we do work with samsung in other ways, as well, they have this instance type product as well, where we are also present and we have i don't know; i think we've done like seven or eight different integration with samsung along the year so we are sort of everywhere on a samsung phone, including the galaxy appstore tony morelan 12 57 okay, so not just the galaxy app store but there's other different platforms that samsung offers frvr is involved in chris benjaminsen 13 04 yeah, so we work with, we work with samsung about building an experience in our first integration with what's in the product called bixby minus one home screen so when you swipe left on your on your phone, like we will be wearing, we had a cart where there was sort of quick links to our games, okay, we build an instant games type product together with samsung, we work quite a lot of that together and we have our games live there we also have integrations with the with the browser and like we exploring, basically, a big part of what frvr is, rather than trying to drag the user to where we want them to be, say, a mobile app store, we try to take the model and turn it inside out and bring people great games wherever they have already decided to want to be because it's very costly to drag a user somewhere else, right tony morelan 13 50 i see so if they're already there, you want to make your game available to them chris benjaminsen 13 54 yeah, yeah it's like, you know, if you're, if you're starbucks, right, people won't care if you can only get it in the airport, you actually have to be on a street corner close to where people sort of walk around, otherwise nobody is ever going to drink their coffee tony morelan 14 05 yeah, that's true that's true so how did this relationship with samsung for start? chris benjaminsen 14 10 we met samsung at a at a conference and they were like, can you give us games in like, four months? i think was the was the original question and we got the games to them in two days so wow so the answer was yes yeah tony morelan 14 24 that's a great way to start the relationship oh, yeah so why would you say it's important to offer your game on galaxy store? chris benjaminsen 14 31 like, again, you know, that those users there who love the galaxy store, and we want to have our games available to those users in that space and galaxy store is actually well performing? right you know, it's a samsung product and samsung phones are very high-end devices generally it's very, not only is it it's great to meet a consumer where they are they are also very high value users when people are playing from the front of samsung galaxy app store tony morelan 14 54 yeah, in what ways would you say galaxy store has helped you promote frvr games chris benjaminsen 14 59 for is the organic installs a fairly competent product? and it has all the features you would expect as a game developer, right? you know, so, so great access to in app purchases, great access to notifications, great access to distribution, right but we've also, we also really enjoyed working together with the samsung galaxy team and we have, like, among other things, we have an frvr category in the galaxy store that sort of exclusive to us it's only our games oh, no, no and we work together on seasonal featuring and to give feedbacks to us, you know, saying, hey, we think it would be fantastic if we could do some something around easter, for instance and then we go and work on that together and sort of find a, a process that works well together for both of us tony morelan 15 42 that's great and i'm sure that banner promotions are part of that is that chris benjaminsen 15 45 yeah, banner promotion, and i can promotions and like there's a lot of tools that samsung has in the toolbox to help out right? yeah and then we also push on the galaxy team to do more like we, we've sent a lot of feedback on the on the back-end tools and things like that and fantastically, it has impact, like we get better product right so for us, that's a fantastic partnership tony morelan 16 09 yeah and that's one of the things that actually pulled me into working for samsung was how open they were to feedback in wanting to improve their platform fantastic you know, you'd mentioned gold digger, frvr those are the guys they won our 2021 best of galaxy store award for best instant play game awesome game awesome guys, we were so happy to give that award tell me what it did mean for frvr to have one of your games win a best of galaxy store award? chris benjaminsen 16 37 it's a privilege, right? you know, and the credit goes to the game developer, they made that game? yeah right you know, we supported them along the way and, and of course, came with a lot of feedback and help them with technical issues and things like that but at the end of the day, you know, we have to be honest about the fact that the great games are made by the great developers, right, and also, as a platform publisher, provide the tools to make that a possibility but games are fundamentally a creative endeavor and you need massively traded people to make to make those games sure i'm, i'm a game developer myself as well, right you know, and i'm almost more proud of some of the games i've built and, you know, the very successful company that and if rbis, right, you know, because, you know, so it's sort of like an expression of something where you sat down and said, here's the thing i want to create, and now i've gotten it out right and i think to be as impede completely deserves getting that, that recognition from galaxy tony morelan 17 35 yeah success for a game definitely revolves around revenue tell me as far as frvr, what has been your strategy for generating revenue? chris benjaminsen 17 46 like so so from a, from a technical side, right, you know, we try to we try to make all avenues of generating revenue available in our platform, right so that means interstitial-based advertisement, it means reward the best advertisement? it means in app purchases, it means subscriptions it actually does not mean, banner advertisement, we don't do that because i don't like it no, really but you know, yeah, other than that, like, like, we sort of have all the technical capabilities, and then what we find and what we try to optimize for, it's not revenue, we try to optimize for engagement okay and there's a multitude of reasons for that, like so so like, one is the fact that i can't remember the specific number, but it's more than 90% of all value that is captured in the game is made by people who play the game more than once yeah, right you really want to have these long engagements with people, right and another fairly simple reason is it's a lot easier to take a game that has huge engagement, and turn it into a good business than it is to take a game with a with a strong monetization model and turn it into a great game right? so fundamentally, everything we focus on all our kpis, all our visions, and missions are around building experiences that people want to engage with for a long time and then revenue is something that happens as a result, they're off, rather than being sort of a driving factor and because we are good at distribution it because we, we are not sort of participating in the race to the bottom that is cost positive user acquisition on app stores, we can take the privilege that it is to be less aggressively monetizing than some of our competitors tony morelan 19 22 yeah, yeah so let's talk about some of the specifics here, when it comes to, you know, different ways to generate revenue you know, there's developers out there that may just be getting started in this space and so i want to help explain what some of those are so ip is in app purchase, kind of explain, like what is in app purchase chris benjaminsen 19 39 so new in app purchases, if you can somehow convince a user to pay for something in the game, right, you know, and, and how they pay it's actually quite different across the world so northern europe or usa, right? america has a distributor for a credit card, okay but if you're talking about a consumer in india, it's typically through a gift card or something like that why? they've gone into install and sort of funded a wallet, right but the fact of the matter is, what essentially ends up happening is you have you have an experience in your game that the user feels is worth the value of paying for and again, you know, like, like, like talking about engagement in games, right? why would a user be willing to, to sort of exchange money for something in a game? and that's typically related to the user's expectation of also playing this game two weeks from now? right? yes, they're investing yeah, you're investing in your future experience in this game? right? you know, so so it's another place where this this long-term engagement becomes very important, right? but a lot of times what people are buying are like, simple things, like more lives, or an item, or whatever it is that sort of, and in some of our games that are multiplayer, we even have people playing for things that are purely sort of cosmetic, buying a different hat, because then other people can see the hat that hat, but the hat, the hat has no function, right? sure tony morelan 20 57 so it's just being able to create their own identity, you know, within that game, chris benjaminsen 21 02 it's no different than people buying clothes in the real world, you know? tony morelan 21 05 sure, sure so how do you look at your player demographics for getting the best returns on iap? chris benjaminsen 21 10 i? well, first of all, that's a per game thing right? you know, we have, we have games that appeal to 50 plus women and we have games that appeal to like, like, a young male audience right so that's, that's very individualized per game fundamentally, though, there are some there are some core mechanics that always worked really well, if you can proposition a user to, to exchange money for time yeah so something where they can progress faster if they if they put money in is typically a very strong mechanic, regardless of who the consumer is and then, like we do the thing that successful game developers, do, we spend a lot of time looking at data and looking at, you know, what are the flows that leads to a conversion? so somebody's actually putting money into the system? how do we how do we balance those metrics such that we sort of get the most statistical value of, and we use, we use tools such as ad split testing, okay, where you run, run two versions of the game at the same time, and then you measure which one performs better? and then you make that diversion that everybody plays? tony morelan 22 16 yeah, yeah, no, that's great i've heard that that is a pretty important aspect, not just in the gaming industry, but just with, you know, ads and marketing to do a b testing chris benjaminsen 22 26 yeah, we even do something it's called multi variant testing, right and we should not go into the details, but it becomes very complex very quickly tony morelan 22 33 sure, sure so what other mobile game monetization models do you consider like, you know, premium paid apps or paid user acquisitions, you had mentioned that chris benjaminsen 22 43 we did experiment a little bit with premium paid apps, but it's a very, it's a very tough market and, and it's not, it's not something where we found a lot of a lot of success, like we generally see more successful, and we can just sort of allow anyone to play the games, and not without having that limitation, right and we do both interstitial based advertisement, which is unprompted and then rewarded video type advertisement, where the user gets a reward for watching an advertisement but when a user sort of opts to watch an ad, right, you know, so you could imagine that, so this tony morelan 23 14 is during gameplay, there would be a moment where then a video would play, and they would watch that chris benjaminsen 23 18 yeah so a simple example could be you know, that you have just died yeah and you can revive by watching an advertisement and not paying a coin okay right so giving the user the choice between, say, watching an advertisement and spending a bit of time versus spending a bit of their money, right, you know, so and it's a very high value format because the user has elected to watch an advertisement so you know, the users there, yes, you know, they're engaged and they're just sitting there waiting, right? so advertisements are typically willing to pay a high price for that type of advertising tony morelan 23 54 and you'd mentioned interstitial ads so explain what that is for someone who's new to game development? chris benjaminsen 24 00 yeah so it's a bit like to have to get on television so something is happening on your screen, and then suddenly does an advertisement and something else is happening, right? you know, so it's an ad that is that is shown to the user, like interstitial technically means an advertisement that runs before something starts, right but it's used interchangeably in the games industry to mean like an ad before something starts on ad in the middle of something on that after something happened okay, we try to be cautious of using those type of advertisements sort of out of order like we don't want to interrupt a user while they're playing yeah so we will typically only put those in so like, for whatever reason, your game session has ended, and you have just elected to press play again and that's where we would put in those type of advertisements you do have games out there, which are you can imagine you're playing a solitaire game and then put an ad pops up in the middle of it right and you have to sit down wait till you can continue your game and we try to stay away from that tony morelan 24 55 i see i see what about subscriptions have you guys read any subscription models on your games? so, yeah, we've chris benjaminsen 25 00 run a, we run a few experiments here and it's a relatively new area of monetization for us but we have run experiments where our games have been sort of presented as a games club so rather than having advertisement or having, you know, purchases in the game, you can just play them completely for free if you had a subscription through a third party, right and some of our debug games to the kind of stuff we're building now definitely lends itself well towards being able to support subscriptions subscriptions to free to play games these days, mostly expresses themselves as season passes so you like buy a season pass subscription, and then you get like, extra rewards while you play for a period of time and then that time period is up and then you know, you can buy the next season pass as well, or continue your subscription or whatever it is, right you know, that's, that's the model of like, a, like a fortnight or those type of games tony morelan 25 52 got it so we've talked about in app purchase, aap, you know, there's another category to monetization called ia, which is in app advertising and i think, under that falls, the, you know, the rewarded videos, these interstitial ads have also heard of something called offer walls can you explain what is an offer wall? chris benjaminsen 26 11 yeah, we actually don't think we have any games library or footballs anywhere but it's, it's basically, you know, you can get a reward in your game for doing another action right? so again, it's user opt in the use of one something and find alpha wallets typically, like extra coins, or whatever in the game and to get a get sort of a list of different options for things they could be doing right now to have some level of value and that can go all the way from, you know, signing up to a website, all the way up to you know, committing yourself to four years of sirius xm radio in the us, oh, really, you know, or whatever right? you know, and as there's different types of reward levels of that, right so but they can be significant, right so like that it's, it's sort of a way for other companies to interact with that consumer and get them to do something that has value to them and date and pay you for that service so it's a bit sort of a direct affiliate program or something like okay, okay yeah okay tony morelan 27 11 interesting so, you know, a lot of what we talked about now have been in game, you know, advertising for monetization so what about paid user acquisition? so actually going out there and advertising for your game? so you guys are active in that area? chris benjaminsen 27 23 not particularly, it's something we are exploring, and it is something that i believe it's going to be very important for the future of frp yeah but historically, it's not something that we done to a huge extent however, it is an area where we actually partner with the samsung galaxy appstore team, where we were looking at what is the best path for somebody who is publishing on the samsung galaxy app store to find sort of pockets of uses that can be that can be purchased right? tony morelan 27 51 okay okay so of all these different ways that we've talked about when it comes to monetization, what would you say is the most effective way in why? chris benjaminsen 28 00 and so there's many answers to that what has been the most successful for frvr suffice advertisement, that has mostly down to the kind of games that we have been building historically and the kind of games we've been building historically has mostly been the result of the capabilities for the platforms, our games has been available on, which, by and large, have not supported in app purchases however, if you were to look at where is the most potential value, it's most definitely in the in-app purchase space, right? like the potential value that you can derive from a single user is larger in app purchases than any other way you can monetize that user, even with subscriptions, right? make some simple math, you know, rewarded video is considered valuable, right but if you have a player, sort of watching 1000 ads a month, that might sort of in the united states be worth $20, or thereabouts, where $20 is not an uncommon average transactions for a central user to spending in app purchases, right and people typically buy more than once sort of the opportunity to create a great business around in app purchases is much higher, and opportunity to create a great business purely from advertisement tony morelan 29 08 got it? what would you say would be some advice that you can give for a developer looking to integrate iap? chris benjaminsen 29 15 like, like, it goes back to what we talked about earlier right? you know, build deep experiences, right? sure for like engagements, yeah, long engagements, and then then allow people to buy something that they, you know, feel like they're going to get value from a long period of time right and i think an important thing there is you must be trustworthy as a developer yeah right you know, like, like, like, the player must trust you to not to screw them over so if you have all kinds of other stuff into games, where they feel cheated, they're not going to give you their money or if you cheat them, they're only going to do it once right? yeah you know, so you actually have to provide something that brings real value to the user otherwise, they're, they're not going to engage with that thing right like they're not, they're not stupid they are very clever tony morelan 29 57 yeah so let's talk about a how you guys go about acquiring games for frvr? what do you look for? chris benjaminsen 30 03 like we look for, for great teams and i think it's important here that we are publisher, right? so we work with developers who take a fair amount of that total risk of building a game sometimes you find the games, right but predominantly, we work with great teams that is passionate about the game that they're working on and that's, that's mostly what we look for okay and then we help though, those developers to go and, and build fantastic games, right but due to the nature of our platform, at least how its structured right? now, you must basically build the game from scratch on top of stuff so so we're not a publisher that can sort of accept a game that somebody's already built, and say, yeah, we'll publish that it's more sort of a cool collaborative co development process, where we work together with developers to create fantastic things that work on top of our platform tony morelan 30 51 you know, i heard somewhere that between 50 to 1000 games are added to the app store's every day so i know it's a huge competition when it comes to games what's your strategy for discoverability? chris benjaminsen 31 03 i like as we talked about, go to the user where they are, rather than trying to drag them to the app store where it's very competitive, right and, like we use, we use all the tricks including branding, like we now have significant volume of people just searching for our games every day, both in app stores and on google, right and i truly did that basic strategy of saying let's bring our games to where the users are, has been very, very successful for us, and allowed us to sort of get in front of all of these consumers without diving deep into cost positive user acquisition and things like that and dental labs though, say they're hyper competitive, it gets very, very hard to get your game there, right and people talk about all of these things like influencer, marketing, and whatever and they don't call it user acquisition, but that's just what it is right? you know, it's just a different way of doing it right you know, it's all of these hacks to try to get in front of the user tony morelan 31 54 so are you using tools like creating promotional trailer videos and posting them on youtube? chris benjaminsen 32 00 we do we do that for some of our debug games, like a game like wells frvr yeah there's like there's a content team that creates content for social media that being you know; youtube and facebook and i think we even have posts on tik tok okay, tony morelan 32 14 so you guys have a ton of experience now, when it when it comes to publishing games? i'm sure you faced a few challenges can you share some stories and how you overcame those challenges? chris benjaminsen 32 24 a lot of our challenges is around scale right? you know, so we have 70 games on 39 platforms right wow and that didn't that in itself is a big number, right? to sort of, sort of manage this, like, that's more than 2000 combinations, almost 3000 combinations, right? we also have all of those games in 20 languages so when you when you sort of factor in those combinations, that's 50,000 combinations, right? and if you want localize screenshots, yeah, that's no way you could do that with humans, right and a lot of ways we try to solve with technology, right? that's what the what the frvr platform does, okay, encapsulate just the complexity of trying to do all of these things into sort of a unified platform and that goes for what is a good experience on the samsung galaxy appstore, like the samsung galaxy appstore has specific capabilities and specific api's and specific sort of things that work particularly well on a platform and if every developer had to consider that for all the platforms we were on, they would be spending none of their time making great games so we encapsulate that complexity into our platform and that's sort of the recipe that makes frvr work that's sort of removing humans from the equation, basically, tony morelan 33 42 that's interesting i mean, i can totally see how you guys are able to scale your reach with having so many games, but you've got quite a team behind so it's not all automated, you still do need to have those employees to support that chris benjaminsen 33 56 yeah, but like, 95% of those people work on the platform, right? to build the to build the infrastructure, right and frvr is also a company that's been growing quite a lot, i think, okay, two years ago, we were we were fewer than 20 people right? so a lot of the people who actually worked at frvr now people who joined us in the last year tony morelan 34 15 so what are some of the trends that you've seen in the in the gaming industry chris benjaminsen 34 19 or hotels that there's a lot of them right you know, there's a like i think the status trend i see is when you have say and among us or a fall guys or a flappy birds come out and be successful, like, like older people who try to get success by just following that recipe right? not realizing that the reasons those game were successful originally were sort of a bit of luck and timing and typically some external factors, like among us grew with discord and discord grew it among us yeah, right and that was sort of sort of the game to play on that platform, right and all the other games in that in that category by and large failed because it was just like it and not again but that right and, and a thing i think a lot of people have forgotten is that the game industry is cyclical, right? so you get a new channel it comes out it's very cheap and easy to get users on it initially and then that's the value of that platform goes up, it just becomes more and more expensive, right and people have sort of forgotten that's how the games industry used to work because mobile came along yeah and stuck around for a very long time to do to sort of these stores that were tied to specific devices right which, which is something you didn't really have on a on a pc, where there was more open competition on who could sort of have an app store tony morelan 35 40 yeah, yeah, for sure so tell me what is in the future for frvr chris benjaminsen 35 45 a lot more high-quality games? like that's basically our focus right now we are very fortunate, we just closed out a round funding wonderful yeah, thank you and like, the entire theme of that funding is we need, we need games of a completely different quality, right? so we are we are looking for fantastic studios who can come in and build games with sort of that depth that can support in app purchases that's the thing that we really want to focus on we want to want to have games that can have people play for years, not just once, right? tony morelan 36 18 yeah so as far vr is seeing this growth, what are you guys doing related to diversity and inclusion? chris benjaminsen 36 26 and we do a lot of things, right, like diversity and inclusion is something that we try to sort of have both across our games and across our company culture, right? so it can be everything from i personally created the hex frvr game so yeah, i got a nice email from somebody said, i love this game, but it can they call us i can see the different things, right so making sure that you're aware of the different kinds of colorblind people can be sure, sure and it also it also means a lot for hiring, like, like, what's the best candidate for the job is not necessarily the person that fits the checklist, the best that you see that you put on your yeah, other requirements yeah, in like diverse teams perform better so diversity is a is a virtue in the hiring process and it can be advantageous to hire the more diverse candidate if you have an opportunity to hire too, and like, but it means a lot like you have to be mindful of it everywhere those like natural biases, right now, a simple example of that is that the more bullet points you put on a on a job post about specific requirements, the less likely it is that females would, will apply for a job interesting, like a male candidate would sort of look at a long bullet point and see two things that good and go, yeah, i could totally do this, right? where if fema will see a long list and sort of say, i can only do two of these things i shouldn't apply for this right so you have to be mindful of those things all the way tony morelan 37 52 interesting yeah, i think giving someone the opportunity to really talk about their personality, and their value is probably the best way to go about finding that that good candidate chris benjaminsen 38 02 yeah and it's a big part of our it's a big part of our sort of, sort of, sort of hiring flow is the values right? you know, we also a, a company in portugal, that doesn't behave like a portuguese company, this particular company, company structure in particular is very hierarchical, right you know, some people might call it a bit old fashioned that's not the company we are, that's not the company we want to be so we want people that resonates with sort of a more flat structure, modern ways of working tony morelan 38 34 wonderful so if someone is interested, either in working for frvr, or their a game studio that want to bring their games to you, what's the best way for them to reach out to frvr? chris benjaminsen 38 45 like, like, send me an email first, right? you know, and, you know, i'll redirect you to the right person, my email is chris@frvr com so it's fairly straightforward, right? like, always happy to chat with people who do fantastic things tony morelan 38 57 yeah, that's great and we'll include links in the show notes too much about what we talked about today and into frvr websites so chris, i got to say, it was great to have you on the podcast i love learning all about frvr and what you guys are doing but let me ask when you're not working for frp or what is it that you'd like to do for fun? chris benjaminsen 39 15 i find most of my spare time is taken up by you know, walking the dog, or, you know, cooking food if it's some like i'm probably not good at cooking food in the winter but you know, like i like to grill outdoors and whatever right you know, and i actually try to keep a fairly strict work life balance wonderful so you know i am one of the people who like go into the office but mostly yes a way to not work while i'm at home tony morelan 39 40 that's great well hey, we're just about to hit the springtime of the year and soon will come summer so i'm sure you're going to enjoy lots of outdoor grilling when the when the season comes chris benjaminsen 39 49 hopefully, you never know where they're somewhere in london right? you know, that might be like two days where it's impossible that's tony morelan 39 56 awesome hey, chris, really appreciate you coming on the podcast today chris benjaminsen 39 59 no, thank do so much for having me closing 40 01 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 tony morelan 40 17 the samsung developers podcast is hosted by tony morelan and produced by jeanne hsu
Develop Smart TV
apivoiceinteraction api to use samsung product api, <script type="text/javascript" src="$webapis/webapis/webapis js"></script> should be loaded in index html samsung tvs allow developers to use voice commands such as navigation, search, selection and media control to control their application the voice assistant in the tv can be bixby or other assistants regardless of which assistant is used, the application will interact with it via the voice interaction apis for best results, we recommend the application to be implemented with all the features that are described in this document since 6 0 product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol summary of interfaces and methods interface method voiceinteractionmanagerobject voiceinteractioncallback optional voiceapplicationstate onupdatestate ;optional boolean onnavigation voicenavigation voicenavigation ;optional boolean onsearch voicesearchterm voicesearchterm ;optional boolean onplay ;optional boolean onstop ;optional boolean onpause ;optional boolean onexit ;optional boolean onselection long voiceselection ;optional boolean ontitleselection domstring title ;optional boolean onfastforward ;optional boolean onrewind ;optional domstring onsearchcollection voicesearchterm voicesearchterm ;optional boolean onchangeappstate voiceapplicationstate state ;optional boolean onchangeprevioustrack ;optional boolean onchangenexttrack ;optional boolean onrestart ;optional boolean onskipbackward long offsetseconds ;optional boolean onskipforward long offsetseconds ;optional boolean onsetplayposition long position ;optional boolean onchangesubtitlemode mediafunctionmode mode ;optional boolean onchangeshufflemode mediafunctionmode mode ;optional boolean onchangescreenfitmode mediafunctionmode mode ;optional boolean onzoom mediazoommode zoom ;optional boolean onrotate mediarotatemode direction ;optional boolean onchange360mode mediafunctionmode mode ;optional boolean onchangerepeatmode mediarepeatmode mode ;optional boolean oncontinuewatching ;optional boolean oncustom domstring jsonobjectstring ;optional domstring onrequestcontentcontext ;optional boolean onadditiontolist listitem list ;optional boolean onremovalfromlist listitem list ;optional boolean onplaylist listitem list ;optional boolean onbrowselist listitem list ;optional boolean onskipad ; voicesearchterm voiceinteractioncontentcontext voiceinteractionmanager domstring getversion ;void setcallback voiceinteractioncallback callback ;void listen ;domstring getdatafromsearchterm voicesearchterm voicesearchterm, voicesearchtermfield field ;domstring buildcollectiondeeplinkdata domstring appid, domstring title, domstring payload ;domstring buildcollectionshowdata domstring appid, domstring title, domstring payload, domstring thumbnail ;voiceinteractioncontentcontext buildvoiceinteractioncontentcontextitem long positionx, long positiony, domstring title, domstring[] aliasarr, boolean bfocused ;domstring buildvoiceinteractioncontentcontextresponse voiceinteractioncontentcontext[] contentcontextarr ; 1 type definitions 1 1 voiceapplicationstate the application status handled via voice interaction enum voiceapplicationstate { "none", "home", "list", "player", "setting", "search", "unknown" }; the following values are supported none application default status home the status of application's home list the status of application showing something in list player the status of application playing something setting the status of application showing its setting search the status of application searching its content unknown the status of unknown 1 2 voicenavigation the navigation via voice interaction enum voicenavigation { "nav_previous", "nav_next", "nav_left", "nav_right", "nav_up", "nav_down", "nav_show_more", "nav_unknown" }; the following values are supported nav_previous the navigation for the previous page nav_next the navigation for the next page nav_left the navigation for the left item nav_right the navigation for the right item nav_up the navigation for the upper item nav_down the navigation for the down item nav_show_more the navigation for the detail page nav_unknown the navigation for unknown 1 3 voicesearchtermfield defines the fields which can be delivered via voice search enum voicesearchtermfield { "search_term_utterance", "search_term_title", "search_term_genre", "search_term_cast", "search_term_content_type", "search_term_release_date_from", "search_term_release_date_to" }; the following values are supported search_term_utterance the field for the full utterance search_term_title the field for the title search_term_genre the field for the genre search_term_cast the field for the cast search_term_content_type the field for the content type movie/tvshow search_term_release_date_from the field for the start date time iso 8601 search_term_release_date_to the field for the end date time iso 8601 1 4 mediafunctionmode enum for the param of media control function mode enum mediafunctionmode { "media_function_on", "media_function_off" }; the following values are supported media_function_on media function mode on media_function_off media function mode off 1 5 mediarotatemode enum for the param of rotate enum mediarotatemode { "media_rotate_left", "media_rotate_right" }; the following values are supported media_rotate_left media rotate mode left media_rotate_right media rotate mode right 1 6 mediazoommode enum for the param of zoom enum mediazoommode { "media_zoom_in", "media_zoom_out" }; the following values are supported media_zoom_in media zoom mode in media_zoom_out media zoom mode out 1 7 mediarepeatmode enum for the param of media repeat enum mediarepeatmode { "media_repeat_off", "media_repeat_one", "media_repeat_all" }; the following values are supported media_repeat_off media repeat mode off media_repeat_one media repeat mode for one track media_repeat_all media repeat mode for all tracks 1 8 listitem enum for the param of list item enum listitem { "list_bookmarks", "list_watch_later", "list_unknown" }; the following values are supported list_bookmarks bookmarks list_watch_later watchlater list_unknown unknown 2 interfaces 2 1 voiceinteractionmanagerobject the voiceinteractionmanagerobject interface defines what is instantiated by the webapis object from the tizen platform there will be a webapis voiceinteraction object that allows access to the functionality of the voice interaction api to use the voice interaction api, the following privileges must be declared in the manifest file of the application if they are not declared, all usage of these apis are blocked, and security exceptions are thrown to use these privileges, the minimum ‘required_version’ is 6 0 [nointerfaceobject] interface voiceinteractionmanagerobject { readonly attribute voiceinteractionmanager voiceinteraction; }; webapi implements voiceinteractionmanagerobject; since 6 0 attributes readonly voiceinteractionmanager voiceinteraction this attribute defines the namespace for voiceinteraction apis 2 2 voiceinteractioncallback every voice interaction application should implement a callback function, so that the assistant can operate the controls your application can interact with voice assistant by passing the callbacks in webapis voiceinteraction setcallback and calling webapis voiceinteraction listen except onupdatestate, onsearchcollection callbacks, the return value for the callback is the boolean flag for support or not if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function [callback, nointerfaceobject] interface voiceinteractioncallback { optional voiceapplicationstate onupdatestate ; optional boolean onnavigation voicenavigation voicenavigation ; optional boolean onsearch voicesearchterm voicesearchterm ; optional boolean onplay ; optional boolean onstop ; optional boolean onpause ; optional boolean onexit ; optional boolean onselection long voiceselection ; optional boolean ontitleselection domstring title ; optional boolean onfastforward ; optional boolean onrewind ; optional domstring onsearchcollection voicesearchterm voicesearchterm ; optional boolean onchangeappstate voiceapplicationstate state ; optional boolean onchangeprevioustrack ; optional boolean onchangenexttrack ; optional boolean onrestart ; optional boolean onskipbackward long offsetseconds ; optional boolean onskipforward long offsetseconds ; optional boolean onsetplayposition long position ; optional boolean onchangesubtitlemode mediafunctionmode mode ; optional boolean onchangeshufflemode mediafunctionmode mode ; optional boolean onchangescreenfitmode mediafunctionmode mode ; optional boolean onzoom mediazoommode zoom ; optional boolean onrotate mediarotatemode direction ; optional boolean onchange360mode mediafunctionmode mode ; optional boolean onchangerepeatmode mediarepeatmode mode ; optional boolean oncontinuewatching ; optional boolean oncustom domstring jsonobjectstring ; optional domstring onrequestcontentcontext ; optional boolean onadditiontolist listitem list ; optional boolean onremovalfromlist listitem list ; optional boolean onplaylist listitem list ; optional boolean onbrowselist listitem list ; optional boolean onskipad ; }; since 6 0 methods onupdatestate developers must specify the current application status to the onupdatestate function to get a proper voice control from the voice assistant this function is called right before processing every utterance, so that the voice assistant can be aware of the application status dynamically depending on the status, the callback function called could be different therefore, it is important to return the real status of the application optional voiceapplicationstate onupdatestate ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol return value optional voiceapplicationstate the status of the current application status "none" application is in its default status same as "player" status "list" the application is showing something in list during this status, the utterances "play this" or "play" will call onselection 0 the utterance "previous" will call onnavigation "nav_previous" "player" the application is playing a piece of content during this status, the utterance "play this" will call onplay since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { console log "assistant tries to get app state" ; return "list"; } } ; onnavigation to support navigation controls via voice, the application should have the following callbacks otherwise, the key event will be generated optional boolean onnavigation voicenavigation voicenavigation ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters voicenavigation the navigation enumeration via voice return value optional boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { console log "assistant tries to get app state" ; return "list"; }, onnavigation function voicenavigation { var bsupport = true; console log "onnavigation " + voicenavigation ; switch voicenavigation { case "nav_previous " // "previous page" break; case "nav_next" // "next page" break; case "nav_left" // "go to left" break; case "nav_right" // "move to right" break; case "nav_up" // "move up" break; case "nav_down" // "go down" break; // if there is no callback implementation for these enums, // tv will generate remote control key events "arrowright", "arrowleft", "arrowup", "arrowdown" case "nav_show_more" // "show me more" break; default bsupport = false; break; } return bsupport; } } ; onsearch for a contents search provided by the application, it can receive a search utterance to show the search results in order to support the search via voice, the application must be registered to samsung tv's companion search application and have the following callbacks the onsearch parameter has a specific format to learn more about it, please refer to the getdatafromsearchterm some callbacks are not called by default such as onsearch to receive all the callback signals on the development stage, request a key from samsung and apply the key to the manifest of your tizen application the following example shows how to add the "http //developer samsung com/tizen/metadata/support-vif-devfeature" key to the manifest file optional boolean onsearch voicesearchterm voicesearchterm ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters voicesearchterm the object contains the information via voice return value optional boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example <?xml version="1 0" encoding="utf-8"?> <widget xmlns="http //www w3 org/ns/widgets" tizen="http //tizen org/ns/widgets" id="http //yourdomain/voiceinteractionwebsample" version="1 0 0" viewmodes="maximized"> <access origin="" subdomains="true"></access> < application id="abcdefghrj voiceinteractionwebsample" package="abcdefghrj" required_version="6 0"/> <content src="index html"/> <feature name="http //tizen org/feature/screen size normal 1080 1920"/> <icon src="icon png"/> < metadata key="http //developer samsung com/tizen/metadata/support-vif-dev-feature" value="true"/> <name>voiceinteractionwebsample</name> < privilege name="http //developer samsung com/privilege/voicecontrol"/> < privilege name="http //developer samsung com/privilege/microphone"/> < profile name="tv-samsung"/> </widget> @endcode @param voicesearchterm the object contains the information via voice @see getdatafromsearchterm @throw none n/a @return boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function @code webapis voiceinteraction setcallback { onupdatestate function { console log "assistant tries to get app state" ; return "home"; }, onsearch function voicesearchterm { console log "onsearch " + json stringify voicesearchterm ; var title = webapis voiceinteraction getdatafromsearchterm voicesearchterm, "search_term_title" ; var genre = webapis voiceinteraction getdatafromsearchterm voicesearchterm, "search_term_genre" ; console log "request to search " + title + ", " + genre ; return true; } } ; onplay supports the media control to handle playback play optional boolean onplay ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol return value optional boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { console log "assistant tries to get app state" ; return "player"; }, onplay function { // tv default action generates the remote control key, "mediaplay" console log "onplay called" ; return true; } } ; onstop supports the media control to handle playback stop optional boolean onstop ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol return value optional boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { console log "assistant tries to get app state" ; return "player"; }, onstop function { // tv default action generates the remote control key, "mediastop" console log "onstop called" ; return true; } } ; onpause supports the media control to handle playback pause optional boolean onpause ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol return value optional boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { console log "assistant tries to get app state" ; return "player"; }, onpause function { // tv default action generates the remote control key, "mediaplaypause" console log "onpause called" ; return true; } } ; onexit supports the media control to handle playback exit optional boolean onexit ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol return value optional boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { console log "assistant tries to get app state" ; return "player"; }, onexit function { // tv default action generates the remote control key, "exit" console log "onexit called" ; return true; } } ; onselection to support selection controls via voice, the application should have the following callbacks this callback supports the ordinal, relative selection control optional boolean onselection long voiceselection ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters voiceselection the relative index via voice, ex the last item is -1, the current item is 0, the first item is 1 return value optional boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { console log "assistant tries to get app state" ; return "list"; }, onselection function voiceselection { var bsupport = true; console log "onselection " + voiceselection ; switch voiceselection { case -1 // "select the last one" break; case 0 // "select this" break; default { if voiceselection >= 1 // "select the first one" { // select the voiceselection th item // index of the first item is 1 console log "for ordinal " + voiceselection ; } else { bsupport = false; } } break; } return bsupport; } } ; ontitleselection title selection refers to an utterance in the format "select {title name}" to support the title selection via voice, the following two callbacks are required onrequestcontentcontext and ontitleselection the onrequestcontentcontext callback provides the information regarding the content of the screen such as title and position to the samsung tv this method will be invoked at the beginning of every utterance the response consists of positionx int , positiony int , title string , alias string array and bfocused bool the title property is used for asr conversion and the other properties are used to set the priority of each title the ontitleselection callback receives the title name from the utterance optional boolean ontitleselection domstring title ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters title the string input via voice return value optional boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { console log "assistant tries to get app state" ; return "list"; }, onrequestcontentcontext function { console log "onrequestcontentcontext " ; var result = []; try { var item = { "positionx" 0, "positiony" 0, "title" "title text1", "alias" ["title1", "my text1"], "bfocused" true }; result push item ; var item2 = { "positionx" 1, "positiony" 0, "title" "title text2", "alias" ["title2", "my text2"], "bfocused" false }; result push item2 ; result push webapis voiceinteraction buildvoiceinteractioncontentcontextitem 2,0,"title text3", ["title3", "my text3"], false ; } catch e { console log "exception [" + e code + "] name " + e name + " message " + e message ; } return webapis voiceinteraction buildvoiceinteractioncontentcontextresponse result ; }, ontitleselection function title { console log "ontitleselection" + title ; return true; } } ; onfastforward supports the media control to handle playback ff optional boolean onfastforward ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol return value optional boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { console log "assistant tries to get app state" ; return "player"; }, onfastforward function { // tv default action generates the remote control key, "mediafastforward" console log "onfastforward called" ; return true; } } ; onrewind supports the media control to handle playback rewind optional boolean onrewind ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol return value optional boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { console log "assistant tries to get app state" ; return "player"; }, onrewind function { // tv default action generates the remote control key, "mediarewind" console log "onrewind called" ; return true; } } ; onsearchcollection supports the search utterance appending to the default search application the value of the result for the search term optional domstring onsearchcollection voicesearchterm voicesearchterm ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters voicesearchterm the object contains the information via voice return value optional domstring the formatted value of the result for the search term since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { console log "assistant tries to get app state" ; return "none"; }, onsearchcollection function voicesearchterm { log "onsearchcollection " + json stringify voicesearchterm ; var result = []; //appname and appid are of the ui application to get the payload on launch result push webapis voiceinteraction buildcollectiondeeplinkdata "a1b2c3d4ef mytizenappid", "mytizenapp", "page_id=123456&method=voice" ; return json stringify result ; } } ; onchangeappstate to support the utterance of shortcut commands, the application must have the onchangeappstate callback optional boolean onchangeappstate voiceapplicationstate state ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters state the application context via voice return value optional boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { console log "assistant tries to get app state" ; return "none"; }, onchangeappstate function state { // tv default action launches the samsung tv firstscreen, menu or search application depending on the input parameter // "go to home", "go to settings", "go to search" console log "onchangeappstate " + state ; var bsupport = true; switch state { case "home" // go to app's home break; default bsupport = false; break; } return bsupport; } } ; onchangeprevioustrack in order to handle requests to move to the previous track via voice, the application should override the onchangeprevioustrack callback optional boolean onchangeprevioustrack ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol return value optional boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { return "list"; }, onchangeprevioustrack function { console log "onchangeprevioustrack" ; return true; } } ; onchangenexttrack in order to handle requests to move to the next track via voice, the application should override the onchangenexttrack callback optional boolean onchangenexttrack ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol return value optional boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { return "list"; }, onchangenexttrack function { console log "onchangenexttrack" ; return true; } } ; onrestart in order to handle requests to restart to this track via voice, the application should override the onrestart callback optional boolean onrestart ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol return value optional boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { return "list"; }, onrestart function { console log "onrestart" ; return true; } } ; onskipbackward in order to handle requests to skip backward via voice, the application should override the onskipbackward callback optional boolean onskipbackward long offsetseconds ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters offsetseconds the relative position in seconds return value optional boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { return "list"; }, onskipbackward function offsetseconds { console log "onskipbackward " + offsetseconds ; return true; } } ; onskipforward in order to handle requests to skip forward via voice, the application should override the onskipforward callback optional boolean onskipforward long offsetseconds ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters offsetseconds the relative position in seconds return value optional boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { return "list"; }, onskipforward function offsetseconds { console log "onskipforward " + offsetseconds ; return true; } } ; onsetplayposition in order to handle requests to set play position via voice, the application should override the onsetplayposition callback optional boolean onsetplayposition long position ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters position the absolute position in seconds return value optional boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { return "list"; }, onsetplayposition function position { console log "onsetplayposition " + position ; return true; } } ; onchangesubtitlemode in order to handle requests to turn the subtitle feature on/off via voice, the application should override the onchangesubtitlemode callback optional boolean onchangesubtitlemode mediafunctionmode mode ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters mode media_function_on turning on / media_function_off turning off return value optional boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { return "list"; }, onchangesubtitlemode function mode { console log "onchangesubtitlemode" ; switch mode { case "media_function_on" console log "function on" ; break; default console log "function off" ; break; } return true; } } ; onchangeshufflemode in order to handle requests to turn the shuffle feature on/off via voice, the application should override the onchangeshufflemode callback optional boolean onchangeshufflemode mediafunctionmode mode ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters mode media_function_on turning on / media_function_off turning off return value optional boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { return "list"; }, onchangeshufflemode function mode { console log "onchangeshufflemode" ; switch mode { case "media_function_on" console log "function on" ; break; default console log "function off" ; break; } return true; } } ; onchangescreenfitmode in order to handle requests to turn the screen fit feature on/off via voice, the application should override the onchangescreenfitmode callback optional boolean onchangescreenfitmode mediafunctionmode mode ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters mode media_function_on turning on / media_function_off turning off return value optional boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { return "list"; }, onchangescreenfitmode function mode { console log "onchangescreenfitmode" ; switch mode { case "media_function_on" console log "function on" ; break; default console log "function off" ; break; } return true; } } ; onzoom in order to handle requests to zoom in/out via voice, the application should override the onzoom callback optional boolean onzoom mediazoommode zoom ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters zoom media_zoom_in zoom in / media_zoom_out zoom out return value optional boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { return "list"; }, onzoom function zoom { console log "onzoom" ; switch zoom { case "media_zoom_in" console log "zoom in" ; break; default console log "zoom out" ; break; } return true; } } ; onrotate in order to handle requests to rotate left/right via voice, the application should override the onrotate callback optional boolean onrotate mediarotatemode direction ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters direction media_rotate_left rotate left / media_rotate_right rotate right return value optional boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { return "list"; }, onrotate function direction { console log "onrotate" ; switch direction { case "media_rotate_left" console log "rotate left" ; break; default console log "rotate right" ; break; } return true; } } ; onchange360mode in order to handle requests to turn the 360 feature on/off via voice, the application should override the onchange360mode callback optional boolean onchange360mode mediafunctionmode mode ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters mode media_function_on turning on / media_function_off turning off return value optional boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { return "list"; }, onchange360mode function mode { console log "onchange360mode" ; switch mode { case "media_function_on" console log "function on" ; break; default console log "function off" ; break; } return true; } } ; onchangerepeatmode in order to handle requests to change the repeat mode via voice, the application should override the onchangerepeatmode callback optional boolean onchangerepeatmode mediarepeatmode mode ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters mode media_repeat_off repeat mode off / media_repeat_one repeat this track / media_repeat_all repeat all tracks return value optional boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { return "list"; }, onchangerepeatmode function mode { console log "onchangerepeatmode" ; switch mode { case "media_repeat_one" console log "one" ; break; case "media_repeat_all" console log "all" ; break; default console log "off" ; break; } return true; } } ; oncontinuewatching in order to handle requests to launch the application with playing the history track via voice, the application should override the oncontinuewatching callback to play the history track this callback will be called after launching the application optional boolean oncontinuewatching ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol return value optional boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung device may perform its basic function since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { return "list"; }, oncontinuewatching function { console log "oncontinuewatching" ; return true; } } ; oncustom supports the custom voice assistant action optional boolean oncustom domstring jsonobjectstring ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters jsonobjectstring the string stringified json object return value optional boolean boolean value of whether the app supports this feature voice assistant action will get the response "{"result_code" "success"}" for true, "{"result_code" "failure"}" for false/undefined since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { console log "assistant tries to get app state" ; return "list"; }, oncustom function jsonobjectstring { console log "oncustom " + jsonobjectstring ; try { var customobject = json parse jsonobjectstring ; for var key in customobject { if customobject hasownproperty key { console log "key " + key + ", value " + customobject[key] ; } } } catch e { console log "exception [" + e code + "] name " + e name + " message " + e message ; return false; } return true; } } ; onrequestcontentcontext in order to support the voice title selection via voice, the application should override the onrequestcontentcontext callback, return the jsonobject string for the current content context list showing optional domstring onrequestcontentcontext ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol return value optional domstring domstring containing jsonobject string for the content context list since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { console log "assistant tries to get app state" ; return "list"; }, onrequestcontentcontext function { log "onrequestcontentcontext " ; var result = []; try { var item = webapis voiceinteraction buildvoiceinteractioncontentcontextitem 1,1,"test", ["test set", "test title"], true ; result push item ; var item2 = webapis voiceinteraction buildvoiceinteractioncontentcontextitem 2,1,"test2", ["test set 2", "test title 2"], false ; result push item2 ; } catch e { console log "exception [" + e code + "] name " + e name + " message " + e message ; } return webapis voiceinteraction buildvoiceinteractioncontentcontextresponse result ; } } ; onadditiontolist in order to handle requests to add this context to list via voice, the application should override the onadditiontolist callback optional boolean onadditiontolist listitem list ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters list list_bookmarks bookmarks / list_watch_later watch later / list_preference preference / list_subscription subscription return value optional boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung tv may perform its basic function since 6 5 code example webapis voiceinteraction setcallback { onupdatestate function { return "list"; }, onadditiontolist function list { console log "onadditiontolist" ; switch list { case "list_bookmarks" console log "add this context to bookmarks" ; break; case "list_watch_later" console log "add this context to watch later" ; break; case "list_preference" console log "like this context" ; break; case "list_subscription" console log "subscribe to context" ; break; default break; } return true; } } ; onremovalfromlist in order to handle requests to remove this context from list via voice, the application should override the onremovalfromlist callback optional boolean onremovalfromlist listitem list ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters list list_bookmarks bookmarks / list_watch_later watch later / list_preference preference / list_subscription subscription return value optional boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung tv may perform its basic function since 6 5 code example webapis voiceinteraction setcallback { onupdatestate function { return "list"; }, onremovalfromlist function list { console log "onremovalfromlist" ; switch list { case "list_bookmarks" console log "remove this context from bookmarks" ; break; case "list_watch_later" console log "remove this context from watch later" ; break; case "list_preference" console log "dislike this context" ; break; case "list_subscription" console log "unsubscribe from this context" ; break; default break; } return true; } } ; onplaylist in order to handle requests to play this context from list via voice, the application should override the onplaylist callback optional boolean onplaylist listitem list ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters list list_preference preference / list_subscription subscription / list_watch_later watch later return value optional boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung tv may perform its basic function since 6 5 code example webapis voiceinteraction setcallback { onupdatestate function { return "list"; }, onplaylist function list { console log "onplaylist" ; switch list { case "list_preference" console log "play liked content" ; break; case "list_subscription" console log "play subscription content" ; break; case "list_watch_later" console log "play watch later content" ; break; default break; } return true; } } ; onbrowselist in order to handle requests to browse this context from list via voice, the application should override the onbrowselist callback optional boolean onbrowselist listitem list ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters list list_preference preference / list_subscription subscription / list_watch_later watch later return value optional boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung tv may perform its basic function since 6 5 code example webapis voiceinteraction setcallback { onupdatestate function { return "list"; }, onbrowselist function list { console log "onbrowselist" ; switch list { case "list_preference" console log "browse liked content" ; break; case "list_subscription" console log "browse subscription content" ; break; case "list_watch_later" console log "browse watch later content" ; break; default break; } return true; } } ; onskipad in order to handle requests to skip ad content via voice, the application should override the onskipad callback optional boolean onskipad ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol return value optional boolean boolean value of whether the app supports this feature if a callback returns the false/undefined value, or there is no callback implementation for the utterance, samsung tv may perform its basic function since 6 5 code example webapis voiceinteraction setcallback { onupdatestate function { return "player"; }, onskipad function { console log "onskipad" ; return true; } } ; 2 3 voicesearchterm this interface represents information about the voice search term [nointerfaceobject] interface voicesearchterm { readonly attribute domstring? utterance; readonly attribute domstring? title; readonly attribute domstring? genre; readonly attribute domstring? cast; readonly attribute domstring? contenttype; readonly attribute domstring? from; readonly attribute domstring? to; }; attributes readonly domstring utterance [nullable] the field for the full utterance readonly domstring title [nullable] the field for the title readonly domstring genre [nullable] the field for the genre readonly domstring cast [nullable] the field for the cast readonly domstring contenttype [nullable] the field for the content type movie/tvshow readonly domstring from [nullable] the field for the start date time iso 8601 readonly domstring to [nullable] the field for the end date time iso 8601 2 4 voiceinteractioncontentcontext this interface represents information about the content context for an item [nointerfaceobject] interface voiceinteractioncontentcontext { attribute long positionx; attribute long positiony; attribute domstring title; attribute boolean bfocused; }; attributes long positionx the field for x-axis position of the item long positiony the field for y-axis position of the item domstring title the field for the title of the item boolean bfocused the field for whether this item has a focus 2 5 voiceinteractionmanager the voiceinteractionmanager interface is the top-level interface for the voiceinteractionmanager api that provides access to the module functionalities [nointerfaceobject] interface voiceinteractionmanager { domstring getversion ; void setcallback voiceinteractioncallback callback ; void listen ; domstring getdatafromsearchterm voicesearchterm voicesearchterm, voicesearchtermfield field ; domstring buildcollectiondeeplinkdata domstring appid, domstring title, domstring payload ; domstring buildcollectionshowdata domstring appid, domstring title, domstring payload, domstring thumbnail ; voiceinteractioncontentcontext buildvoiceinteractioncontentcontextitem long positionx, long positiony, domstring title, domstring[] aliasarr, boolean bfocused ; domstring buildvoiceinteractioncontentcontextresponse voiceinteractioncontentcontext[] contentcontextarr ; }; methods getversion this method gets the plugin's version number domstring getversion ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol return value domstring domstring return value of plugin's version exceptions webapiexception with error type unknownerror in any other error case with error type securityerror, if the application does not have the privilege to call this method since 6 0 code example try { var version = webapis voiceinteraction getversion ; console log "works with voiceinteraction [" + version + "]" ; } catch e { console log "exception [" + e code + "] name " + e name + " message " + e message ; } setcallback api to define callback functions for the voice interaction commands void setcallback voiceinteractioncallback callback ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters callback composing the functions to be called for the voice interaction commands exceptions webapiexception with error type unknownerror in any other error case with error type typemismatcherror, if an input parameter is not compatible with its expected type with error type securityerror, if the application does not have the privilege to call this method since 6 0 code example try { webapis voiceinteraction setcallback { onupdatestate function { return "list"; }, onnavigation function vn { console log "onnavigation" + vn ; return true; }, onselection function voiceselection { console log "onselection" + voiceselection ; return true; } } ; } catch e { console log "exception [" + e code + "] name " + e name + " message " + e message ; } listen api to start listening the voice interaction commands after setting callbacks by setcallback void listen ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol exceptions webapiexception with error type unknownerror in any other error case with error type securityerror, if the application does not have the privilege to call this method since 6 0 code example try { webapis voiceinteraction listen ; } catch e { console log "exception [" + e code + "] name " + e name + " message " + e message ; } getdatafromsearchterm api to parse the searchterm from samsung side domstring getdatafromsearchterm voicesearchterm voicesearchterm, voicesearchtermfield field ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters voicesearchterm the voicesearchterm from samsung side as search term field the field enum to get the value return value domstring the result string formatted exceptions webapiexception with error type unknownerror in any other error case with error type securityerror, if the application does not have the privilege to call this method with error type invalidvalueserror, if any input parameter contains an invalid value with error type typemismatcherror, if an input parameter is not compatible with its expected type since 6 0 code example var title = webapis voiceinteraction getdatafromsearchterm voicesearchterm, "search_term_title" ; var genre = webapis voiceinteraction getdatafromsearchterm voicesearchterm, "search_term_genre" ; buildcollectiondeeplinkdata api to build data for search collection easily domstring buildcollectiondeeplinkdata domstring appid, domstring title, domstring payload ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters appid the app id to be shown in the search application, and to launch the payload title the title to be shown in the search application payload the payload value to be passed with application launch request return value domstring the result string formatted exceptions webapiexception with error type unknownerror in any other error case with error type typemismatcherror, if any input parameter is not domstring type with error type securityerror, if the application does not have the privilege to call this method since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { console log "assistant tries to get app state" ; return "none"; }, onsearchcollection function voicesearchterm { log "onsearchcollection " + json stringify voicesearchterm ; var result = []; // appname and appid are of the ui application to get the payload on launch try { result push webapis voiceinteraction buildcollectiondeeplinkdata "a1b2c3d4ef mytizenappid", "mytizenapp", "page_id=123456&method=voice" ; } catch e { console log "exception [" + e code + "] name " + e name + " message " + e message ; } return json stringify result ; } } ; buildcollectionshowdata api to build data for search collection easily domstring buildcollectionshowdata domstring appid, domstring title, domstring payload, domstring thumbnail ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters appid the app id to be shown in the search application, and to launch the payload title the title to be shown in the search application payload the payload value to be passed with application launch request thumbnail the thumbnail url, path to be shown in the search application return value domstring the result string formatted exceptions webapiexception with error type unknownerror in any other error case with error type typemismatcherror, if any input parameter is not domstring type with error type securityerror, if the application does not have the privilege to call this method since 6 0 code example webapis voiceinteraction setcallback { onupdatestate function { console log "assistant tries to get app state" ; return "none"; }, onsearchcollection function voicesearchterm { log "onsearchcollection " + json stringify voicesearchterm ; var result = []; // appname and appid are of the ui application to get the payload on launch try { result push webapis voiceinteraction buildcollectionshowdata "a1b2c3d4ef mytizenappid", "mytizenapp", "page_id=123456&method=voice", "http //myservice com/content/123456 png" ; } catch e { console log "exception [" + e code + "] name " + e name + " message " + e message ; } return json stringify result ; } } ; buildvoiceinteractioncontentcontextitem api to build the voiceinteractioncontentcontext of an item voiceinteractioncontentcontext buildvoiceinteractioncontentcontextitem long positionx, long positiony, domstring title, domstring[] aliasarr, boolean bfocused ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters positionx x-axis position of the item positiony y-axis position of the item title the title of the item aliasarr the alias titles of the item bfocused whether this item has a focus return value voiceinteractioncontentcontext the voiceinteractioncontentcontext object containing an item showing exceptions webapiexception with error type unknownerror in any other error case with error type typemismatcherror, if any input parameters are not compatible with its expected type since 6 0 code example onrequestcontentcontext function { console log "onrequestcontentcontext " ; var result = []; try { var item = webapis voiceinteraction buildvoiceinteractioncontentcontextitem 1,1,"test", ["test set", "test title"], true ; result push item ; } catch e { console log "exception [" + e code + "] name " + e name + " message " + e message ; } return webapis voiceinteraction buildvoiceinteractioncontentcontextresponse result ; } buildvoiceinteractioncontentcontextresponse api to build the response of onrequestcontentcontext callback function from voiceinteractioncontentcontext domstring buildvoiceinteractioncontentcontextresponse voiceinteractioncontentcontext[] contentcontextarr ; product tv privilege level public privilege http //developer samsung com/privilege/voicecontrol parameters contentcontextarr voiceinteractioncontentcontext objects of the items showing return value domstring the domstring of jsonobject string containing the items showing exceptions webapiexception with error type unknownerror in any other error case with error type typemismatcherror, if any input parameters are not compatible with its expected type since 6 0 code example onrequestcontentcontext function { console log "onrequestcontentcontext " ; var result = []; try { var item = webapis voiceinteraction buildvoiceinteractioncontentcontextitem 1,1,"test", ["test set", "test title"], true ; result push item ; } catch e { console log "exception [" + e code + "] name " + e name + " message " + e message ; } return webapis voiceinteraction buildvoiceinteractioncontentcontextresponse result ; } 3 full webidl module voiceinteraction { enum voiceapplicationstate { "none", "home", "list", "player", "setting", "search", "unknown" }; enum voicenavigation { "nav_previous", "nav_next", "nav_left", "nav_right", "nav_up", "nav_down", "nav_show_more", "nav_unknown" }; enum voicesearchtermfield { "search_term_utterance", "search_term_title", "search_term_genre", "search_term_cast", "search_term_content_type", "search_term_release_date_from", "search_term_release_date_to" }; enum mediafunctionmode { "media_function_on", "media_function_off" }; enum mediarotatemode { "media_rotate_left", "media_rotate_right" }; enum mediazoommode { "media_zoom_in", "media_zoom_out" }; enum mediarepeatmode { "media_repeat_off", "media_repeat_one", "media_repeat_all" }; enum listitem { "list_bookmarks", "list_watch_later", "list_unknown" }; [nointerfaceobject] interface voiceinteractionmanagerobject { readonly attribute voiceinteractionmanager voiceinteraction; }; webapi implements voiceinteractionmanagerobject; [callback, nointerfaceobject] interface voiceinteractioncallback { optional voiceapplicationstate onupdatestate ; optional boolean onnavigation voicenavigation voicenavigation ; optional boolean onsearch voicesearchterm voicesearchterm ; optional boolean onplay ; optional boolean onstop ; optional boolean onpause ; optional boolean onexit ; optional boolean onselection long voiceselection ; optional boolean ontitleselection domstring title ; optional boolean onfastforward ; optional boolean onrewind ; optional domstring onsearchcollection voicesearchterm voicesearchterm ; optional boolean onchangeappstate voiceapplicationstate state ; optional boolean onchangeprevioustrack ; optional boolean onchangenexttrack ; optional boolean onrestart ; optional boolean onskipbackward long offsetseconds ; optional boolean onskipforward long offsetseconds ; optional boolean onsetplayposition long position ; optional boolean onchangesubtitlemode mediafunctionmode mode ; optional boolean onchangeshufflemode mediafunctionmode mode ; optional boolean onchangescreenfitmode mediafunctionmode mode ; optional boolean onzoom mediazoommode zoom ; optional boolean onrotate mediarotatemode direction ; optional boolean onchange360mode mediafunctionmode mode ; optional boolean onchangerepeatmode mediarepeatmode mode ; optional boolean oncontinuewatching ; optional boolean oncustom domstring jsonobjectstring ; optional domstring onrequestcontentcontext ; optional boolean onadditiontolist listitem list ; optional boolean onremovalfromlist listitem list ; optional boolean onplaylist listitem list ; optional boolean onbrowselist listitem list ; optional boolean onskipad ; }; [nointerfaceobject] interface voicesearchterm { readonly attribute domstring? utterance; readonly attribute domstring? title; readonly attribute domstring? genre; readonly attribute domstring? cast; readonly attribute domstring? contenttype; readonly attribute domstring? from; readonly attribute domstring? to; }; [nointerfaceobject] interface voiceinteractioncontentcontext { attribute long positionx; attribute long positiony; attribute domstring title; attribute boolean bfocused; }; [nointerfaceobject] interface voiceinteractionmanager { domstring getversion ; void setcallback voiceinteractioncallback callback ; void listen ; domstring getdatafromsearchterm voicesearchterm voicesearchterm, voicesearchtermfield field ; domstring buildcollectiondeeplinkdata domstring appid, domstring title, domstring payload ; domstring buildcollectionshowdata domstring appid, domstring title, domstring payload, domstring thumbnail ; voiceinteractioncontentcontext buildvoiceinteractioncontentcontextitem long positionx, long positiony, domstring title, domstring[] aliasarr, boolean bfocused ; domstring buildvoiceinteractioncontentcontextresponse voiceinteractioncontentcontext[] contentcontextarr ; }; };
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.