logo

NJP

Mobile App Academy: Getting started with Mobile Localization

Import · Oct 15, 2020 · video

good morning good afternoon and good evening everyone let's go ahead and get started whether you're joining us live or on demand we want to welcome you back to mobile app academy where we show you how to build and configure mobile apps live on the now platform my name is charlie steiner a product marketing manager here at servicenow and today we'll be walking you through getting started with mobile localization if you're joining us for the first time this is a live building session that focuses on managing and building our mobile apps in real time we'll have product experts on hand to provide guidance best practices and answer any of your questions posted in the q a window we host these sessions every two weeks here on zoom at 10am pacific and our recordings are posted to youtube shortly after so here mobile app application what's really important to us is when we get insight from all of you whether it's here in the chat or in our mobile community we base these session topics based around what we hear from you what you want to learn and what may be impactful to what you're working on so the links to our previous app academy recordings on youtube and to our mobile community will be dropped on the chat shortly today we have a special guest stefan lalon is a platform architect on the solution innovation team here at servicenow so without further ado i'd love to go ahead and pass it over to stefan so he can introduce himself and fill us in on today's topic stefan take it away thank you charlie and welcome everyone as mentioned my name is stefan along i'm a platform architect with servicenow um and let me just go ahead and share my screen over here perfect so uh for today obviously you've heard charlie so far we also have uh david ha and fujo uh which are also co-hosts of today's session so if you hear other voices other than mine uh that'll be either david or or foo and then also be taking a look at the q a so as i go along and if you have questions please go ahead and type your questions in the q a and we'll make sure to address all of them or as many of them as possible so today's uh topic is mobile localization so one of the things that as you start to to you know look at deploying mobile within your organization if you have you know your interfaces already translated to a different language what you've probably realized is you go into the mobile application and there's some components that have been translated others that haven't so in today's session i'm going to walk you through essentially what is required to uh translate some of those components that are that mobile really brings to you so there's really three compo three parts of this agenda um as charlie mentioned this is really much of a live configuration so pretty much everything i'm gonna do is gonna be based on um going to the instance doing some quick configurations showing my mobile phone and going doing that back and forth but we'll talk a little bit about some of the components to translating in mobile so there's really three um the way i look at it um and then i'll actually go through you know using two different approaches to do localization and that gives you a little bit of flexibility sometimes one method works better than the other and finally i'll just kind of conclude with a few tips um that i essentially um kind of track down over time and you know as i've been playing uh with this so and then obviously uh david if you feel free to interrupt me if there's questions in the q a uh i have enough screens on my screen so i won't be monitoring uh those but i'll let you guys do that so a couple different components um so you see essentially my um instance on the left hand side now what i'm going to do is i'm going to bring my phone on the right hand side so we're going to do a side-by-side comparison there's a few different ways if you haven't done this before in this case in case people are interested i use reflector um some of the i think david and fu has their own approach of reflect of sharing the screen but this is the one that i use um so here's kind of the starting point right so i'm gonna do the configuration today via the agent um actually where he had the mobile applications but it could have been the agent or the onboarding so the the translation slash localization of any one of those work the exact same way so it really doesn't matter which one i would have picked um and then we'll talk a little bit of kind of this starting point so i have a couple different instances they're all kind of set they're they're configured the exact same way um i'm gonna log into them um let me just start with this one over here so what i try to do is also configure it in a way that i think most people have their instance set up so obviously is if you're using some type of sso you don't have the ability to pick your language at the very beginning um versus if you kind of just have your developer instance and you have multiple languages you know then you can set essentially the drop down at the bottom so you can have essentially your selection of languages so i'll try to do it in the way that i think most people would essentially go and configure and have to work within your environment so i'm going to log in using my account perfect and essentially this is just you know i have the out of the block box um applications with all the different components and then you can see in terms of like you know the for me and i have a couple different incidents that are listed over here and um that's essentially the starting point one thing that i did do for the in preparation for this is i actually created a brand new applications the scoped application um and this is essentially where i'm gonna do most of the configuration today you'll see i have a lot of kind of like really crazy names in there but i this actually probably going to be hopefully a great reference for you uh moving forward in in the future so first let's start with um the different components in translating a mobile application so first let's just go over here i'm gonna go to the settings over here so you can see you know everything's in english right now so my language within the instance is in english and my phone language is in english so that's one of the key parts so there's really you know two key areas where you set the languages one is actually on the mobile device itself and the other one is within you know the language essentially configuration uh for the user that's locked in now if this is especially your first time doing it i would highly recommend you set the phone in the language that you're looking to translate because that will tell you all the things you don't need to worry about because they've already been translated right and then essentially those are all done essentially from in the background from a servicenow perspective so i'm going to go ahead and and you know do that first so i'll just go into the settings and go into general scroll to language and region i'm going to go ahead and pick french canadian perfect so my language has changed and i'm just going to bring my phone back up perfect and uh let's go back into the mobile application and now you're gonna start seeing you know for example in the bottom right corner i can see plus in the bottom right and if i go to settings um i can see a lot of these components essentially everything here on this page has already been translated so you can kind of think about it as anything that is not very instance specific all those are essentially configured based on the language of the mobile devices so that's one of the key components so i usually try to move over flip it to the language that i want and then you'll also see there's some components where this used to see say see all in english obviously in french now it's to voir um so i can see all of those but now when i look at the records themselves so this is an incident it still has open by and open and color and that brings us essentially to the second place where things are configured and it's really based on the language that the user uh has their instance set up so there's a couple different ways of doing that um if the user is a desktop user sorry for your data is that our question uh no question so far we have another unrelated question uh around localization but we'll take that offline for now perfect um so essentially so from a user perspective if you were in the main ui you know you could click on the gearbox go ahead pick your different languages so essentially if you have users that already done this within the desktop ui when they log into the mobile ui it'll grab that that same settings of the last time what language you want it it'll show up over here um so that's essentially kind of the probably the easiest way for doing it so today there's no way um there's no out-of-the-box way i guess is within the mobile to change your language for the purpose of actually doing this testing and this configuration i actually ended up creating a ui action or just uh just action really um to go ahead and change my language it just makes my life a little bit easier so i can go ahead i'm gonna say you know what i'm gonna move this to french it doesn't require me to log out and log back in which i'm gonna do right now we do have discussions of essentially having this functionality added moving forward so the user could essentially change their own language uh you know without having any kind of essentially out-of-the-box features just give me one second over here boom reflector perfect so as this brings it up i'm just gonna essentially show you and i just took a quick screenshot just in case reflector wanted to behave like this but essentially so now what happens is not without doing anything everything that's already been translated so ins the incidents so now i see you know i see all the information in terms of you know el vey in terms of the priority and all those different components that are completely uh change automatically so that's essentially kind of the great part of if you already have something translated the content of it is going to bring it from the server side so really at the end of the day is when we take a look at the components what we're looking to translate is everything else that is kind of a brand new um you know that we're adding so essentially when we take a look at you know this new app that i created over here that i have is you know there's the icon at the bottom that has a name that's right currently in english and then there's one at the top and the one in the middle so what i want to do today is essentially show you essential a method a way of being able to show the application or translate the application and give you essentially a technique that's going to essentially allow you to know how to do it uh because there's really no way in you know kind of this amount of time where i could go ahead and translate all the different components for you but essentially if you know how to do essentially one or two screens you're going to be able to do all the other screens at the same time so let's take a look at our application so the this is my new app over here right um and the very first part i'm going to take a look at doing is to say you know what i want to be able to translate this component over here so the nav tab you know tf over you know components that's there so i'm going to essentially show you in a few different approaches so from a translation perspective if you essentially know what you need to do the translation is very very simple so what i'm going to be able to do is if you go to localization on the main instance over here most of the translation essentially that will happen from mobile will either be based on the translated name fields table or the translated text table what i did in this case is really just to make my life a little bit easier is i took a look at uh this label over here and i gave it a name um you know that's that gives me a lot of information so i'm i know for example is if i look at format that i created over here and you'll see it across kind of the different ones that i do is this is on the navigation tab table this specific field that's showing this is a translated field the field name is actually label so all i need to do over here is to go is i'm going to go and translate it name field table i'm going to create a new translation entry the label so if you've done these uh before essentially they work the same for mobile as they work for everything else so essentially the translate label is what is it going to look like when it's in a different language so for the purpose of today all i'm going to do is i'm going to use the exact same label but i'm just going to change the last two letters right so essentially usually you'd have you know uh you know the name in english essentially in the value so this is actually kind of the their link so this is you're always the value is always what is it displayed in english which is essentially is this component that i have over here on the bottom rule right corner and then i go what is it do i want it to be in french so this is what that value would be the element is really the field name in this case once you do this a little bit you'll know okay well that's actually the label field uh what language is this because obviously you could have it translated into multiple language so you're using essentially the two uh letter code which is the iso code so fq is for canadian french and what table is this represented on so that is actually going to the navigation time so very very simple within a few essentially fields english value translated value in this case which is french the name of the field the language that you're wanted to and the table that it's provided onto so that component that component is done so that's one way of doing it so the question might be well that's great staphon but how did i know that this was the nav tab tab table that was a you know translated field table and that was the label field so what i'm going to show you now is essentially how i get to essentially those conclusions oops so it looks like we lost staffon for a quick minute uh in the meantime uh while he gets reconnected uh we'll answer a quick question so uh in case you are unfamiliar with the mobile hierarchy i'm going to add a link that you can pull up a quick deck on it and it kind of talks about some of the mobile tables that staphon's talking to right now so check this out um yep we have you back okay i guess we're having the same luck that we did last week [Laughter] i think we're all getting i think we see your screen and uh i'm gonna paste the uh mobile hierarchy deck in the chat as well all right it looks like you got your reflector back up too perfect yep so essentially so so far we've done the one in the bottom now the one thing that's unique about the ones in the bottom is they don't refresh if you just kind of swipe down over here they actually don't refresh you actually have to log out and log back in so i'm going to log back in the good news is after this i don't think i will have to log out and log back in so this last time i should have to do this um perfect so now you can see the translation so now i have the fq so that's essentially my label that has been translated so now we're going to do it essentially for uh the applet launcher so essentially in this approach i'm going to go to applet launcher on the main ui ui 16 go to the different applet launcher and then um in this case obviously this apple launcher is my localization that's the one that i created and what ends up happening is now i can see the table name which obviously you can just look at the url so that's my sg underscore applet underscore launcher so that's the table where that field is and then the title is what i'm looking to translate now if i right click on title and i go say show title i also see that that is a translated field so what that tells me is i have to go to the translated field table to go and enter a entry for this to give it a french value so going back to localization localization i said this is a translated field i'm going to create new and my value is english this is what it would look like in french the element i saw that was the title the language this is going to be displayed is that that's a two digit iso and then again going back to my applet launcher link submit it assuming i did everything correctly i scroll down what you'll see is now i went from en to eq for this one um i'll do one last one because it's probably kind of the most important components is i'll do it for the applet over here um again i'm gonna go in here i'll go to applet perfect i look for the applet with the exact same name which is this one over here and then i can see okay well this is the value that i want to be able to change right click show name it's a translators field that is on the sys hd screen table so go back to localization translate name and field new so that's uh should i usually we'll do a copy and paste just to make sure that i don't do any typos the element so that's the field name i want this for the french translation and as i said before it's on my applet page go ahead and submit it and save it refresh and now i have this component that is in french so that's one approach of doing it and essentially what you'd want to do is repeat that approach for all the different components there's another approach which i i like just because it's a lot faster is to say instead of going to the translated tables i'm going to use the opportunity to the fact that all of these fields that i need to translate are translated fields so the next components we're going to do is we're going to do a function so i create a new function right um and then you can see right now if i go ahead and i i have the confirmation message that's in english the confirmation label that's in english the cancel label that's in english the placeholder in english all these different components so that's a lot of them that i'd have to create one at a time so what i'm going to do instead is on the main ui i'm going to go essentially into the languages and then i'm going to change my language here as the administrator so as i do this and i'll do this one from studio so i'm going to go into studio and take a look at you know this is the mobile application i created if you have any other mobile application you can do it from here and uh what i'm looking to do is modify this function over here so i'd like to modify essentially everything that the user ends up seeing so because i'm logged in and these are translated um fields i if i go ahead and change the values so i'm going to change the value of the name i'm going to go into messages and i'm gonna do the exact same thing so that's two that's three another one over here four five six so that's essentially six different entries i would have done have to do in a um in that translation table but what actually ends up happening is all that happens automatically you know based on the platform so if i just go refresh go back to my action and i can see [Music] all of these components now i have fq fu and fq so that's essentially all translated properly and if i submit it i also see the message over here that has been translated so now as you saw as we went through it there was still a couple other ones right so sometimes you know i have this one over here and i had the ui parameter so here in for example i have the name of the variable and i also had a placeholder so you can see the placeholder actually here those are still in english so again same thing i can go within studio i know that i have to change my ui parameter i'm going to go ahead and select it and when you select it again find the values that you want to modify in this case this is the first one and then the placeholder is this guy over here and update it so all i'm doing is looking at kind of the names on the on my mobile phone finding them in terms of studio and being able to make sure they compare so swipe down to do a refresh go back into my action and now i can see i have the the ui parameter and the placeholder all translated and then the last one that's left if we want to do this properly for the function is um this one will be here so this is a quick action this is the this is a specific instance um of the function that i want to be able to go and that's actually so that's defined right now on my applet launcher so i will go on my applet launcher and i'll take a look here this is essentially what i want to be able to change and i can go ahead and change it here so now the one part and then this this is i won't do it here and i'll show you essentially why in a second is in some instances so mobile studio essentially takes all the configuration that you have within the platform and simplifies it which is really great uh but also means it also creates an abstraction layers between the different components so in this case when i take a look at a function instance i can see over here the label but there's actually behind that there's a name and there's a label if you change it the change of value over here actually changes both of them which means that now in english you're actually going to see the french translate this translation if you were to do it over here so what you want to be able to to do is to actually you know within the main instance is do it here um instead so that's essentially you know if i go back to you know my functions actually i'm going to go back into english make life a little bit easier for me and everybody else actually i'll take a quick look right now so you can see within the translated name table all of the different essentially values that i created using studio all showed up over here so that made life a whole lot easier and then there's also another one so that was only transit names some of those fields were actually translated text fields so automatically it placed them like the ui parameter for example is a translated text field some of the information within the function or translated text field so without having to you know to really go you know where is what table is this field on what type of field is it so that i know that i need to create an entry in the translate text or the translate name all of that information is in here so now essentially you could do the exact same thing so if i want to go to my function instance which i'll just go you know for the table that it's at right so this is my function instance so this is what i was talking about is in in mobile studio is showing one value which they call label but it actually kind of if you update that one it will actually update both the english and the french one so in this case if you want to be able to change this i'd have to create a entry for the label uh for the cis sg button instance and that's a translated field so uh probably essentially best essential you know if you're looking at doing any type of translation and the approach that i talked about is do it this way um kind of also a nice easy way is if you you know essentially find what you're looking for in english then you can just go in change the language now i'm in the language that i want i'm going to go and change the value over here save it and i'm going to flip back into english so you can do this essentially you know from from this ui and just going to essentially go back and forth between the different tools especially depending on you know how familiar you are with the language that you're trying to translate to so now if i did this correctly and i go back to my action so now i do have the translation of these instance over here that function instance when i select it everything else has been translated properly so um that's essentially where you would do you know 99 of the configuration pretty much everything so far that i found that easter ban be translated is either when i go to the localization a translated name slash field or translated text the one exception so far is in the um kind of home page such homepage setting that you have you have the ability to essentially have a personalized message so i have hello followed by my name which is obviously a variable because it'll be different for everybody that actually happens to be a message so if we kind of track this down a little bit um i know obviously it's showing up from the applet launcher so i'll just go in at the apple launcher level and this is essentially what we're seeing right so that's kind of part of the header title uh so just to drill down a little bit i'm going to go in just okay what exactly is this um well this is two this one over here let's take a look to see that's obviously a reference table let's drill down okay so this is essentially the table that it's on but this value over here so this text field over here so if i do show text it's not a translated uh field so that approach wouldn't work but it's actually considered a message now from a format perspective what we want is hello space and essentially you know the brackets with whatever ends up being there because that value could change over time so what i'm going to do is go back to localization localization uh be able to essentially see the messages um if you don't know how to configure messages sometimes it really helps to just take a look to see if there's anything else that's configured that is similar within your instance and you can see that i actually have a couple different version um and here i can see that the core of the squarely bracket with a zero it kind of gives me that um and kind of that variable so i'm going to create a new one um the essentially key so that's going to be the key it's going to be what it is in english the reason this one wasn't working is because it has a comma in this one there's no comma whatsoever um what i want this to be is that you know the in french canadian i want this to be able to say bonjour so it's going to look for this value and it's going to translate to this one go ahead and submit it and now if i swipe down on my phone i have the translation so that's essentially the one that's slightly unique that took me a little bit of time to be honest to be able to find within the uh system now a couple other things that i want to be able to kind of talk about and highlight i'm just going to flip back to my powerpoint for a second there we go so i started making a list and obviously for the purpose of today there's probably not a lot of value in terms of going and creating translation for all those we did the navigation tab we did the apple launcher we did the applet we did that we actually did the function instance and then some of the different components for the functions um but then there's also other areas that we didn't do so the mobile section and the media sections the ui perimeter actually we did that one global search configuration so it's really just a matter of any type of field that you're configured on the mobile application the user sees you will need to go and create a translation if it's something that you created if it's something that's servicenow created um in the majority of the cases we're actually pretty good at creating a translation for it if not you can go ahead and create your own translation um but then there's a whole bunch of others and they'll continue to be more as more releases comes out so for example campaign some came out as something that can be configured within the parish release well that will have its own fields that will need to be uh translated and the same things for many other components that were added as part of the platform so the top list is in knowing um a complete list of all the different components but essentially if you use one of the two approach that i showed you which is either by knowing what table you're going to and updating the information or just doing it you know changing the language of your instance and going to do the configuration um that's the easy way and then finally the last one is the message table which is very uh kind of different way of doing the translation compared to the other ones that are either in translated names fields or translated texts um a couple of tips uh that i found kind of became um either to save yourself some trouble or to make life a little bit easier is first use a different username on the mobile when you're looking at testing on the phone versus the one that you're doing on the desktop when configuring so when i was configuring on the on kind of ui 16 i was using essentially you know my admin account to be able to do that but when i was looking at the user i actually use you know an account a different account and one of the reasons for that is you know i want the mobile phone to show me everything that's in french but when i'm doing all my configuration most of the time i'm always in english and what you'll find out is you end up flipping the language of your mobile phone not really realizing what you did if you use the same user account and then you're going to get in scenarios where you're translating stuff but it's not showing up and it's not showing up because you're actually asking the phone to display information within in english um so obviously checking the language the mobile user is in kind of goes back to one of the key components if you if you kind of do step number one it'll save you a lot of trouble um and making sure that you're in the right language um and then the last one is what i talked about is you can go to mobile studio and as long as you're in a different language do all those but there's a few things that don't really translate so just being in the main ui and going to do it that way will probably save you a fair amount of you know kind of time and headaches um and that's essentially all i had for for today in terms of the translation so i'm going to take a look at the q a um those are really great tips to find so we actually have a few questions that are coming in so yes uh the first one is um so it seems that we have a few customers that are familiar with uh the normal development of localization platform and they actually use like the debugging feature on that uh and the question is is there some sort of debugging capability uh for mobile on the mobile side um so i assume the debugging you're using is you're they're using it on the platform ui some kind of ui 16 and not mobile studio um and that essentially would work the exact the exact same way um as it would for the um for the desktop so that's probably kind of the easy way of doing it unless they're doing using it a different way but as long as you stay within the platf the ui 16 then you'll be good for that that's really good to know um we have another question and uh it pertains to you know for the search bar on mobile could you possibly walk us through you know how you would translate the uh the search bar you know especially when you know when when an end user searches for an item and then uh you know the no search pops up and because there's no records on it how would you possibly translate that is it possible yeah so let me just bring this back up right so we're talking about this component over here so right now you can see it says pressure um so that goes back so if i go to this list over here that i started to provide so the global search configuration so it's a little bit of finding finding out where those values are but if i go into the main ui and i go to really it's really i guess in mobile mobile search configuration uh was that the one i was looking for there we go so yeah local search configuration is what you're looking for um so i actually created a new one i didn't add it over here but you can see essentially that's the placeholder so it's the same thing is finding what table that that is if this is the uh catalog item and name i'm going to go over here and figure out okay what what fields do i want to translate so this is going to be the placeholder and then that's the field that i'm go and translate which is essentially what's happening over here um and that's going to be done on the system global search table um all the other components in terms of like the no items found and i'll test it over over here let's see if i can right so this value over here so that's essentially controlled you know by servicenow so that's actually going to be translated already for you so all you have to really translate is kind of the section in the middle over here if you're creating your own search bar perfect i think hopefully that answers your question um we have a question that's unrelated to localization uh that phu and i can take so there's a question asking when you're adding uh more than five application launchers onto the nav bar is there a way for us to set up mobile so that when we have only three apple launchers that the more tab still shows up so um that is a limitation the more tab does automatically populate whenever we have i believe four or more uh uh apple apple launchers on your navbar it's either four or five i i can't remember off the top of my head but um that is not configurable today but um it can potentially be an enhancement and you can definitely share any enhancements with us uh to our internal teams you can actually go to the community site and on that community site there's a tab for idea portal and if you raise a new idea on the idea portal that will go straight to our backlogs and uh our internal teams will actually have further discussions on it so definitely check that out and uh submit that enhancement if that's something that your organization needs um i think we have another question um and let's see i think i lost it where'd it go boo are there any other uh questions that we possibly want to highlight um there's a new one that just came in uh from jerry uh it are there any plans to bring language features inside near profile in future release not sure what [Music] yes so i don't know if they're talking about the fact that like for example um like right now there's no way of changing the language with within the ins within the mobile application so if that is the question then um yes we are looking at adding that um so that you don't have to do what i did over here and kind of create my own little ways to change the language inside of the mobile application okay great um there's another one from howard so would this be the same action if someone used a qr code on their phone to a servicenow instance for example would only open the classic app or browser so this might be referring to the deep link um so howard and rob are you guys referring to the deep link where you want to have a url and you can go either between a desktop or a mobile is that is that my understanding and then however i can actually enable you to talk so i'm going to set the allow to talk um and if you actually unbeat your mic you can actually ask us directly and kind of give us a bit more clarification around your question also also um unmute rob too oh yes rob howard go ahead uh if you're immediate feel free to ask away i'm not sure you can hear me because i'm having some issues right now with my uh little setup here oh we hear you perfectly fine actually okay great yeah the concept is that you have a qr code on a fire and you say to open any service now instance you then scan it on your uh think we kind of lost oh yeah it looks like we lost you howard you were sounding great for the first five seconds and then uh thank you your audio went out i think he i think he's talking about like if you have a qr code uh and it points to us an instance for example um and that url goes to a specific like say an incident right um on a desktop it will probably take you to the um the incident um but he's probably asking if i scan it using a qr code on my phone does it navigate to that instance for example i how is that are you back that's exactly it for example currently uh so we we can hardly hear you uh but i think howard did confirm i heard yeah so so um so technically that um that is not possible because um a url um is mapped differently from a web browser than a native application um so uh i answered rob's question i think rob had a similar question um so the we have a thing called deep deep link generator and basically it creates a url but that url is specific to a uh it goes to it it's mapped to a form or a list screen in your native application um so it it behaves differently from a url where you can map the url to a uh a web resource for example so can i jump in there yeah is there any reason why that think link couldn't check the uh user agent and see if it's coming from mobile and if it's coming from mobile then you know pop the native link and then if it's coming from a web browser redirect to the web platform so that's a very good question too so um currently it doesn't do a check on the um navic the navigation agent i think that you're referring to correct right so um every browser has a navigation agent so one one possible solution is let's say for example you embed a url link into an html email for example and the user can either launch it on their email client on their desktop or launch it on their browser right and so a possible way is to inject some javascript that checks the navigation agent within that email client now that email client has to be a web instead of a native email client for example outlook because it wouldn't know uh that's one possible way um but i hear what you're saying is that after the deep link check to see the type if it's desktop and then launch accordingly right either from a desktop or a native app is that my understanding correct because in theory then if you just injected deep links into your notifications or your qr codes at that point if it was on a mobile it was open on mobile it would pop the apps if possible if not it would then default to the web so you have one basically you have one universal link and that universal link will determine if it's a desktop uh mapped to whatever resource i'm going to okay like this is getting me a fair amount of pushback from my management of how we roll this out the mobile app and not confuse all the users because there's two different links and you gotta you know teach the users well if you're on your phone use this link if you're on your desktop use this other link so there's a whole you know user training that has to happen unless we can solve this at the platform level and for your use case how are you uh promoting these links are you saying it through email or how is it generating so right now um what we initially did was we have an email script that runs in our notifications run and then it adds a another link to the notification that goes out right email template right right uh but that's not the desired solution so at this point i'm kind of looking to see if i can write a solution that would check the nav agent and then provide the deep link all right and see if that works now now are your users when they open it up on an email client is it a native email client or is it a web like a gmail or whatever native it's native so with native i i think i've tested it before i don't think it's able to detect the that's my that's my concern yeah it doesn't know um i mean this could be a further discussion with our inbound folks you know we could possibly raise this as an idea um or enhancement possibly food and we kind of take this internally and have further discussions on it yeah i think i think you should upload it on the ideal portal i i think i responded back to you about that i think that's a good use case because i've seen it from other customers asking this as well yeah it's actually kind of already out there on the ideal portal i was going to add a comment to the idea that's already out there perfect okay and then uh were you able to provide all those details that you kind of shared with us as well today i i will okay perfect thank you so much rob um do we have any other questions in the comments howard um if you can speak i'm not sure if that address you have the same concern with rob or is it slightly different um if you can't uh say i mean you can just type it in if you want yeah i think uh howard mentioned that he has a similar process that they have for the class gap in the chat um and i think it impacts uh our organization as well okay um we do have another question around performance um so there is a question asking is there you know what is the limit on the number of applications and navigation tabs that you can put on the mobile so it doesn't slow down the app [Music] um who would you possibly know is this is john's um which question is this one this is coming from jerry um i believe yeah it's coming from jerry uh is there a limit of is there is there a limit on number of tabs that we should keep on mobile application that won't slow down i mean how much is performance impacted um do you want to mute jerry i mean how many how many tabs are you talking about um yes so let me unmute jerry one second a lot of talk okay jerry so uh we unmuted you uh so feel free to unmute your mic and yeah uh hi everyone so um thanks a lot for the session so my question was like how many navigation tabs you know is advisable like so that you know mobile application is light i mean like some customers you know want uh the experience to be similar to the portal but is there some limit that mobile applications you know should show this much number of tabs only so that you know performance is not impacted so so as a best practice you you don't want to shove every possible tab into mobile it's just to keep it light but there is no limitation and and there probably won't be a performance because the navigation can only what david said they can only hold four and then you have the more right and once you click on the more it goes to another list screen where it lists all the other navigation that is not within that is not it has an order that's less than your or higher than the four that you had right um so so technically i mean you won't you won't the user won't see a technical uh like a performance if you have like a thousand maybe but that's not best practice to have a thousand tabs because you know you can't even search for it right and to add to that right um you have users with different roles um and so not every user is going to have the same view um and if your intention is to display you know 20 30 tabs on mobile that's just not going to end up well in being able to create a great user experience for that end user and so you really want to understand you know what are the specific landing pages that i want to create from and specific reports that i want to enable for them and usually you know that kind of consolidates to probably less than 10 tabs um with you know your top four tabs uh you're able to immediately see those uh on on the front screen so hopefully that helps answer that question um but yeah there's really no limitation and as food was saying there's there shouldn't be a performance hit unless you are enabling like hundreds of tabs at a time okay thanks a lot yeah any other questions um i think we were able to tackle all the ones uh so far um just one question uh yeah go ahead yeah so my question is like is there something that we can battle just like uh agent mobile app uh like uh since now mobile app doesn't have this you know language switching option so is there something meanwhile as a workaround that we can do um just like means i had i have both the apps agent mobile app also and now mobile app also so in agent mobile app that language switch functionality works fine so i was you know thinking that is there any way we can you know go into instance and check how it is there and replicate the same in our mobile yeah so in terms of the language um they like there's there's no out of the box right now to change it on mobile but what i ended up doing so you saw the the function um all it ends up doing is the language that is displayed on your phone is based on the sys user preference table uh or it's like it's called the user preference table so if and you essentially what i did is just you know found a script that was actually on the internet that searches um so if the user already has an entry in there um you can essentially either update it or or delete it and create a new one with the proper language and that's essentially what my function does it just kind of goes in changes the values from one language to the other um and then but it's it's one setting so that that setting which is the user preference table is going to be available for on the desktop ui or the mobile ui which is either the non-mobile or the hr onboarding or the agent they're all going to use that same value to dictate what language they're displaying okay so so the function which you have built on the mobile so it will change in the native view also correct yeah so one once you when the user logs into the uh the native the the ui 16 then they would be in that language because the the setting is a global setting it's not specific to mobile yeah yeah thank you thank you very much and and just to clarify right it's not only it's not the setting that's on the user table but it's the setting that's on the user preference table within the user preference table there's a user language record language yeah for every user so essentially you know if you just essentially kind of log in with different language you'll see there's a record that's going to be created automatically for your user it is going to have user.language as kind of whatever the the type or the name of it it's going to have your account and it's going to have the language um your your language preference okay uh thanks a lot yup no problem um i think that's pretty much all the questions that we have uh let's go ahead and wrap it up to first day uh thank you again for uh joining us for another mobile app academy uh hope you found this session was very informative and helpful if you have any further questions feel free to keep posting it on our mobile community site so that we can explore other configurations in future sessions we're going to have another session two weeks from today so phil uh definitely uh check out the mobile community for latest updates uh and with that thank you all for joining today's session i hope to see you at the next mobile app academy thank you everyone cheers thank you

View original source

https://www.youtube.com/watch?v=kKr5zqdZDTs