I was planning to write up a detailed post-mortem blogpost about High Fidelity, when my friend Theanine wrote an excellent article on the same topic, and posted it to his Medium account today. Theanine wrote a well-argued, thoughtful essay, which is far, far better than anything I could have written myself, informed by his many years of working on the platform as a content creator, with his background as a game developer and a game artist.
Theanine very kindly gave me his permission to repost his work here as a guest editorial, along with his pictures.
High Fidelity—What Went Wrong?
The inevitable has finally happened. High Fidelity Inc. has announced that they are effectively killing their eponymous social VR platform. In less than a month’s time, they will be closing down their forum, marketplace, account creation, and banking services. Some of us who have used the platform in the past saw this coming years ago. We sounded the alarm long ago about the doomed trajectory the company was putting the platform on, but were met with disappointing excuses from those in charge. Years of ignoring feedback from users and creators, the very lifeblood of the platform, led to this outcome.
I have some very nice memories of my time in High Fidelity. When I think back to all those worlds I spent time in (including my own), I remember them just as if they were real places. Despite the engine’s buggy lighting and rendering quality (still not on par with decades-old Second Life’s), those worlds still somehow felt real. And the first time I saw my avatar’s hands in front of me felt amazing. That sense of becoming another being was just surreal in the most crazy awesome way. The foundations of the platform were strong in that regard. It really did feel like the beginning of a metaverse. I feel lucky to have been able to experience it, both as a user and as a content creator. The High Fidelity software project will remain an important part of VR history. No one can take that fact away from them.
When the announcement came that HiFi was ending as a platform, many in its small community were devastated. I, on the other hand, am not in a state of mourning. The High Fidelity code is thankfully open source, and that means the platform will never really “die.” There are already multiple forked projects in the works that could prove to be viable successors to the now-defunct platform. However, before we can move on toward that bright virtual future that awaits us, it’s critical to spend time on reflection. As the old saying goes, “Those that don’t learn from the mistakes of the past are doomed to repeat them.” We need to analyze the mistakes that were made, so as to prevent them from happening again. Let’s have a look at what went wrong with High Fidelity.
Disclaimer: The purpose of this post isn’t to make anyone feel bad, nor do I blame the entire company as a whole. When I refer to “High Fidelity”, I refer to whoever it was at the company that was responsible for the poor design/business decisions I outline below. I don’t blame the programmers or designers at the company, as they were likely just following orders from the leadership up top. I didn’t work at HiFi, so I have no idea who exactly that was. It could have been the CEO— or it could have been the investors. Or any of the other staff. I really don’t know. And I really don’t care. I have no personal vendetta against anyone at the company —in fact, I think most of them are awesome people. All I really care about is that the company’s mistakes don’t get repeated. So let’s begin.
Neglecting feedback from the community
Everything else stems ultimately from this.
Hey, I get it. High Fidelity was Philip Rosedale’s baby. He had a very particular vision for how it would and should work. We were all just along for the ride. If we found the ride was a little too bumpy for our liking, the code was out there for us to fix it ourselves if we wished.
That’s the impression that I got from every time I voiced my concerns about an important missing feature or bug. We were often told something along the lines of, “Well, the code is up on Github. You want that feature? Go add it yourself.” This is a very common attitude among open source projects in general, so it’s not even something unique to HiFi. It’s one I’ve always disliked, because it assumes everyone can code. Some of us just don’t have that talent, I’m sorry. We’re still valuable to your platform; we just contribute to your platform in other ways. Aside from how tone-deaf that “everyone is a coder!! so go code” response was, one would think that when your platform is failing to attract more than 10 active users over a span of 3 or 4 years, what you’re doing isn’t working. Maybe it would have been helpful to listen to the content creators who have graciously invested time in your platform and know its faults and weaknesses firsthand. Maybe your grand “vision” was a broken one.
Let me provide a specific example. One of the most common complaints that content creators had about how High Fidelity worked was the complete and utter lack of content protection. If someone wanted to steal all your artwork in HiFi, the platform made it ridiculously easy for them to do so. The URL for every 3D model was visible in the software’s log, which can be opened from the menu by anyone. URLs were also visible in the Create mode’s edit window. All someone had to do was copy the URL and paste it into their web browser, and they suddenly had your model downloaded, ready to do whatever they wanted with. High Fidelity Inc. claimed that their “blockchain” system served as a form of content protection, but this was a complete lie, as I unfortunately discovered first-hand after publishing my first product on their Marketplace. The experience left me horrified. Their entire commerce system was a broken sham.
Literally in only one day, a mushroom cottage I’d published on their marketplace was copied by a user who bought the item. This user took the URL of the model (without any special tools — the client itself gave it to him), downloaded it, modified it in Substance Painter and completely destroyed the original look, then uploaded the copy to an official, publicly run High Fidelity server. Because the model was a copy, it was missing the blockchain certificate that High Fidelity Inc claims protected my work. That’s all it took to bypass their so-called “content protection.” I felt like I was in the Twilight Zone as the user in question then even invited me to go see the copy in-world so he could brag about his “accomplishment.” A High Fidelity staffer (Chang, if I remember correctly) happened to be present only a short walk away in the same server and overheard the conversation that ensued, as I pointed out to this user that he had just totally violated the “Proof of Provenance” license he had agreed to upon purchasing my item. The license explicitly forbids modification of the original work. (He had also removed the blockchain certificate from the item, another violation.)
After that conversation, I immediately took down the mushroom cottage from their Marketplace. Chang noticed —and of course she did; when your marketplace has so few items, losing even one is a big deal. She later approached me later that afternoon in another server, Maker. She never once mentioned any sort of punishment or repercussions for the user who had just violated the PoP license of my item — that guy totally got away with what he did. She instead asked why I’d taken my item down, and pointed out that it’s impossible to completely protect content in a 3D space; someone will always be able to steal your content if they really wanted to, whether it’s with a screen ripper software or with packet sniffing. I find this nihilist argument absurd — just because something is impossible to stop doesn’t mean you shouldn’t do even at least the bare minimum to prevent it. We all get sick in the real world from time to time- does that mean we shouldn’t wash our hands or go to the doctor anymore? High Fidelity’s official stance on this was a complete cop-out. The very least they could have done is not give the URL of models away in the client itself. This alone would have done a lot to stop casual theft. We can’t stop super smart, tech-savvy people from stealing content, but we can definitely stop casual users from copying a URL and downloading it. Unfortunately, High Fidelity didn’t care. And so, their marketplace remained a wasteland for years. When content creators don’t feel safe about uploading their work to your platform, they stay away. It’s simple cause-and-effect, but the company still somehow never took the hint and fixed their disastrous system.
This was a repeated pattern for the company. High Fidelity Inc always thought it knew what was best for us, the users and content creators, even when the community’s stance was the total opposite. To their credit, relatively late in the platform’s life, the company did finally create a so-called “roadmap” website where users could request features, and the company could formally address each. Unfortunately, the whole thing was just too little, too late, and incredibly short-lived. Not long afterwards, the company announced it was taking down this feedback system (along with all their public domains) so they could focus on a new “business meetings” initiative. Community meetings would also come to an end, replaced by a new “Developer Meeting” that was exclusive to programmers. The voices of artists and content creators — the people actually building all the worlds in the platform — were completely shut out.
And with that, the platform’s fate was sealed. When the platform was struggling to attract artists (environment designers and avatar makers), the last thing they should have done is remove those people from the company’s feedback loop. But that’s exactly what High Fidelity Inc. did. Absolutely unreal.
Dismissing the importance of optimization for VR
Before I continue, I need to provide some background information about myself, so you understand where I’m coming from. Before getting involved in social VR platforms, I had spent half a decade working as a game developer and game artist. I’ve created games of my own in Unreal Engine and have been credited in several on Steam. So I’m quite familiar with optimization tools and techniques used in traditional game development. One of those tools is LOD — Level of Detail. LODs are basically lower-quality versions of a 3D model that are rendered as you get farther and farther from the model. For optimization and maintaining good performance, LOD is a critically important feature, one that has been around since the days of the Nintendo 64. All popular game engines have this feature, including Unity and Unreal.
Early on after I joined, I made a post in the High Fidelity forum asking for support for features I found were missing, and one of them was support for custom LODs. I would later learn that, oddly enough, High Fidelity had added support for LODs in the past. Then, bizarrely, they removed the feature. The most recent time that the company mentioned it in any capacity was this unbelievably maddening forum post by Philip Rosedale, the Supreme Visionary behind it all.
I have to wonder how someone with as much software development experience such as Rosedale could honestly believe that work on LOD and work on standalone headsets were mutually exclusive. Here’s the thing — with LOD, you can increase performance dramatically on all hardware, especially standalone headsets. The Quest has much stricter optimization requirements than PC hardware does— as anyone who’s created for competing platform VRChat already knows. Had High Fidelity added full support for LODs, the platform would have been in a much better position to support the Oculus Quest and other standalone headsets. Yet Rosedale asserted that the two things were unrelated and incompatible with each other, requiring the sacrifice of one for the other. How could the guy behind the highly successful Second Life platform be this unaware of how game engines work? I have a ton of respect for Rosedale — but this reasoning of his made no sense.
The Oculus Quest is currently selling out everywhere across the United States. The audience forming around it could have been a major lifesaver for High Fidelity. Not many social VR platforms can run on the Quest; High Fidelity could have been one of the first. The company’s lackadaisical attitude towards basic optimization tools ensured that this would never happen. Even more strangely, instead of acknowledging the Quest’s sales, Rosedale has turned around and blamed VR itself for supposedly not taking off. There’s a very funny implication from his claim, if read between the lines: If VR technology as a whole really was just not ready yet, that means that High Fidelity (a VR-focused platform) was always doomed from the start, and nothing they could have done differently would have changed the platform’s fate. I disagree strongly with this — there are already social VR platforms that are thriving, one of them being VRChat. VR isn’t the problem. That post is literally just an attempt to absolve themselves of blame. Instead of looking inward and self-reflecting on the poor decisions that were made at the company, blame is just deflected elsewhere.
When you’re creating a game engine from scratch like High Fidelity, one specifically for Virtual Reality, you don’t have the privilege of ignoring performance and optimization. Those should be your #1 priority, above absolutely everything else. One of the biggest issues still holding back VR is the fact that it literally makes many people ill, especially if the game fails to maintain a decent frame rate (70 fps at minimum). This is a unique, dramatic drawback that software and game developers didn’t usually have to deal with before when it came to 2D software. The most they usually had to do was add an epilepsy warning at the start of the game. VR has upped the requirements in that regard. It is downright inexcusable for any VR developer to ignore optimization for that reason. I strongly urge any successor project to High Fidelity keep this deeply in mind. Nothing will make a new user uninstall your app faster than nausea and vomiting will. The metaverse should not be something that makes people sick or physically uncomfortable —any VR developer who dismisses that fact deserves to have their company go bankrupt.
Ignoring the massive audience of desktop users
High Fidelity was very much a VR-first platform — desktop users were considered unimportant. The company made no effort to hide this fact. There were many pain points in the High Fidelity desktop experience that the company ignored, starting with the UI. I don’t know a single user that thought the single-window tablet UI in High Fidelity was a good idea. It was designed for VR hand controllers, not a keyboard and mouse. Everyone hated it. You couldn’t multitask with it, even when you were in desktop mode using a very large monitor with plenty of room. When you opened the Go To menu to visit other domains, because the window could not be resized, you could only see a few Places at a time. This created a mind-numbingly frustrating experience, as you had to keep slowly scrolling left or right to find the world you were looking for, in a tiny tablet panel in the middle of your otherwise large screen. If it was that frustrating even when there weren’t even that many Places to visit in the first place (due to the platform struggling to attract creators), I imagine it would have been infinitely even more frustrating to use if Rosedale’s prediction of “1 million users” had actually become reality. I would have preferred getting a lobotomy than scroll through thousands or millions of Places in that tiny window.
The omission of built-in text chat was another huge mistake. The reasoning given was that text chat would lack the kind of emotional complexity and nuance that voice offers in the real world. And HiFi wanted VR to feel like the real world. So — no text chat. Aside from how infuriatingly ableist this mindset is (as it shuts out those with speech and hearing impairments, who, by the way, also exist in the real world!), it was also a major point of annoyance for the average user. Want to share a link with a friend to a cool video you just watched? Hey, you can’t, because “immersion.” Even the Greeters that the company hired have told me in private how frustrating it was to explain the omission of text chat to new users. Many people discovering HiFi through Steam would drop in and have a complete inability to communicate because their mic happened to not work. If you were one of the poor users stuck in that situation— you couldn’t even ask for help. Because there was no built-in text chat to serve as a fallback. This absurdity would play out every day, likely costing the platform hundreds if not thousands of users over its lifespan. Speaking from my own experiences as a user, when I try out a piece of software and it doesn’t work the way I expected, I’m much more likely to just trash it and move on. It’s rare that I’ll bother to register an account on the developer’s forum (if they even have one) and ask for help. I don’t have time for that. I know I’m not the only one.
I totally understand that High Fidelity is (was?) a VR company. VR was their bread-and-butter, so naturally they focused on it above all else. I get that. But as VRChat, where a majority of users are actually in desktop, has shown us, desktop users can actually benefit a VR platform and contribute to its success —I would argue you can’’t succeed at all without them. One of the problems High Fidelity had was that it was a ghost town. It was often hard to find other users to talk to. Except for the once-a-week dance parties they used to have (which did attract somewhere between 20–40 people), there were rarely more than 4 or 5 people online, total, across all worlds, on most days. In VRChat this is unheard of, thanks to the huge audience of desktop users that use the platform. Having desktop users around means that VR users have many more people to talk to. That’s critically important to keeping VR users themselves from leaving
A key point that High Fidelity Inc. also failed to realize is that desktop users are all potential VR users. You bring them in first through the desktop — that’s the gateway drug. Then when they see all the cool stuff that VR users can do, they’ll want to become VR users too. This is happening constantly in VRChat already. But if you create a frustrating desktop experience from the get-go, those users won’t even bother to stick around. They’ll leave before they ever get to that magic “aha!” moment.
But VR is not for everyone. Not everyone can afford it, nor does everyone have the physical ability to use it. Many artists fall into these categories. These are the people you want to entice to your platform the most, but you won’t do that if your desktop UI is awful. Most content creators are not in VR, and that’s not going to change any time soon. Hand controllers are just too imprecise for most 3D modeling work. There are VR-specific creation apps like Tilt Brush and Medium, but again, most artists will not be using those, because of the large financial investment that VR gear requires. Most artists I know personally are hobbyists, many of them flat out broke. VR is just not something they’re in a position to even consider shelling out money for. By not making desktop more of a priority, High Fidelity essentially told those people that they weren’t needed or important. At this moment in time, a platform that neglects the desktop experience (or omits it outright) is basically a platform for the rich and wealthy. The metaverse I personally envision is one in which everyone from all walks of life is included, not just an elitist few.
Let me reiterate: High Fidelity isn’t dead. Or at least, its code isn’t. There are already at least two projects using its code as the foundations for new platforms— Project Athena and Tivoli Cloud VR. There may be more announced in the future.
There had always been murmurs of a community-oriented fork here and there in the last several years of High Fidelity’s life as a platform. But the idea was always shot down instantly by most users. A forked version of the client would be unable to connect to High Fidelity’s own official server software, effectively splitting the community into two separate platforms. That was a pretty strong dealbreaker for most. There was little reason to go through with it so long as High Fidelity was still keeping the platform alive in some way.
So High Fidelity removing itself from the picture is actually the best thing they possibly could have done for the community. Now community-developed forks will actually be taken seriously and given the community’s complete attention. People who have a much better understanding of the community’s needs are now the ones in charge. In that sense, this is an incredibly exciting time. The platform can now finally grow its wings.
I am now more optimistic than ever about the future of an open metaverse. High Fidelity Inc. deserves our respect for leaving behind the foundations for us. Unfortunately, for the various reasons outlined above, they weren’t able to take those foundations to the level that was actually required for success. But their contribution to the metaverse will always be remembered and appreciated. They open sourced most of their work, and we’re incredibly lucky for that. I’ve been a part of many online communities throughout my life, especially MMORPGs. Many of those MMORPGs that I used to play are no longer playable in any form because the company behind them pulled them offline, and the server code was never made available. That can’t happen with High Fidelity — I’m grateful for that.
The metaverse is just getting started. Let’s show our support to the people keeping the dream alive. Tivoli Cloud VR can be reached at their website and on Discord. And Project Athena already has a repo available on Github. You’ll likely me see me in one or both of these in the future!
Thank you for sharing your insights with us, Theanine! I’m looking forward to seeing you in several of the planned forks of the High Fidelity open-source code in the new year.
UPDATE Jan. 6th, 2020: Theanine has added a section about (the lack of) content protection in High Fidelity to his original Medium post, which I have updated here as well. Thanks, Theanine!