.NET MAUI Community Standup - Accessibility with Rachel Kang

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] do [Music] [Music] do [Music] [Music] [Applause] [Music] hello everybody happy first thursday of september back to school season in the u.s so hopefully if you are here your kids are out of the house for the first time in over a year you're having a good time the house to myself it's beautiful that's amazing in the dogs i love being being on meetings this week and people being like it's my kids first day back to school it's so quiet and i'm like oh that must be nice i have no kids so i just have the dog and he's equally annoying all the time um cool well welcome to this month.net maui community stand up formerly known as the xamarin community stand up i am maddie one of your hosts i'm a pm program manager on the xamarin.net maui team and i'm here with my favorite co-host dave hello hello uh david ortnow also program manager working on.netmaui.net uh and xamarin so we'll talk about some xamarin things today uh but the guest of honor is rochelle i mean rachel you don't pronounce that rochelle no that's not hi everyone i'm rachel software engineer at xavier.net maui if you don't know me already super excited to be here and you joined the team like just over a year ago right yeah it's been exactly a year and then some wow oh my goodness i can't imagine this team before you i don't know why it feels like you've been here for a while i guess a year is kind of a while but um let me just you have to point out that it's been other than i know that you've been into the office and you do you have found a desk that was available but i mean you've done this all the year primarily virtually that has to be super weird straight out of school it's crazy to think about does not feel like a year at all yeah we still have yet to meet in person rachel so whatever i i've noticed like everybody is either taller or shorter than i expected nobody is the height i expected them to be when i met them so that's some 20 21 vibes right there oh my goodness okay well we have a amazing packed show today we're gonna flip the order rachel's actually gonna do her segment her guest appearance first um i'm gonna drop the url list in the chat bam it's going to all the places it's going to facebook periscope and like i say every month like i don't even know where the periscope is and two different youtubes and the visual studio twitch so we're we're in all the chats um you know come hang out and tweet about it and whatever we'll be going on for about an hour um in the first part of which we will dedicate to rachel talking about accessibility and then we'll do your wrap around blogs and pr's so if you have any blogs and pr's this month that you really want to get highlighted now is the time to twitter dm them because we will uh we will check them out maybe maybe so uh rachel take it away let me know when you want me to put your screen up yeah of course feel free to share whenever yay so today i'm super excited to talk about accessibility and accessibility in dot net maui if you don't know already a huge focus of mine on the dot net money team is with accessibility so it's something i'm really passionate about um and i guess before i really get into how it pertains to net mali i just wanted to do a quick rehash of why we care so much about accessibility so over 1 billion people currently experience some form of disability in today's world and these disabilities are extremely wide-ranging there's something called the per sona spectrum which is a tool microsoft has um that helps us to understand this better so there are permanent temporary and situational disabilities that range across different types of abilities like the ability to touch see help and speak hear and speak and although there are all these different types of disabilities um there are solutions we can create that benefit people of multiple types so for example in for the ability to see you might see how a voice assistant can be helpful for someone who is blind as well as someone who is a distracted driver but designing for accessibility is not limited to people experiencing disabilities the best solutions benefit everyone so for example closed captioning on videos the raised hand feature microsoft teams dark mode on device and even the physical world like dropped curves on sidewalks and driveways um these are all examples of things that were initially designed with accessibility in mind but are things that i'm sure all of us have benefited from on the day-to-day regardless of how we identify in terms of disability and beyond this there's also a huge business opportunity worth hundreds of billions of dollars and of course when there are more than a billion people affected by disability that makes a ton of sense not to mention the growing number of legal consequences that businesses have been facing with regard to accessibility and when it comes to approaching accessible apps there are tons of standards and guidelines most prominently the web content accessibility guidelines that we use as our global standard and legal benchmark for developing accessible apps and it's extremely detailed you can check out this link here to um i guess read more in depth on the different ways you can build your apps more excessively um but basically they say um they detail different ways in which your app can be more perceivable operable understandable and robust so that overall they are more accessible but at the end of the day all accessibility standards guidelines aside empathy is truly the name of the game the reason why we do this is because we want to make sure that the apps we create are accessible to all of our customers and all of our apps users and so in order to build that empathy it's important that we explore various accessibility settings and features for example screen readers which i'll go more into later and research accessibility models and apis and test and leverage available tools and resources and on the dot not mali team these are all things that we have been working on especially hard and we're super excited to share that we've been working so hard our team on accessibility and you can check out the.net maui people to see the various pr's that we've been pumping out this past year and with dot-net mallee you'll be able to create accessible apps more seamlessly than ever before so i want to do a little demo um and show you our maui templates currently as they are and how they are accessible all righty there we go cool before you jump in what's your setup here you got vs you got something on the right here yeah all right so here on the left i have visual studio opened up with a.net maui template solution so if you go and you just create a new maui app today this is what you'll see um and the right i'm running this code running this template app on a physical android device i have here but it's reflected on the screen and i'm using a physical device even though i can use an emulator because when it comes to accessibility it's really important that we test on physical devices since our users will be using a physical device at the end of the day and with things like screen readers it's a lot easier to test from a physical device than it is on an emulator all right so we have here uh hello world label welcome to net multi-platform app ui label current count label which counts the number of times that you click on this button so if i click here click me you can see that the count is going up and we have an image of a dotnet bot and you can see all of this is reflected here in the xaml as well so this is something that if you've started playing around with maui you might be already familiar with but if you're not as familiar with the accessibility side of things super cool because we have these new semantic properties that allow us to add additional information in order to make the app so much more accessible so for example um i'm going to just turn on the screen reader on android that screen reader is going to be talkback and you'll be able to hear what the screen reader reads out loud when i tap on different um controls i'm going to turn on the talkback stop back on all right so if i tap on welcome to dotnet multiple mpy welcome to dot-net multi-platform app ui heading my demo it reads that out loud for us and it tells us it's a heading because we um indicated here in the xaml that it should be a heading right with the semantic properties that heading level um and heading is a property that screen reader users can use to skim content more easily so if there's a ton of text if we indicate certain controls as headings then they can skim through the text more easily kind of like a table of contents um so similarly with the current count label if i tap on it current count two it'll read that out for us if i tap on the click me button click me button counts the number of times you click it reads click me activate because we indicated here for the button that we should have a semantic property dot hint that reads counts the number of times you click that additional information is read aloud which is super helpful and if you notice it also said double tap to activate and that's because it's a button and android knows that if a controller is a button it should provide that additional info as well and super cool here with the image normally if you don't indicate any additional information with accessibility in mind it won't read out anything to you so to screen reader users especially those who are visually impaired or can't see the screen they would have no way of knowing that the dot net bot is on the screen at all but if i tap on the screen here now cute.net waving hi to you we can hear that semantic property description q.netbot waving hi to you read aloud because we've indicated that in the code so that's super cool um beyond this we also have in our code behind here c sharp um we have here a semantic screen reader dot announce method and what we're saying is when we click on the button we wanted to announce the current count so when i click on this button the screen reader should read this label out loud as it's updated so i'm going to do that right now and you'll be able to hear it click me button counts the number of times you click so that tells me what the button is to activate and then when i double tap to activate it birth count three we can hear that count being read aloud and updated for us and it'll keep doing that over and over so these are just some of the super cool semantics stuff that we have in dot net maui and that you can check out right in a new maui app through our templates but there are so many other properties and new accessibility things that we've been introducing and that we're still working on in dot net maui so highly recommend you check them out i have questions yeah and there are questions in the chat too but i get to ask men first because i have a microphone uh can you go back to the xaml file for me and to that heading level thing so maybe i wasn't listening closely enough that happens um but is the uh is the value of the heading level is this an enum or what are the values that are accepted here yeah that's a great question so if i remember correctly um all right so if i remember correctly they we have levels one through nine or something like that and there's also none um but basically um this is because it's interpreted differently on the native platforms and we wanted it to make wanted to make sure that we take all of those considerations into account so on uwp natively um there are nine different heading levels um and so we wanted to make sure that we considered that on in.net mali but in android and ios it's just a boolean it's just is it a heading or is it not so what we did is you can indicate level one through nine or none and if you indicate a level any level the way it's interpreted on mobile is that we just understand okay you want this to be a heading yeah see that was a good question and that's a good answer too huh you know in the chat if you feel like that was a good question an excellent question absolutely yeah all right let's scroll back up all right the first one we've got from one of our facebook viewers um i can't tell if that's an l or an i so i'm not even gonna try to pronounce that wrong uh is semantic description different to the automation properties name and help text that is a great question um it's similar in a lot of ways but it's also different in that it's better um for various reasons um the main thing i'd say is with android there was um there was an automation id and a lot of developers had trouble testing testing things for accessibility especially on android because automation id was used for testing but it was also kind of used um the help text and automation properties on name was also used for accessibility and things were really confusing because they didn't serve just one purpose but multiple purposes um so we made sure that that's made more clear in dot-net maui things like that those confusions no longer exist and it's not an issue and in mali with semantic semanticproperties.name.hint um it's much more clear in that we not map down to the native apis one to one and we try to interfere less with what the native platforms would normally do sweet love that love not getting in the native platforms ways yes um this is a question which i actually do not even know what the answer for this would be but it's a question from juan and it says from one of the youtubes um tab stop was removed and does this have anything to do with accessibility yes um it 100 has everything to do with accessibility um we talked a lot with our customers who have been who have used habits in the past and we've talked a lot with accessibility experts at microsoft for different platforms and we've consulted many different accessibility guidelines as well and we found that tabindex although it's a property that exists on some platforms is actually a an api that is not only often misused but is often advised not to be used and in many ways in xamarin forms by having tab index as an api that was available it actually broke a lot of things and interfered with things as they pertain to accessibility and so by getting rid of it we are ensuring that net mallee will be a lot more accessible and also um we do acknowledge that there are certain edge cases although rare um where tab index was helpful but we'll be sure to introduce new apis for example there's something called semantic order view in the xamarin community toolkit you can check out that addresses um those unique cases cool sounds fun um i saw a question in youtube that dave answered but i just want to call it up it's a good question what about scalability of font size based on slider support right yes um um actually i might be able to show you right now i was hoping yeah yeah um so font size basically we made changes in dot net maui to make it more accessible by making the font size more dynamic so it was dynamic in xamarin forms except it wasn't on ios because natively ios it just normally isn't accessible so i can show you right now um and i can i don't have an ios device hooked up right now but the same thing now applies to ios and so if i go into my settings here and i go into accessibility font size you can change the font size here cool but the thing is these device settings aren't automatically reflected in apps it's something that developers normally need to be extra conscious of but in.net maui we handle that for you so if i return to the app you can see everything is bigger now so these aren't even named sizes these are just we just scroll it we scale it for you yep it's not just with name sizes you can do it with any font size here you can see we have yeah that's pretty fancy look at all those accessibility demo apps you have on there that's hilarious for those of you who are curious by the way rachel is using one of our fav demo uh products here visor v-y-s-o-r to screen mirror her um android onto her device so we use visor a lot me use reflector a lot in this gang here reflector gang definitely right on the scaling thing sorry yeah um the uh if you don't want a label or anything with text to auto scale how do i disable that yes so um i remember off the top of my head the exact name of the property but we also made sure that if you don't want it to auto scale even though it's best for accessibility if there are cases that you don't want it to auto scale um there is a property you can add um to say um is auto scale enabled equals false or something like that yeah it's it's a long one so yeah hopefully intellisense helps you locate it but it's there somewhere yeah yeah i don't remember exactly what it is but it's something like this auto scaling enabled equals it would be something like that where's your intellisense at sleeping your poor computer okay rachel had been bitten by the demo gods this past couple weeks because she's been doing virtual demos of this stuff but every time she has teams in visual studio open just things just like completely fall apart so i'm sure a lot of you can relate in the chat um cool uh so rachel this is kind of a more general accessibility question um from alfred so i can see and this totally covers your face so i'll get rid of it in a second sorry i can see the device talking back to you being useful for visually impaired users but that same user would probably have a hard time tapping that button so what um strategies do visually impaired users use to interact with apps uh they might not be able to like actually touch it accurately that's a really good question um yeah that's that's a tricky question i don't i'm admitted admittedly not familiar with all the different assistive technologies that are out there but when it comes to screen readers i think from what i've seen at least many visually impaired users are used to the screen reader experience so even though they don't have to tap directly on the thing they can just tap on the screen and swipe and the focus will determine what the actual tap target is a lot of users who have motor impairments also tend to use keyboards so even with a mobile device they might attach a physical keyboard and they'll use the tab keys and arrow keys for example to navigate the screen so those are just some other alternatives they're also depending on what type of disabilities might um make screen readers or other assistive technologies difficult for you there are also other assistive technologies like eye gaze and just flying motor movements that can help help different users control your device in different ways it's super cool yeah that's awesome i didn't realize you could just like swipe to change the focus because obviously like on a keyboard you know you just hit tab or arrow key or whatever but that's that makes sense yeah no i was just tapping here for convenience let me change the let me go back into settings and change the font size back to normal first so if i go back to accessibility i'm going to go to font size i want to make it default size again there all right so i'm going to turn on talkback and i can show you the swiping stop back on hello world heading my demo so if i take my finger and i swipe on the screen cute.net bob waving hi to you sorry i accidentally tapped on that let me start from hello heading so if i button counts the number of times you click and if i tap on the screen count before even though i didn't tap on the button um it was picked up characters click me back off cool that's awesome oh my goodness and that's just built into android talkback yep um yeah most screen readers also ios voice over similarly that's the same thing um a question from juan in the chat for developers that are not used to testing accessibility are there any tools or analyzers that you know of that could help them improve their apps get started all that stuff yes that's a great question um there are a ton of different tools out there the one we like to use a lot of microsoft and on our team is accessibility insights and that currently is supported on [Music] windows and android so we like to use that tool and you can check it out i highly recommend um checking out accessibility insights for it yeah it's a great tool they um if there are certain things you didn't quite catch they'll scan the app for you and pick up color contrast issues and such to inform you that that's something you can work on um so yeah but at the end of the day in addition to any automated testing and tools that are out there it's super important to manually test your app um and a lot of businesses and companies will usually outsource their app to a third party um that focuses specifically on testing for accessibility sweet i know we do that at microsoft with visual studio yeah with visual studio 2022 coming up we have had third i mean we have an internal accessibility team too but we have a bunch of people who literally just email us and are like talk me through every way i could possibly use your feature and they go and they do it and then they email us and they're like this doesn't work the way it should and i'm like oh so it's fun because we get to fix a lot of bugs but also it's great because you know we as as diverse of a team as we like to have and hire you you can't necessarily cover every disability um or handicap or anything with one engineering team so it's really good to get as many people who are educated in this topic on it as possible definitely and we're doing the same thing right now in on our team too donna o'malley we're creating an app that is more complicated in dot net mallee and we're going to make sure we get it validated for accessibility by external accessibility experts as well great cool um all right well i will keep my eye on questions i know you have um and other important things to go do like build.net maui and all that stuff so we'll let you um and we'll flip over to the other part of this but yeah rachel's um i'll send the links one more time all of the blog posts she wrote on the xamarin blog her twitter and um the link to her presentation here is all in the url list so check it out and be nice on the internet and all those fun things and rachel thanks so much for joining all right thank you i'll see you on twitter and discord github all the fun stuff yeah alrighty bye okay [Laughter] um let me share my screen make sure this works oh boy share screen screen three nice nice add to stream nice so side note for those of you who like to listen to me talk about our streaming technology because i know i do this every month uh james montemagno the one the only um he has now set up a whole new way for us to do stream yard so we all have like our own admin accounts instead of just like sharing one thing and it is really nice except i had to log into everything and none of my like settings persisted over the different accounts and it was very confusing for me this morning so i had to start like figuring this out an hour before when usually dave and i like three minutes before like all right get in the stream yard call the guest call it a day um yeah all right let's open some blogs there were not a ton this month and i looked at the same places that i look usually so i think everybody is just on vacation i'm emotionally on vacation although not physically on vacation so it's okay um there were a bunch of videos this month though i did notice that youtube was really up there and as i've said before on this as much as i'd love to just like host a viewing party i feel like it's kind of a waste of everybody's time for me to live stream myself watching a video on youtube so um yeah you can find those planet xamarin the uh xamarin like weekly news recap app that some of our lovely team members have made all those things um feel free to go find those find those youtubes or you know the.net youtube the xamarin youtube all those things first and foremost i just learned today that dave is a regular attendee of the xamarin.net maui podcast because i saw this and i was like oh dave was a guest and dave was like i do this all the time and i was like i'm a perpetual guest i'm a recurring character yeah you're like you're like the producer in a really good podcast who like just cut chimes in sometimes with something really valuable and then you don't hear from them again just that random person off screen that they always yeah yeah yeah yeah so you still of course have the wonderful james month magno on matt so sue coop so coop i so cope sorry matt i i ask you like once a week and i still screwed up but now you have your host dave um and it is the.net maui podcast so it's got this nice new little graphic um but this is just the xamarin podcast revamped so it's the same old this is episode 97 so it's not like we lost all the history um yeah we'll talk about lots of xamarin stuffs plenty of uh cloud you know azure stuff uh as it relates so it's a fun that's a fun game and then you guys have guests on usually right like every once in a while uh they will yeah occasionally have guests yeah i stick around for the maui segment and then usually bail because because i have meetings lots of meetings so uh but you know occasionally i'll stick through the whole things but yes they have much more interesting people than myself that they bring on regularly you're interesting to me don't worry and actually if i could highlight one thing about the podcast um if you go not you but if if anybody who listens to the podcast goes back just a little bit you'll find some uh great interviews with customers using xamarin.net um yeah like yeah blackbaud and sketch 360 and all those american airlines i think is on there and you can hear interviews both with our customer advisory team alex blount and sweekie and others but you can also hear directly from the engineering teams that worked on those products at those companies so highly recommend giving those a listen sweet yeah so dotnetmypodcast.com has the whole thing um and look at all these places you can listen to it so fancy spotify for a second i didn't see spotify and i was like guess i can't load it but it's there um you might have seen in that list of previous episodes the xamarin community toolkit extravaganza from earlier this year um if you didn't hear last month we showed brandon's blog the future of the xamarin community toolkit which is basically um you know moving the xamarin community toolkit into kind of this general community toolkit upgrading it from maui making friends and sharing with win ui and the toolkits that they have and making it all one easy peasy easy breezy beautiful community toolkit so uh we have an announced and released uh dot net maui compatible versions of the existing xamarin community toolkit so if you're not ready to bump up to the new toolkit yet um and you want to just like kind of throw a compat library in there for now you are welcome to go ahead and use this um gotta love brandon's blog he's always got emojis in here he's got a great blog post so dave is spamming the chat you okay there bud he just typed on one of the youtubes we and then we and then lol in three successes so apparently i don't know how to use my keyboard it just kept it just kept returning preemptively so one of our friends got like timed out in our fantasy football slack because his cat somehow set up slack to send a recurring message like hundreds of times we have no idea what happened but uh we fixed it fixed it oh squeaky's here hi sweetie she said you mean i agree um yeah release schedule details are on here so if you're using the xamarin community toolkit right now um i would check it out but uh yeah the maui toolkit's gonna be great and um yeah sweet all right into the community side of the house oh my goodness so many pop-ups you know how i am with pop-ups on your sites i want to read your blogs but i don't want pop-ups um okay skeleton loader i thought this was a really cool blog because i uh opened snapchat this morning and they don't have a good skeleton loader on the android app i don't know if they do on ios but they just show you that you have an unread snapchat and they won't let you click on it and that was making me so angry i was like if you cannot buffer in the fact that like my my snap isn't ready to be viewed yet don't show me that i have it because now i just keep trying to tap it and that is where something like a skeletal motor comes in so you can you know show this thing that's like there is content here we're just not ready for you to start interacting with it yet and we will be shortly don't you worry and this is the ui paradigm that snapchat should use i actually um i think i was talking to rachel yesterday we were talking about the original snapchat app which was so ugly but it was like almost 10 years ago anyways so i saw this blog and i got excited because i was like this is the kind of ux content that this world needs and it's actually not that long of a blog post um it's based on a box view so i was like cool i'm sure there are other views you could do with that but um there's color and gradient animations so you know that's what does this little like swipe across i wonder is there a video in here i can't remember yeah so nice so it looks like it's loading and then your little items pop up um it's all just in your xaml and your your xamarin forms code so pretty easy yeah it is nice i've taken that approach myself in the past um and there's also a couple of libraries out there i think there might even be something in the community toolkit that also does this but sometimes you do want to have more specific control of things and knowing the basics of how to make it happen is really good so yeah yeah i feel like they have something in the community toolkit that's like this but i had no idea how it worked so this at least i'm like hmm i could do i could do that right i think it's called state layout in the community but interesting could i link that blog i can actually do you one better and link you all the blogs they're going in well generally our blog format for the link it's always the urls.com and then used to be xamarin.standup dash the month and now it's maui stand up dash the month first three or four letters and then the year so i had to stop doing like 19 because i went to 20 and then i was like this could be 20 anything kind of scary um this one gotta love it i'm all about migrating and updating these days i don't know if you've heard about this thing called.net maui that's coming out but i'm working on the uh upgrading and migration experience as is everyone on this team and sweetie who's in the chat so i love blogs about this kind of stuff but this one is like you know really taking an old-school xamarin native not even a forms project using mvvm cross um and moving it on to kind of the latest and greatest bits um including android x which i know people there's like a button like a check box that'll just kind of like do most of it for you but it's good to understand what's happening um this even goes into like pcl instead of dot-net standard and a whole bunch of breakdowns of like if you have an old xamarin project lying around that you haven't touched in a while and you're ready to kind of revamp it um this is a really good blog to read through and it just kind of shows you all the different places like these little namespace changes and random things get changed as as things have been updated um so yeah and then of course the android x stuff um and there's a guide on the mvvm cross website of course so feel free to like go through this i just found this like an interesting read i don't have any apps that i haven't updated because i usually just like am always updating them and they're always kind of like new but um i know dave has been digging back into the archives lately was trying to get everything onto forms so yeah sometimes it's pretty interesting to pull something that's really old like you know a two dot something uh xamarin forms two dot and uh and see what it takes to get that to maui or at least to five and because customers are going to do that and i want to make sure i know what that experience is going to be also mvvm cross or mvx as we liked to call it on my uh teams is great was great has been around a long time um and uh we did some really nice things with it both with and without xamarin forms we did xamarin native and same reforms it's also a really good option when you're doing like a mix of wpf and and xamarin mobile stuff so cool love it all right last blog and dave i don't know if you sent me links and i just didn't see them i didn't send you links but i have them all open here and we'll i'll add them to the thing later all right we'll add so yeah so dave will go through his pr's and i'll add them as we go but um this one's a custom control one from trailhead technology partners so that rodrigo wrote this blog i don't think i've actually heard of this like company before so i was excited because i always loved when new faces show up in our blog stream because you know we have a lot of the usual suspects who are great um but it's good to know that new people are writing vlogs about this stuff too um and this was kind of just like a basic like crash course on custom controls um and i'm sure most of the folks in this chat who are like experienced seasoned xamarin forms developers know what a custom control is and know um how to kind of get their way started with it but i remember custom controls being one of the things when i started that i was like what do you mean like i can't just add a border or before there were rounded corners i can't just round the corner now you have to make a custom control and i was like i don't know what that is that seems like way too much for me i'm gonna go back to tooling and hide in the closet um because i can't deal with that but this blog actually a very nice approachable you know way to kind of understand what a custom control is um you know it's if this one's using xaml this one isn't like a custom render or anything so it's kind of nice because i think the other thing i got caught up with is i went to go do custom controls and everything i saw was custom renderers and then i was like this is like way up beyond my beyond my scope so um yeah so if you have you know new people on your team i always love sharing these kind of like intro blog posts or if you're here and you're newer to xamarin and.net maui um yeah check this one out and of course this is just xaml so this will mostly map right over to net maui um you know it's mvvm we know we know how it works it's good so cool that's that's my blogs so i will stop my screen and dave are you ready for me to put yours up go ahead yep and there's no to-do entry well you mentioned uh you that last blog about custom controls so i thought it would be interesting to share this little project you can see it's 10 months old and all i'm doing is taking the to do app which is the to do app from microsoft cool app both on mobile and on desktop i'm not going to show you my to-do app right now because it's full of things i haven't done but they're all to do but there's a really nice uh you know kind of user experience here in terms of the edit field is also the entry field and it's a you know it's where you also star things for favorites you mark it done so for light and dark mode as well as these different looks i built a custom control for this so if you want to go check this out i think it's cool i wanted to share it because i didn't actually ever tell anybody i did this and i never did publish a youtube video although i think i recorded it so the raw video is probably somewhere around here but uh my youtube has been a little dormant since like oh i don't know february um so anyway there's that uh the other thing i was going to call out from calling back to rachel's uh when we were talking about the scaling of fonts this is the pr for that so the actual property is font auto scaling enabled and you can see all the different places where it has been added so if you don't want your font to auto scale for any particular reason you can disable it like this but by default it is turned on which is great because i know people my age who prefer to have larger fonts on their phone so that they can actually see things um how old are your favorite are you uh 20 28 right plus or minus 20. okay yeah that works um yeah i was uh having a conversation with rachel the other day she's the newest and youngest on the team i am the oldest on the team although i haven't been here the longest so just a funny juxtaposition uh let's see here i wanted to give a quick update on net maui so preview 7 went out a few weeks back and i did see somebody commenting in the chat you know had some trouble getting things set up and installed on windows and we we are highly aware that getting things set up and installed is still quite a chore maui check helps a ton and in the next preview we will have pieces in the visual studio installer that should really just take care of everything so it'll be more like your existing xamarin experience and you won't need to wrestle with a bunch of different things but we have work to do there we're smoothing it out it hurts us as much as it can be a struggle for you so hang in there we're getting there and it's all gonna be better in the end um in terms of where we stand right now now javier has diligently been keeping this status up to date and this is in our wiki where you can scroll down and you can see the pages the views particular controls all the properties and where are we with these things are they in progress are they completed and or are they not yet started so there are some of those as well and you'll notice just by scrolling through here most of it is green so that's really good but we certainly have other progress to be made before we are at a ga completed status this is about nine days old as i just said and uh there are quite a few things that have already been done so this will get even more green once javier gets back to it and i'll call out a couple of those prs here in just a second before i go into maui specific prs i thought that a quick update on performance would be interesting so one of the key things we want to make sure that we are continuing to focus on is android start performance in particular uh performance all all up was it stephen tobe that did a uh state of the union i guess yeah an amazing blog post it was like hundreds of pages or something i don't remember it it was enormous he went for the shock and the awe and he definitely got the awe but about.net all up in terms of performance and you know app sizes and things like that and so we're really looking forward to bringing that same level of focus to bear on our mobile scenarios it's not so much of a concern really on ios or even desktop but on android is where we all would like to see some significant improvements so the cool thing here and what i wanted to highlight is that uh jonathan pepper's just updated this pr with the latest profiled aot numbers so if you looked at the profiled aot numbers last month when we had this stand up because i know that there were quite a few questions in the chat during the stand up about where are we with performance the numbers were not looking good the i think profiled aot might have been even either right there with the jit or maybe even higher than the jit but you can see now that profiled aot is now below aot and so aot stands for ahead of time compilation profiled aot is essentially a hybrid where you pro you aot the things that are most essential to your app startup and then you can rely upon jit for the rest of uh the execution of your application and so this gives you the ideal balance between app size and app startup and typically that app startup is the cold start which means your app has not been launched yet and this is the first time you're bringing your app into memory so you can see that now we're below so that's really really nice we also have a mode in xamarin right now where you can record a custom profile for your application and then use that profile with profiled aot typically your application will be just fine with the profile that we provide out of the box but if you really want to get nitty gritty with it and get down to the uh this is the metal you can do that now that's something that you can also do in net 6 and maui but you're going to need to take some additional steps for it so we'll provide documentation and guidance for that for those who really want to go deep on it but there's your quick update and you can see also like the jit app size that's 17 megabytes and that's 23 megabytes if i can do my math properly so profiled aot not much larger than the jit apk and then i don't know what our aap sizes are i guess we probably should um do that also john john peppers are you listening do we need some a hey is it aap it's aap isn't it it's the new package thing from google okay so lots of activity on uh the maui repo highly recommend the good reading is looking at the pull requests that's my favorite tab to hit and go see what all is happening occasionally i'll go look at the issues especially when i start filing them but this is where you can see all the beautiful activities so i wanted to call attention to a few first and foremost this just came in hot off the presses 12 hours ago rookie java has landed the tizen pull request so you can see that and we speak with them regularly and had a meeting not too long ago you can see that they're doing some pretty cool stuff here they now have a back end for.net maui so we will work on getting this reviewed and in they not only have their own uh apps and things that they have but hey look at that it's the weather app on a tv nice didn't really think i was gonna see my weather app on a tv but there it is i might need to add some features to it but that's pretty awesome um let's see what else is in here oh and then they all supported the control sample and big shout out of thanks from the tizen team to the dot-net maui folks that would primarily be the engineers not me um so wanted to make sure that that love was shared as well so thank you samsung tizen team you guys are guys and gals are all awesome thank you exactly with them they were all wearing maui shirts by the way yeah they are my favorite oh i'll never forget when we were at the xamarin developer summit and they got us our cool stamps or um yeah they were like little ink pad stamps i have mine in my drawer somewhere it was so cool mine's yeah mine's on the table you all are the best so sorry everybody else they're the best so uh this is coming very very soon and will probably be in the next preview not the not the preview that is uh in the basically in the box this is new stroke so stroke is being added to i think most layouts if i remember correctly we're not adding it to every single control because not every control really needs a border but layouts totally make sense so you'll find a situation where you can wrap something in a layout and then give the border to it there but you can see just how detailed javier has gotten with with this i mean being able to specify solid dashed rounded uh it's bananas just how detailed he is here i'm sorry one of those options but was it butt i said button what butt or there butt what does that mean uh budded oh is it flat oh like a okay i don't know javier explain yourself maddie's blushing i just thought and i was like i did i make that up no i didn't it's that's what it is you know this is the sort of thing round or square that's what that read to me yeah yeah this is why you and i get along so well oh yeah yeah um this is a draft for a z stack layout um not committed to making this uh happen for ga release but if you are interested in this and you want to come check it out and give your feedback then please do to be clear this is not adding a z index property two things within this layout it's more of just you know whatever you know first in is the bottom last n is the top and it's a it's a it's a z stack simple as that and i you know when i when this first landed i was like why wouldn't you just use a grid and of course you know that's my simplistic view of the world right like why wouldn't you just you use a grid and those who actually know what a grid requires to do to make a simple z stack they're like well it's way overkill for just doing this so you would get much better performance or at least better performance much maybe well you know you got to measure it but this is the way to go so if you're interested check out the z stack layout and then let's see we just have a few minutes left um i want to call attention to the fact that xaml compilation is on by default you don't need to put an assembly tag anywhere you don't need to turn anything on if there are views within your application that you wish to skip xaml c4 you can still you can still decorate those views with that but by default all of our templates will remove um all the overhead of seeing that in your in your code files and just know that it's on by default xaml c does not get run completely when you're debugging but we do run the the xaml check to make sure that your xaml is valid beforehand we just don't run the full il il intermediate language generation at that point let's see here android sdk 31 is now required so i will include this in the next previews blog posts and documentation to remind everybody but you're going to need to go get android sdk 31 and this also means jdk 11 which is going to require a couple of uh choices on your part because once you turn on jdk 11 and you enable it in your ide you're going to break anything that requires jdk which is the current default so i'll explain the ins and the outs of that in the future just know that if you start opting into new android things uh you you may be going on to rougher terrain for the for the near future yeah vs 2019 is gonna be a little wonky with it um with jdk 11 because the android designer doesn't support it um and the device manager doesn't really support it in visual studio 2019 so if you have 2022 preview or if you have android studio you can make your emulators there and that will fix it the android designer is coming along um it was like weirdly complicated to get it to work on 11. so what we're gonna do is sneaky have a jdk8 somewhere like the smallest possible version of it for just the android designer to run off of until we're ready to actually rip jdk out eight out um so yeah so there's gonna be a little bit of roughness but like dave said but let us know um if you try it and what issues you're running into i've been using api 31 now for a little bit so it's working eventually yes so we will get there it'll all be good um i wanted to call out quick attention to xamarin forms and the planning for upcoming service releases so if you want to know where we are on track with service releases check the projects board the boards here you can see what is currently proposed i can sign in because i haven't done that a couple times today you can see what is being proposed to be fixed what is in in progress we're focusing on uh making sure we get the prs that are already available through first and you can see that javier has been on a tear over the past several hours on providing some fixes and gerald who has recently returned to the fold he's back on the team he is kind of taking point on getting our service releases teed up and out the door so uh if you want to lobby with anybody for things that you need it would really be helpful for you in the xamarin form space while we you know are doing so much work to bring everything to dotnet maui let gerald know and one of the key things that he's tasked with is identifying what fixes in xamarin forms can be ported over to.net maui so that we all get all the benefits and it's an easy easy migration to maui which is my last my last pr this is a pr isn't it yep so sweekie this is a pr for the.net upgrade assistant bringing maui steps into it so i've tested this i know matty you've been testing this a bunch it's getting better and better and i know that uh really all of sweekie's teammates as well are actively porting apps and providing feedback on hey this is working hey i got this error uh and then everybody and taylor southwick and others are like okay well let's figure out what that error means um and it's coming together uh what's your latest uh status on this particular project maddie because i think you've been using it more recently than i have yeah i it works on my plants app which albeit is pretty simple but it works um and it's been fun we're kind of like nailing down what is left to do after this tool runs um and there are some weird things with like it was built on.net 5 and now it's done there's so we're we're testing so if you really want to get funky there is a way you can grab this build um i would not recommend using it on an app that you actually care about but if you want to try it out and see what it's going to look like and i know we had squeaky on last month and she kind of talked us through what these steps are um you can you absolutely can so check it out i think this is just mostly interesting to me because if you look at the code changes that are actually being made here it's like really just in the project file and namespaces so this is another example i can point people to and they're like i'm gonna have to rewrite my whole app and we're like no no you're not most things are gonna stay the same but what's also nice is we found um what was i reading on teams this morning or last night some android something theme property doesn't translate over nicely from xamarin forms to maui so that was me yeah you're breaking stuff so but we can just eventually stick that in this tool and maybe it'll just fix it for you sound yes um yeah all righty so i have updated all the links as we've gone along i'll send it one last time because we're gonna sign off and get back to uh we have sprint demos actually right now which is very exciting so check that out yeah i'd love to be able to start demoing these things publicly because we have some really cool tooling stuff yeah and i think next month we're going to try and have demetrion to show us the latest and greatest with.net hot reload i tried to get him today and he was like i want another week because it's going to get really good really quick we were like fine fine dmitry so all right well hey thank you everybody for joining it's been another amazing uh xamarin so oh my goodness don and maui community stand up i almost made it the whole time without saying xamarin instead of maui but we'll see you again on october 7th that's the first thursday in october and i know that because it's the day before my wedding and this is the last thing i'm doing before i'm taking off three and a half weeks so see you then bye [Music] do [Music] [Music] [Music] [Music] my do [Music] [Music] [Music] you
Info
Channel: Xamarin Developers
Views: 2,277
Rating: undefined out of 5
Keywords:
Id: E6vss3N7gJc
Channel Id: undefined
Length: 65min 3sec (3903 seconds)
Published: Thu Sep 02 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.