The virtual workplace
When I started out as a freelancer, I had one big problem: the lack of any real office. I live in an apartment with a pretty big living room, but only two bedrooms, one being used for sleeping, the other for a drying rack and storage. While it is definitely possible to do work in the living room, I have to put extra effort into keeping focus, especially when doing paperwork. So most of the time, I end up either working at the client or at a flex space.
Still, having an office of my own for a company was still something that lingered in my mind. I still have a vision in my head on how I want it to look: Just a nice, open room with my desk in the center. A bookcase on the side with some programming books and potentially comics. In a corner, I’d like to have a table filled with tons of little gadgets to tinker with. Space will be reserved for the HTC Vive. And a 3D printed version of my logo somewhere on the wall. I still have to wait until I’m getting a new apartment or house, but I definitely already have the whole thing in my head.
Eventually, my ideas about this subject has led to one of my favorite pet projects: The Virtual Office.
The objective was simple: I wanted to have a virtual room where I could do my work uninterrupted by any outside influences. For this, I had a set number of goals in mind…
- All that the application would need to do is stream the computer screen in the virtual world.
- No audio or keyboaed/mouse input is needed, because I would be sitting behind the computer anyway.
- It would have to work with a wireless HDM for ease of use and portability.
- The setting would have to be something fantastical. Preferably an office in outer space.
- I would want to be able to stream my screen from either Windows, Mac or Linux.
For the headset, I specifically chose not to go with the HTC Vive. The main focus was that it would need to be portable and be able to run on something other than Windows. VR compatibility, at this time of writing, is still very spotty for either Mac or Linux. I decided to go with the Samsung Gear which is a very portable headset and has excellent sensors for head-tracking. For the environment, I used the Sci-fi Level Kit to craft a simple office in space overlooking the Earth(of which a single 360 rotation actually takes 24 hours), added some movie posters, a wedding picture on the desk(romantic at heart, y’know), and my favorite part: the logo from my own company on the wall.
For streaming, I decided to cobble a prototype together with Java. The client connects to the server via sockets to send the required data. This required a bit of effort on my part, but I gradually managed to reduce the lag to acceptable levels. Later on, I added an additional window to let the user set the position, scale and curve of the screen. To connect to the server, the user has to manually fill in an IP address, which is a bit of a pain. I’m hoping to eventually replace this with a QR Code that you can scan with the built-in camera.
Speaking of the camera; I can type blind relatively well, having grown up with a computer from a very young age. However, to still allow me to peek at the keyboard, I have added the following feature: by looking down, the camera is activated so I can look at my hands on the keyboard. I will likely change add a feature to activate the camera manually by tapping on the touchpad, seeing as how it can be distracting when I am just looking down while thinking.
A 360-panorama from my office. Click and drag to look around
For me, it does exactly what I need it to do. If I want to excuse myself from reality to work on something, I can just grab my Samsung Gear and start working. I have already used it numerous times, sometimes with sessions lasting up to two hours. It’s my little slice of virtual property where I won’t be distracted and it does exactly what I currently need: Some private space where I can work on my computer.
It’s this project is an example of the power and possibilities that VR can offer to enrich our lives. This has given me a solution to a problem that will likely require a large investment before I could do some focused work in private. It also really makes me look forward to see what solutions people are going to come up with to enrich this. Desktop solutions like Bigscreen already offers multiplayer, and Envelop basically allows you to use your entire surroundings to place windows anywhere. I think these applications could lead to an interesting future for office work.
And I’m just excited to be able to experience it all as new developments are revealed.
As for what my final plans are for my virtual office… well, stay tuned.
If you have a Samsung Gear and are interested in trying this out, mail me at firstname.lastname@example.org. I’m looking forward to receiving your feedback.