Microsoft’s SPM David Rousset: Driving an Open Source Project Is Not Only About Writing Code But Making It Attractive
We talked to David Rousset, a Senior Program Manager in the EPIC/PAX division of Microsoft, co-author of Babylon.js and Vorlon.js, member of the team managing PWA Builder, and a former Technical Evangelist.
David Rousset joined Microsoft before he got his CS diploma and ended up working there ever since. He quickly moved up the ladder and became the Technical Evangelist, a job he always dreamed about. Now, still based in France, he is a Senior Program Manager for MS Corp, who works on strategic accounts using web technologies, like PWA, Electron, and others. In this interview with JS Nation, David shares his passion for open source, all things VR, music, and his sincere dedication to encouraging inclusion and accessibility within the communities. David is coming to Amsterdam to give a talk at JSNation Conference, June 6–8, 2019.
Hello David, and welcome to the interview with JSNation! Can you share your story?
Hi! Thanks for the interview. My story? Well, I’ve started when I was 8 on an Atari 800XL. My father bought this Atari computer as he thought this would help him doing his business. He was a sales guy but never really used it. I then asked if I could play on it. There was a book shipped with it to help you learn BASIC with the tape to load audio instructions & data.
I then learned how to code by myself using the book. My first attempt was to create an AI to talk back to me :). Then, I played video games on Atari, Amstrad CPC, PC, Consoles and quickly realized that I wanted to become an engineer in computer science. I ended up doing a computer science engineering school in France where I learned real programming: algorithms, patterns, C++, ADA, Java, and so on. Really loved this part of my life!
What does it mean to be a Technical Evangelist in one of the largest corporations in the world?
Microsoft was the first company I’ve joined… even before getting my diploma! I was hired as a young employee getting out of school via a special program now named MACH. I’d been doing Development Support for big accounts for several years. Then, I’d been a consultant for a couple of years for ISVs before becoming an evangelist 10 years ago.
This was my dream job when I joined Microsoft. This is an incredible role and I was feeling very lucky to get it as many, many people were trying to get this job. You’re learning new technologies that Microsoft is about to ship all the day, you’re the first one to play with it, provide feedback to the engineering teams and you’re creating cool demos to inspire developers.
I’ve been doing a lot of conferences from small audiences to the very big one (4000 people in some keynotes!) as well as writing a lot of articles & tutorials. Babylon.js really helped me to be invited to various awesome conferences to share my passion for development and my little baby. Today, I’m working for MS Corp, still being based in France, as a Senior Program Manager in the EPIC/PAX division working closely to the Edge team and working with strategic accounts using web technologies: PWA, Electron or anything related to modern web development.
Tell us about your involvement in open-source projects like babylon.js and vorlon.js. Are there any other open source projects you’re involved in or working on?
Babylon.js was the first project I contributed to. We created it with David Catuhe in 2013, just for fun at the beginning, as a pet project. It was also a good way for us to understand how to manage an open-source project, handle a community, etc. David has always been contributing more code to the core engine than myself as he’s the true 3D guru. But I was also helping by writing additional services like an offline feature with IndexedDB, the Web Audio engine, some special camera inputs with a gamepad or virtual joystick and more recently writing the WebVR helper.
I was also defining myself more like the “marketing director” of Babylon.js at the beginning as I was trying to analyze which kind of demos we should work on, which kind of tutorials, which kind of features we were missing to be attractive more than our competitors. I’m proud of some of the ideas I had for the project that really helped it to be easy to learn, use & adopt. Driving an open source project is not just about writing code. You have to make it visible, attractive, up to date, write great documentation, and spend time with your community. A lot of developers underestimate this.
With other friends, we then worked on Vorlon.js as we were frustrated sometimes by the complexity of doing remote debugging on devices. Today, I’m part of the team managing PWA Builder which is also an open source project driven by Microsoft, created by Jeff Burtoft my current manager. PWA Builder helps you transform your existing web app into a PWA. It simplifies the creation of the manifest, the visual assets, provide templates for service workers and many more services.
My team has also started working on a cool new open source project I’d like to participate in, named Microsoft Graph Toolkit. It’s a set of web components to simplify the life of developers who’d like to connect to the Microsoft Graph. At last, my division is also in charge of some of the 1st party Windows apps like Notepad, Calculator, and others. And guess what? The calculator is now open source too: https://github.com/Microsoft/calculator! There are so many great open source projects to contribute to at Microsoft nowadays.
Share with us your love for all things VR. Can you predict the future for VR in web development?
I’ve always been passionate about VR since I was very young. I’ve shared my story about VR in this article: 2016 is the year of VR and room scale VR with HTC Vive is the ultimate experience. 3 years later, I have to admit that VR is still not mainstream enough to be widely adopted. It’s still a little bit too expensive and the technology needs to be enhanced on some specific points: quality of the image by having less screen door effects, better immersion with a wider field of view and most importantly, removing wires from the headset. Facebook via the Oculus Quest could really help to boost the adoption of VR fixing the last point.
Regarding the future of VR for web development, I stay very optimistic. Today, you can put in production WebVR sites as it will work in any browser on a 2D screen and will offer a better & immersive version for people having VR headsets, from cardboard to high-end versions. That’s why I’m convinced you also need to do a kind of progressive enhancement in this area and I’ll cover this in my talk. Today, only the web can easily target all VR headsets using a single base of code.
You’ve given a handful of public talks over the years. What are your favorite and last talks about?
Yes, I’ve stopped counting but I still really enjoy giving talks! I think my last one was last November with my big boss Joe Belfiore, a CVP at Microsoft, during a keynote in France in front of this famous audience of 4000 people. I was demonstrating the beauty of PWAs cross-devices.
My favorite talk or I should say my favorite talks were during an event named Techdays in France, where we were a team of friends doing a session named Coding4Fun. It ended up being very popular & successful in France, every last session we did were in front of a full room of 800 people with even more outside watching it live. It was totally crazy! It was a session dedicated to technical demos, most of the time useless, but highly fun while engaging the audience as much as we could. We were passionate developers sharing the beauty of the code with passionate developers.
For instance, we’ve created a Tetris game using full CSS Grid Layout, a breakout game accessible for blind people, a breakout game controlled by the people in the audience using their voice and a Kinect, a breakout game inside the Visual Studio Editor, interactive games with the audience via WebSockets, etc. To have an idea of the atmosphere, watch this video with the sound. ;)
We’ve noticed you like to write. What do you write about on your website?
As a former evangelist, sharing my passion is in my DNA. Also, as a developer, I tend to prefer reading a tutorial, an article or directly reading the code to understand a new tech. That’s why I also prefer sharing my code and explain a new tech using a tutorial. It also helps me to better understand the technology I’m supposed to know. Writing an article for beginners forces you to check if you really understood all aspects of what you’re about to share.
On my “pro” blog, I only write about topics related to development or my job. Sometimes I write about the topics I’m curious about, like Quantum Computing. The last post is 4 ways to create cross-platforms apps using web technologies. It’s based on partners meetings I’m working with and global thoughts I wanted to share on how to use web technologies to reach any device, from PWA up to Electron or React Native. This is something that really excites me. I’m convinced that the web is stronger than ever and should be considered first as a possible path to building new apps.
You also have a wonderful passion for music. I’ve listened to some of your work, and I particularly enjoyed the “Feelings for My Son.” It’s very beautiful and emotional. I know you’re the father of a child with special needs. In one of your blog posts, you said that your “child might be too complicated for the current state of our science.” So, what do you think might be wrong with our science at the moment?
Oh, thank you very much. Well, indeed, “Feelings for My Son” is a bit special for me as I was in a very special mindset while composing it. I’m also writing on a personal blog about my son, his complex disease and how difficult it is to live with this.
What’s wrong with our science? We tend to forget that science is also there to make the life of people better. We often see science as something dangerous, that could kill us all. But it really helps in cases like my son, even if it’s far from being enough. However, I can’t imagine our life without the latest science progresses we’ve made. Regarding my son again, he has an unknown & rare disease that affects his global development, including his brain. Neuroscience is far from being very advanced, to be honest. I’ve got the feeling we’re just at the beginning of understanding the complexity of our brain. That’s why, I’ve trained myself on quantum computing as I’ve got great hopes that it could one day help us better diagnose his genes and maybe, find a treatment to help him have a better life.
Of course, I’m highly sensitive to diversity & inclusion. France is well-known to be a very bad country welcoming disabled children. This is really a shame. In the IT industry, there’re plenty of jobs that could easily welcome high-level autistic developers, people using wheelchairs, blind or deaf people, and so on. This is also something important to take into consideration to welcome the same people in conferences.
For instance, with the latest AI technologies we’ve got, it’s easy and cheap to provide automatic subtitles for deaf, and this will help much more people in the audience! There’s still a lot of work to do to change the mindsets. I’m proud to work at Microsoft for these reasons as these topics are highly important and considered by my company and by our CEO, Satya.
How did you learn music? Do you have any other hobbies?
I started composing music as I was a member of a Demo group when I was 16. With some friends, we were totally in love with the Demo scene culture and we created our own group. I was chosen as the music composer but… I never learned anything related to music!
Hopefully, I’m lucky enough to have a good musical ear. I can easily replay a piece of music I’m hearing at the radio for instance. I then started composing using MOD/S3M trackers. I’ve also written an article about this: Composing the music for the World Monger Windows 8 game using the Renoise tracker & East West VST Plug-ins. I’ve got plenty of other expensive hobbies: playing video games, home theaters, drones, traveling, etc. Check a video I’ve done with my drone in Kyrgyzstan: Kyrgyzstan — Part II — Gregoria — Jeti-Ögüz — Issyk-Kul. An incredibly beautiful country in Central Asia.
Are you excited about the upcoming JSNation conference in Amsterdam this year? What are you going to talk about?
Of course, I’m excited! :) The conference line-up is amazing and Amsterdam is one of my favorite city in Europe. My talk will explain how I’ve written a small game ala ‘Fruit Ninja’ that can be played either using touch, mouse and in VR using banana pistols or laser saber.
Using a fun approach, I’ll explain how I’ve been thinking about the progressive approach I was sharing before, how to create and load 3D assets and how to make the game a full modern PWA that could be even pushed into stores. I really hope it will show some developers how incredible the web platform is today and it got the potential to welcome the creativity they have. I also hope I will have great discussions after that, one of my favorite part of events.