Skip to content
Tech News
← Back to articles

What Being Ripped Off Taught Me

read original get Smartphone Screen Repair Kit → more articles
Why This Matters

This article highlights the critical importance of technical expertise, proper project management, and understanding AR fundamentals in the tech industry. It underscores how lack of experience and oversight can lead to costly mistakes, emphasizing the need for rigorous standards in innovative tech projects for consumers and developers alike.

Key Takeaways

In Spring of 2024, a good friend contacted me saying he’d heard of an opportunity to help finish an augmented reality bus tour of a Beijing park. He’d gotten the impression the California-based client were in a pinch, and said they’d mentioned by way of referral the names of some folks we both knew and respected.

In the past, I’d consulted on AR bus bids for both The Mill and IDEO, and from those I was well aware how many hard problems AR buses involved. I was very curious to find out how these folks had addressed them, and on our introductory call I told them as much. They demurred. This was my first warning not all was right.

We spoke briefly about the nature of the project and their need for help, and agreed I’d immediately try to get a work visa and come out to China for as long as I could spare - we determined it’d be a month. Fortunately I found I still had a valid visa from a previous project, so I was good to head out immediately.

When I arrived I found the project in shambles. Multiple very junior developers were touching (binary, TouchDesigner) code and deploying straight to production via thumb drive, with zero version control. In fact, they didn’t know what version control was.

They were attempting to pull off AR effects on the transparent OLED windows of the bus without accounting for lens distortion, field of view, parallax, occlusion, etc., and were frustrated and mystified when things didn’t appear to line up. They were completely naive to what depth and scale cues are and how to deploy them.

Their gyroscopes had an axis flipped, and the pitch of the bus was producing an opposite reaction in the virtual content. GPS was highly unreliable (because China) and there was no workaround in place.

Their render pipeline was drawing everything - including their renders - to fullscreen quads, which were then used for basic compositing with alpha and re-rendered - all 35+ and counting layers, using alpha-to-transparency. Their (consumer, air-cooled) gaming PC’s intake was exposed directly to the dusty air outside the bus. Their consumer OLED panels were roasting in the direct sun coming through the windows. Their ‘rack’ was an MDF shelf in the passenger seat of the bus, which was bumping along on rutted dirt roads. Their ‘code’ was the absolute worst kind of fucked-up node spaghetti, not a thought given to legibility or maintainability or standards - basically the reason people hate node-based programming.

They couldn’t deliver even the very basics of what they’d sold and worked on and delayed and cost-overrun for years, much less the exciting effects they kept promising the client.

They were carpetbaggers and dilettantes convinced by their own inexperience and the advice of a onetime VJ that they could pull off something I’d twice helped quote to be brought home by a cadre of hardened killers with shitloads of math and know-how at eye-watering prices. They were way way way over their heads and were in no way interested in updating their priors in light of the shit they were swimming in.

The quiet office rang with a still-unheard answer to their “how hard could it be”: “fuck around and find out.” They were in the deep dark forest of unknown unknowns, drowning in hubris.

... continue reading