Mobile Full Stack Development in 4K VR
I began working at a small startup company a few months ago, and very quickly began to feel claustrophobic having to step down to a 1080p laptop. At home, I have a triple monitor setup consisting of a 3440 x 1440 34" Ultrawide, a 27" 1080p mounted to the right in Portrait Mode, and my 15" 1080p laptop to the left of that mounted and attached with a software KVM (minus the V, I use it as a separate machine with one set of peripherals — but video emulation is supported and on Ethernet the lag is nonexistent).
The “1080p Problem”
To say it was a downgrade would be an understatement. I have massive anxiety working on full stack applications on my laptop alone. If I am working on a single piece of the stack, it might be OK — I can pull up my editor and two consoles to debug some Python backend no problem. I can manage our databases fine with two or three windows. However, working front-end where I need a full-size window for manual UI/UX debugging, and having to do more than a single part of the stack at once becomes an absolute nightmare.
It might be a problem exclusive to me. After all, engineers were able to write code in 80 column terminals. I can’t do it though. I like to see everything going on at once and make my decisions simultaneously while developing on all parts of the stack. I have our templating engine, the web front end, the databases, and our server side backend open all at once. At 1080p, I’m left alt-tabbing like a madman, losing focus, and having to create multiple desktop configurations to get even remotely comfortable with this flow. I was offered a budget for extra monitors in the future, but I gracefully declined as I had some spares that I could bring in later on. However, the CEO is a real cool dude and allows me to work from home occasionally, and I think I have my triple monitor setup beat with a 4K display that wraps around my body. Two words: Virtual. Reality.
Virtual Reality — a solution for mobile work?
I didn’t own a Virtual Reality headset. I thought they were gimmicky for games and useless for work. One day I was in Best Buy and saw the Oculus and remembered it had some productivity apps. I hatched an idea. I bought an HTC Vive and started playing around with Virtual Desktop. It was interesting, and most wrote it off as another VR gimmick (or just use it for watching porn because of its built in 360 video player). The productivity experience itself was good. I could resize my display (or displays if I wanted) and curve it around my body as I pleased, as far around as I wanted. As far as the software itself, it was absolutely perfect. My issue was the Vive. It was bulky, required external power, an adapter box, and was heavy. So this thing was definitely NOT mobile, and if I wanted to use it for work I’d most certainly be stuck setting up a permanent desktop and leave my Vive there. The final nail in the coffin was the SDE (Screen Door Effect). It made reading text dreadful unless I leaned forward towards the virtual screen (yes, you can do that and it’s amazing). Oh right, and then there’s the lighthouses that are required for it to function. This meant bringing a bulky device with yet another power requirement and setting it up on the desk. I almost gave up at this point.
Positional Tracking — into the trash it goes
“Mobile VR” was the solution. Not something like Gear VR, but a third party headset without positional tracking. This type of solution would solve most of my problems so far:
- Positional Tracking Sensors — No positional tracking meant no lighthouses or cameras hung up or placed in awkward areas. We didn’t need positional tracking as long as we could avoid the need to “lean in” to read our text, which meant we needed a high resolution solution without the Screen Door Effect.
- Additional Power Components — “Mobile VR” is inherently lower power as it doesn’t track position or use external controllers/sensors.
- Bulky Headsets — Positional tracking was the blame for everything. All good lightweight rotational-only headsets were very light.
- Screen Door Effect — This was the hardest to solve. It simply required a higher resolution or closer spaced pixels (which meant a smaller display, a no go).
Enter the Pimax 4K VR headset. Before we begin, I want to make note of the fact that there was a good bit of false advertising with this HMD — the biggest issue being that it doesn’t do 4K. It does 1080p upscaled to 4k. This meant we would actually be stepping down in resolution, but scaling up meant the SDE was completely eliminated immediately! The Pimax is a Chinese-made headset that I grabbed on Gearbest after checking out my options (there weren’t many and they were all mixed reviews), and deciding I would go for the Pimax because of the lack of SDE which would hopefully help fix my text-reading problem. I ended up making the right call.
4K VR HMD NO SDE OMGLOLWTFBBQ
The headset came with a slew of problems — a scratched curved lens between the display and my eyes, motion blur, terrible software support, the 1080p “upscale” problem, dead pixels, it only runs @ 60HZ, some weird flashing vertical pixels bug that I’ve never heard of before, and finally non-existant customer service. Sounds dreadful, right?
Despite it all, this was my solution and it absolutely works. It ticks nearly ALL my boxes and after fiddling with firmware upgrades I realized this was the golden goose despite its issues. The dead/flashing pixels were minor, and the motion blur is only really relevant for gaming. What I did have was an HMD without any Screen Door Effect, only two cables (!) via USB + HDMI, and was lightweight/comfortable. I was ready. The final step was purchasing a “headless HDMI display emulator” to trick the VR software into showing me a 4K display, and I now had all the screen estate I ever wanted, isolated within this VR headset that I would do my development in. I wrap it 220 degrees around myself, use a LapDesk for my peripherals, and then sit in a comfortable chair while typing away into my terminals, swiveling halfway to the right or left when I need to check up on another part of my software stack.
I’ve clocked over 120 hours of development work inside of it, and to call this “game-changing” would be an understatement. To top it all off, Pimax even recently updated their software with native 2K support! The Pimax is now the highest resolution HMD on the market. GearVR is technically 2K, with a higher end phone, but part of the screen is obscured so you don’t actually get the full 2K out of it (and it doesn’t support Virtual Desktop). The 50% bump in resolution let me reduce my FOV to 170 degrees and makes my setup even easier to read and even more comfortable. It only gets better from here. There’s only one thing left to do before the setup is complete — actually make this mobile.
The Final Frontier — A Mobile 4K VR Workstation
What problem did this actually solve? I can think of a few:
- Physical Space — None is taken up by the HMD and only the peripherals and desktop take up any. With my finalized setup, only the chair takes up space, with you in it.
- Monitors are expensive — The Pimax can be had for as low as $299. A 4K monitor is going to run you at the very least that much, and a good one will be closer to double.
- Mobility — 4K laptops are notoriously awful to work with. Text is too small and software support is absolutely laughable.
All I need is a small gaming laptop that is “VR Ready” to complete my setup. I’ll likely go with one of the MSI Stealth Pro laptops, since as far as spaceship-looking laptops go, they’re one of the most minor offenders and they can be pretty damn thin for a gaming laptop. So how is everything tied together? Here’s the full list of components for my mobile 4K VR workstation.
- Pimax 4K Headset
- Virtual Desktop
- Any “Gaming Laptop” with a Pascal GPU
- (Optional) 4K@60Hz Display Emulator
- (Optional) A Swivel Chair
- (Optional) A LapDesk
The end result is a tether free mobile 4K workstation that doesn’t take up valuable space while providing as big a screen as you need, and it can be carried with you. Thanks to the true 2K resolution in the Pimax, the swivel chair and LapDesk become optional because you only need to turn 30 degrees left/right (110 natural FOV + 60 extra), but still recommended so you look as ridiculous as possible. The 4K display emulator is also optional if you splurge and get a laptop with a native 4K display.
Did I solve a problem no one else has? Maybe. All I can say is that I’ve never looked at standard workspace setups the same way again. Once I grab a mobile laptop, I can set up shop in any starbucks and tap away at a massive 4K display suited completely to my liking. I think that’s pretty awesome, and I am now convinced — VR computing is the future.
Next up, Microsoft and their HoloLens technology needs to step up to the plate and make it obsolete with their augmented reality approach — but first they need to upgrade their laughable 720p displays before we get anywhere near it.