Becca Krouse - Stitch by Stitch: The Art of Engaging New Users
videoimage: thumbnail.jpg
Transcript#
This transcript was generated automatically and may contain errors.
Hi everybody, I'm Becca Krouse. I'm excited to be here today. Thank you for the opportunity, pause it, and thank you all for being in the room. My talk today is called Stitch by Stitch, The Art of Engaging New Users. All right, so I want to start by saying this presentation is my personal opinion and not that of my organization.
So we know by now that, uh, you know, you saw our little pharma contingency. So you may have caught on that those of us in the pharma industry really love our tables. And I work on the data sciences and engineering team at GSK, where my team focuses on building tools to support our study teams who are working hard on clinical trials and analyzing the data and trying to make sense of it by putting it in these displays. And there's so much data being collected on these trials, so they end up kind of displaying it in every which way.
And I want to tell you about a little situation that is super common that many of these folks find themselves in. So they get there, they get to the end of the end of the study, do all of the analysis and follow their plans to create the nice clean tables that they set out to do, do all the formatting and create the final versions. And here's, here's one that's always performed in a trial, which is the demographics table. It contains the patient characteristics at baseline by treatment group. It's a really important table, gets completed, and they're not quite done because this is a really, um, really important study.
And it was, uh, you know, a lot of time and effort and, um, the results end up getting usually picked up for, you know, someone's paper, someone else's presentation, uh, the final study report. Um, so different people, uh, repurposing and reusing, presenting, sharing out with the world. Unfortunately, it's not, uh, usually such a simple copy and paste, um, depending on where the table's being popped into, it could be a slide set or a document, or, um, maybe there's some, uh, rules by the journal. Uh, typically some tweaks need to be made to that end results, or these folks just have their own preferences for how the thing should look and they want to change the rounding a little bit, or they want to flip the order of the columns, um, or split up multiple pages. And, uh, just these little aesthetic tweaks that quite honestly have, um, not much to do with the analysis itself. That's kind of done and dusted and they're just, uh, refining the way it looks.
Um, and a traditional workflow, this actually can, uh, cause a lot of rework because if you're getting into the analysis program, then you start messing with the analysis. You have to check it again, or, or maybe people are editing it manually. Um, so error prone. Uh, so our team created an R package called, uh, Tformat to allow people to more easily format these tables and reformat and add their own customization, uh, without getting back into the analysis without, you know, having to redo a bunch of things.
Um, and Tformat works by gathering all of the instructions for how this display should appear and storing it as metadata. So what, what are the rounding, you know, what are the, how, sorry, how should the values be rounded? What are the, um, uh, labels of the columns? Um, any special footnotes, things like that, all gathered and stored as metadata as an R object and combined with the, um, results themselves, they get created, uh, into a GT table with, um, all the pretty specifications.
The challenge of onboarding new users
Now, um, Tformat itself obviously is an R package, but if we take a look at our potential user base, it actually, um, they vary quite a bit in terms of their expertise, uh, how comfortable they are in programming. Um, all of these folks need to use these tables and modify them in some way, but asking them to pick up and use an R package is, is not super straightforward. And, um, on top of this, we're in an industry that's a little bit newer in our open source journey. So, um, our packages and our ecosystem is, is, it's a new thing for some folks.
Um, so, you know, learning a new skill as an adult can be quite difficult, especially when it's in a really super new domain and you don't have the context because you weren't there before, you know, this is your first time in this, this new area. Um, and you can feel a little bit out of place.
So, uh, speaking of being completely new, um, to a brand new domain, I recently had an experience as a brand new beginner in, um, area that was new to me that really gave me a renewed perspective on what it's like to be new at something, what it's like to learn something without that context. I've never been there before. Um, and, you know, and appreciating, uh, what it's like to approach beginners, uh, for the first time. So a couple of Christmases ago, I got one of those Wubles kits. Has anyone heard of them? Uh, they kind of exploded in their popularity. Um, and they're kind of all over the place now, but there's little kits that contain everything you need to learn to crochet your first little plushy creature. Um, and mine was a unicorn and I started, um, following the instructions and finding my way.
Uh, and I had some, you know, I had to undo and redo a bunch of things cause, uh, you know, I'd mess up and it was, it was bumpy and it was messy, but eventually I, I completed the thing and I was, you know, again, it was messy. I was proud though. Um, and fast forward to today, this is me on the weekends or honestly on the plane ride over and a posit comp just can't stop, you know? Um, and honestly, the bigger the project, the better, especially when it's bigger than myself. And not only do I, you know, continue to do this hobby, but I have the confidence that I, that I can pick up increasingly challenging tasks and continue to find my way in this new world. I have the confidence I did it before I can do it again.
and continue to find my way in this new world. I have the confidence I did it before I can do it again.
And we have a similar goal with T-Format. We want to, you know, bring in our newest users, even if R is new to them and make them feel comfortable and help them just start building positive associations with R, with open source. And hopefully that plants some seeds for them to be future experts. Um, and, uh, you know, it all kind of starts with the very first step.
The starter kit: tfrmt Builder
Going back to my experience with my little plushie, um, I had my kit, so I was able to just kind of hit the ground running. But if I hadn't had a kit, I would have had to walk into the craft store and start to make some really overwhelming choices. And if you, if you've never been in a craft store before, what you'll find is, you know, you'll go to the art, the yarn aisle and it's walls and walls of options, every single color, um, every single texture and material. It's just overwhelming. Um, and that's just one piece of the picture. But for me, I was able to, you know, put all that aside, learn it later, uh, and just start creating, which was, um, you know, gave me a, helped me reach that point of confidence sooner.
If we think about our users of T-Format that are newer in this open source world, uh, they are, you know, learning the R ecosystem, learning what the software is and how to install it and how to, how to use the new language. And all of that is very much worth doing. And we want those folks to learn it. But if they just want to explore T-Format, uh, first and kind of dip their toe in, we have given them an option to do so through our Shiny app. So we have all of our logic in the R package T-Format, and we've created a Shiny app interface called T-Format Builder, which allows people to start exploring this package without, you know, learning the code.
Um, and if we take a look at the app right here, uh, here's the landing page. And, um, right away, you can see at the top, there's just a couple of tabs for people to step through, um, the expected workflow of T-Format, uh, initialize, edit, and export. Um, initialize is where they define their starting point of what they're working, uh, from. Are they building a table from scratch? Or as we saw in that other slide, they could pick up someone else's work and keep going. So this is where they say, you know, this is what I have to start from, or I'm starting from scratch. And then they can continue to actually work on the table, modify its appearance. When they're finished, they can save out the result.
On the initialize tab, this is where they say what they're starting with, and they have the option to, uh, both upload an existing T-Format. And this is all the instructions for how the thing should look. It's metadata. They can upload the JSON file that represents that metadata. They can also upload the data. Um, if they are even greener to this, their organization has never used T-Format before, we have built-in examples. So people can explore the workflow of creating a demographics table without having, you know, done these sorts of things before. And they go from an edit tab that looks something like this, you know, totally blank slate, starting from scratch to, um, the, the settings, uh, configured for them and just build out. And they have their table that they can, um, you know, explore how it was formatted and how to, how to tweak that formatting.
When they are finished and they're happy with the way the table looks, not only can they save out the results, but they can save out the metadata that can reproduce the results for someone else to come along and pick up and, uh, use or learn from in the future.
Templates and layering for beginners
So, um, swapping back to my, uh, crochet journey, um, that first step, I had my kit in hand, all the materials I needed. So again, it was all about taking that very first step. And for these little projects, the first few steps are actually quite challenging. Um, so another nice feature was that it started, um, it came with a pre-started piece. So the first few steps were actually completed for me. And my first step was much simpler, the possible, the simplest possible stitch. Um, so I was able to kind of put that stuff aside and of course, come back to it later and kind of fill in the gaps, but, um, this really gave me another boost to, uh, success.
For, um, T format, we have one of our core, uh, pieces of functionality is the ability to create templates and use them later. So someone who's more, um, comfortable with T format at your, uh, organization, and we saw this through the app, there's some examples. Um, you can create templates and these represent how you would expect a standard common table to appear. So folks can really just pick it up, add their data, and they have a table with values. So really, really simple for people to, um, to get that table even more quickly when they have a template to work from. And for new users who want to start dipping their toe in customizing this table, there's another feature where you can take an existing table and layer a bit of tweaks on top of it. So you can take something that already exists and without going into that and understanding how it happened, you can just do a layer, your own little customization, um, through a layering function. And there you go. Um, even a new user can have, uh, the ability to customize and put their own flavor on it.
Building a mental map through the app
Um, the, so learning a new domain, getting into a new domain means learning a new language. And for my, uh, for my unicorn, the instructions looked a little something like this, just really just foreign to me, different little abbreviations, numbers, things I had no idea how to read at first. Um, but eventually I started to get comfortable, get the hang of it and develop some fluency around it. Um, and little did I know that was actually universal. So all projects use these conventions, all patterns use these conventions. And I was able to eventually, uh, go beyond Google's kits and start doing things in the big wide world of all sorts of projects. Um, so that really built a nice foundation.
And T-format comes with its own syntax, its own language. Um, as any R package does, you have to kind of get the hang of it. Um, so for folks that are visiting the app first, um, on their learning journey, they can, they have exposure to this right away. So the formatting options that you see here that come in the sidebar of the app, they directly mirror functionality in the R package. So if I, you know, the body plan corresponds directly to body plan and, and so forth. And so by going into the app and playing with these things a little bit, a user can start to build a mental map. So if they eventually want to jump over to R, which is where they're going to have kind of the most power and flexibility, that transition is more smooth than, than it would have been if we had kind of, um, shielded them from some of those things.
And just give you a peek at the way this looks in the app. Um, anyway, the, the user can, uh, uh, yeah, um, kind of choose their selected plan. And I was going to show you how they, they can select the column plan, drag the columns around and see the result right away in, um, in the table. So by, they can play and interact and see the result right away. So they can, you know, it helps just to build that mental map visually, uh, much more quickly, um, than if they were reading documentation or something.
So between these two tools, uh, we have different entry points for our users, um, to come in and use things, uh, depending on, um, wherever they are in their journey. Right. And because they're all speaking the same language and they can pass things back, back and forth between each other. I made this table, you can build on it and we can do this in the app or direct use of R. Um, it really helps to foster collaboration, um, which is really nice. And, uh, if people want to progress in the journey and start using different things, uh, they certainly can, they could decide to eventually go from the package to, or the app to direct use of R, or maybe they're really pushing what's possible in T-format as far as what formatting is offered. And they can start plugging it in with other tools in our ecosystem and, and continuing to customize and expand there.
Closing thoughts
So as developers of T-format, we, um, recognize an opportunity to approach our, um, our diverse user base and kind of meet them where they were. Um, and as, as developers in general, we have a responsibility to provide an on-ramp to our new users and, uh, really picture ourselves in their shoes, um, and, uh, help them, you know, take that very first step. Um, because after all, it may set the tone in their overall learning journey. And I will leave you with a couple of links to these tools. And, um, thank you very much.
responsibility to provide an on-ramp to our new users and, uh, really picture ourselves in their shoes, um, and, uh, help them, you know, take that very first step. Um, because after all, it may set the tone in their overall learning journey.
Q&A
Thank you so much, Becca. Um, I really like the, the tools for collaborating between coders and non-coders, specifically T-format builder. That's a great, great way of, of allowing that collaboration. Um, I do have some, I have a question here from our virtual audience. Um, what are some tips for converting from tidy or untidy data to T-format? Um, there's a second part of that question there. Um, and I can get to it after if you like.
Yeah. So, um, with T-format, we, we do have an expectation for what the input data looks like. Um, and so you can use your favorite tools to get it in that structure, which I'll just say, um, very quickly, it's one record per unique value. It's long data, um, that's unformatted because T-format will do all the rounding for you. Um, but Daniel did plug some, uh, functionality coming into the, the, um, the pharma space, the cards package will be a big, big boost to, um, to get that data in that format much more easily.
Perfect. And the second part of that question is can T-format take existing datasets, um, from services like REDCap and apply the correct formatting? And I don't, I've never heard of REDCap before, so I don't know if you know what REDCap is, if you could just, so, um, from what I see online, it's an online survey, um, and data management service. So if you don't have a context there. Yeah, I'm not sure. I, um, you know, with, with T-format, if you're using R, you just got to get the data into your R session in your usual way. For the app, uh, you could certainly explore, um, uh, tweaking the, uh, loading module to, to, uh, get it right.
Great. And, um, has this project started as open source or was it open source later in development? Everything was started as open source. Yes. Very cool. Um, and last question, where do you get a Wooble kit? Oh, gosh, I don't, I mean, they're all over the place, right? Amazon. Thank you much. Thank you. Thank you.
