Diving into XR

Another long while since my last update, but other than a few minor things I must say, not much has changed. Most of the accounts I was on I am still on. This has led to a lot of routine, and unfortunately, some boredom to creep into things.

What I’ve been doing

The projects I am on don't really allow for much flexibility or creativity, much less opportunity to try out some of the cutting edge things (or even some not so cutting edge things) that the web is capable of. While they do provide some challenges, most of that is in managing how to integrate new features into codebases that contain increasing levels of cruft and debt.

Now, for some people that might be enough. Indeed, I have known a few engineers over the years that absolutely live for diving into those kinds of situations, auditing and cleaning up all of the dust that will accumulate in code over years of maintenance over many teams of people. That’s just not where I get excited to get up in the morning.

That’s not to say it has been all bad. I did do a new build that actually got some recognition internally, which feels good. I’ve also added some new features to those existing projects that I think will have a tremendous impact on those who follow me and that code in the future. Not only that, but we’ve improved accessibility, performance, and the end user experience. All of those are things to be proud of. Again though, it just isn’t enough to get me super jazzed about returning to that grind the next day.

Now in 3D

Someone probably wouldn’t notice it from this blog I’ve written intermittently over the years, but I’m really into trying out new things on the web. That could be new CSS properties, JS APIs, performance and best practices, whatever. It is especially exciting to see things like grid or service workers, device APIs, and all sorts of advancements the web has pushed on in the last few years. It has certainly changed a lot since I started.

Something I’ve been trying to learn about and at least become fluent in (if not somewhat of an expert) over the last couple years (really since the world went into lockdown) is 3D graphics on the web. Specifically, learning the major library that provides this currently for the web, Three.js.

This is actually an extension from some learning I did way back when in school with Cinema 4D. I took the intro to 3D modeling and animation courses during my senior year. Even then, it was probably the highlight of most of the days I was in class that year. That may or may not have to do with the fact that I’ve always been interested in movie making, with Pixar’s and other animated films in particular.

So, I’ve been working and learning diligently with courses like Threejs Journey (thanks Bruno!) and reading about as much information as I can. At the same time, transitioning my 3D knowledge over to Blender, which is the newer “standard” for creation on the desktop. With a full time job with not tons of spare time with family, friends, and finally getting out back into the world (for now), the time to learn these things has felt lean at best. All the while, trying to educate (at least a little bit) the people at the company I work for about the potential of such technology in future projects and that we shouldn’t wait to get some work together, even if it was just internal proof of concept work. With so much to do and so little time to do it, admittedly, I fell off the horse a bit.

A (missed) opportunity?

I have to be a little intentionally vague about this next part, partially because things are still in motion. We had an account manager asking multiple times in the last week in various internal channels if we had any 3D, and more specifically XR (extended reality), project experience at our company because a client was asking and seeking out new partners for future work in the space.

Unfortunately, we had to say no. At most, I could only think of three people and the third was a recent departure. There was absolutely no production work. The most we had to show was some very basic work that had been proposed but didn’t make it past initial discovery. Needless to say, it wasn’t anything special and probably not advanced or impressive enough for this client, especially when compared to some other agencies out there (Active Theory came to mind for me). That’s just a guess on my part though. At the time of writing, I still don’t know the outcome for sure. My guess is not good.

It was frustrating, to say the least. After years of trying to get some movement and not really getting anywhere, we didn’t have anything to show when a client inevitably came calling. We may very well have missed this opportunity in the process. With the recent push by companies like Meta (I still desperately want to say Facebook here), XR has a trajectory that will only continue to grow in the coming years.

The reality of the situation

There is an upside though, I think it may have woken a few people up. As they say, “better late than never”. So, I’ve been diving back into 3D hard, and specifically for the VR (virtual reality) of XR experiences.

You know what? It is almost like coming home. It is such a dramatic change of pace from the normal grind, it has been reinvigorating getting back to something cutting edge in the web world. I’ve spent a good amount of free time working through my own boilerplate code and planning ahead for more projects. During this time I’ve been thinking especially hard about the UX of VR web, as it is a different animal than the games I’m used to experiencing in VR. It is a whole different kind of challenge.

I’m hoping that this recent client will continue to open up some eyes around the company so the value becomes better seen internally. I’m also hoping that it’ll convince some people to give myself and others some time to develop those long overdue proof of concepts. Maybe next time, we’ll get something to really sink our teeth into and get paid for it.