Tasks Of Affirmation: A New Twitch Live Stream Series

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
start perfect timing i did not plan that hello everyone welcome back happy wednesday missed all of you i've missed streaming it's been been a couple weeks but we're back it is now september too um very exciting time of the year getting closer to fall i love fall how's everyone doing hope y'all are doing doing well um september is actually kind of exciting for me because um some of you know i have a blog that i've plugged a little bit on stream here i think i have the command for it um i do so tomorrow september 2nd android essence is going to turn six years old tomorrow is the six year anniversary of the first blog post i ever wrote and published um which is crazy to think about six years is a really long time that's cool to look at like everything i've done since then um just wild uh i would say that i remember the date all the time uh but the real secret which i told my friend prince is that it was because i got the domain expiration email a couple days ago to make sure i go renew the domain so that's how i knew that that anniversary was coming up um yeah it's been uh it's been a fun journey i was actually i didn't look at it but i'm gonna pull it up in a sec um i thought i remembered what my first blog post was but i'm actually wrong um it wasn't my very first one so ah you can't see this because i'm not on the coding screen ah when i switch over i was looking at this my very first blog post oh by the way sorry i'm gonna be doing a lot of adhd jumpiness today um i gotta get my meds refilled i updated the uh overlay um this is actually new as of like last time i streamed but i threw in these youtube and uh twitter icons at the bottom um for now until i can probably add some more there it would be cool to add like a github one um if i ever do another like subscriber goal thing i'll put stuff down there but just playing around with the overlay keeping it exciting trying out some new things and my very first blog post was on how to hide the floating action button when you're scrolling a recycler view so something like this but like you see as you scroll down the button disappears and that's really cool because like that button takes up a portion of the screen right so it blocks some things so this was made to be able to hide that so as you're scrolling you could see all of the data um i think came back as you were scrolling up yeah so i it's kind of it was a fun little thing um i actually don't think that my i'm just scrolling through this my style obviously this was back in the java days look at that but my style of blogging hasn't really changed in six years i've kind of always followed the same uh recipe for every blog post which is just like tons of code samples paired with why we're doing something it's very like step by step to if you were to follow through with this maybe i'll make a modernized look at that support this is even before android x this makes this blog post feel ancient beyond being six years old and just like the dependencies in the language and maybe we make a 2021 version where we scroll through a lazy column and we show and hide our floating action button um i wouldn't be surprised if the material scaffold did something like that out of the box but i doubt it but we could totally build something like that uh which yeah i'm just kind of rambling on um because i don't have a ton planned today although that's kind of a segway into one idea i did have is um deprecated annotation yeah of course um one thing i did want to talk about tonight and i'll wait a little bit as people trickle into the stream but uh i want to talk about future streams and some ideas that i have um moving forward uh and get some people who are here in chat get you all involved in that process and your thoughts especially tracks and others who have been in the stream for a while and our regulars here uh would love to hear your insights on what i'm thinking but i just wanted to talk through some stuff since i've been gone for two weeks maybe later i can show off uh some of the vacation photos from that trip but um yeah what else actually so i was looking at this and i thought that my first post was uh actually one of mine sorry hold on trying to define a ah so i wrote this post which was apparently like my third blog post which was uh comparing recyclerview versus listview it's very funny this post is okay so next week it will be six years old and when i look at google analytics this actually remains one of my top blog posts like to this day and that actually surprises me that like people are still looking into that um i feel like we've had recyclerview well we've had recycled view for six years now um so it's really fascinating to see that people are still investigating and understanding the difference between the two and so yeah it's very funny i've written i don't know there's 11 pages of blog posts in here and my third to oldest one is still my most popular um but that's good i'm glad it's helpful um yeah thanks for indulging me in that that trip down memory lane um it's a shame that i haven't blogged in a while i think my last blog post yeah this was back in march i used to try to be super rigid about it but that's just unfortunately not easy and sometimes it's something nicer than right when i like feel like i have stuff to write about but i've done a lot of stuff since march i definitely could have filled out some more of these but now that we have a few people here i could talk about some ideas uh for future streams so let me give some historical context of this so when i started streaming uh which was a little over a year ago actually um one of my ideas was that like a lot of science and tech streamers do is building an app from start to finish like recording the whole thing doing it live um giving people that experience of like seeing something built in production out there in the open and we've done that we we've worked on this study guide app but if you haven't seen this exclamation point github in the chat uh this is like a study guide that pulls a list of blog posts from that blog i was just looking at and everything in here was live streamed one of the problems is in the craziness that was last year for a whole number of reasons um i wasn't always great about recording these streams you know it's like kind of half-assed what is on youtube the playlist hasn't been updated in like half a year um not even all the streams got recorded um but i've gained a lot of following in the last few months and even weeks really and so i've been thinking about restarting this idea um i've learned a lot more about streaming um you can see a difference just in the overlay compared to when i started streaming um like the music before i started i've i've spent a lot of resources getting better at streaming and i've thought about taking that opportunity now to restart that idea and have a new central focus of our streams at least for now i've also talked about i would love to have like one day focused on building an app and another day focused on something else um or like random topics we want to explore for example but if we're going to restart this um i've been having an internal debate on whether i want to kickstart the study guide idea or i want to build something new and i had an idea of a new app that i was going to show off like super super super basic screenshots of what i was thinking um and then maybe get some chats opinion on whether or not that might be a fun thing to build on stream and i think i actually have some ideas on how we could make that a little better uh specifically around like i think the reason another reason the study guide streams fell apart is because when i started i really only had like five or six streams planned out in my head and then when those ideas ran out i like showed up every wednesday having no idea what we were gonna work on and we found some things and we had fun but the problem was it just never felt like cohesive um after a while and so i was thinking if i were to start a new app from scratch that we would actually spend some time and maybe even do this on streams of like planning out the app first um i even thought this could be really slow like we could silly like we could either look at mock-ups or something together um but we could also even like set up like github issues and like i'm not gonna say the word i'm gonna say it but almost do like planning and scoping of the project and then but that would be really good because that would help give me guidance into what we're going to build over several streams um as well as make a plan for upcoming streams so people know what to expect um and then we don't have this problem where i show up on wednesday and i have no idea what we're going to be doing right like it helps me stay organized and i think that you know i talk about my streams and how i want to teach people android development but i also focus on some of these other things that aren't just code right whether it's documentation static analysis but i think issue tracking and bug reporting are part of that process and in previous streams those haven't really been a focus so if we go with an idea of restarting with a new sort of app to build um like next week or the week after we would dedicate a stream just to like planning it out um and that would allow us to look at actually a lot of cool tracking tools that exist inside github that we might not even know about like um if you've ever used like jira or trello or any of those kanban board tools uh you might not know that github actually has a version of that built in where you can drag and drop cards as you go through um and then that's another way to have transparency on this project that's like where it stands so that's my long spiel um one idea is we restart this with the study guide one idea is chat gives me an idea of something you'd like to see built or i will keep rambling and i will tell you this idea that occurred to me while i was on vacation around a to-do list app um these come up a lot and i think sometimes people are tired of seeing to-do list apps as resources which is fair right because it feels like we're building the same thing over and over again um and that's one reason people might hate using to-do list apps in the first place is because like there's so many right um but when i think about to-do list apps one of the things i think about part of the reason there's so many is because everyone likes to stay organized in a different way right so one idea is i could build an app that helps me stay organized and the consequence of that is it my network for all of you but it can still be fun to see how it's built or where i really wanted to go with this sort of sentimental aspect was you know staying organized is hard um especially for people who have like adhd or just for any number of reasons right like staying organized is really difficult and sorry i'm tripping up over the words for this but that's not always something that is um can be solved by technology right like part of the problem with staying organized is like just being able to focus feeling motivation um fighting off the negative feelings like guilt and stress and overwhelmingness and um sometimes when you have an app designed to keep you organized and apps their focus is user engagement right uh sometimes they can be counterproductive like i'm the kind of person if it takes me like some mental effort to complete a task and then someone reminds me of it before i'm ready to do it like i get all stressed and then i want to start over and so i think of like to-do list apps that are like um that send me notifications and reminders like unless i've explicitly opted into it like that's almost counterproductive to the process so one of my ideas was like what if i could take that and like build like a wholesome to-do list app uh that would have like um you know that would try to keep that in mind as people use it and try to like offer words of encouragement and help in getting organized and an app that like didn't make you feel guilty if you didn't complete a task and one that like congratulates you as you were completing tests and remind you that you're doing a great job you know those are some high level ideas so i wrote some like super rough mockups here of like what this might look like right and there's just three so let me talk through about like what i think like this could be versus like a traditional app it's like an onboarding flow that's like got these nice colors that says hey like congratulations on your journey to getting organized right like we know that getting organized is difficult and um like that alone takes a leap for a lot of people so starting off right away like feeling good about this step yes exactly what track says like one to remind you that you're not as bad as you believe right um so like another example is like as you're completing tests even just completing tests we could throw a pop-up that says like congratulations you've completed a number of tasks and i've actually thought about um i would actually given everything i just said i would change the wording on this screen to not include the number like to just say like you've completed a number of tasks like you're doing great i think one of the problems with numbers on screens like this or statistics around like a to-do list app is that it adds to a gamification right and i don't want to create an app where people are screenshotting and being like i've completed this number of tests and then people who didn't feeling bad about it so it actually changed this morning to just like congratulate people on completing something they were working on and you know i i kind of went back and forth on that i think like some stats might be helpful to people also hi betty great to see you too um you know like what i really thought of in the pop-up was like if you complete the task let's say you enter a task and it takes you a very long time to complete it for any number of reasons like then it's almost especially important to like through a pop-up and say like hey this must have been really difficult for you but you finally got through it you should be proud of that like we could have we don't need to say or remind these or how long you know we don't have to be like ah this took you six months but we could like do that check programmatically and then show an encouraging message like hey this took you a long time but you finally got through it you should be proud of that um and similarly i thought like we could even offer like inline messages of encouragement right like if we were showing tests by timeline we could like have this you know divider in the middle that says hey these tests have been here a while um but like offer encouragement or help on like how people could get through them like consider breaking them into smaller tasks or asking for help if you need it uh because one of the ideas i'm thinking of is like if we want to make this wholesome to-do list at that's helping people um and we see that there are tasks that we assume are difficult for people like there's a reason for that we don't need to make people feel guilty by reminding them how long it's been they're like showing them how long it's been sitting there right but just like what do you need to do to get this done like that's what really matters that's what helps people so trying to keep that theme as like something we could center around the app um so those are my ideas i think this is something that like i would benefit from because i definitely have like um struggles around motivation with staying organized so something like this would be helpful to me no matter what but just curious if chat likes this idea and if you think this would be a cool thing to build on streams moving forward uh but we've got an idea from halliburton here let me read this so an intelligent grocery list app lets you scan barcodes of products it remembers your last list to suggest items during shopping it will learn to order your crossing out items and present them in similar order next time so you're not searching around the store interesting i could see something like that being helpful um i wonder there might be some sort of public api out there for right um scanning public barcodes to food items and stuff my wife and puppy yeah i mean something i like what you said about like learning the order right so it knows um where in the story you are uh i think that would be super that would help me like every time i go to the grocery store which is never um but you know like twice a year i always forget where things are located that's a really good idea so anyone in chat have thoughts either on the new ideas or one of the two ideas i talked about on what you think would be interesting uh for streaming about the future and i don't think we have to decide today um saw a number of people who couldn't attend this stream on twitch on twitter and so i'm thinking of putting this conversation up on youtube and encouraging some people to take part in it and or writing a blog with my ideas uh to gather feedback and see what other people would think about um because i actually have a decent youtube audience my youtube audience is like double my twitch audience so a lot of people are going back and re-watching these streams so i want to make sure the people who aren't here live also have a say in what they want to learn about what they want to see so i'm going to find some way to make sure they get incorporated in that and then if we do feel like coding we might just like start creating this uh project anyways because like i said it's something i would like to do but um i would probably limit how much i do on stream unless unless i got like a unanimous thing in chat like ah we want to do this then we'll just start on it today also open to naming ideas but yeah i that's kind of what i'm thinking like i don't want to trash the study guide app but starting over with um new practices like compose right from the beginning right um benefits i've learned from streaming uh would definitely show better new ones so but then it's just a question of like what what is that new app right um also open the naming so rough idea hear me out you know how like i talked about this as wholesome and helpful and like i want you know made me think of one some people's love language is words of affirmation we could call this tasks of affirmation toa attached to the information just a thought right um but that could change mobile game says i think you should just do something new just learning android so fresh app would be great to follow also great feedback um that's been a hard thing for me to think about as a streamer is um it always starts off great like when i do this it will be really great for the new learners um but then it will eventually hit a point where we're building an existing app and it's not so helpful for new people and i go through that debate all the time you know new people come into the community and i want them to be able to learn from me so i don't want all of my content to be intermediate or advanced focused um and i try not to even when we're working on existing stuff we've had new people come in the stream and i always try to be helpful um and i have like that recap command that i try to encourage people to use um you know mobile games you specifically or anybody who is watching this who might be new uh to android dev if you have thoughts on how i can make this more inclusive to people like you i'd love to hear that um because i want to find that balance of trying to be able to educate everybody um and that's hard right some streams some streams you can do that uh we've looked at some topics that i think really helped like everybody new and experienced uh but then other streams like by nature of what they are you require like a limited amount of knowledge going into that um my slack notification should not be going off sorry about that let me close slack um also i hope that wasn't important because i didn't even read it see it pragmatically let's see different technologies frameworks used together like having a database in the background or using the camera to see how this all work um everyone wants to see up the whole resource stuff is set up yeah um you bring up a really good point uh that i also struggle with in coming up with these app ideas is um by nature of apps that just like make api calls and pull some data um there's a lot of segments of android that i'm not talking about right like i'm not talking about cameras i'm not talking about background jobs or like work manager i'm not talking about um i don't know what am i missing any sort of sensor integration um and i think people would be interested in those things and you know i don't know if the solution is to find an app that has it all or if that solution goes back to structuring how i stream where you know i stream more than once a week and i have a week dedicated to this contiguous project and a day dedicated to exploring random stuff that i might not get a chance to and that would be a really cool like series of streams around how do you work with the camera how do you work with like the gyroscope um things like that just a thought i'm working on it the problem i mean i keep saying this because i would love to pick up a second date uh but life gets busy and it's hard right um all right there was a slack notification on my phone and it was not important life is busy and it's hard but i would love to find time uh make some more because we've also talked about like viewer count you know i'd love to be able to reach more people when we do this live um but i think the timing that i stream is difficult but i also just i talked to some other like the one or two other android as streamers i know and no one seems to have like the amount of uh traffic that like some of the web devs do but maybe that's a number of people um but speaking of that before i forget some of you might see it in the twitch title uh but we've got a nightbot command for tonight uh if you do cwti it reminds you all that um wait why didn't it go uh maybe it was a nightmare timeout um but sunday i'll be in code with the italians oh now it goes twice um to talk about swipe to dismiss and jetpack compose so yes what tracks it i'll be on twitch this weekend um that's like sunday morning eastern u.s time uh i think it's like sunday evening over in italy but do follow them on twitch uh and feel free to come hang out some of you who are regulars here have already seen swipe to dismiss and compose uh but we'll be able to take what we learned together and share that off with uh sebastian and ivan i think is the other person's name all right that was all of my talk all of my thoughts from this entire day in the last two weeks uh dumped into the last 30 minutes and 20 seconds so i have an hour and a half left to kill before i have to get out of off of here so what do we want to do for an hour and a half um if we like this idea we could talk about it a little bit um maybe without doing some coding but like uh kind of list out like features that would be fun or we could take the opportunity to explore something different tonight did anything new come out in android in the last two weeks since i was on vacation um i did see [Music] one interesting thing actually um let me find it real fast um this would be cool yeah so some of you may be familiar with material components android maybe github public project to track the redman almost certain that much of it has to do with consistency of streaming yeah that's possible um i would say that i stream pretty consistently but one of the problems being i only stream once a week and for like an hour or two max oh question from trex uh can we navigate not compose so existing navigation opponent from one nested graph to another without referencing each one and the other one i don't know the answer to that the only time i've seen that done is you have to have that reference but i don't know the answer to that um so matt's point uh yeah maybe i'll just make a public repo and i'll track some ideas uh we'll do we'll do that um catching up with something yeah so i just want to talk about one cool thing that i saw um in the android world before we move on so many of us are familiar with the material components android repo i will drop this in here um if you're not but this is uh what allows us to implement material design so i'm pretty sure that like this repo has like card views and resources and colors that like match with material design and stuff um and just a couple days ago actually yesterday uh they pushed a release 1.5.0 alpha 3. it's still an alpha release but what's really exciting is targeting api 31 which is android 12 but early access preview of material 3 which i believe is codeword for material you which was announced at uh google i o um where we'll be able to see like um styles and everything that you know match like an overall system material theme so here's a whole bunch of stuff top bat bars fab styles button styles chip styles et cetera et cetera a whole long list i haven't looked at this yet um i don't know if there's a composed version yet uh i don't have an app explicitly using um what's the word they supposedly using like xml components anymore to test this out on but that would be some cool stuff i do have if none of you are using the beta i do have a version of a phone with android 12 on it that has some cool material view stuff uh but let me see i should probably change my background because i don't want to use this person's picture but like let's do this let me change my background and then i'll show off uh some material use stuff real quick i did see that that chris baines is no longer with google um sorry i am looking down at my phone because i'm going to just connect this over adb and then i'm going to screen share to show y'all something cool just give me one moment while i do that um i'm doing this off screen uh so that you all don't see the what i'm typing in here but i'm here i promise uh chris baines was on the android team i think he worked on the ui toolkit or maybe just really well known for a lot of ui um libraries but yeah he was uh super well-known um oh okay i might need to beginning to update screen copy um because i don't think it works with android 12 and the version i had didn't work with android 12. uh i didn't think this through um let me figure out i forgot how we installed spring copy and we literally have to download it from them no wait that's ow upgrade screen copy all right that might take a second for me to uh upgrade yeah i downloaded the screen copy right when like i was gonna do a stream the day the beta came out um but then that didn't happen all right that's running off screen we'll see how long that takes but um yeah i guess we could do a public repo like matt said and talk through ideas um let's do that real quick oh apparently i have to sign in do i have aussie on this phone i do not i have it on this song nice okay let is let us make a new repository there what is the test of affirmation do we like this name idea what do we think right toa should i just call it toa in the repository though i guess i could and i'll give it the full app in this will be easier for people to remember and search it up i stay organized and feeling good partial to cuddly carnival am i missing a reference that's oddly specific i feel like i'm missing a reference there oh okay yeah i was missing the reference wait no i don't actually want that depth um that's funny i wonder how they generate those i have thought about aware os stream and i think i was kind of waiting for um actually matt would know the answer this do they have composed support already or no but i have been thinking about aware os stream uh yeah and i was waiting for there to be compose support that's also why i haven't done a widget stream yet um but i should look at the road map and see how far away those things are because if if you know compose for wear or composed for widgets is really far away then i could still do it and then um we could just redo the stream later but i'm actually curious why it doesn't work out of the box i'm not sure what's up with that uh nice okay so i'm going to create this repo um and we can either do a road map or i can do the uh yeah we'll start with making a road map but while we're here wait um apparently i did brew upgrade screen copy um but it's still crashed um is there a way to see my current version um does anyone know if uh you can like actually here let me just look this up real quick do ah i can do brewing um there's a lot going on here but is that my current version okay i'm not sure what's going on with that but i will uh dig into that wait what are remote views where in widgets use remote views i don't know what those are gotta hydrate cheers whoops the lid is on it i see remoteview is limited to support for the following layouts um so can i hack this and put a compose view inside of a frame layout inside of a remote view because i know that's possible we did that maybe we could look at that one day composer wear os let's see if there's something about it oh wait we've got an android x.were.compose um i see so this is in early alpha stages still it says alpha o5 if you could read that um so it sounds like it technically exists it's just not stable yet um that's cool so all right let's let's go back to our a toa rebo here um and i guess let's talk about like uh so um [Music] let's come back to this projects tab let's make a couple issues um let's make a couple issues of what we want to work on but actually i'm sitting here thinking about um something that would be nice to add from the beginning are like issue templates um not sure if any of you have seen those but we did a stream where we looked at pull request templates there's also ways to create issue templates um i forgot how to do that let me see if i can find it in settings i might have to look it up let's start by trying to make like a uh an issue template um i'm gonna just have to google it and we can make something like that and i'll show you why that's cool okay so we go to settings features setup templates um ah that's down there okay so let's do this real quick so if we go to settings wait where's features features setup templates right in front of me let me zoom in again so you all can see this so with the settings features and we've got this uh setup templates button right here so if we do this we can add like a feature request which is what we're going to start with for sure and then we can preview and edit this so this is actually really nice let's edit and um oh this widget is really cool i'm not used to seeing this so we can give it a name uh we'll call this feature request um do i want to call a feature request or do i want to um if do i want to make this like a task or something um so i'm thinking about if i make tasks for everything um i kind of want like a template just for that maybe we skipped the feature request tablet for now maybe we just kind of fill out some some issues ourselves and then as we go maybe we can add this up so what do we need to build aside from like everything um because we would need like a like an onboarding so sorry my brain's jumping all over the place let me try to tell you where my brain is jumping so with building a complicated app like this we also have to have a debate on like how functional we wanted to be from the start like um do we want to consider like users being able to create some account and logging in with that account in the future and like would we use some sort of back end to deal with that um would we use some sort of like remote back end to saving items or would we just save everything locally on the device um i think like on one hand i kind of rather just like build something that works locally on the device and then if we do that right with proper abstractions and stuff building something that uh would be supported by some remote backend becomes a lot easier right so actually well with that we could even get more meta and we could start off by um putting some of the meta stuff right yeah that's what i was thinking so let's throw that in there like let's add um google sign in so um rather than inputting uh username and password let's allow the user to sign in or create an account with their google login okay we could do that um do we want to give these labels um maybe that right away uh we'll talk about projects in a second i want to add a few more tickets um but okay so we'll do that i also had this idea of like some of the meta stuff so we could say like add we could talk about some of the tooling that we plan to use in this project so for me i love kt lib which is a static analysis tool from pinterest that makes sure your code is formatted correctly so let me look it up uh actually that's a gradle plugin that i'm gonna use here this one and this plugin to ensure that we always have formatted code okay so that's one thing we're going to need to do um we are also going to need to add detect uh if you're not familiar with detect that is yet another static analysis tool i think it's this literally um for checking for code smells so detect is really good about checking for like magic numbers um are your files too long or your methods too long uh so we could do this so adding detect allows us to make sure we have no code smells or other complexities um what else are we going to need to add well we're going to need to i like to add git hooks to run static analysis checks so for example i like to write like a pre-commit hook that will format all of my code before it gets committed and pushed up to github so we could say you know adding um hit hooks allows us to ensure code is formatted yes what that said uh make sure user has reasoning out the machine uh and there's actually um speaking of sebastian uh with code with the italians sebastian has this incredible blog post that i just today realized was written by him uh i have used this holy grail for like three years now um that's actually about how old it is uh every time i make a new project i use this to understand git hooks and how to use them to run these static analysis checks um what was the other one oh we're going to say add github actions oh we want to add danger i did that in the last app we'll do this again for pr automation so adding danger let's look that up real quick that's actually danger dot systems yup uh and i like i typically use the ruby one so let's say adding danger uh allows us to automate automate tedious pull request checks so don't worry if you're not familiar with the tools the three tools that i just named i think all three of those can go in their own stream where we get started with the rainbow we can add all of these things first um but with that we will want to say add github actions to validate code so running gonna have action allows us to ensure test path um code is formatted and run danger checks okay so we wrote down a list of issues um specifically the second these last five um would be really cool for which one sounds badass danger or the good hooks um but i think these last ones would be really good for like their own individual stream uh i love these tools i love talking about them uh yeah uh were you not there for the danger stream that i did before um if you haven't seen it uh i'll see if it's on youtube it might not be or i'll just let you know when the next one is coming this is one of my favorite tools out there um so let's talk about projects this was the thing i was going to show off that uh people might not know exists so you can organize your issues with project boards um set up a project board on github to streamline and automate your workflow so they highlight a few things here that you can do like you can sort tests and prioritize them um status uh you can set up triggering events to save time um tracking progress you know each card has a unique url making it shareable that's nice um it sounds like you can close your project board which is interesting i don't know i thought project boards and github were meant to be like a sort of living thing um but it sounds like maybe that they should be for individual things so what if we made a project board for like um you can have multiple projects in one rainbow that makes sense i guess so matt do you have any idea well so thoughts do we want more than one for this board and if for this project and if yes how would we split it up like we could make a project that is for like the mvp um we could make a project for like um like what's the word all the tickets we just make go into their own project which is like um developer friendliness app initialization there's gotta be a better word for this um but we could take this sort of meta developer experience thank you we are creating a developer experience project um this project is to track all tickets related to developer experience and maintenance of the codebase itself cool um apparently there are templates here um i think i'm gonna start with blank and configure it ourselves um but yeah this will be a project i think this sounds good speak now although i can probably edit any of this and let's create a project let's see what we get all right this project doesn't have any columns or cards so let's add columns i think i'm going to add the sort of what i think are standard kanban columns so we'll have our to-do um i'm not going to worry about automation yet let's create our columns and then hopefully i can like edit automation later um yeah so let's create our columns we've got to do we can have in progress um do we want okay so since i expect to be the only one working on this i don't think i'm gonna make a code review column uh so i think i'm basically gonna do to do in progress and done um and then if that ever changes if we ever get more contributors we could have like a code review column here um that's cool we've got cards blocked again unsure if i'll ever use that but you know what let's add it um there could be some reasons uh i i meant that hold up i'm not trying to uh toot my own horn here and be like i'll never be blocked i'll finish everything i just meant like um also wait why are you that there we go i just met like i usually do finish things in a stream uh but maybe for some reason maybe i do get stuck one day and we want to mark it as blocked um we can totally do that okay so we've got our columns uh maybe i zoom out a little bit more now so you can see them but then i i feel like you can't see anything so we'll go here um let's add cards first um oops can i nice so i can add cards right from issues and i can just drag nice i love this and i like that it removes it as well um okay so all of these things are to do for developer experience um so how do we um deal with automation well part of this might come from trial and error because uh i'm not actually going to add any code yet or maybe we will maybe we will i still have the whole hour left um let's look at actually i don't think i'll ever automate anything well let's look at manage automation and we'll see what we get um interesting what are these presets let me look at in progress then so if i could manage automation and there's an in progress preset ah here we go okay so let's see we can move issues here when an issue is reopened i don't want to do that um i wanted to see if i could do some automation like when i make a commit that references an issue move it into this column and github should be able to do that um can i not give my own thing what does to do give us um so i like this i could move pull requests based on information um done let's close so maybe there's not automation um well done i can definitely do this right so i can say for done i can do um done if an issue is closed um the newly added should do that seriously but it's not the issues have already been added oh wait sorry um so like pull requests i could do but the thing is it says move pull requests here when so that's going to move the pull request in and not the issue actually that feels interesting what would that actually do then because what happens and then how do i do you pick a project when you add a pull request so how you do it um you can reference an issue from a pr yeah so maybe we want this but uh i should look this up let's see can we get that project we'll pick it based on commit let's see if someone has done this before um someone made a bot for this uh maybe it does um okay this is complicated um i think what we'll we'll we'll leave this done automation um but maybe we have to kind of do this uh manually to start just something to think about but i will try my best as we build up this app to tie commits uh closely to um the issue that they're solving that's definitely something we could work on uh okay this could be our project board um we could make a new project board for also does this now nice so i can see the project so this is ooh i can also move it right from here right on the issue so actually this will work out pretty well um when we start a stream and we say oh we're going to do this we can just move it to in progress right from here um or we can obviously like open up the board and say this is what we want to work on then we can just drag and drop things you know as necessary um all right that's cool this is uh i'm actually really looking forward to this i think this will be fun to make part of our process but like i said this will help me stay organized so i can more clearly pick ideas moving forward than just showing up and having no ideas so let's make a new board now i'm having fun with this um let's make a new project and actually let's call this one uh like onboarding um so this project manages any issues uh related to getting started with the application okay so um i'm just looking at the template so basic kanban is basically i said basic twice uh basic kanban is the template that we just made uh even though we added a blocked column but um oh and this gives me some helpful information but i don't want these can i remove cards i can archive all cards i don't want that i just want to remove cards i don't know what that means i would ignore that um okay so what are we gonna put in here uh well we're gonna add google sign in that's going to go in here do i prefer to use mvvm or clean architecture i don't think those mean different things um i think there's a lot of overlap between those two statements um i think if you can give me a more specific question i can try to help but um like i do like the mvvm architecture and i think that it can qualify as clean architecture oh no we've got links hold on let's let's uh we're gonna delete that and then hopefully we don't have any other issues um but welcome from peru i'm glad you could join us um we are we were discussing a new app that we're going to build on stream and uh right now we're just kind of creating a bunch of github issues and talking about it so we're going to build like a to-do list app uh in upcoming streams and our plan for today is to just do some organization and write some tickets and give us ideas for upcoming streams in the future so let's keep going with this onboarding project that we just made so we have um the sign in with google uh or sign up uh we could go a step further and just have one that says like create sign in up page or create landing page and we could say use this page to allow the user to sign in sign up uh because that's the new so i think projects we can yeah throw this right into onboarding um now actually this is an interesting thing so will the automation handle that if i go to projects now i go to onboarding um the issue is not automatically added so maybe we should add some automation to these um so for the to do anytime i add an issue to this project i want it to go here and maybe yes for reopened um but i don't think i think i'm going to have the focus be around issues and not pull requests so i'm not gonna do any automation with pull requests um but let's add this since it was before the automation um so then i'm also going to go back to developer experience in case i change this i'm going to manage automation here um and then update automation okay so newly added ones will get added there um okay so what else do we need for like an onboarding flow um but i guess that would depend on how complex we wanted to be like do we want the landing page to just like have sign in with google and if we do um maybe the next screen is just like implement welcome screen so we could say you know after the user signs up show a welcome screen congratulating basically this this idea like this could be a welcome screen uh congratulating the user on getting started on their journey so congratulate them um congratulate them i'm getting started to being organized um maybe this includes apple stream depending on how much information we want to show okay so now i'm actually going to look at um oh look you could actually see it right here uh added this to to do and onboarding via automation now okay so that's all fun um is there anything else for onboarding that we can think of um [Music] if the landing page just has the google authenticate button i don't think it really matters if you're signing up or in right because the same button would kind of handle both versions of authentication and then take you to the welcome screen um so maybe the next thing we would think about is like a home screen um and what should be involved there let me know if you think i've missed anything um i think we could come back and we could add like a more proper onboarding flow that doesn't require google authentication um but maybe kind of overlooking that idea for right now um what do y'all think i think we can overlook that for now um and then we could go on to sort of like the home screen and splitting that up into issues and to do that uh let's make a new project uh help screen to the main screen of the application showing a list of tasks i actually like this because we can um we can take this and we can oh i know i wanted now hold on i want to just delete these um i wanted to use the automated kanban but actually it's fine because um i just want this newly added one but okay let's go to issues and this could be a fun way to write out possibly a number of ideas for a home screen um which like okay so the first one is like create home screen container so this will probably be composed but we'll need some sort of basic container uh to display what's on the home screen right um not sure if this should really be its own issue though maybe that's too small um where can we start let's start with the pieces so one thing is we're going to need to create a task list item ui uh we can just build out um the ui to show a task list item uh that will include like the data class that um powers that item and then we could even like unit test some stuff about that item like maybe we show like complete not complete and etc etc so we can start with that wait did i not save home screen um hold on projects no it's there why can't i oh because it's not recent that makes sense um no wait that's not the one home screen there we go um yeah we can leave it at that uh then we could have like a create task list you act um and then this is really cool i don't know if you've you may have seen me use this before and github if you put the pound sign you can reference other issues and pull requests in your repo uh right from here so i can specifically say that this is following number nine um create a list ui uh that shows uh multiple tasks in a scrolling fashion okay and then this actually creates a hyperlink right here so i can see that and then it even shows like inside number nine right i see adam mentioned this issue over here uh this is super huge for connecting all of the dots in a github repo like i think this is super helpful um all right so we've got a new issue we can search keyword too oh yeah like in the repo search you mean yeah there's a lot of cool search features there um what else do we want to add on our home screen um wait whoa as if you put the hashtag you don't have this or but you don't have to search just by number i did not know that you could do this oh my god do you know how much time this would have saved me in past projects i'm so glad i learned this that's very cool thank you for sharing that i'm totally gonna i'm gonna love that um empty empty state if the user has not created any tasks sure that they say that maybe instructions i've had the pregnancy uh what do you think chad if we started okay so there's probably more to this actually there is a little more to this which is um [Music] implement past repository so implement some data layer allowing us to store and receive past that the user has created so we'll put separate tickets for creating a task but we will need this ticket for implementing a task repository and with that we're also going to need to um think about where we're going to actually store and receive those tests from so i would vote to start without worrying about a backend that we just store everything locally so i'm going to say implement a group path database to store receive tasks so again following and i'm going to use this i'm going to try this out uh number 12 which is the past repository one um let's create a room implementation restoring paths actually i'm just going to say story paths but it will be implied that we can also retrieve text for the home screen um okay so brief question for those of you who are still here in chat um if we started writing some tickets for being able to create a task would you still want those in the home screen or do you think we should create a like task creation project i'm kind of thinking that i don't know i'm torn um i'm fine with having sort of bigger projects per screen because we can close these and get rid of the cluttered later so i'm kind of leaning towards making a uh a new project for like adding tests modules question mark what do you mean i meant as far as the github organization like do i want to make another one of these for the idea of creating tasks in the to-do list or would that just fall under home screen because that's where the user will be when they like click a floating action button to add tests i have those big projects but as modules for one task yeah so i guess kind of like what we're doing here right but the question was just whether adding tasks became a new thing but i think we can do that let's make it a new one um all the tickets related to task creation actually it's called task management um creation deletion completion oh my god what what uh what an alliteration um we can put tickets in here like um allow user to create a task allows the user to delete a task allow user to complete a task edit a task those can all go in here um i could probably archive these notes but the reason i'm deleting them is because i'm a stickler for um actually wait does this that does this issue have um for uh what you call it just organization i guess um we're gonna give this one automation newly added issues going here i should have also said reopen let me make sure that the others have that too if we ever reopen an issue for some reason i want to make sure it gets re-added to the project so sorry while i just check all of those to make sure that they're all reopened it's checked for all that thanks okay so let's add some more tests um allow user to create a task so that will go in the task management project and allow user to delete the task we can say allow user to do we want to provide edit support i would assume yes people make typos or whatever else like you can say edit a task and then allow user to complete their task we're about twitter yes we can edit um i'm actually going to um so i'm gonna go back and i'm gonna change the wording on some things uh inside this task repository i'm gonna edit this and i'm gonna say let's just make one to receive tests because when we start with the home screen that's all it's going to do right it's going to pull existing tests and then i'm going to make a new issue for um update task repository to store update tasks so um after so after um implementing the task repository uh let's update and and the room one will say we'll just start with past repository to store new and added new or edited tasks and actually i think that means for number thirteen we should say update to retrieve tests okay this is fun i feel i've never felt so organized on a public project before look at all these tickets look at uh look at all these projects i feel like i feel very organized i love it um okay trying to decide if we want to keep going well we can also talk about um ooh um where are we gonna put styling like maybe we have a design project and i need to make a ticket for uh like implementing a design system um and that ideally happens in the beginning but it's not necessarily onboarding specific um maybe that's developer experience also not really because it's kind of meta so maybe we have a project for like design and branding let's do that actually i have ideas of more stuff we could add to that and so manage any tickets related to design or branding updates such as styling icons imagery etc because we could make a ticket for implementing a design system but also one to make sure that we add like a special icon for this so let's add that let's delete um manage automation new issues gonna be okay let's make some more issues here uh by the way let me post uh let me post this in chat i should update my github command to this i'll do that next week um let's create a couple more issues here so um oh and maybe before we sign off today uh we could update the readme project for this to uh clarify how to find everything um i create a nice little landing page for that um we can do that a little bit uh so what do i want to say here on table my design system so find a nice color palette that works and update our compose themes to use this palette and we can say um oh no a rogue require activity that's finished that sounds painful um is it oh you said four hours i was gonna ask if that was worse than when i spent 30 minutes updating the wrong code that is indeed worse implement custom app icon so they need to mention some help here but let's add a custom branded icon for this all right 20 issues we wrote down a lot of good stuff um and we have probably a number of streams of stuff worth updating here because within all of these um i'm gonna go for oh i was gonna say i'm gonna go for some good code coverage in these streams we're gonna look at like test driven development making sure that we uh can actually do stuff that reminds me we should probably add like a for like home screen we're gonna need like a whole view model uh that like deals with the tasks um actually yeah so let's let's uh let's talk about like use cases and view models for a little bit um well one we don't have to do these in specific order anymore one is we're going to need to implement a home view model uh so create an android view metal instance that will manage the ui state of the main the home screen that's one thing we're gonna have to do um put this in the home screen project but actually i talked to matt about these the idea of use cases and it's not something i had typically done in the past uh but i think i want to try them out in this project so um we're gonna edit this and we're going to say implement store task use case and edit task use case and actually let's call this store edit delete ask use cases we don't need to make them each their own ticket but we'll make these for use cases um we'll say we'll have our test repository in our room but let's add a new one um implement it tests use case um so we have like a use case implementation for fetching a list of tests i'm not sure if this should be completed tests or all tasks but we can work through that more when we get to it but some other good issues there um but let's all right it's eight o'clock i do need to start winding down soon um [Music] so before we sign off let's do one other thing here um let's add a readme to this project um it looks like i can't just do it from the web view yet uh so let's um [Music] words well we could create the basic android template and add a me to that and push that up that might be a good place to start for tonight um let's do that let's do that real fast just because if i push just to read me and then everything else it's kind of annoying um so i'm going to create a new repo will create a readme file that has some helpful information um we'll push that up for it today and then we'll call it a night so we're almost done wait a little bit for android to do its thing actually oh my god i've got two windows coming up i don't know i don't want all this i just want i just want a new project all right we will call this empty compose activity we'll call this test of i'm going to type out the whole thing but um maybe for the package yeah for the package let's just do toa and finish and once this loads we'll create a readme and we'll think about maybe it'll be really good i don't have to make github issues for these but i think it would be really good um to i'm gonna rename this to toa theme uh but to focus on documentation throughout this so i've had good streams before where we write good inline documentation uh but it'd be really good to maybe write some markdown files um to document like app architecture and stuff as we go um sorry for this to build what do all think those of you bring it out what do you think about uh github projects does this look i mean this looks pretty standard if you've used other kanban things before but do you feel like this will be helpful in the streams to do more organization like this and be able to follow along with the progress or do you think i'm i've gone overboard it's too late it's happening but if i went overboard i'm still curious let's remade this okay you do like it great or you're saying yes you went overboard 3018. okay uh new file okay so title say if you do like it great purpose of this application is to help users stay organized whoops let's do this in their day-to-day lives um without feeling the pressure or guilt that can sometimes arise from traditional to-do list applications as we build out this project our goal will remain on how we can look after users and provide a wholesome and helpful experience as they become and stay organized okay so um what else do i want to add to this i guess that's the highlight for now um i'll probably put a another markdown file that i do separately that is like stream history to help people find the youtube videos and stuff maybe we'll talk about that next week as we really get started um maybe i can spill some outside stream history this will be filled out in the near future as we begin the endeavor to stream the building of this application um i don't know why i'm putting comments on a markdown file maybe i'll just i wanted to clarify that this was like still happening maybe i'll just bold it um i think it's a two to bouldin i think it is um what's the other thing about purpose so the purpose um or rather uh this yes we are going to be starting a new project so we haven't um built anything today all we did uh i'll post the actually i still have it in here um i'll post the link in chat uh we just started talking about it today we made a bunch of github issues uh that we'll work through in some upcoming streams uh but yeah we're kickstarting a new project that we're going to be building on live streaming application will be built live on twitch and let's spend this in here and i'm going to talk in third person here because i want to clarify that this is my twitch channel but i don't want to use the word my uh in case other people end up contributing to this in the future all streams will be recorded and archived on youtube and i'll also plug my youtube over here um for a detailed no i don't think you're too late i think the problem was that i just i wasn't good about archiving the study guide project well enough um and i also started it before i really had a good grasp on streaming well and so i'm ready to just kick start with a better idea um but yeah hopefully this will bring in some new people um i'll probably also blog about this especially like soon so when we really kick it off next week uh hopefully we can get new people involved um and uh have a lot of fun doing that recording a stream history uh actually that once we have a stream history page uh we should add that context here as well yeah let's see that so i'm just gonna add that note um we'll add the stream history page kind of next stream once i uh have some better better planning in place or just once i have streams to talk about um anything else i could include in the readme uh right off the bat i don't think so um maybe just like a oh organization all work on this project should be recorded in a relevant issue and then we can do referencing issues page um and time to a corresponding github oh no uh sorry hold on i have to respond to this tech message real quick um this might be important okay yeah i need to wrap up we just had something come up i'm really sorry about that um i'm actually done i think i'll stop with this um i need to go take care of something and then i will push this up to github uh i'll be sure to tweet out the link like i said i'll probably write like a blog post about this new endeavor and try to get people in um yeah thank you all for joining me this week um i'm really glad to be back after the two weeks off um and i really like what we've uh got yeah we're okay we had some puppy accidents so i need to go help clean up uh but yeah i will see you all next week and thank you all for your help with this new endeavor i'm really looking forward to it um yeah i'm gonna go help clean up i will see you all next week thanks so much
Info
Channel: Adam McNeilly
Views: 223
Rating: 5 out of 5
Keywords: games, twitch
Id: 8Umvlpx-Wvg
Channel Id: undefined
Length: 96min 43sec (5803 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.