this computer and and we're live or we're not live sorry um so uh so so page right okay yeah so so as I mentioned earlier I spoke to I mean Dimitri did a lot of the initial work on on this topic but this has has went through a couple of iterations with Dimitri and I with Matei and then this is also in the past week I thought a lot about this with regard to the activity feed as well so so there's a lot there so let me try to distill it to some really simple things so I'm going to share my screen um so I have an epic that is not um it's not planned work it's just relevant issues and what I also did was um while everybody was away on summit um I also did a lot of just you know just uh I'm trying to understand for myself more about notifications in scikit lab so if you click through all these notifications uh issues what I did was just to get myself understanding notifications better I started documenting how notifications work inside good lab so to me that's one step of this problem is just to get your mind around how notifications work because they're really confusing inside good lab so in my opinion if you want to do a good job of designing what we want to do you have to do a good job of understanding notifications too so I want to linger there for a second um so as you know in good lab you get notifications and there are email notifications that's the only channel to get a notification and it is a notification in the truest sense that it is triggered by an event and so there are um there are a couple of ways to get notifications uh due to several events and then you can set notification levels as you know like disabled dimension participate and so on and so forth so it gets a little bit confusing because especially if you look at the documentation which isn't really good and I'm trying to improve is that notification levels sort of prescribe what happens or a group of events but that's not really accurate a better way to think about it is that there's events and then there's notification levels and then they pick certain events to send out a notification and so that's what I tried to exactly scope out here so when you look at so you have these different types of notifications right so when you look at the um when you look at the notification settings here you can set the notification level per the entire git lab the global one and then you can inherit that you can inherit that at the group level you can further inherit inside a group level you can inherit that at the project level as as you know right so you can inherit that at the at the project level you can inherit the where is it everything's changing on lost here right so you can inherit that at the project level which or override right and then at the project level so I'm talking scope right so there's global group and project and then at the project level it further goes down to issues merger quests and so on and so forth right so at the issue level you can further um another this is sort of not presented in the UI but this is how I'm thinking about it which I think makes sense you can further override it at the issue level with this thing here right um and then within an issue you can there's there's you there's uh the concept of per like you can get a notification per comment or if the description change and you cannot override it right so be like everything has to be consistent per issue so you can see that there's like multiple levels of scope in the sense of what generates a event right it's all the way at the comment level commit a an action like opening or closing a issue so all that gets merged really murky and it's really you can get really confusing really quickly so I super encourage folks to think about that deeply when when I talk about the design and so I tried to distill it it's still not perfect but this is one way to look at it which is um if you have an issue merger quest on epic and then you have the events of those things being open closed or reopened or merged then do you get a notification right so if you're all your notifications are disabled in the notification level then obviously you don't get a notification if it's set on on mention then if the description of the notification mentions you then you will get one if you are a participant meaning that you are at mention and you're automatically become a participant then yes and then if you're watched yes custom checked and manual unsubscribe my manual subscribe is referring to this thing here right and so you can see I purposely I'm talking about this one it doesn't apply for this one because the issue has not been created yet so this thing doesn't apply so this is like to me this was really helpful just doing this exercise and getting my head wrapped around um this this scenario um and then another one applies to epics correct yes exactly yep and then uh another so so this one would be quote-unquote a more obvious one so assignee's change then if you're a participant or you're a previous or new assignee then you'll get a notification for these levels and so forth and then not for these levels right so that one's a little bit more obvious um issue due tomorrow is a brand new notification that I think mark see from previous unplanned team I think is now and create back in um so something like this and then um the common one is a really good one so again this is what we think about wearing notifications right oh you're mentioned if you're a participant so these are like the easy ones but if you think about it like the the state one is sort of weird so so that's why I did so there's a lot more right um what's missing from this list is approvals and pipelines and a couple more so there's not too many but there are a couple so that's the state of affairs for notifications and get lab to dues were a little bit more confusing for me because I don't use to dues and that's that's a problem um but to dues are a little bit um I don't know if they're easier to understand but what do you use it's just the emails that you get from notifications yes I don't look at today um as a user but why I say to dues are easier because it's it's similar in concept in that there's a there's an event that happens and it triggers a to-do to be created and it's logged in your to-do list and you can market them in under um but those events there's a smaller number of events and you cannot configure that right get lab decides for you what what will give you a to-do or not right and so it's more or less more or less um mentioned in this doc which is because it's similar to notifications it's it's like a lot better doc right by definition so what triggers it to do are essentially all these things right uh I think due tomorrow is missing uh and then directly address to dues is a spin on that but um so you have all these things what's different between to dues and notifications is that there's additional functionality with to dues so beyond like an issue being assigned to you you're met and mentioned uh pipeline fails and so forth um in addition to that functionality you can filter on you have a web UI of to dues right and you can filter it and then you can further change the state of a to-do and you can obviously create a to-do from scratch um from an issue itself so this is what I do like a feature comparison between this and notifications that that's a huge difference right because notification it's just it sends something to your email and then is in your email thread and then git lab knows nothing about it from that from then on like git lab has no control about it and you don't have any control about it with I mean you can use your email client to do amazing things but you it's not I'm interrogating git lab whereas to dues it's it's sort of like the opposite right there's less configurability from when the event triggers it but then afterward you can configure a lot more you can manage a lot why I didn't I like I'm gonna praise myself and like that's a nice way to think about it right it's sort of like this I don't know that seems like something sort of fundamental from a git lab perspective I suspect that just happened by like Darwinian evolution or osmosis like we have something that's really configurable for notifications and people were using it but we didn't have something to do like managing our to-do list and we invented it and then we sort of like two things evolved and then we never thought to bring them together and since we're not Darwinian evolution we we are actively trying to influence the system we can probably do a better job I actively designing that so to me in a nutshell those are like sort of two different ways like the two the two feature sets so I think everything I said is not opinionated or more or less fact so I'm gonna stop there and say like is there any a thing just just I want to lay the groundwork on like did we miss anything when just talking about notifications and to-dos from a like feature existing feature perspective I don't think so I think not even before I jump to my proposal or what what we've talked about I want to talk about something that so one go ahead yeah one one thing I would say is that uh at least in my understanding to-dos are so like and other than the to-dos that you manually create so essentially to-dos that are created by someone else all of them usually I think I think they're all they all map to a notification so in my view as a user maybe I'm incorrect in like one or two events but the way I see it my mental model is you have notifications and those can be directly addressing you or just you're just following issue or something like that or a project and then inside of notifications like a subset of those notifications create to-dos and of course you have that special case where you can manually create a to-dos right that is not attached to yeah any notification that's the way I perceive it in my head yeah and I would say again back to my silly analogy it's that that was a I don't know if it was intentional you know like I would have to talk to the people who invented these things but to me when I look at the existing implementation it was more more more luck and consequence than intentional design that like you said specifically the subset right so because there's literally nothing in the product that integrates those two it's just it's a half instance yeah those things are a subset so that's why my guess is that they weren't designed intentionally together and then so I'll highlight a couple more features that as I was talking to the manage team last week over Slack that things that things came up so a couple another feature that's that's I think relevant is this thread of system notes and comments inside an issue on an epic or a comment or sorry issue epic or a merge request if you think about it this is also very similar to your notification stream or your to-do stream right so again I'm not going to put any opinion on it I'm just going to mention that there is some repetition here right this data this content here is very similar to your to-dos and to your notifications right and then again if you think about it I don't think that that there's any intentional thought being put into uh design it together or reuse it or or purposely not reuse it and so on and so forth that but that every time we add a new feature we have to add the system note and the notification add it to do and then as we'll see in a second add it in the activity thread and all those other things right so there's a system note thread or the comment thread or it's activity thread within an issue or an epic or a merge request and then we have the personal feed or profile whatever it's called we have this thing here right and then I believe this one and this one thankfully are the same um because they look radically the same um but you can see like there's an activity through uh actively feed concept within good lab and it's replicated in the profile page um there is again very little configuration um in the sense that you know you can click around and so there's configuration what's that configuration it's it's multiple ways to view the same uh feed filtered by these thingies here um but there's not much more configuration beyond that and the the reason I mentioned this again is to me it's it's repeated information so again I'm not putting a judgment on if we should not repeat or how we merge or don't merge this information but I mentioned that it is replicated information in the sense that it is the same model of there's an event inside good lab and then it triggers some type of UI to the user that they can see um and then why I mentioned this and why there's more managed people here in the call is that the managed folks have already done a lot of awesome design on revamping this so I don't want to go off too far in a tangent and let Matei talk a lot about that I'll let maybe if we have time at the end Matei I'll let you talk about that but I just want to stop there um and then go quickly talk about my concept and then and then I'll let you guys just talk forever um so so I'll move on really and just please interrupt me so I'm going to move on to the initial concept I have um in talking with Matei and Dimitri um so so the concept I have is in two of these issues here um and then the merge one is is a evolution of the pin and unpin one so I'll just talk about the newer concept first or only um and then I'll let you folks talk so the the concept I have here is that you no longer have any um sorry this one is the newer one but you no longer have a separate concept of notifications and to dos and instead you have one stream of notifications inside git lab and so the way to think about this is just just forget about to dos like so there's going to be a migration path right whatever we end up doing we need to have a implementation strategy so people don't get pissed off because we ripped to dos on day one and we have no functionality replacing it right so we would never do that and we would probably won't even do a version where like we remove to dos and say like oh you can read you can do all these your your existing workflows in this other way we probably won't even do that it'll probably be some phased approach right so I'm ignoring what figuring out what we're doing there I'm just talking about the end the ideal utopian end state for this for the purpose of this discussion in my utopian end state is that there's no more to dos as a concept and you can you just receive notifications as usual and those notifications we would we would allow you to have the same notifications but add like all the events that are missing for example like I think like approvals there's like a bazillion ways to do approvals we would like round out all those approvals or the way to do custom notifications there's certain events that are not allowed we would add those in and especially the ones that are like you said subset right Pedro like for to dos are subset of notifications I think there's like some one or two educations which it's not a totally subset so we would either like be mean and not include them or we try to refactor it in a new way but suffice it to say like notifications should be okay in that as long as we change the system of way the notifications work to replace the to dos it should people should not be losing their existing features and so how I my my my my proposal is that you you get your notifications as usual inside your email client but they appear exactly the same in the web UI inside your lab so this this purposely looks exactly like inbox by gmail or gmail and then so with each issue you have multiple notifications as you can see here and you would be able to um do uh sorry I thought I had different visual I might be wrong but the concept I had is that you would be able to pin individual notifications not notification not the group but just pin in the individual notifications and the reason you want to pin in individual notifications that's equivalent to creating a to-do right so right now when we create a to-do we we created by doing this here so the concept I have here is that instead of doing it here uh and this I totally stole from Matei and I give him all the credit um but I I give credit to my like subconscious self because I just thought of that naturally and I'm like I know that was me sleeping on Matei's idea so the idea is like Jeremy at CC me for example and mentioned me here and then I want to create a to-do for that because that's important to me I would click a button here to click add to do right but instead of creating a to-do in the in the sense of a to-do it's a notification and I just pin it so I can do it either here or I can do it in the notifications UI equivalently and then that's fine right um but what do you do with all those automatic to-dos that's created it's equivalent to configuring your notifications you would have a UI to where you configure whether you get a notification sent to you or not you you would also be allowed to say um I want to um have these notifications automatically pinned when they're sent to me so I think in my other issue I have a better mock-up so one thing I'll just say is that uh with with that thinking if that example of creating um a to-do or whatever you want to call it from that comment specifically um if if you're doing that from a project that or of course from somewhere that you're not you've not been mentioned you're not a member of the project you're not member of a group and you just want to create it to do from that that's not a notification because you have not been subscribed to that project nor that group nor that thread so it's essentially you're kind of bookmarking something right um and so you're creating that to-do or whatever you want to call it but it's not a notification because you have not received that notification before you know that's single comments right that has never appeared in your notifications right before yep yep I totally agree with that Pedro and um so I don't want to argue with you on that one I'll just leave it as if I were to argue with you I would say um come up with a awesome design where you can merge those two concepts yeah yeah no I was just mentioning this exactly yeah and then one thing yeah and if you ask Dimitri he'll say that you know Victor and I went through this like for like three hours right and just those two those concepts so um my my contention is that you can call them notifications you can call them activity you can call them whatever you want I'm I will argue for a design where you can reuse these concepts and be flexible in a way so I'm for example I'm not tied to the word notification I'm not tied to the word um pinning and I'm not tied to the word to-dos but I'm somewhat I would argue for something and then you know I could be argued against obviously but I would argue for something that that combines concepts and reuses ideas and so that we're not re-implementing the same thing or having the not just for design not enough for just for code sake and code reuse but just for the sake of a user not having to go to two separate UIs to manage the same thing so so that's that's what I so let me just finish this design in like two minutes and then I'll let you guys go go on um so so that's why I said like in your notification setting you would be able to automatically set something here right so automatically pin notifications so that's the concept here right so if you're in this concept I don't I don't know what my final thing that I would care about so I don't think it really matters because this will be a greater conversation but for example will you be allowed um in my initial mock-ups here for example you have to receive a notification in order to make it automatically pin it or to create it to do right so you can imagine a scenario where you choose not to get it into your email but you choose to have it appear in the web UI and so you have more configurability that way so that to me that's a little bit weird and I don't know the answer to that so so that's my super awesome idea that's not that was really inspired by Matei and Dimitri so I give them all the credit um and just merging those two concepts and then my my further crazy idea which I don't think uh Matei I don't know Matei thinks about this but I think Jeremy didn't like it that much so I I can be argued against this one um but for example I was suggesting something really crazy which is can we just reuse these system notes here or comments and just dump these into the notifications themselves right so like I don't like the fact that Jeremy is saying all this and then I look at my to-dos and it says like Jeremy said blah blah blah and then it says dot dot dot and then like something like that right I think we can be able to reuse it obviously like maybe using templates or something so that it's not identical from a visual perspective a user perspective but the fact that like in the system like from a conceptual level it's the same object and I think we should be able to reuse it and then so when I saw activity feed I took it to the next ultimate extreme and said like system notes um email alerts notifications and activity feed all those things should just be the same object right and then uh visually yes they maybe can be different but the fact is that you have one place to trigger like there's all these events at gilab and therefore a given event like you are at mention in an issue that can trigger three things right it can trigger an activity feed thing that appears it can trigger an email notification and it can trigger a notification that appears in the web ui in gilab and my contention is that we're repeating ourselves too much and we should be reusing that content at least somehow um but uh and then in like a really bad ui it would just be identical in all three cases right in my like if I were to invent gilab which would be a terrible idea it would just be identical in all three places and it would be like you would never have to it would never be different it would be essentially be uh similar to all in reads in slack for example yeah yeah like in slack you can see everything is a message and even like if you take system actions it's always a message right and then you can see the designs very intentional they don't have separate ui but yeah that's a good point to meet you and I'm actually go ahead one more thing um I'm actually done so so let me stop you there and just interrupt and say I'm done so Demetri you finish off and then you guys keep talking um yeah I just wanted to say one thing I do like about like this unification of all the different things and reusing um the same information everywhere is that I I think it would be really beneficial as well to be able to see like if you look at your screen on your pc right regardless of where you look in the application it is only presented to you it's it's it's it's it's weird thinking that like if I look at something it should be the same as to somebody else no that could be personalized consent the content in there for example what I do like in slack is that I can see personally where I have I have seen the messages in a certain channel yes or no and then if I go like if there are new messages in that channel or in that issue in gitlab I would want to see like okay I've read previously up until here and all new content is beyond that line for example and I think the concept that he talks about unification of all those different of the different information would make that possible for example if we call it on the reds or it doesn't matter what we call it but I think that is a pretty nice addition to it so um I'll let Pedro and Annabelle drive the discussion here like but ultimately I want that the output of this meeting is you folks have enough information to know what next steps are and then you know you folks should be calling meetings and pulling various people in to to talk about design and stuff um so questions comments Pedro Annabelle now and as you do that I will pull up the designs from the managed team that Jeremy showed me that looks really awesome as well. Annabelle you want to say anything? Yeah I was going to say one of the things that will really help replace using both emails and to-dos is basically what was just said um you get so much more context when you get an email notification it tells you the full comment um and then if you're using a to-do you have to go and click on you know it only shows you that tiny little bar so if there was some sort of expand feature within that to-do or if we're going to call it right hand notification that would give you more information so you don't have to click through wait for that page to load and then decide that you need to dismiss it or unpin it I think that's um going to be huge in in just removing and relying on both emails and to-dos um I was going to say also another thing I was thinking of is when I'm working I keep my gmail my githlab email pinned in my browser and I watch the little number counter go up and then I respond if it goes up so I know that we have that counter on our to-dos um I don't know if it's always 100 accurate I know that we've had problems in the past where the counter didn't actually add up to the number of roger requests or issues so we need to make sure that that is always working in real time and it's completely you know perfect um so that's something I was thinking of and I do like the idea of system nodes mapping to the to-dos because that would also help giving you a lot more context when you're just looking at the to-dos UI those are just my initial thoughts um I haven't looked into it quite as much as everyone else here probably so I'm just showing um Matei I assume you put this together looks really awesome um that's actually Chris for yeah thank you Chris wherever you are um it looks I mean this is just visually it looks awesome so um uh my crazy idea is that so so this is this is where I don't know but like how does notification and activity feed blend together if at all like like is it a separate tab is it is your notification feed it's the same thing as your activity feed like there's a discussion in slack which is like in Facebook or whatever insert your own social app you have a home feed or activity feed a news feed right that's how they make money and then there's a notifications which is not really a feed um and they're separate UIs um I would argue like it's different because like when you go to GitLab you're not just scrolling through an activity feed you're getting work done and then when you're looking at activity feed it's probably um it's very intentional because maybe you you look at stuff that you care about or maybe you're you're maybe you are in browse mode but why do we need a do we need a really strong browse mode category or can can it be just like a different type of notification feed or something like that so to me it's really weird that you would have two separate UIs for notifications and activities I mean so this view like this this this same page activity your projects and then all this would be exactly the same content that you would have in a notifications feed if you were watching that's all projects that's exactly what I said said to Jeremy in the slack that was exactly my first that's that's exactly the same so if you say in the project in my project I want global global or global yeah I want to receive notifications about every kind of activity it will be the same I mean here we have push events merge events uh well maybe some events we don't we don't have notifications but it's mostly the same exactly I would say that these these are like these can could could have been all of them notifications and you're just kind of filtering your feeds to see everything or just to see what the activity right based on your notifications level for example yeah so the only thing I'm not particularly sold on is the like putting to do's in it's as a mental model putting to do's or whatever we want to call them pins or stars or whatever and put those in the same interface as notifications I don't know that's the only thing I'm unsure and I don't have I don't think we need to decide on that right now but yeah like like my my I would argue for like not not even interface Pedro but like more at them like you have an you have some object and you can turn it into essentially a to-do or like it just shouldn't be separate concept both like visually you can do anything you want like you can have a filter right you can you can have a list of notifications whatever and then you can click to a different UI and then you would see the the same set but filtered to ones that are to-do's but what I really don't like is that inside gilab there are two separate concepts and so I don't think there should be separate concepts even user-facing right to a user why do you need to care about two separate things like to do a notification like you just get an object you're sent an object and then sometimes that object gilab tells you that it has pre-checked marked it for you it has pre-added it to a to-do list for you automatically and sometimes it hasn't and sometimes you don't even get a notification because of that and so that that's why I see it all in the same spectrum of the same object versus a separate thing but visually like UI wise it can you can do whatever you want but that that's my contention that's my contention yeah I agree with with being the same object like pulling the same data even maybe having the same design right so like here we have this activity lists maybe the items here could have the exact same data and visual design and interaction design as your personalized notifications slash activity feed and maybe the same design could be used for those pins or to-dos or whatever you want to call them I think I think there's one one thing left like it's not been discussed yet and I think it's important for the difference between for example there's this more of a global or project-wide activity view that is visible to multiple people and the view that is like personalized to yourself because I think uh as how I see it is that the notification has a life cycle right and that life cycle is being like is it all right like in in in what way does a notification as we like let's let's call it notification for now in what way does it die in in essence all right like when when does it pop up and is visible and when is it pushed down or discarded uh because for example if I like say that there are five issues and I've watched at issue number three and I've watched everything and in the other issues I have not watched everything so if I go to my personalized notification list I would see I would see like if if dependent on only viewing that comment right I would see only the content from from issue one two three uh one two four and five because number three I would watch already while in this view I would I would see everything right so in like how how I thinking is like how are we making this this information useful to the user as like comparing to like a personalized view as compared to like this this more global view which is which is physical to multiple people I mean with your your personalized view of anything that has happened should so we so it's if it's pulling the same data we're like by default we're already storing all of this activity in the database right so we would also store because it's the same data we would store all of your notifications but what's important is the notifications that you have that you have not read or that you have not seen right it's the same as when I click to see the notifications in in facebook that has the number of the notifications I have not attended to and when I look at the lists it automatically gets they automatically get read or the counter gets resetted the same thing happens in twitter the same thing happens in slack when I go to all the reds or all threads it has a number of if you have been mentioned or threads you have not seen yet and when you see them they get cleared but I still think that because we're storing all of that data you could potentially if we want we can enable people to look back into the history of notifications because we're already storing all of that information right and then what we need to do is because I think this is kind of the notifications they're basically include everything that you want to see and then to do are mostly a subset there can be some exceptions but are mostly a subset I think from then on what we need to figure out is how do we bridge this gap between what is a notification in the sense that these are activities or system notes that I want to watch want to follow it's kind of like my news feed in facebook but then sometimes I want to save a notification I want to save a post a comment for later right and where do you see that I think to some extent let like let's compare system notes to the activity view to a notification issue so if you're in an issue and there's a new activity on that on that issue that content will be displayed in a system message right that system message will be there forever in the activity view it's a chronological view of events and the past in the project so in a chronological sense all information will be there forever but in your notification view that will not be the case because some of the content is not relevant to you anymore right that that was basically the point I wanted to make yeah I agree yeah I think it's super valid and so a couple of things in response to Pedro or maybe just one thing both the activity like you raise the example like if you're scrolling through like the facebook feed it's almost like the the activity feed of a single issue it's almost similar to that and in the in the sense that or the activity the global activity or the global activity and it's similar in the sense that if you see something there that is interesting to you you should be able to bookmark it like you said right and or create it to do and so I'm thinking more from a use case perspective and actually thinking less of from like oh we have to be we have to have a separate activity feed and yeah notification so so from a use case perspective I think this the same use case applies where whether you're looking at any type of feed inside gilab whether that's your system notes activity feed of an issue your own profile your activity feed of gilab you're looking at a list of notifications you're looking at your email anytime you see things happening you should be able to click a button or do some interaction to save it for you to to work on it later so if that's a case if that's a case that's a strong argument for having some unified design and I'm totally yeah I'm totally okay that visually it might be different but but there should be some common base data design so you that that is portable and you can take that and apply it anywhere and then so to me it's an exercise of that's that's one primary use case sort of like a logical next use case is gilab does this super smart machine learning for you of when that will do it for you automatically and then our machine learning algorithm zero is going to be you just configure it manually in some settings and then like we would put like gilab is super smart machine learning accepting merger questions somebody will do it for us right the diversion where it's super smart and does and picks it up for you and then so so that's that's a separate use case and so nailing those two use cases is is critical I think is important and that's a great part of the design and then I think the hardest part of design is to come to come up with all those separate feeds right we have like and how how to uniform unify that and so I'm thinking that's that that would be a big chunk of the design work in all the designers on the calls we have like a bunch of designers on the call like almost half of the gilab designers here so so that's what I'm looking for I agree so one thing that we can already I think if someone doesn't agree please pick up so what I'm understanding is that to me it makes sense and from what you're saying victory also makes sense too is to reuse the same design or the same patterns or at least for the user they would look at a system note in an issue or an activity objects in the global activity release the activity list or an activity or a notification item in the notifications list or whatever we want to call them all of these items at the macro level or at the smallest object level which is at the issue or merge request or epic level all of those would share maybe the same exactly same design or very similar design so that people can understand that these are the same things or that you can more or less interact with them in the same way and today this is all different right the activity feed is different from the to-dos it's different from the system notes in the comments in the issue and sometimes it's okay to have those different because of space constraints or because of focus or whatever the user wants to accomplish in those views but ultimately we should strive for more consistency and open up exceptions when the rationale right right uh val I mean like like what what animal was saying earlier like I can totally see this be similar to notifications and like in that like this is like one sentence comment or like a shortened version and you click as the interaction and you see the full comment either here or you're brought to to the actual object right like I can I can like or like you were saying like when you created to-do from one of these things like are you brought to the to-do you are or do you stay here or is there a nice little awesome pop-up or if you wanted to say you're in one of these things and you wanted to comment right away on an existing discussion you should be able to do that to do that really easily from here as well right like so all these use cases should be common like we should have like a portable like object model I think is is is what we're saying I agree with that yeah at least there's okay Matej you want to say something in Japanese yeah I was just going to say but if we do that right because my initial idea was okay currently we have all the to-dos they are tied to issues right on the issue level you can't really tie to do to a comment on the issue and then my initial idea is why don't we actually allow people to do that there's a particular comment on an issue and you want to do a to create a to-do from that right so now we're talking about extending it even further so we could try to do is to basically all events inside GitLab right if I understand correctly I think I think that's what we were exactly but in that case I don't see I don't see that being framed as notifications because notifications are something that you know someone interacts with me on an issue and I'm notified about it it I don't see you know a system node being stored under a notification and then I'm able to pin it or whatever right so if if I see a system node on an issue or on some other screen I should be able to create a to-do from that but then if if we allow to create to-dos from all these events you know globally we should have the to-dos somehow separate still and maybe even a separate screen where you see all of your to-dos which are all the different events right you're not categorizing categorizing them all of those all of them as notifications or something like that yeah I think that that goes back to the like how much I think we agree to some degree on like the underlying baseline object model we should add some something common because it's helpful but we probably need a further discussion and on on how to expose that to the user but I'll just stick to the use case for now because I think that that's compelling and I could you know convince people is that when I see this thing here this is a system note right and if I were a back-end manager I'm like somebody added back into this and I didn't expect that and I want to take care of that and I'm on my phone and I don't want to work but I'm I shouldn't be on my phone I'm on my phone anyways so I'm going to you know pin that or create a to-do whatever and and do something with that later so I think that use case is relevant but how you present it and how does that UI present itself I agree is it's not it's not clear and so so I'm fine with like just getting more ideas yeah I just wanted to add one little thought to all of this but so far I've been agreeing with pretty much everything you've been discussing whether it's pinning whether it's whatever it is is what I have my current problem is that it's completely useless to me having the to-dos except it's just like a list I go back to every note again because of the the it doesn't clear automatically and I've been discussed I discussed this with the other day that when you have a to-do for an issue or emergency because I can remember and then I comment on it that activity will dismiss that to-do item and it's not what I expected as a user so having to do pile up as unread items unread items unread items just made it rendering just rendered it useless for me so having this sort of notifications that I get to control what sticks and what doesn't stick for the future is definitely valuable in my perspective and apart from that I think that's that's to leave for the discovery phase that definitely definitely I'm interested in following so what's yours what you're saying is that and I think Victor you also brought that up is to-dos can be helpful but not everyone needs the same to-dos and they have to be configurable of what you receive right or not we can have smart defaults but that's what you're saying right but I'm okay with unifying I want to make sure that that's clear I think unifying it actually makes it more valuable because to me the way I see notifications is stuff that is my attention and what sometimes I'll do in the use case that Victor said especially with you know Slack or email or whatever so if I look at it on a rush just to see what it is and I don't want to lose it next time I will mark it as in red and see it next Monday we can go even a step further in use of like what the in-box used like resurface this tomorrow morning yeah but that's way more elaborate than we need for the first round but I definitely need to have a mark as in red thing if it clears as soon as I follow the link that's what Facebook does and what most of the patients people allow is just I just click the notification to see what it actually is but then oh okay I don't I'm not going to deal with that now and then I want to have an ability to have that pop up as a reminder next day or whatever time I look at it whether it's spinning whether the solution is spinning or marking as in red I'll leave that you guys just to me my thoughts really quickly to me there's like three states and it's just like do we want all three or we want two of them which is there's the neutral state there's the actively dismissing it I don't know if that's three states well there's there's like traditional notifications is they appear once you look at it the system will dismiss it for you right and then our to-dos is the reverse right because it appears and then you have to actively dismiss it for it to go away so it's it's almost like the opposite and then when I'm talking about pinning a notification it's I'm sort of doing the opposite of what you would do to a notification because you dismiss a notification on your phone right you do that but I'm saying you pin a notification which is which is it's taking the design from a to-do which is you create a to-do so it's the reverse and that's why there might be some dissonance from a design perspective so I'm totally fine with it there's a way to resolve this or we just do it from a notification perspective whereas you once you look at it it dismisses it automatically and you have to take an action to save it right we might do something like and that that fits with Andrew's case but that's totally to me it's like I'm on my email client and I just dismiss the email and so that's me dismissing actively dismissing a notification or email but the system won't do it for me right so I think I might add to that I think there there should be three states right because it ties back into the notification view which is personal and like for example you can pin which is like hey this thing is really important keep this on the screen at all times kind of thing there's the thing like hey you got a notification and there's this thing of like hey is it still relevant to the current user yes or no I mean the user can have seen it or not but it might expire your thing or it might get get lower yeah yeah I'm fine with whatever design me I'm with to me that's more like the next level of design I think we can figure that out I guess there should be some sort of a relevancy rating to in order to to justify hey this should be presented to the user at this time yes or no right right well I mean it's going to be time for the first iteration right but then it can definitely change like I don't know what Slack does but it's really confusing but I guess it's good enough but I miss stuff all the time on Slack so I blame Slack rather than myself so Slack they have the the reminders list right you can set reminder stops of something and let's just if if looking at Slack if we remove the time aspect of the reminder if you could say that those are to juice inside of Slack or at least I use them in that sense for me sometimes it doesn't matter what I remind my what is the time that I put the timer what is the timer of the reminder sorry yeah I use it exactly the same way you do Pedro I told and so then I go to Slack bots I do slash reminder the list or something like that and it says you have all of these messages to attend to those are reminders but those are like to do is right it's totally to do is I do that myself and and to me so I see those like differently and so that I think we I agree with everything that has been said so far by everyone I'm not I'm not convinced of putting so we have activity we have then notifications about activity so those notifications are your view of the global activity but then to do because of the way they work and their lifetime I don't see them as attached to but I see them attached to activity but I don't see them working together and being in the same uh under the same roof isn't that what Victor was talking earlier about having a migration path because initially what I see like the first step being is you have an activity and you have a button to promote this for make this a to-do like automatically yeah that will be a first stage of this the thing whether we then remove to do is all come all together I think it's up to research and stuff to get out of that correct but I like that it's unified to me I'm not entirely sure of how things will go of getting away with to do is in the GitLab reality but I for now I think that's still up to be discovered but I personally like it being unified because that's the way I use the notifications like I will make a notification in red as my to-do uh but if I want to have like a separate to-do list uh that's a different use case but so far that's how I've been working but it depends whether that's generic enough to have everyone following that model or not so uh I think we can wrap up so so next steps Pedro Anibal um what what do you think it's reasonable to expect a more opinionated design so we could actually argue um I think we we argue we we we agree with the problem I don't think we actually stated the problem maybe it's so obvious which is like it's this is really difficult to use the system and everybody uses it so I think that's the clear problem and it has to be everybody has very customizable personal workflows so so I think that's a problem in nutshell and then so do you think you folks can come up with a more opinionated design that we can share with everybody you know in the planting and at the management team at least and then we can proceed there and then I think yeah I think the the first step uh and this is something that I've that I thought initially since and I'm looking at my comment from three months ago on that first issue where Dimitri posted a lot of uh suggestions that very very long issue and my I think our first approach is I still think it's the same which is to have parity between what you're receiving your email and what you're able to see in the app so inside of activity or somewhere else we need a view of the notifications I think that's that's a given that we eventually need to have um and the other parallel problem that we can solve at the same time is having a way for people to configure which which to-dos are created automatically or not because we see a lot of people having so many many many to-dos and as as you said Victor our priorities are different even between different teams at GitLab and sometimes I don't need to receive a notification of this or of that so even having that way to configure which to-dos you want to be have created automatically in the way that you configured notifications I think that's that can be the two things that we can solve as as a first step in parallel and then as a second step maybe we can look into like now that we have the list and now that people can configure their to-dos how they want them to appear how do we bridge this gap and yeah concepts together or make them close so so Pedro what I think we should do is is to jump ahead actually like right now it's not terrible it's and I think like the I think we should have a bold design like what which like a really great end state that we believe in I think what you're saying it makes sense that we need to iterate to get there but I don't want to I don't want to spend too much time figure our iterative solutions if we don't have an end state so I'd rather we have an end state that we can argue about yes it's going to be really philosophical and really far away you know maybe like take one and a half years to to do I want the next so Pedro I'll assume that you can still listen yeah and that we can we want to have like a doesn't it can be rough mock-ups or just ideas of like an end state like do you want to merge your activity feed how should it look should it be different ui's and object model and stuff like that so let's let's set a stake in the ground with some of those designs and concept and then we can talk about iterative steps to get there and then if along those ways those iterative steps will drive us in a different direction that's totally fine if we can we perceive feedback but I do want a like this is a little bit different from other features we do at your lab where we don't know the end state yet for but for this one because it's so messy I do think that there's a lot of value in knowing an end state and working toward it yeah I think we agree with that I was talking more in terms of how we do yeah strategy and how we're going to put the building blocks right but of course if we can look into the future and kind of paint a good picture right of the whole house then we can decide where we're going to put in the in the reason yeah I'll leave this and then you can see whatever you want Pedro and I won't say anything more the reason why I want some I want something like the next steps what I would like to see is something like that the grand vision and the awesome design again it can be really low fidelity but and then and then we can have like a lot of discussion and debate on that one and the reason is I there's urgency to fix this but we can still bleed along the way yes we're dying a slow death so we don't need to like save ourselves next month so I think it would be awesome like within a month or two we have a really solid vision and we're really excited about it and everybody at Gillab is on board and we've socialized it in team meetings and everybody knows that the thing and we've blogged about it like within a couple of months if we have this grand vision and like everybody at Gillab likes it I think that's awesome and so the first step there is you know within a couple weeks just getting that grand grand idea in that grand vision yeah this is definitely I've been bleeding from this since I've joined GitLab and I think everyone here in this call can agree that they've been deleting uh about notifications about right right right in GitLab it's uh GitLab using GitLab uh basically and uh I've been called out on calls for having plus 99 to do yeah I have plus 99 to do is for I think one year probably or more but whenever whenever we added that number everybody's had plus and so I think this is one of those issues that is all also impairing our could be impairing our productivity maybe not individually but collectively collectively it's a we could be working much faster and reacting to things in the right priority by solving problems so yeah okay so yeah I'll let you and Edible update us please reach out and then if I don't hear from you like in a week I know I'll keep thinking you and then we'll go from there all right thanks everybody especially not okay I know