Formally Adopted
Hey Babylon community — I’m Ryan Tremblay, the newest addition to the Babylon team, and I’d love to take a moment to introduce myself! I’ve had the great fortune of working with much of the Babylon team over the years, as well as both using and contributing to the Babylon tech. So while I’m technically new to the team, it feels a bit more like I’ve just finally been formally adopted into the family. 😊
Here are a few of my experiences in the 3D and XR space where I first got the chance to work with some of the fantastic members of the Babylon team:
- Flight Sim and Train Sim (with Gary!)
- Skype for HoloLens (with Gary, Jason, and Patrick!)
- 3D for Everyone (with Gary, Jason, Patrick, David, Sebastien, and Cedric!)
More recently (hard to believe it started over 4 years ago!), I worked closely with the Babylon Native team building out the XR support in Babylon Native as well as building out the full Babylon React Native layer on top. This was motivated by need for a web tech based 3D/XR platform that was portable across browsers and mobile devices, and this was the topic of my first actual post on the Babylon blog.
This partnership was truly an amazing experience, and gave me the opportunity to see first hand the power of the Babylon platform as well as the passion of the Babylon team and the incredible culture they have built. I was super excited when I had the chance to join the team a couple months ago!
What’s Next?
As a new member of the team, there are a few areas I’m thinking about and that I hope to work on.
Babylon + AI: Generative AI is growing like wild fire, and there are a ton of scenarios where a rendering engine (including 3D) can help support this growth. A few that we have already started exploring or intend to explore are:
- Visual effects for interactive image generation
- 3D scene templates with generated non-3D media elements
- Full 3D model generation
- 3D AI embodiments
Babylon Viewer: Babylon.js is a very powerful platform that can enable an extremely broad spectrum of rendering and 3D experiences. Viewing 3D models is a very specific but very common use case, and the existing Babylon Viewer aims to make this use case simple. That said, the Babylon Viewer is a bit aged at this point and could use a rework. Here are some of the principals we are thinking about when considering a redesign of the viewer:
- Easy to integrate — bringing a fully featured model viewer into your app should be dead simple, at either the JS layer or within your UI framework of choice.
- Compact — if you don’t need support for all the model formats or features Babylon.js offers, you shouldn’t pay the bundle cost for them. This will require some architectural changes to Babylon.js.
- Flexible — the viewer should make the most common scenarios simple, but should also allow any customization by exposing the underlying Babylon.js API, not abstracting it away.
- Modern — the viewer should integrate with modern Web API and web frameworks, it should support modern distribution models, and it should support modern rendering techniques.
- Easy to use — interacting with the viewer should be very intuitive for end users, and knobs should be provided to ensure good performance across a range of devices.
Extensible Sandbox: Often the most successful tools are those with an extensibility model (e.g. plugins that can extend the default set of features). Consider Visual Studio Code as an example. I probably use 0.1% of the full functionality available in Visual Studio Code. This is because I have a very specific set of technologies, tools, and workflows that I use in my job. Imagine if Visual Studio Code tried to just support every single possible developer scenario out of the box. It wouldn’t scale. You’d end up with a 1TB tool with a million buttons! The same idea can be applied to 3D content and Babylon.js based workflows, and the Sandbox could be the entry point. I’ve been doing some prototyping and pitching some ideas, and here are some of the top level thoughts:
- Extension feeds — the Babylon.js team could provide an “official” extensions feed, but there could also be a public community feed governed by the community (no reviews needed from the Babylon team), or even private organization specific feeds to integrate with their own existing workflows.
- Tooling — some lightweight tooling would make it easy to develop and publish new extensions.
- Experiences — the initial “experience” could be all about viewing 3D models (hopefully using a new Babylon Viewer!), just like the Sandbox is today. But any number of additional experiences could be supported, and other Babylon.js tools could be rolled in. For example, NME could be a new “experience” and itself would be extensible (with new node types, for example).
- Apps — the extensible Sandbox could be installed as an app, leveraging PWA, WebViews, Electron, or perhaps even Babylon Native.
I’d love to hear any feedback on these ideas, and hope to write about them each in more depth in the future!