You can check the podcast on the devchat page and here is a transcript I created with AWS and cleaned out a bit by hand.
Slightly cleaned up transcript
[MJS] Now do you want to just quickly remind people who you are; what you do.
[CH] I’m Chris. I’ve been web developing for about 20 years. I worked for lots of agencies that created large websites. I then started working for Yahoo and from Yahoo went on to Mozilla. Worked there on Firefox, Firefox OS and a few other things and the MDN docs. I went to Microsoft four years ago where I’m currently working at the Edge team. Releasing the new browser and basically making sure that Internet Explorer is not a thing that we need to use all the time. We’re actually up to date and bring in lots of enterprise customers to the new web that way.
[MJS] Edge made an announcement that you guys were moving over to Chromium. You want to just briefly tell us about that before we get into your story?
[CH] It was a very pragmatic decision. We thought, OK, what do we do? We have a browser that people want – Edge – as a replacement for IE. We thought everybody would upgrade to Windows 10 to get the new browser so we didn’t make it backwards compatible with older Windows versions. Then we realized that didn’t happen as much as we wanted it to. But we realized that the browser is basically much more than the rendering engine. It is the services that come with the browser and the UX/UI. So we thought, why not actually shift to Chromium, where we can be on all the Windows versions, on Mac and everywhere else where the Chromium engine runs. The other thing that we found interesting as a challenge is that Chromium runs the Web. It’s powers not only Chrome but also Electron. So we thought, okay, if this is an open source project and it’s the de facto web, there should be more than one big player in there. And that’s why we thought we give it a go. Now we’re actually part of the Chromium project. We put in hundreds of pull requests already, we met with the Chrome team and they were quite excited how far we’ve come in half a year releasing our browser on the Chromium project. So, personally for me as an open source person and open web person, I find it sad that we have one engine less, but I find it much more interesting for the future of the web that the engine that the web runs on is not owned by and mostly contributed to by one company. That makes sense.
[MJS] I’m a little curious. Are you moving off Chakra to V8?
[CH] Yes, we do. The thing is, it comes bundled with the Chromium engine. And the main thing is also that we found even with ChakraCore, when we released it that we had to release a lot of shims to make it compatible with what people are writing. A lot of, especially Electron code, is catered to V8 and not necessarily to the EcmaScript standard. So we had to find a lot of ways to actually make that work. And we realized instead of putting all that effort into making things work, it makes more sense to contribute.
[MJS] So let’s talk about you. How did you get into programming?
[CH] I always was fascinated by computers. I was fascinated by them as a kid growing up watching movies like Tron and I’m like, “this is so cool, this is a different world!”. I guess because that movie was basically telling me there’s a world inside computers, and I’m like, “this is awesome”. So I started very early on by getting my first computer on a flea market and started writing BASIC. It was a Commodore 64. So I actually learned Assembly language and started coding little games and intros and these kind of things for the demo scene. I realized out of a sudden that there’s actually a career in that as well. But I didn’t start as a programmer. I started as a radio journalist. I was a newscaster at a local radio station, and coded and wrote little games and stuff in my free time. Then the Internet came around, and I’m like “This is amazing! Now I can use my media knowledge, my media affinity and my programming knowledge to get a job!”. As I was one of the first people that actually built websites in my area and then later on Germany wide, I got a good contract with BMW to work for them, and that’s how I got into web programming and the web as a whole. So it’s a “the right moment, right time” scenario. I never been to university. I didn’t finish any proper job education – I was just lucky.
[MJS] I guess that’s cool. And it’s interesting, too. I know a lot of people that didn’t get a degree. And then they ended up working on the web, so and I hope that keeps up.
[CH] I love that a lot of people come sideways into the market and not like in a normal “You become a Web developer by doing this course. Here’s your degree, and then you get a job” way. I’m now interviewing a lot of developers in Africa where we just opened new offices. It’s amazing how hungry people are and how wonderful the web is as a first career for a lot of people that would not get any other job that easily. A job that is exciting and that flexible.
It is different when you build interfaces. It’s already a conversation, and that means you have to talk to more people in the company. And that is actually good for your career. Because sooner or later we have to interact with humans.
[MJS] Ultimately, remember what you are building has to help someone with solving problems. You have to be aware of the interface, even if it’s some level out from your work.
[MJS] So how did you get to a place where you were actually working on browser technology instead of building Web applications?
[CH] Well, I build Web applications for a long time, and I found that the browser is a lot of times the reason for issues we’ll see. Most of the blockers and the confusion moment to me was browsers issues. Browsers were black boxes, when you didn’t work for the company, you had no access to know what’s coming or what they’re doing. I was really excited when Firefox came around. And when other browsers followed suit and all the browser makers worked in the open. Out of a sudden, they’re available on the Internet for you to give feedback to and in some cases contribute back to the browser. And I thought, OK, “I’ve done the building products thing, someone else can take that away from me. I’d rather go where the problems happen and where documentation is needed and where information flow is not as good as it should be”. And that also included developer tools like course. When browsers started building developer tools inside the browser, I realized there is a great opportunity there to help developers, and I wanted to be part of that. That’s why Mozilla and Firefox was a great company to work for. Everything is open and you have to work in the open. You learn to contribute and you learn how to deal with contributors and with demands from people.
I found that for my career, it was not necessarily the most amazing. I could have started my own company, become a CTO and get VC funding. But I I’m very happy, having contributed that much back through these products to the people to empower anybody to become that. I found the next interesting step for me forward in technologies to support were browsers, developer tools and developer environments like Visual Studio Code. And these kind of things are all written in the language that I learned back then. I don’t know C++ so I couldn’t contribute in the past. Now that most of these things are written in TypeScripy, it got much more interesting for
[MJS] I’m curious. What projects have you worked on that you’re particularly proud of or you’re excited to have been a part of?
[CH] I’m super excited about Visual Studio Code. I haven’t worked that much on it directly but I’m helpful with the documentation. I wrote a few and add-ons to the operation of the system itself. I also worked with Adobe people on Brackets before, one of the other editors that run in the browser. I think that was the big breakthrough for front-end technologies in the developer space. Visual studio code has taken the market by storm and with good reason because it gives you the functionality of a huge IDE with the lightweight environment of a text editor. And I’m very excited we have this kind of product. I also thought YUI was a breakthrough in the library space back then because it was highly documented. It was backed by a large corporation that actually put a lot of money and effort into it rather than a product that then grew wild in the open source space. So that was a really good one as well. Firefox OS was really exciting to work on as well because I think what we have in HTML5 space now across browsers like, camera access, media access, starting off things like web workers and service workers and local storage came from that research. Mozilla took the took the stance of saying “We want to build an operating system on HTML. I know it sounds crazy, but we’re going to do it”. This was this was a exciting time to work there. I think there’s a lot of products that over time changed the web and this was one of those that kickstarted it. I wish I had worked more on Chromium when it started. I wish I had worked more on a few other things, but I mean, you could only do so many things.
I always got more excited about the documentation of things and the making it available to people and write the training tutorials for other people to get into a certain technology that necessarily work on the technology itself. I think that skill set is not as common. It’s really hard to find somebody who is technical, can write the thing but also document and explain it to other people out there. Make it available for people and understandable to people. And I wished our community would appreciate that a lot more as well, because that’s a great way to get our community a bit more diverse. If we gave people who wrote documentation and make things understandable to other people the same respect we gave to the original developer, I think we would have a more diverse and interesting market to play in.
[MJS] Yeah, I love the idea of just opening up more things to more developers. It seems like every time we have a breakthrough where you know, some capability comes out, people find new and interesting ways to take advantage of it.
[CH] Yeah, and the Edge thing, of course, was a huge one for me. Microsoft tried to hire me for years and years, and I was never that interested. Then, they offered me a job working on a new browser, that was just a secret back then. They were going to re-write the browser from scratch, and get rid of Internet Explorers as the main browser. And I’m like, “Yeah, I’m happy to help you with that”. Because I want to go where the change is needed. And when Edge came out, it was a much needed change because IE 11 was basically on a maintenance mode. And as much as we despise it, there is a big opportunity of having a browser that’s part of the operating system. People don’t want to understand and don’t want to download another browser. There’s a lot of people that are happily going to the office at nine o’clock in the morning, turn on the computer and click on one icon to open the 10 websites that they have to work with and maybe a news website out there. And we might think that those people don’t contribute to the Web, but a lot of them work on products that are incredibly important. I just helped an insurance company shift 70,000 machines from Internet Explorer to a modern browser. That’s 24.5 million end users that now that will get richer and more interesting interfaces because the developers of that company can now rely on a better base to work off from.
[MJS] Yeah, that makes sense. Is that primarily what you’re working on now, or do you have other projects?
[CH] I’m working on the browser as my main job and I am on that team. I’m working with the Enterprise team to do a lot of outreach for customers like that, because it’s also quite useful for me sitting in Europe when the rest of my team is in America. I got a lot of especially German and French companies that don’t necessarily want their data to go somewhere in the US. They’re super excited having somebody local to explain to them where their data goes and how to work with them. I’m also a part of a W3C discussing group where we’re trying to get machine learning into the browser, creating a native API to do machine learning and to also use pretrained models in the browser. So that’s something I’m actually very excited about because I think machine learning is to me the next evolution of development. I gave talks about this and I really believe it as well. We always get excited about, that as a coder, we’re never replaceable. We’re not automatable. But then when you look at what we’re doing, what we’re building these days, there’s a lot of websites that all look the same. There’s even a lot of apps that look the same, and these could be done by a program. A program could write or generate these things. Companies like Wix and SquareSpace, who I’m working with, are actually using machine learning in their interface builders to see what their end users want. They then build code on the fly, without somebody having it to code it by hand. When we think about the node environment, most people use lots of NPM packages and then put a little code on top off that. An algorithm could choose and pick packages and even make sure it is the right package and not something with the wrong name that just tries to be the on. I don’t think that hard core programming will stay relevant for a long time, cause machines have become clever enough. Re-use in development has become intense enough that we can actually cover 90% of what we need to do for end users with computers. We then can use 10% in a very creative fashion, which we should be thinking about what to do next. And I think bringing machine learning to the world It’s a very important part because a lot of “artificial intelligence”, as we call it is basically sold as dark magic and we don’t know where the data goes. We don’t know where the data is retained. Democratizing that and bringing that more into an open source environment like the web is a very important step for new technologies.
[MJS] Yeah, I’d love to see. I mean, what you’re talking about makes a lot of sense. And yeah, you know, if it’s just data and data out, you know, displaying it, there’s no reason why an AI couldn’t just do that.
We’re all we’re all super excited about re-use. But then we always claim we will always have to write everything by hand. “Don’t repeat yourself”, should probably something we do with our tools as well. Cause as much as it sounds boring to me to use other people’s code to stick it together and put something there, it’s quite impressive to see what people are doing. It was just at some conference where this 11 year old kid used Tensorflow to do hand gesture recognition on his camera. For him was just a normal way to build things. He didn’t even know, he didn’t even think about building something from scratch. It’s like “Oh, there’s all these cool Lego bricks that I can put together and make something out of it” instead. I love that because it means that people can build products. They don’t need to be a hard-core programmer to build any a simple product like a mom and pop shop or a little app for your friends to actually meet in.
I’ve been blogging since 2006, so, yeah, it’s been a while.
[MJS] And how do you decide what to cover in your blog?
[CH] Oh, it started as a scratch pad for myself. Every time I found something out, I just wrote a blog post about it, explained it to myself and share that with the world. And that was a really successful way of writing a blog. People are really, really thankful for that. And I find myself whenever I forgot something and type it into Google, I find my own blog from, like, five year. It’s an interesting thing, but I think your excitement should run your blog. Not like what gives you the most click-throughs and what gives you the most ad revenue. I gave up on ad revenue on my blog. I used to get some good money from my blog. There was a good secondary income. It wasn’t amazing, but at least it was four digits per month. Nowadays as most people have ad-blockers, it just wasn’t worthwhile for me. I didn’t want some third party code on my blog that actually might do things to my readers that I don’t know. So I don’t care. I turned off the ads and my RSS feed has the full block posts in it and no “please come to my site and subscribe to it”. I see the Web still as a wonderful collection of destinations and not like something you go and you have to stay in.
[MJS] That’s cool. Where can people find you?
[CH] Christianheilmann.com It was interesting because I cross post a lot on Medium as well. Medium has a beautiful interface for people giving feedback in context. A comment option I don’t have to maintain and delete spam and malware links in. A lot of people got angry when Medium changed to the model to a paywall as they can’t read my posts there. Well, there’s no free. Sorry, how many times do we have to go for the bait and switch to understand it? I got a free account for medium cause I wrote for them. So they asked me “Here’s your free account. Can you keep writing for us?” Every time when somebody complains about the paywall I explain that the thing’s on my blog as well. Because nobody stops me from that. I write on my blog first, and then I publish it somewhere else. Nobody can stop me from doing that. If I get paid to publish something at a certain channel, of course, I shouldn’t put it for free on the blog. People need to make the money back that they gave me, but that doesn’t happen that often. There’s more money in video courses.
[MJS] Yeah, that makes sense. I remember seeing the, um there was a little bit of drama out there about freecodecamp moving off of medium. You know, who owned the articles and things like that, but you know, I think everybody has to make their decision based on what’s important to them. That’s just business. That’s life.
[CH] And it’s weird, isn’t it? We always complain about ads, and then we put that blockers on our browsers. We then complain about ads becoming more intrusive. Well, they’ve got to make money somehow. I’m spending about $100 a month on patreon on where I support different products online. And I think it’s okay, I can afford this. And I think that makes sense. I don’t want the things that I love being covered in terrible ads.
[MJS] Yeah, that makes sense. And it’s interesting because I mean, I haven’t gotten a complaint for a while about the ads in the podcast, but yeah, it’s the same thing, right? I’ve had some people come to me and basically tell me what I should do it with the ad revenue. I’ve had people come to me and tell me I should get rid of the ads, and it’s like, well, if you want me to spend the time on this, I have to be able to he pay, you know, electricity to my house things for my kids and stuff like that. So, yeah, it’s almost like opinions are cheap, right?
I love that we have a different environment for testing these days. I worked with webhint and we worke closely with the people who create lighthouse now that we’re on Chromium as well. It’s just fascinating how well documented and how wonderful our development environments are. Now, when I have Visual Studio Code, I don’t even make silly mistakes anymore. The editor tells me when I’m making a mistake before I save it and put it to my server. And that’s just so much better than learning to be the debugging god. Teaching people best practices or even like proper syntax while their coding, rather than like while they’re debugging, is a wonderful way to become much more effective. With environments that we have right now, you could do all kind of testing on the fly. We have headless browsers. You can use the command line to do automated tasks and automated testing. Crazy things like doing screen shots with headless browsers and then overlaying them and getting the pixel distance of different renderings with different browsers. It’s just a wonderful thing to see, and we never been more effective. People are always trying to find the next exciting thing. Here is a really exciting thing for you to look at. The automation of the web that we do right now is not quite there where it should be it. And there’s a lot of stuff to be explored in this environment.
[MJS] Yeah, I agree. And it’s funny because I talked to people that have been programming for a long time. I remember even 10 years ago where the tooling was at and the situation. You know, where the browsers were at. Some of the issues people don’t even think about anymore because they’ve just they’ve been solved.
[CH] People coming from other environments as well are interesting to talk to. People whose use Visual Studio, like C# or Java developers. They show me how they’re using the environment and what they expect from a development environment to cover before they even start writing code. Where’s we’re like, yeah, text editor and browser. That’s all I need. But we’re building very complex things these days and people’s identity, security and money, in the long run, are dependent on how much quality we put out on the we. People are relying on us to actually do something amazing. I think it’s not right if we get super excited about what we could do for us, as developers, to do things faster, and don’t care about the quality. In essence, it boils down to privacy, security, accessibility and maintainability. These are the four things that make a product interesting. The rest is just nice to have, and the rest is actually more and more in the hand of marketing and the design department to do it right. To keep it secure should be one of our main concerns. And most of time we don’t even know what we’re using. We’re like, “Okay, I got this 150 PM packages that most likely haven’t been updated for half a year. But I don’t want to think about an update. I don’t want to make it easy to update. I got the thing done I want to move on to the next one”. This just a very cowboy way of coding, I think.
[MJS] I need to move us into the next segment of the show, and that’s picks. But before I do that, how do people find you online? You already mentioned your blog.
[CH] Yes, ChristianHeilmann.com. I’m also on Twitter as @codepo8 and I hang out on a few channels. You can also reach me with the @msedgedev and @webhintio accounts, but @codepo8 is the best.
[MJS] Cool. All right. Well, do you have some picks? You have something you want to chat about?
What I didn’t mention, which is terrible as I am clearly not a good sales person, is microsoftedgeinsider.com. There you can try the new Edge that we’re working on right now. On Windows and Mac. There is a nightly Canary build, a dev build and a beta build. We need other people to kick the tires and give us feedback. There’s as a wonderful little smiley button in there. So if you find any problem on any website, you could just click the smiley button. It automatically generates a screen shot off the website that you been at . All you have to do is describe the problem that you have and it goes directly to the right people. And I think that’s a feedback mechanism I wish more products offered that directly to the end user.
[MJS] Nice. Well, um, we’re pretty much out of time, but thanks for coming and talking to me for the last 45 minutes.