/ Software Engineering

The Launch of VRCC: Your home for virtual reality music events

VRCC is the Virtual Reality Club Collective, a service which you can use right now at https://vrcc.events to find music events happening in the virtual reality space.

A handful of events gracing the VRCC homepage.

In this post I'll cover factors leading to its launch, insights I've taken from presenting it to the community, and where we're going from here! I've included a challenge for you worldbuilders and devs at the end, too.

What All Does It Do?

VRCC serves as a database exclusively covering VR music events. On the surface, that means it's a website you can navigate to, a page on which to look at flyers, and subpages for individual event details. But, as with much I create, there's more than meets the eye. Take a look into the source code for the homepage, and you'll find some details on data APIs you can use to programmatically consume event information.

Throwing a bone to devs in the VR space, exposing the VRCC APIs for the world to use!

In fact, you can see what all events we know about as a JSON blob. For example, open https://vrcc.events/events and you will be greeted with a massive list of event data. This is not by mistake: VRCC is intended to vend information to event organizers to help with planning, patrons to help with finding events to attend, and developers to fill gaps in the community's needs where I have not!

If you are a developer, please use VRCC's data APIs to build upon!

Why VRCC Is Needed

Over the course of 2020 I had the simultaneously fortunate and unfortunate experience of being sequestered to the online space for everything in life, as the rest of you likely did, from the COVID-19 pandemic blanketing the world. Covered in last year's post on Loner ONLINE, all my music activities moved into the virtual reality space, and the numbers of fellow creatives doing the same exploded from there. The number of events, both recurring and one-off, grew to be too large for organic cross-pollination to be effective.

"Wait, Was There An Event Happening Last Night?"

You see, communication about new VR music events typically occurs in two ways: 1) they are posted to the group's Discord server - maybe that of a few other servers, and 2) they are shared around Twitter. This is very convenient for those who are regularly on both of those platforms and are active in the scene. However, this is overwhelming for a newcomer.

Additionally, patrons and event organizers began missing events as the number of events happening each week grew. Over one particular weekend in Spring 2021 where several events were occurring each day, it became common to see someone in a Discord chat or to hear someone in VRChat saying "I wish I had known about that event yesterday but I didn't see the flyer until just now" or some variant thereof.

VRCC offers a single point of contact where anyone with a web browser can discover events. If you don't use Twitter, if you don't know what Discord is, you can still find and get involved with events in the VR music space, thanks to the accessibility of this service.

Timezones Are Hard

Not to be understated, there is a pretty strong problem in the community of timezone and Daylight Saving Time conversion issues.

Flyers typically do well at this by listing the event start time in multiple time zones across the globe, but this rarely covers every patron's time zone, which means many people are still having to do some conversion to find when doors are. Everyone hates doing that.

To complicate matters, music events typically happen after the sun goes down, which means that events that cross the date boundary between time zones have to be represented on the flyer in some manner. A number of Japanese VR venues use the clever strategy of listing sets as an expanded 24-hour clock, whereby a set at 01:00AM the following day is instead listed as 25:00 the same day the event started. However, this has at times created confusion on flyers as it's not a standard practice.

How does VRCC solve this? It automatically converts the event start time to your local time zone, accounting for timezone differences, setting the correct date, and adjusting for Daylight Saving Time. From the very start, the one measure of whether or not the project succeeds is whether people can find exactly when an event starts, regardless where they are logging on from. VRCC excells in that regard.

The Launch Tenets

This may not be an exciting topic for most, but I found it helpful for my own development, so it gets a section for retrospective value.

Software development projects can be assigned tenets, with statements like "prefer simpler over more complex" or "no big-bang launches when a phased approach is possible." These are intended to avoid stalemates in decisions, since competing solutions can be decided in a moment rather than circling back and forth in debate, burning valuable time ahead of a deadline.

In my professional life I have worked on many projects that carried tenets. They became useful in very few of those projects - and most of the time, tenets were only ever discussed in the form of debating on whether the tenets were right for the project. All in all, I have not seen a significant value from tenets on projects - but it's one of those practices in development work that I think can be valuable if used correctly. For the launch of VRCC, I tried a few simple tenets to guide myself in case I started getting too far off track on the project, as this is the first major project I've taken on in years as the solo owner and contributor.

From my past work learnings, I took on these tenets:

  • Nothing matters if it never launches.
  • To know what features to work on and bugs to fix, listen to user feedback.

Now I expound on them for clarity:

Tenet 1: Nothing matters if it never launches.

This is meant to convey the idea that one must move fast, even if this meant leaving some features out for the service launch. At the end of the day, it had to get launched or the community's problems would continue to go unsolved. Taken another way, this tenet was meant to be a reminder to deliver results. Nothing else matters if you don't deliver results. Thinking on a good idea is far different from making that idea reality. This meant that I could tell people "it's coming soon" all I wanted, but it didn't matter until they could touch it and benefit from it. Saying "yeah you can use the site right now!" was one of the most satisfying things I've ever been able to say regarding a development project.

Tenet 2: To know what features to work on and bugs to fix, listen to user feedback.

"Listen to user feedback" explains itself, but the important thing about this tenet is in what it leaves out. The tenet is meant to convey that I can come up with many useful features that VRCC could have, but I don't know what people will actually need until they get a chance to use the service for a time. I go into an example of this in action in the "Learnings from the Launch" section below, so suffice to say much of what you can do with a service will be quite different from what people will actually use in your product. The best way to learn what's worth building is to put your work out there before it's truly done, and pay close attention to what people say is wrong with it!

And that's it! Only two tenets to guide the project. Turns out, that was just the right number.

How did it go?

