Sheree is a Product Manager at Tray.io, where she leads the development of product experience and enterprise-grade solutions. Previously, she was a data analyst for leading technology and consumer brands. Sheree believes that a product-focused organization is the key to success to building a product customers love. When she's not solving problems at Tray.io, she DJs at music festivals, and attempts to do triathlons.
(upbeat music) - Hi, welcome to Trajectory Nano. This is a series that we've put together in anticipation of our exciting new. Trajectory online conference. This is the fourth of four presentations that we're giving in the Nano series. We think there are four pillars of feature flags and feature management, and this is the fourth pillar, Empower. We want to give you the chance to understand how it is that we as LaunchDarkly work with other companies to make what they are already making more powerful. This is sponsored by InVision and they are a company that we have worked with for a long time. And we find them a really useful way to do all of our visualizations and make everything work for us. And when we ask them to describe themselves, they said that they're leading product design and development platform for teams building world-class digital products. The InVision platform and services enable creative collaboration across teams and geographies for improved speed to market and powerful business results. After we have talked about building, operating, learning, we're going to talk about empowering, and I'm excited to say that. Sheree Lim from Tray is here to talk to us about that. But before we get to that, I want to tell you about how LaunchDarkly sees the empowered pillar. There are four different things that we think describe empower usefully feature entitlements, proof of concept and trials, customer targeting and sunsetting features. Feature entitlements are about delivering the right content to the right people. Not everyone wants or needs to see everything. A lot of people want different experiences of your website. So this is for people who have a reduced function website to make it easier to navigate. And this is for people who have an enhanced function of the website, because they're paying more, have a premium membership. You can use a single code base to deliver a variety of experiences if you're using feature flags to turn on and off what's available. The next one is trials and proof of concept, our salespeople are out there in a really rough environment. And one of the things that can make the difference is being able to show customers exactly what their experience would be like on the fly without needing a bunch of engineering, backend or support. So using feature flags to demo new features or upgrades on an existing account is one way to do it. Using feature flags, to give people a limited time, access to your product is another way to do it. So when we're thinking about feature flags, it's not just about for existing customers, but also for customers that we may want to acquire. The next one is customer targeting. You want to deliver to the right people. Your features should just go to the people that are destinations, you want, you want to make sure that your developers don't have to think about who that is. Targeting is a really complicated part of how we do software now. And there are people who specialize in that like product management, so I think that breaking out, creating a tool from figuring out who gets it is a really valuable way to take some of the load off developers and empower product managers, so when you're saying, who should get what, this is a really powerful way to do that. And finally, let's talk about sunsetting features. We don't all want to have everything we've ever built, still active, but sometimes we don't want to turn it off abruptly or deprive people of something that they're using. So if you're going to maintain velocity, sometimes you have to drop things, but you want to drop it carefully. And you want to make sure that it's not a breaking change for people and that they've had adequate warning. And then if they've ignored your adequate warning, you want to be able to give them a little leeway to get going there, also, sometimes there's a pattern called albatross launching where you are dropping a feature for everybody, but that one customer who's paying you a lot of money to maintain that, you don't necessarily want to maintain it for everybody because that's a lot of overhead, but you do want to be able to maintain it and keep it for that one customer that's paying for that privilege. So using empowerment, using entitlements as a way to make sure that you can do all of that and make sure that everybody is getting what they need. And now that I've got you all excited about the things that you can do with feature flags and what is possible with LaunchDarkly, I'll hand you over to Sheree Lim, who's a product manager at Tray. She's going to talk about how. Tray and LaunchDarkly work together to extend and empower Trays teams. (upbeat music) Hello, and welcome to Empowering Better Feature Management With Automation at Tray.io So a little bit about me. My name is Sheree and I'm a product manager at Tray.io. I have been a PM for about three years and at Tray.io and managing the building experience and ensuring our platform is enterprise ready. Before my life as a PM, I was a data analyst at a social media agency working with leading brands, such as RDS, YouTube, and Google. I also dabbled in foot footwear development at Puma in the global headquarters in Germany. And for reasons that take longer than 20 minutes to explain I'm a Cincinnati Bengals fan, and we might have time to go into that in the Q and A at the end a bit about Tray.io. The Tray platform is a low code general automation platform that puts automation in the hands of the citizen and reduces the load on engineering teams and having to rely on engineers for technical tasks, using our platform you can connect your entire cloud stack to automate processes such as lead generation, sales enablement, post-sales processing and onboarding, and even feature management for product managers. In just a few moments, I'll go into how we combine. LaunchDarkly feature flags with our own platform to intelligently manage code launches or different segments of customers. We have an in house team here at Tray that builds service connectors, and these connectors allow you to seamlessly integrate with our cloud services API. With over 300 and counting prebuilt service connectors, plus a universal connector. You can connect to anything using the Tray platform. So the Tray platform is based around workflows, which is the canvas to create your integrations. And you can see this in the slide. Our visual builder is the secret sauce of the Tray platform. We wanted to create a consumer app experience to solve a fundamentally and surprise problem. Someone like favorite parts of the Tray platform included that you can start any workflow using a wide variety of triggers available, including manual schedule, web hooks and other event based triggers, which means your process does exactly what it needs to do. We provide a huge range, a huge array of helpers for almost every task. And we don't limit customers to a number of connectors. So you can use our drag and drop UI automate any process, regardless of how complex it is. It is possible to add a complex code scripts if you need to. But the degree of flexibility we provide, including booleans loops branches, and more greatly increases your velocity and makes each workflow much easier to maintain. You don't have to leave comments in code. And it means when you explaining and what photo to another member of your team, it's much simpler. Companies build mission critical processes every day, using the Tray platform, and as we'll see, we can combine flexibility of local automation with fantastic tools like. LaunchDarkly to tier our launches for different segments of customers and ensure the right customers are showing the right product features, which is why we're here today. So what are we going into today? I'm going to be talking about how Tray.io uses LaunchDarkly, how we'll use LaunchDarkly to empower teams outside of engineering, and how we've extended the power of LaunchDarkly using the Tray platform. And we'll be having a Q and A at the end. So how does Tray.io use LaunchDarkly? We manage all new features in. LaunchDarkly and in the image, you can see some examples and how we get a bit creative with some of the flag names. Having multiple environments in LaunchDarkly allows our QA team to easily test new features. Like many of you, our product and engineering teams are constantly working on multiple products in varying product areas. For example, Tray.io has two major product lines, our Tray platform, which we'll be walking through shortly, as well as Tray Embedded, a separate product line that let services and sales organizations build out integration marketplaces for customers whilst also letting products and it organizations seamlessly deliver an entire integration roadmap quickly. Within our engineering team, we have different cross-functional squads that welcome varying feature sets for our products, such as connect to engineering education and enterprise. Obviously not all companies will be the same and your organization might be very different from ours, but I trust it's fair to say that many of us work with engineering teams that have multiple projects on the roadmap at any given time as such. I'm sure I don't need to go in depth on the challenges and problems that might arise if the wrong features or code base got deployed to the wrong group of end users, especially if beta code were to mistakenly go out to production. But that's what LaunchDarkly helps us manage today.
In addition to this, with the many product changes we are introducing, we have been exploring flag variations to run experiments such as placing the product feedback link as a permanent banner in the top of the app, versus a menu option in the bottom left help section. So how do we empower teams outside of engineering? As mentioned LaunchDarkly is embedded into our feature lifecycle process and using LaunchDarkly, we can manage this within the product team and don't have to rely on engineers. The product team typically manages the lifecycle of a feature flag, deciding which features should be behind flags, which users should be enabled at certain points. And then sunsetting the flag once the feature is generally available. The sales engineers play a crucial role at Tray.io demonstrating the value of the Tray platform to prospects by doing demos and building proof of concepts. I'll be getting into more detail on the next slide, but as a product manager is extremely valuable for me to be able to not just work on technical features or ones in my roadmap, but also to be able to visualize and deliver results with my company as a whole. As we'll see shortly combining LaunchDarkly with the automation of the Tray platform enables my team to deploy new features into test environments, to provide timely proof of concept builds for our sales engineers. This directly enables them to show off the full capabilities of our platform in the sales cycle. And we're not small deals with processes like these port managers can directly tie their daily work to the growth of their company. Our customer success team manages the beta programs alongside the product team, which is made easy by using LaunchDarkly. As my fellow product managers understand, being able to offer betas to customers can increase our engagement and overall levels of trust. Beta programs that as invite customers for a sneak peek behind the curtain to test new features before the general public. While this can be an exciting thrill, it also, it can also mean the importance between keeping a customer and saying that customer jump, especially if they've become very keen on a specific feature you're testing, again with processes like these, product managers can connect the dots between their daily work and their company's bottom line. I don't think I need to go into too much detail about how challenging our economy has become and therefore how important it is for all of us to retain as many customers as possible With processes like the ones we're just discussing today. You can safely enable customers beta features make yourself stickier as well. Lastly, since we have so many great builders at Tray, they are an invaluable resource for dogfooding and internal testing of new features. Using LaunchDarkly, we can easily give them access to new features, which enables the product team to conduct research and receive feedback, essentially ensuring we are building what is right for our users. So how have we extended the power of LaunchDarkly with the Tray platform? So we use the LaunchDarkly API and the Tray platform to allow internal users to manage their own and customers feature flags. So the problem we had was access across different time zones, our product and engineering team who managed the LaunchDarkly feature flags are based in London. Whereas our go to market team is in San Francisco. So imagine you're a sales engineer and you want to test a feature or your customer success engineer, and you want to enable a feature for a customer, but it's 3:00 PM in San. Francisco and all the London team are fast asleep. So this is where Tray comes in and I built a workflow to allow any internal user at Tray.io to manage that or add in customer's feature flags. To reduce friction and for ease of onboarding and using the, to use the automation. I decided to build a slash command in Slack since we're already heavy users of Slack. And this ties back to what. I was just mentioning about enabling our sales engineers and customer success teams to safely access different features. Instead of having to have a series of meetings, calls and approvals, we can tie a safe feature management to something as simple as typing in a slash command in Slack. And perhaps more importantly, we can deliver these features, not just safely, but quickly to show ourselves engineers can responsibly show sales prospects the new features they're interested in and to ensure our CS teams can deliver betas announce a new feature related questions in a timely manner. In both cases, we're not just being smart about managing features. We're directly contributing to our bottom line. So it's demo time. What you can see here is our launch Docker instance, and this is one of our feature flags called properties panel tabs, and we can see the users who are enabled and disabled. I can go into the Slack App and type flag targeting, which is the name of the slash command. And I can enter my email address, which is the email of the user who's flag I want to change. So this modal appears and. I can set the environment. I can look for the flag name and I can set my user to be enabled on the flag. Once I click submit, I let the workflow work, its magic in the background. And the lovely Tray.io Slack bot sends me a message about my flags being updated and I can refresh. And I'm that, which is great. So to explain a bit more about the workflow, we have two workflows powering. This one is just a small workflow, which is powered on a scheduled trigger. So that runs very frequently every day. And it gets a list of the most recent feature flags. So that our users always have the most up-to-date features available. The second workflow is triggered by a web hook, which listens to the slash command in Slack. It then sends a modal and that's where you saw the user can enter all their details. Now, as you can imagine, being able to change any user's feature flags is quite powerful and I really didn't want to receive an angry message from our security team. So we have a security process built in and we have two groups of users. We have our regular internal users and we have a group of admin users. The admin user group is managed in a Google group and the admin group is able to change the feature flag of any user. Whereas the other internal user group is only allowed to change their feature flags, including aliases. And then we find the user in. LaunchDarkly by mapping the LaunchDarkly user key to the Slack user who submitted the modal. So with this workflow, we've saved a lot of time internally and we've really empowered our internal users, so even, you know, the initial problem was that it was actually access across different time zones, but even in our London office, we have lots of people who want access to new features or disabling features every day. And they've just been able to do that themselves using Slack, something they use all the time without having to message, you know, one of the admins of LaunchDarkly. So that's really great. It's also a good chance for me to mention lots of the new updates to our properties panel, including a new UI, which has collapsible giving users more room to build. And we're also introducing tabs to the properties panel, which is going to make configuring steps much easier. We're also going to be releasing fullback values in the properties panel, which is going to allow any user to add a fullback value to the input properties of a step meaning finalize workflow failures, and much, much more seamless process. So the vision for LaunchDarkly moving forward at Tray.io we really want to fully automate our LaunchDarkly process using some of the automation built into LaunchDarkly and then also using the Tray platform. And I've actually built my own LaunchDarkly services connector, which is just going through its final testing stages and is soon to be public so that any Tray customer can use it. So the way we want to automate our LaunchDarkly process moving forward is that where you would want to automate it with a JIRA as well, so when we're building a new feature, the signal that a feature is going to be worked on is when a JIRA Epic is created. So we would integrate JIRA with LaunchDarkly so that the creation of a new feature flag is automated based on a new JIRA issue. This could then, you know, do many things. But one thing it could do is send a message to our squad Slack channel to let the engineers know that the code should be behind the new flag, so, you know, you could say, Hey in you and you feature flags being created, make sure you put all, you know, future code behind this feature flag. And we could then have a, another process when a second. JIRA ticket is created. Do you ever then retire the flag once the feature is generally available, so, you know, these are just one of many, many examples of use cases for using the Tray platform with LaunchDarkly. So with that being said. I'd like to thank you for joining me. You can read my technical blog post over on the LaunchDarkly website about the workflow I just mentioned in a lot more detail and you can also connect with me on LinkedIn.. To learn more about the. Tray platform, you can go to Tray.io and you can also look into one of our weekly demos where we showcase a wide variety of use cases at Tray.io/demo, so thank you very much. (upbeat music) That was a great talk Sheree, thank you so much for sharing that with us. I really appreciated all the things you had to say. Now we have some questions and to kick off, I'd like to ask the first one, which I think is an interesting reflection on how this fits into your workflow, especially with your Slack extension. How many times a week would you say that you use a flag? Hm, that's actually a really interesting question. I guess it could be perceived in a number of ways. So in terms of actually creating new flags, this is something we might be doing, and it, you know, it depends on our velocity of building new features, but at the moment where we're trying to make improvements as much as possible for our customers. So I'd say we're probably adding around one new feature flag, maybe every two weeks. In terms of the usage of the slash command that was mentioned in my presentation that workflow is actually being triggered maybe 20 to 25 times a day, which was actually really nice validation that it was, you know, something useful to our internal users and really shows how much effort our sales and customer success teams are putting in to ensure that our prospects and customers are always on the most, you know, the, the newest features. Wow, imagine what that does to velocity, to be able to say 20 times a day, I am empowered to do the thing that needs to happen instead of asking somebody else about it, that's so amazing. So as a followup question, how long did it take you to build that Slack integration? Well, I'd definitely be lying if I said I did it all on my own. I had some help from some amazing builders we have internally. In terms of build hours, I would say maybe a five to six, that included building the Slack app. You know, we're pretty lucky to have Slack. Slack has such a fantastic. API and enables so many, you know, different, different users to build Slack apps. So build the app first, then you build in the slash command and then yeah, I built a workflow. So I had like an MVP done in around maybe a, a full four to five hours. And then the added security element that I added because I knew that was going to be the security team knocking on my door saying why can anyone in this company change the feature flag for like, I'll have thousands of users so that, but then, you know, to take an extra hour or two, so, you know, just, you know, solid days worth and I'm pretty happy with it. That's great, so for a days work, 20 times a week, you know, maybe a hundred times a month, you're getting this advantage of being able to, to turn things on and off, that's pretty amazing. So let's switch it up a bit and dig into some specifics. If you don't put the comments in the code, you said the nice thing about workflows is that the comments didn't all live in the code, where do they live? Do people read them from Tray, are they in the workflows? Like how does that work? Yeah, so they're actually in the workflow itself. So for each step you add into your workflow, you can add a step title and a step description. So the title might be something short and snappy, like get user from Slack, and then within the description, you can then add a much longer description of exactly what the step is doing, we also have a higher level description, which you can do in the workflow itself. So there's different tests. So maybe if you're just having a look around at the workflow, you'll read the workflow description and that has unlimited characters, plus, you know, of course, fun things like emojis, cause where would we be without emojis? So you'd write in the workflow description, something like this workflow enables internal users to enable and disable feature flags for our users in LaunchDarkly. We might add more things like there's a second workflow that on a schedule gets the most up to date list of feature flags, and maybe you'd put a link in there to that secondary workflow so that they could then investigate that workflow. And then as I mentioned, within each step, you'd then start to add, you know, the more detail about exactly what each, each step is doing. That's excellent, and because you're doing it all in Tray, everybody knows where to look for the comments. So that's super interesting. You use external events to trigger flag flips, like you're, you're watching external things to trigger flag flips. Do you use flag flips to trigger external actions, things that aren't in Tray or is that. So actually that's, that's like a next step, but we could, we could build into the workflows. So one thing I mentioned in the presentation is how we could then retire the flag or maybe let's, you know, let someone know that a flag needs creating or retiring. So what we could then do is, you know, using, using the data we receive from flipping the flag, we could then maybe create a ticket in JIRA, or we could maybe send a, an email to a customer saying welcome to our beta for X feature. So you know, that there's pretty much unlimited possibilities. That's great. So you mentioned at the start of the talk about how many hundreds of surface connectors you have, can you give us a description of sort of an average service connector, like what, what would we connect? Yeah, of course. So, you know, any product you can think of Salesforce, Slack PayPal, one of my personal favorites is Strava. We've got Zero, you know, pretty much at any service and then using our HTTP connector or our universal connector, anything with a public API, you can then use in our universal connector. Excellent. Now I want to build a Strava integration so that Strava can like scan an RFC and know which why kind of writing. So I don't have to remember to tell it. That would be pretty cool, yeah. I felt when I, when I first joined Tray and I was just practicing building workflows, I, I use the connector to send myself a weekly summary of my Strava activities, so every Sunday around, I think it's at 10:00 PM. And of course I've written a message to myself saying, hi, Sheree, here's your weekly summary, well done. I can, I can see, see what I've done. And we're hoping to make that more company-wide and maybe have, you know, leader boards or, or something to help people stay fit. Yes, that sounds great. So you mentioned that there's a LaunchDarkly Tray service connector coming, how's that going? I mean, not that we're interested in it or anything. It's good, it's actually in QA. One, one amazing thing about, about Tray is, is just the kind of internal enablement and empowerment. And, you know, one thing I was, I was lucky enough to do is have the opportunity to, to create my own connector. We have an amazing team of engineers building these connectors and, and it's, it was great that I was given the opportunity to do that. So again, yeah, with some help from some of our connected engineers, I, you know, started, started building away and I think I've so far got 30 operations. So one at one operation is one end point and yeah, it's just had my PR approved and it's going into QA and I'm sure they're going to find plenty of things to improve upon, but yeah, hopefully, hopefully really, really soon we'll see it or see it live and out there for all our customers.
That's exciting. We will make sure that we publicize that when it comes out, because I'm excited to see how that integration works. I think this is a really natural combination. We would happily take any other questions you have otherwise Sheree and I are just going to talk about the awesome things that you can do with flags for another couple of minutes. So if you have any questions, please feel free to drop them in, hop in. If you would like more amazing content like this, please register for. Trajectory, which is next week. And I get to be the MC, so it's going to be great. Sheree, when we're talking about all of these connectors, do you see people stringing together, unrelated workflows? So it's not just like a. Salesforce and one thing, but like Salesforce and 18 other things? Yeah, totally. We, we see some amazing things being built in, in Tray. And that's kind of one of the amazing parts of being a PM is that you see all the possible use cases that you had no idea were even possible. So very often a prospect will come to us and they might just want to connect two things, you know, I want to get from A to B and what we try and do is, is really just show them the various powers and flexibility of a general automation platform and, you know, show them, yes, you can, you, you could do just A to B, but let's look at, you know, everything else you're doing in your company. You might want to go from A to X and do all these different things in between, so we see, yeah, amazing different combinations of, of connected. We see there's, we have one amazing internal workflow that the security team built, and again, it's powered via, via Slack, and it's about sending an internal security request. And then they use the Giphy, or maybe like a meme API, and they send a meme back to you once you've submitted your request, and it says, we've got Sheree's request, we'll be right at it. So, you know, it's, it's all about just, you know, making things fun here at. Tray plus also, you know, making it, streamlining all these different processes. So yeah, we see all the weird and wonderful types of combinations. That's delightful. I love that positive feedback with a gif. So I was thinking about that, and a couple of years ago, well, several years ago when Alexa first came out, people started talking about using Alexa skills. I went to a conference talk where somebody had trained his Alexa to turn on his meat smoker. (both laughing) So like, what's, what's the absolute weirdest use case that you can think of? Oh, that's such a good question. I'll definitely have to like hit up all our marketing team to find, find out something super wacky, but one actually very, very cool thing that our CTO did, actually, we had our first ever conference in Lisbon last November, which combined the teams from, I know, remember traveling to combine the teams from San Francisco and. London, and when we got there, we got like a welcome pack, and as part of it, there was a lanyard where your name and your face, if a photo of you on it. And the CTO had basically built a workflow that scraped through, I imagine either Slack or BU to get everyone's pictures then off to like a photo resizing API, which then sent to a lanyard,. I guess, making company. So the whole 200 plus lanyards had been created using Tray workflow, so yeah, I was,. I was just mind blown, I think by that, because that, that kind of would like, at the time wouldn't have crossed my mind that you could do something like that with Tray. Yeah, once you start seeing in workflows, it's hard to stop because it's so powerful. All right, we have an audience question, Chase K says, have you empowered your other members in your organization, like sales and support to manage more complex flags with tons of variations of the same feature? So for instance, you would have multi-variant flags that did four or five things. Yeah, exactly. Yeah, we have. And it's something that we're, we're now starting to kind of see, see the power of as we're kind of introducing more AB and experimental testing in the platform. So with our new trials program that we have, which we kind of introduced us as well, we kind of expedited the process as a result of, COVID sorry to mention the C-word in this, in this nice presentation, but we actually listed all our trials process. So we wanted to serve our trials users a different experience cause they want a 14 day trial, then our kind of regular, everyday customers. So using LaunchDarkly and also actually using Segment, which is kind of, you know, our data warehousing tool. We could identify different user types using certain client side events, or server side events, sorry, and from that, we could then send them different variants of, of the flag. So, you know, that's just one way that you can tailor kind of different experiences to different users. It's nice. I've seen a really interesting use case where people change the log level of a user that's having trouble like support we'll change the log level, if it gives you, that's having trouble to a higher log level without having to restart the service. So to go from like a three to a seven up, which I thought was a really interesting use case for that. Alright, so a bunch of people want to know, how did you meet the person who lives in London become a (indistinct) fan? Oh my God, I was. I was thinking whether. I should have put that. And I knew it would at least with the American audience. So it's not like the craziest story, but it is quite funny. And it basically just came from the fact that my boyfriend, he started following the. NFL maybe back in like 2006. And, you know, we only have one, one channel in the UK that shows NFL and, you know, back in 2006, the Bengals actually like won a game. So on this channel he would like see the Bengals kind of every week, and he had no other ties to, you know, anything in America, no relatives, you know, anything hadn't actually ever even been to America. So it was like, okay, I'm guessing I'm supporting Bengals. And then, you know, fast forward a few years later, I then starts again to NFL, and again, I had like no allegiance. So start support in the. Bengals and you know, it's kind of been depressing ever since, but feeling very positive for this season. So I'm pretty excited, you know, I've recently just got my Bengals socks ready, ready for the new season, so I'm prepared. Nice stripy socks since we don't get conference socks anymore. Yeah, exactly. That seems great. Is there anything else that you would like to tell us about what Tray is doing and where you're going with your roadmap, as long as we have all of these interested people? Yeah, I'd love to, so yeah, it's a super exciting time for Tray. We are scaling rapidly, we're more and more, an enterprise grade solution for companies who want to automate, I think I mentioned before about where it in the presentation, but we're making loads of improvements to our properties panel, we're making improvements to a debugging. We now support on premise services, so yeah, it's a super exciting time, and, you know, we run our trials program, so, you know, there's opportunity out there for anyone to try Tray for free and, and basically see the power of automation. Okay. Well it looks like, Oh no, we're fine. Oh, one more question. Since you're scaling, are you hiring? We are hiring, yeah. We're definitely hiring engineers and we're hiring in our go to marketing as well. So I think it's Tray.io/careers if you're interested and, you know, feel free to connect with me on LinkedIn and ask me any questions about presentation when it's like a Tray, yeah. Feel free to reach out to me. And I'm also thank you to our sponsors InVision. They're an amazing power user of Tray, so yeah, we appreciate you. Yes. They're a great organization and they're a great customer because they'll tell us what they're doing and give us all this feedback, it's really great. Somebody said, we love the quarantine sign. Are you a pun fan? Which we sort of discussed when we were talking about Slack channels, but yeah. As a bunch of punny Slack chat. Exactly, yeah. Well, I am a pun fan and yeah, I was mentioning before it's a Heidi that we have the Traydies at Tray, we have the Trayjons anything that you can put Tray in, it doesn't even really need to work. Just Tray forced straight into a word. We'll do it. That's great, well, thank you so much for putting this presentation together, Sheree, and I think we've all learned a lot and I think we have a lot to think about. This presentation will be available on Friday morning for everybody who wants to share it with our team or didn't get to watch the whole thing. I'd like to thank you all for watching and InVision for sponsoring us. And we hope that we see you at Trajectory next week. Oh, and InVision has a giveaway. So head over to their booth and sign up for the giveaway. What are they giving away? My team is going to tell me I'm sure it's exciting. Cause they have great taste in stickers. I always judge a company on stickers. Alright, I don't know what they're giving away, but you should go take a look and try it out because InVision is a really useful product for a lot of teams who are moving fast. All right, thank you all. And I hope you have a great Wednesday. We'll talk to you later, bye. Thank you. (upbeat music)