At the Linux Foundation, we have been studying robust, scalable virtual events platforms that we can not only use for our own R Consortium events, but that we could extend as a resource to the R community.
Here is the current state of our evaluation. We’ve covered 86 virtual event platforms, and come up with a list of 4 finalists. Since specific circumstances and goals for events will always vary, we expect that there will never be a one-size-fits-all solution.
The four finalists are:
inXpo Intrado
Best for large events with high budgets requiring a virtual conference experience with few compromises
vFAIRS
Best for medium to large events with smaller budgets that want to offer a 3D environment/booth experience
MeetingPlay
Best for any size event where attendee networking tools are a priority and sponsor ‘booths’ aren’t required
QiQo Chat
QiQo is best for smaller technical gatherings that don’t need all the bells and whistles of an industry event focus, a great option for developer meetings and hackathons
The good news is that for those events that can no longer safely take place in person, virtual events still offer the opportunity to connect within our communities to share valuable information and collaborate. While not as powerful as a face-to-face gathering, a variety of virtual event platforms available today offer a plethora of features that can get us as close as possible to those invaluable in-person experiences. Thanks to our community members, we’ve received suggestions for platforms and services that the events team has spent the past several weeks evaluating.
After researching a large number of possibilities over the last few weeks, the Linux Foundation has identified four virtual event platforms (and a small-scale developer meeting tool) that could serve the variety of needs within our diverse project communities. Our goal was to determine the best options that capture as much of the real-world experience as we can in a virtual environment for virtual gatherings ranging from large to small.
If you are considering a virtual alternative for your R community meetup or event, please contact us. We may be able to help!
By Rachael Dempsey, Senior Enterprise Advocate at RStudio / Greater Boston useR Organizer
Last month, the Boston useR Group held our very first virtual meetup and opened this up to anyone that was interested in joining. While I wasn’t sure what to expect at first, I was so happy with the turnout and reminded again of just how great the R community is. Everyone was so friendly and appreciative of the opportunity to meet together during this time. It was awesome to see that people joined from all over the world – not just from the Boston area. We had attendees from the Netherlands, Spain, Mexico, Chile, Canada, Ireland, and I’m sure many other places!
Our event was a virtual TidyTuesday Meetup held over Zoom, which can hold up to 100 people without having to purchase the large meeting add-on. (If you’re worried about the number of people being over this, keep in mind that often half the people that register will attend.)
This was our agenda:
5:30: Introductions to useR Meetup & TidyTuesday (Rachael Dempsey & Tom Mock)
5:35: Presentation #1 – Meghan Hall: “Good to Great: Making Custom Themes in ggplot2”
5:50: Presentation #2 – Kevin Kent: “The science of (data science) teaching and learning”
6:00: Introduction to R for Data Science Slack Channel – Jon Harmon
6:05: Breakout into groups to work on TidyTuesday dataset – groups will be open for two-hours but you can come and go as you want!
7:30: Come back together to the Main Room for an opportunity to see a few of the examples that people would like to share
If you’re thinking of keeping your monthly event and want to host it virtually, I’ve included a few tips below:
Find someone (or multiple people) to co-host with you!
Thank you, Kevin Kent and Asmae Toumi! Kevin, a member of the Boston useR Group was originally going to be the lead for our in-person TidyTuesday meetup and posted about the meetup on Twitter, where we both met our other co-host, Asmae Toumi. Asmae then introduced us to one of our presenters, Meghan Hall. Having co-hosts not only made me feel more comfortable, but gave me a chance to bounce ideas off of someone and made it much easier to market the event to different groups of people. While I often share events on LinkedIn, Kevin and Asmae have a much bigger presence on Twitter. Aside from your own meetup group and social media, another helpful place to find potential co-hosts may be on the events thread of community.rstudio.com. Instead of co-hosting, you could also just ask people if they would be willing to volunteer to help at the meetup. Thank you to Carl Howe, Jon Harmon, Josiah Parry, Meghan Hall, Priyanka Gagneja, and Tom Mock for your support. If I can help you with finding volunteers, please don’t hesitate to reach out on LinkedIn.
Have a practice session on Zoom!
The day before the event we held a practice session on Zoom to work out a few of the kinks. As we were hosting a TidyTuesday meetup, we wanted to be able to meet in smaller groups too, as we would if we were in-person. I had never used Zoom breakout rooms before and wanted to test this out first. After the initial presentations, we broke out into 7 smaller groups. These groups worked well to help facilitate conversation among attendees. During the test, we confirmed that you can move people from different breakout groups if needed. This was helpful for keeping the groups even as some attendees had to leave before the end of the event.
Have a Slack Channel or a way for people to chat if they have questions
During the meetup, we used the R for Data Science Online Learning Community Slack Channel as a venue to ask questions and share examples of what people were working on. You can join this Slack channel by going to r4ds.io/join. We used the channel, #chat-tidytuesday which you can find by using the search bar within Slack.
Accept that it won’t be perfect
You can practice and plan how you want things to go, but I think it’s helpful to recognize that this is the first time doing this and it’s okay if things aren’t perfect. For example, we were going to create separate breakout groups based on people’s interests and have everyone use a Google doc to indicate this at the start. While it was good in theory, we determined this would be a bit too hard to manage and complicate things so I just automatically split people up into the 7 different groups. It wasn’t perfect, but it worked!
Think about Zoom best practices
This came up in discussion during our practice call and I think we’ve all seen recently that there can be a few bad-actors out there trying to ruin open meetings. @alexlmiller shared a few tips on Twitter that I’d like to cross post here as well.
You can start with the Main Settings on your Zoom account and do the following:
1) Disable “Join Before Host”
2) Give yourself some moderation help by enabling “Co-Host” – this lets you assign the same host controls to another person in the call
3) Change “Screen sharing” to “Host Only”
4) Disable “File Transfer”
5) Disable “Allow Removed Participants to Rejoin”
And also to make the overall experience a little nicer:
1) Disable “Play sounds when participants join or leave”
2) Enable “Mute participants upon entry”
3) Turn on “Host Video” and “Participants Vide” (if you want that)
One more thing, if you want to split meeting participants into separate, smaller rooms you have to enable “Breakout Rooms”.
Market your event on social media
Once your event is posted to meetup, share it with others through multiple channels. Maybe that’s a mix of your internal Slack channel, Twitter, your LinkedIn page and/or the “R Project Group” on LinkedIn …or wherever you prefer to connect with people online. Keep in mind that this could be a different audience than your usual meetups because it’s now accessible to people all over the world. Ask a few people to share your post as well so that you can leverage their network as well.
Have fun!
Reflecting back on our meetup, some of us found that with the use of Zoom breakout groups and a Slack channel our event was surprisingly more interactive than our actual in-person meetups. It was also an awesome opportunity to do something social and get together with others from the community during this crazy time. If you have any tips from your own experiences, please let me know and don’t hesitate to reach out if I can assist in any way. Hope this helps!
The R user group support program and the R-Ladies project, are featured in
two out of three top-level R
Consortium projects.
How We Identified R User Groups on Meetup
Identifying all R user groups on Meetup.com required
more effort than R-Ladies groups. While R-ladies groups are centrally created and their names
follow a standard convention, the names of other R user groups are more difficult to predict.
We extended Curtis
Kephart’s technique for using string matching to retrieve upcoming R events
to:
Match among all data science groups on Meetup
(7700 +) those with strings like “r user”,
“r-user”,“r-lab”,“phillyr”,“rug”,“bioconductor”,“r-data”,“rug” in their Meetup
URL names. We then performed a second round of string matching to search for
strings like “programming-in-r”, “r-programming-”, “-using-r”, “r-language”,
and “r-project-for-statistical” in the groups’ topics field.
Retrieve all user groups that mention
“r-project-for-statistical-computing” in their topics separately.
Retrieve all R-Ladies groups separately, which
was necessary to avoid missing some groups.
Procedure
For this dashboard, the following procedure was followed:
We
used the meetupr
package to extract R user groups from Meetup.com
Improved
the existing find_groups()
and get_events()
functions in meetupr
to meet our requirements
and switched from the defunct Meetup API keys to OAuth 2.0 authentication
system. This switch was quite complicated and will be discussed further in
another article.
Transformed
the data retrieved from Meetup via meetupr
from data frames to JSON, GeoJSON and CSV
Stored
the data by committing the JSON/GeoJSON/CSV files to the GitHub repository of
the project.
Developed
a static HTML dashboard interface based on an open-source Bootstrap template
Rendered
the stored data via the dashboard interface
Automated
the process of extracting R user groups, data transformation and storage.
Deployed
the dashboard via GitHub Pages
The
Tools We Used
Combining
R (for data-analysis) and JavaScript (for data-presentation) is at the heart of
this project as this combination offers great flexibility with automation and
deployment.
We
used a mix of these tools to develop the dashboard:
R, RStudio and the following packages:
meetupr, curl, jsonlite and leafletR
Javascript and the following libraries: jquery.js, d3.js, echarts.js, leaflet.js, leaflet-markercluster.js and lodash.js
Gentelella Admin Dashboard Bootstrap HTML template
Travis CI to automatically build the project, execute R scripts and bash commands
Bash commands to call R scripts and commit modified files to GitHub
Acknowledgments
We
appreciate Curtis
Kephart (RStudio) for contributing
code that helped us with ideas on identifying R user groups on Meetup.
We also
thank the authors of the meetupr package for their excellent work.
Special thanks to Jenny Bryan, Erin LeDell, and Greg
Sutcliffe for their help
over the last month with implementing the requirements for the new Meetup OAuth
2.0 authentication system.