VRCC was launched before it was truly complete. This I'll volunteer freely, because this was its strength in being a good service for the community: it got out there and got the job done, even when imperfect. The service continues to improve and change as time goes on, based on what the community needs from it. I believe it is achieving its goal for being a valuable resource, and I've some data to back that up:

To date VRCC has supported 65 VR music events, and takes contributions from 33 distinct VR event groups and promoters, with new additions on the way! In fact, here are some traffic statistics from this week to tell you how the community is using it!

Daily visit statistics as of June 24 2021. Thank you for using VRCC!

The huge initial spike is from the public announce day.

Running total for events created on VRCC.[1]

Learnings from the Launch

I took a few interesting learnings from working on this project, which I share here also for retrospective value.

1. People will care about things you don't expect them to.

In the first 24 hours of VRCC being live to the public, the immediate feedback was that people wanted the site to run on HTTPS rather than plain HTTP. I was surprised and impressed by this - I didn't think that many people cared about using HTTPS everywhere on the Internet, even if the sites didn't handle private data! (VRCC does not handle private data.) I imagine some only mentioned it because their browsers would notify them about the site not having a certificate, rather than personally caring about the privacy of their connection, but regardless this was the loudest pain point for folks. That became the first completed request from user feedback, implemented the very same day. The site now runs exclusively on HTTPS.

2. You can't account for everything before you scale.

The early builds of the service did not do anything to filter events from the database. This meant that new events getting added would push the home page to grow larger, increasing load times as older events continued to show. A number of helpful folks reached out about optimizing the service to avoid this, so a number of backend changes were introduced to limit how much bandwidth the service will chew through when loading it up, regardless how many events are added. This would have been easy to introduce on day one before the database filled up, but again this is one of those features that would have been useless if no one used the service to begin with.

In the same vein, the home page had some visual oddities when many old events were displayed, which didn't become apparent until we had enough events in the database to make it noticeable. This was another thing that I did not encounter until the service started to handle a large number of users and contributors - and something that wouldn't have been worth working on ahead of time, compared to the time savings from leaving it til later.

Simply put, you will always miss something during a launch that won't become apparent until you start scaling and taking on users. This is why it's so important to get your product into a customer's hands as quickly as possible, even if you're embarassed about what you have right now. While you could try to cover every edge case before the launch so you have a perfect product, you will give up time working on features and protections that users may never actually use, while in the meantime leaving your users without your product at all. Think of it that way: instead of providing value for someone, you're leaving a void for the user, an unaddressed need, possibly throwing away your work and time - and you still may not cover everything!

The solution is simple: bite the bullet and launch your damn product. Note down all the feedback you get, and work on what you find is most important to those who depend on your creation.

3. Feedback is business, not personal.

This is not something that caused any roadblocks, but was something I did have to remind myself of during the first week of VRCC being live: people will come through with many a good idea, and generally mean well when requesting the feature - and it's all business, not personal.

Nearly every suggestion I received in the first week of the service being live was a good idea, and I considered each that held weight. That being said, the first week was a total bullet rain of suggestions; feedback came in so hard and fast, I had a kind of unsettled feeling like "did I do wrong by launching this service right now?" Not one person was hostile when suggesting their idea, but the number of suggestions still gave me a surprisingly negative feeling in those first couple days.

What helped me deal with this was reminding myself that people were indeed happy with the service existing and being immediately ready for use. Most feedback was not actionable ideas or feature requests, but simply thank-yous and words of encouragement and appreciation. Recognizing that helped keep the necessary perspective that many will want to contribute to a service you make, especially when you're easily accessible via social media and direct messages, and that it's all professional, not personal.

I am glad for people being so quick to give their feedback, as this made it very easy to find what ways the service could be improved, and helped me avoid throwaway work on things people didn't care about.

Other learnings?

I believe there are other things I'll learn from running this service that I haven't hit yet, but only time will tell what they are, and what matters.


VRCC is now a community resource, powered by the very music groups that a year ago felt the pains of the scene being too decentralized for being inclusive. I am very happy to be able to say that. I've been honoured to be interviewed about VRCC for both the HOM3ROOM podcast and A Slice of Zenith podcast

A Slice of Zenith Episode 11 featuring Clyde Machine and Strasz

More groups are invited to contribute their events to the service every few weeks, and new events are added multiple times each week. For scaling, quality control, and abuse-prevention reasons VRCC is invite-only. Persons who run events and believe they are a good fit for being represented can get in touch with the information provided on https://vrcc.events/about.

Curious to keep up with VRCC? Updates on the service can be seen right on the site itself, as well as on the @VRCCollective Twitter account.

For the future of the service, I personally would love to see people building on top of it, working on things that I don't have the skills or time to do myself. If you have a wild idea of how you can use the data provided by VRCC's APIs, feel free to reach out about it, or even get started on it without me being involved! I'm happy to help where I can, but definitely don't bottleneck on me if you're raring to go!

Community Challenge

Here's a freebie idea that I want to see: some kind of dynamic object installed in VRChat worlds, that shows flyers for upcoming events, taken right from VRCC. I imagine this being used in the same way you'd see flyers outside IRL clubs about future events. Bonus points if you can make this into a prefab that others can easily grab off a site like booth.pm and install into their worlds for maximal utility. Please someone make this a reality!

To say "the future of VR music is bright" is so obvious it's almost boring to say, so I'll take a spin on that: the present state of VR music is bright, and the future looks to me like taking a fully-illuminated strip of LEDs and strapping them over your eyes. You shouldn't try this to find out what I mean, but take it as "blindingly bright."

  1. Note that sometimes events are created then deleted, so this graph will look a little optimistic since it only shows data for when new events are created, not when they're removed.) ↩︎