Resources

Using the Kyber R package to connect Google Sheets, RMarkdown, GitHub, & Agenda docs for open edu

As we work in open data science spaces, we frequently peer-teach coding and collaboration skills. The setup work is often grossly underestimated and unseen. I’ll share how Openscapes automates setup with the Kyber R package that uses googlesheets4 and creates RMarkdown documents that become collaborative Google Doc agendas, and sets up repositories and organizes people on GitHub. Kyber replaces manual steps with R functions while maintaining the ability to edit outputs so we’re not constrained by the automation. It has enabled us to teach workshops repeatedly in less time – in 2022, we led four concurrent learning cohorts with 160 government scientists! Kyber is openly available to fork, reuse, and extend, and other groups are doing just that. Talk by Stefanie Butland Slides: https://docs.google.com/presentation/d/1p_EXdYEVGY07VVMGdcvvwjjbwFihHsC_5oXRPW_8tVU/ Kyber GitHub Repo: https://github.com/openscapes/kyber Openscapes: https://openscapes.org/

Oct 31, 2024
4 min

image: thumbnail.jpg

Transcript#

This transcript was generated automatically and may contain errors.

My name is Stephanie Butland. I'm a biologist and some of us already know each other from my prior role as our open size first community manager. I work now with Julie Lowndes at OpenScapes where we use the Kyber package to do what he said it does.

I remember how powerful I felt the first time I used Kyber to make a multi-page Google Doc Agenda and a website on GitHub with just a couple of lines of code and I want to share some of this with you now.

But first a bit about OpenScapes. OpenScapes is about growing the open science movement and sharing some of this great vibe we hear at PositConf with the research teams we work with at NASA, NOAA Fisheries, and Fred Hutch Cancer Center here in Seattle. We work with research teams to help them do better science in less time together and this involves both tooling and people.

Our champions program is a multi-month open data science mentorship program for science teams. This requires a whole lot of teaching, but it also requires creating a lot of infrastructure. One fall we led four concurrent cohorts with 160 government scientists. This required me to create four different GitHub repos, 160 markdown files so that everyone could work in their own file in the GitHub clinic, 20 different Google Doc Agendas, and 160 completion certificates.

This work when done manually is error prone, it's time-consuming, the effort involved is grossly underestimated, and it's unseen.

This work when done manually is error prone, it's time-consuming, the effort involved is grossly underestimated, and it's unseen.

Introducing the Kyber package

Kyber package replaces manual steps with R functions and was driven by the question how much automation can we drive with minimal coding for the end-user? It's inherently powerful to design around commonly used and widely understood tools. So why can't we just do things with a spreadsheet, an R script, and a friendly front door?

Speaking of friendly front doors, Kyber was developed by Sean Cross who is a hero in the R community. He was there in the first OpenScapes champions cohort back in 2019 when he got to see firsthand the manual effort involved in putting this infrastructure together. He developed Kyber in collaboration with Julie Lowndes, OpenScapes founding director, and now Andy Tuescher and Anna Holder and Nick Tierney and I have all contributed to Kyber in different ways.

Creating agendas with Kyber

So I'll give you one use case, creating an agenda for one of our cohort calls. Every agenda has the same basic structure and we use Kyber to make us agenda sandwiches from a variety of different recipes and our well-stocked RMarkdown refrigerator of content.

We put all the metadata for individual cohorts in a Google Sheet. So there's the cohort name, a start date, end date, and we put all of the content in markdown files as the content that goes into the agendas. In our markdown files, they live on GitHub, but they're indexed in the same spreadsheet.

With a single call from Kyber, I give input that is the registry, the URL of the Google Sheet, the unique cohort name, and the call number of the agenda I want to create. I take the output, I paste it into a Google Doc, and I have my multi-page agenda.

Forking the OpenScapes approach

So to use the GitHub analogy of forking, meaning reusing and extending a product, other groups are forking OpenScapes teaching infrastructure using Kyber now, and they're forking the whole OpenScapes approach to meet their own organization's needs. Anna Holder's team at the California Waterboards are doing just this. They're the first organization to fork OpenScapes and independently lead these cohorts.

Through working with Anna, by co-working and screen sharing with Anna and her team, we've helped them add their own custom content into Kyber, so they create their own agendas and their repos and their completion certificates. And just last week, they kicked off their fourth independently-led OpenScapes champions cohort.

Anna says, our ability to scale is directly related to Kyber. Instead of Anna doing all this copying and pasting, she gets to spend her time working directly with her colleagues, helping them get unstuck in their workflows.

Anna says, our ability to scale is directly related to Kyber. Instead of Anna doing all this copying and pasting, she gets to spend her time working directly with her colleagues, helping them get unstuck in their workflows.

This has been my experience as well, and this was the original intent of Kyber in the first place. And so we're really excited to see what the possibilities are using this tool and having this great combination of tooling and people, and let's see what we can enable together. Thank you.