Virtual workspaces --- working in a Minecraft office?
Sat Sep 26 2020tags: exploration game design scratchpad public
Meta-introduction
I used to write posts on my blog very infrequently because I dreaded the enormous effort and time commitment it needed.
In order to increase my output (rather than constantly having a backlog of posts) I'm going to be trying a slightly new direction: writing shorter posts once I get a germ of an idea, rather than having to have something fully fleshed-out already.
So these posts are going to be incomplete, imperfect, and incorrect even. They may not have a clear thesis or introduction and certainly won't have a clear answer. You can think of them as "scratchpad" posts.
Time taken to write this post: ~4 hours
Introduction
- I have recently moved back home, after finishing Oxford, and
- I have recently started full-time employment
My sister took my room while I was at Oxford, and so I've had to rethink what sort of room I wanted to have and how to set it up so I could have an effective/ergonomic home office arrangement.
Once I started work I realised that this was only one part of the puzzle. It's one thing to have an ergonomic working arrangement with a standing desk and a split keyboard and external monitors and what not (I have none of those things). But there's another piece of the puzzle: how does one stay motivated while working from home? Let me list some of the issues about working from home that I've experienced.
First is simply that there isn't really a separation between work and play. The only place I can work is in my room, but at the same time the only place I can unwind without distractions is also in my room. And as a i) a software engineer and ii) a sweaty nerd I use the same laptop for both work and play. This problem was most noticeable when I was living alone in the hotel room serving my SHN for two entire weeks.
The fact that there is no separation between work and play matters because it means that either i) I will get distracted during work, or ii) work will bleed into my non-work protected periods.
The second issue about working from home is that of isolation. So I've started working at IMDA for about two weeks now and until now I haven't any clue what my colleagues look like (except my ex-colleagues whom I met during my internship back in Summer 2018). And even though we are supposedly a project "team", I get the feeling that we're just different people working on different things. Also the serendipity is gone. When I was doing my internship I could walk around the office and ask my colleagues what they were working on/ they could give me advice on whatever I was working on. Nowadays, even though someone is technically just only a call away, you won't want to interrupt them. The serendipity and the sense of community is greatly reduced.
Basically, isolation isn't just a mental health thing --- it's also really about camaraderie and the relationship that one has with one's coworkers.
So I've been thinking about these three main questions:
- How can I improve the physical ergonomics of my workspace?
- How can I improve the mental ergonomics of my workspace?
- how can I prevent myself from being distracted/ prevent work thoughts from spilling into my leisure time?
- How can I be less isolated while working from home?
and I don't have the answer, but I thought I'd present the virtual workspace as a possible solution.
The virtual workspace
What do I mean by a virtual workspace? I define it as a spatial, multi-user virtual world where one can
- create and move around a customisable space, and
- concurrently do your work tasks (check email, write documents, program...)
I believe a good virtual workspace must be spatial and multi-user. Additionally, a good virtual workspace should at least be somewhat structured to encourage work being done in it. I'll explain all of these things shortly.
What some solutions look like now---Spatial VR, Infinite Office
I'd recommend taking a look at Spatial, vSpatial, and Infinite Office.
Here are some random screencaps of Spatial, Spatial VR and Facebook Infinite Office:
Infinite Office has a very slick video with an attractive woman demonstrating how to use the Infinite Office.
I think these solutions are pretty good. They solve the problem of physical ergonomics (somewhat) by allowing you to be productive almost anywhere in your house, with as many monitors as you'd like (the VR headset looked cordless in that very slick Infinite Office video). Spatial gives you a shared virtual office with your coworkers and you can manipulate 3D virtual objects together in that virtual office space. Finally, these solutions solve the problem of "mental ergonomics" with virtual avatars of your colleagues in your "virtual desktop" or "virtual office".
There are two shortcomings with this solution, however. Firstly, they rely heavily on VR to deliver an immersive experience, and most people don't have a VR headset yet (I also don't know whether it's good for your eyes to be constantly looking at the VR screens). And secondly, there's already one group of programs that are very good at creating attractive spaces that people want to spend time in---video games. Could we adapt the video game world into a virtual workspace?
The video game world as virtual workspace
Video games function very nicely as virtual "third places" --- a place separate from home (first place) and the workplace (second place) where people hang out, relax, and banter. I know I've spent hundreds of hours collectively hanging around Henesys or Kerning City in MapleStory, chilling in Habbo Hotel, or skilling and chatting around Burthorpe/Lumbridge in RuneScape. The big question is: could they function as "second places" as well?
I think they could. I think a very nice virtual workplace that got 80% of the way there could be realised using Minecraft in Creative Mode with some mods:
In the morning we log in into the multiplayer Minecraft server
and find ourselves in a penthouse suite we built ourselves
with a lovely view of the sunrise.
(The day-night cycle has been tweaked such that it corresponds
to the real day-night cycle of our physical location).
We head into a office---a building that
looks like an enormous castle from the outside but is actually a modern
office inside---by /fly
ing there.
There are already people working in the office
(these could be your colleagues or other friends/random people),
and you can greet them if you so choose.
You walk to your office---kitted out to your exact specifications---
and begin work for the day.
First you check your mail. You walk to a special mailbox block and right-click it. This opens up Thunderbird (or your mail client of choice) in a pop-up window, and you respond to the new mails. You note that you have been given several new tasks. You close the mailbox block and your mail client also minimises to the background. You now walk to your enormous whiteboard in your office and add new notes to that whiteboard by right-clicking the whiteboard and typing a note. Looking at the whiteboard, you take stock of the tasks you still need to do and formulate a game plan.
Okay, now it's time to code. You click another custom block and it opens Visual Studio Code (or your IDE of choice). You start working on the first task on the list.
You need to look up some documentation. You right-click a book labelled "MDN Reference" on your bookshelf and the MDN reference opens up within the Minecraft window, left of your VSCode IDE window. You find what you want to find and close the book.
Some time later, there's a ring at the doorbell and you let the person in. It's your colleague who has come to catch up and ask you for help with a technical problem that they're having. You help him work through it with pair programming through the shared IDE extension on VSCode.
After some time, you decide it's time to take a break. In the physical world, you put the kettle on. While the water boils, you leave your (virtual) office and go to the common area where people are milling around. You have some small talk in the common area with the regulars of this office while sipping your tea, asking how their day went and what progress they've made.
Another few hours passes and the sun is setting.
You're done for the day.
You update the whiteboard, /fly
back home,
and exit the Minecraft server
(or you could continue working on your side projects in the comfort of your own
Minecraft home).
Why I think this could be a good idea
What you've written seems like shitty creative writing! What's the point of all this?
Okay, I know this sounds a lot like shitty creative writing. That notwithstanding, I think such a virtual office would have several advantages:
Firstly, the spatial nature of the virtual world enforces a strong separation between work and play. My personal experience is that moving to a different physical location helps me very much in avoiding procrastination / getting into a work mood. I'd often go to OWL to study even though my room was an objectively better place to study (external monitor, larger table..) just because the act of going to OWL got me in the right mood. Ditto with heading to the Inzura office during the weekend to work on the game jam/self-study CS. Another anecdotal ritual: Tak Huen used to put on a nice shirt and tie before sitting at his desk to study for finals---he said it helped him get into the right mindset. In this case, the act of opening the Minecraft server and traveling to the virtual workplace and walking to the corner office is a ritual that tries to imitate the actual ritual of going to the office in the age of Covid-19/without the long commmute. Personally I already try to shutdown my computer and start fresh every day but this ritual just isn't strong enough to get me in the mood sometimes.
This is making my workflow harder on purpose!
or, "Why would I walk around clicking things when I can just Alt-Tab?"
IMO, this is a feature, not a bug. The bottleneck to how much work I get done in a day is not at all how fast I can look up documentation. The bottleneck is my motivation and focus. Notice in the example that individual sites are keyed to books on a bookshelf. This means that you won't be able to easily browse the web or get otherwise distracted if you stay in this Minecraft environment. If you want to check email/WhatsApp/Telegram you'll have to click the correct blocks, and the fact that you have to do that makes that action deliberate rather than a reflex almost.
Why Minecraft?
It doesn't necessarily have to be Minecraft -- it could be any virtual world like Habbo Hotel, Second Life, Runescape, Maplestory, Animal Crossing, WoW, etc... I think Minecraft is particularly attractive because i) you can mod it easily, ii) you have the ability to build your own spaces in a very customisable way. Also, these other games are too "fun"---there's too much to do and I think the temptation to play the game would be too great. Whereas there really isn't much to do in MC Creative Mode.
Why spatiality is important in a virtual workspace
Virtual places with no spatial component exist: I am a avid user of Complice, where there are workrooms you can join that follow a common Pomodoro timer. But I think they're inferior---it's too easy to ignore the workroom. I think humans are intensely spatial creatures and we need to be immersed in an actual space for us to get the full advantages of productivity/connection. Also, the fact that you're ensconced in an actual world where you can only access a curated subset of programs/websites helps prevent procrastination. If you had a nonspatial world it would just be another window you could Alt-Tab away.
Why community is important in a virtual workspace
You could also do this in a single-player world but this wouldn't address the problem of isolation. Just as important as the work itself is the rest and serendipitous chats with coworkers/"co-worlders". At the same time, the fact that everyone has their own private room means that there's a quiet sanctum for you to do deep work without being interrupted.
Examples in the wild
Recurse RC built a very barebones virtual world that ticks a lot of the boxes:
This is Virtual RC. It’s the social space that Recursers enter when they start their days while in batch, and we’ve designed it with the goal of facilitating the kind of serendipitous, synchronous, and ephemeral interactions we think are so important to the experience of doing RC.
The entire world is editable: you can explore, build walls, change colors, write notes, add links, and create audio chats. You can share what you’re working on by leaving a note and see at a glance what’s going on by reading what others have posted. Each of the colorful rooms has a persistent Zoom meeting associated with it, which you enter by clicking on it. The map displays who’s in each room in real time, so you can look for a friend and pop into a room to say hello — much like in the real world!
The calendar blocks display information about scheduled events going on in the rooms, so that when you open Virtual RC and look around, you could see that there’s a machine learning study group going on in Hopper, a video game interest group in Sammet, and a few people working on projects together at the pairing stations. There might also be Recursers hanging out in the virtual kitchen or programming together in the quiet space.
Conclusion
This is a pretty offbeat idea, but I'd like to explore this further. It's certainly not for everybody, but I think there's a subset of people who would really welcome this. Any and all comments are most welcomed.
Acknowledgements
- Thanks to CKY for talking to me about this
- Thanks to Nick for giving me the link to Recurse RC