The Power of a Fast and Simple Developer Loop!

Babylon.js
5 min readAug 6, 2020

You know what one of my favorite things in an amusement park is: roller coasters! Why? Because they are FAST!

Photo by Matt Bowden on Unsplash

Hi everyone! My name is Pamela Wolf and I am one of newest members of the Babylon.js family starting in early July 2020. I have got to say, it has been a remarkable journey so far, and I am absolutely loving it!!!

But why? What has made working here so awesome? Not only is the team super passionate, not only do I get to work something really cool, but there is something that I think sets apart Babylon.js from any project I have worked on. It’s the super FAST developer loop. On Babylon.js the turnaround time for implementing anything is astonishing to me. Here, let me show you.

Brand new to the team and I had no idea of anything before I started. All I had to do was follow some simple directions on the documentation getting starting page, install a software package or two, and clone the repo. It was mind blowing. Another couple of button clicks and boom, I had a working playground I could debug locally. Don’t you just love when something works right out of the box!? And moreover, the way we can test our features for Babylon.js is fantastic. We have tons of options from loading up a local Sandbox or NME. I also learned this fantastic trick, that if I make a change to code, save, and then refresh and I can continue debugging exactly where I was. No recompile or reloading! This type of fast iteration allowed me, someone not as familiar with the repo, to be able to dig around and experiment, try things, fail, and then try again. As a beginner this is the most incredible experience since it is so welcoming and user friendly. No waiting 30+ minutes to compile something. When I am ready to push, I can simply run a full test build with 1 quick command. That way I know that the code I ship is clean and meets our standard and I likely do not have to worry about “breaking the build”. Now that’s super confidence!

Photo by Blake Weyland on Unsplash

In under two weeks, I was able to finish my first pull request. Want to hear what is even more incredible to me? Within an hour of completing it, my feature was live in the real world. WHAT?! And imagine had I broke something, say maybe a test had an edge case. Simple! we can just revert and have a fix within another hour. No harm done just fix our test for next time. 😉 It is amazing when everything just works! This 100% has to do with the simplicity of the Babylon.js workflow.

Now I know, not every developer loop can be super simple. But I think it is something that we should all strive towards. Fast and simple. Now what does this mean for my role in Babylon.js? Speed and simplicity are some of my core values as a developer and I would love to share this with all of you. Especially to help develop and grow our tooling.

Tangent story: I think back to my college years. Developing a video game as one of my school projects. I worked in a large team of 10 people, consisting of artist, programmers, designers etc. Now I was responsible for creating the engine and more importantly the editor for the content creators. I will never forget when the editor started coming together. I was able to pass it along to the designers and within days before our milestone they were able to whip up a visually impressive demo level to showcase. What was more humbling was watching the all designers (who all sat together in a row) using the tools I built for them to create the game with little coding. They would build the components of the different AI in sandbox and then add all the art assets of the level. It was one of my proudest moments as a programmer. And I cannot wait to relive that by what we envision for the future of the Babylon.js tooling.

Photo by Cara Fuller on Unsplash

Tools are a huge part of the developer loop. In Babylon.js we currently have several tools to help all types of users, technical and non-technical, quickly iterate through their work. Our goal is to make that experience even better. Creating, simple and fast tools: tools that are easy to understand, have a consistent user experience, and enable us to work faster. “Work smarter, not harder”, what my professor always said!

So, what does it mean to have great tools for Babylon.js? For me its being able to make the developer loop of all our users SIMPLER and FAST! (like a cheetah) Being able to not have to type lines and lines of repetitive code, creating a user-friendly experience that can be used by both developers with a lot of experience or little experience, and finally, be able to create consistent experience. A workflow that is intuitive and accelerates a user’s development time. Whether that be creating a game or website, or just anything, with tools like NME, the inspector we give time back to the user. We want you to be able to work as fast and efficient as possible. And moving forward when we create more tools this is the vision we will be keeping in mind. The future is bright indeed and I cannot wait to share some of the upcoming visions we have in store for everyone! ❤

Pamela Wolf — Babylon.js Team

https://twitter.com/ms_Destiny14

--

--

Babylon.js

Babylon.js: Powerful, Beautiful, Simple, Open — Web-Based 3D At Its Best. https://www.babylonjs.com/