Christian Heilmann

Author Archive

Please, WordPress, keep the alternative text I entered

Tuesday, July 11th, 2023

I’ve been using WordPress here since the beginning and I am still happy with what it does for me. One thing that drives me bonkers though is a UX bug in the media tool. Almost every time I upload an image to WordPress, I start typing in alternative text. The problem is that the editor refreshes completely when the image has uploaded and all I entered is lost. Here is a screencast showing the issue:

Screencast of me entering alternative text for an uploading image which is lost as soon as the image is uploaded.

I filed a ticket with WordPress to get this fixed, it’s been bugging me long enough.

Getting AI to bullshit for you

Tuesday, July 4th, 2023

One thing I am not good at is write in superlatives about myself. That’s a good thing, I think? But often you are asked to big yourself up for some official publication or marketing materials. So I thought I give ChatGPT a go to turn a list of facts about myself into a big-up intro.

Hey, ChatGPT: Create a book intro about an author with the following accomplishments:

And here’s what ChatGPT made of it:


Introducing Christian Heilmann: A Trailblazer in Web Development and Advocacy

In the ever-evolving realm of web development, few names stand out like Christian Heilmann. With a remarkable career spanning over 25 years, Heilmann has left an indelible mark on the industry through his diverse roles and groundbreaking contributions. From his early days as a radio journalist and presenter to becoming a web development luminary, Heilmann’s journey is a testament to his unwavering passion and relentless pursuit of excellence.

A celebrated author, Heilmann penned the definitive handbook on developer evangelism and advocacy, solidifying his position as a thought leader in the field. Aptly titled, the handbook can be found at https://developer-advocacy.com, serving as a beacon for aspiring advocates seeking guidance in this dynamic landscape.

Throughout his career, Heilmann has been involved in awe-inspiring web projects that have shaped the digital landscape we know today. From eToys, one of the pioneering ecommerce sites, to the British Government’s tourism portal, and even household names like McDonald’s and Yahoo, his influence has been felt far and wide. Notably, during his tenure at Yahoo as Web Architect and Senior Developer Evangelist, Heilmann played an instrumental role in empowering developers and shaping the company’s technological vision.

Embracing new challenges, Heilmann joined Mozilla as Principal Evangelist, where he spearheaded a transformative program aimed at nurturing developer advocates within the community. His visionary leadership paved the way for countless individuals to discover their own advocacy potential, driving innovation and inclusivity in the developer ecosystem.

Continuing his journey at Microsoft, Heilmann’s expertise took center stage as he assumed the role of Senior Program Manager for Open Web and Browsers. His unwavering dedication to making Edge the premier browser for developers played a pivotal role in enhancing the development experience. Additionally, as Senior Developer Advocate for Edge, Heilmann played a crucial part in transitioning Internet Explorer into the annals of history, making way for a new era of web browsing.

With a deep commitment to accessibility, Heilmann served as the Principal Technical Product Manager for the Chromium Developer tools, jointly developed with Google Chrome. His tireless efforts ensured that these tools adhered to the highest accessibility and compliance standards, making web development more inclusive for all.

Heilmann’s contributions extend beyond his remarkable professional achievements. He is widely recognized as the author of the first JavaScript book dedicated to AJAX, which garnered immense attention during its heyday. Since 2004, he has maintained an influential blog at https://christianheilmann.com, sharing his insights and knowledge with a global audience.

An accomplished speaker, Heilmann has graced countless conferences and events, delivering captivating keynotes that captivate audiences. His expertise has led to him writing and recording numerous articles and videos for esteemed platforms such as developer.mozilla.org, MSDN, and ScriptJunkie, solidifying his status as a trusted source of guidance and inspiration.

Beyond his industry engagements, Heilmann has contributed his freelance writing prowess to Golem.de, a prominent publication covering technology and its impact on society. Furthermore, he has honed his skills as a presenter trainer and coach, imparting invaluable wisdom to individuals at Yahoo, Mozilla, and Microsoft.

A champion for accessibility, Heilmann is an esteemed advocate, expert, and speaker on the subject. As a former member of the W3C expert group on machine learning on devices, he has played a pivotal role in shaping the future of this cutting-edge technology.

Venturing into the realm of online education, Heilmann has become a respected video course creator for prominent platforms such as LinkedIn Learning and Skillshare. His courses, including “Tools and Tips to Optimize Your Workflow as a Developer” (https://skl.sh/3uKu5G1:https://skl.sh/3uKu5G1), “Tools for Improving Product Accessibility” (“https://skl.sh/3eCFWRR:https://skl.sh/3eCFWRR”), “The JavaScript Toolkit: Write Cleaner, Faster and Better Code” (https://skl.sh/2CpiTGZ), and “Demystifying Artificial Intelligence: Understanding Machine Learning” (https://skl.sh/2MHkYl1), have empowered countless learners to enhance their skills and thrive in the digital landscape.

As a respected figure in the industry, Heilmann has moderated stages for esteemed events such as WAD (Web Accessibility Day), where he also delivered captivating keynotes on topics ranging from artificial intelligence to code generation. These thought-provoking presentations have solidified his reputation as a captivating speaker and influential figure in the tech community.

To witness Heilmann’s insightful perspectives firsthand, you can explore his inspiring talks, such as “Sacrificing the Golden Calf of coding” (https://www.youtube.com/watch?v=iPfMatOgRBg) and “Self-replicating genies – How to democratize and ensure ethics in AI | Christian Heilmann” (https://www.youtube.com/watch?v=bLClN2niMkU).

Christian Heilmann’s journey is one of remarkable accomplishments, unwavering dedication, and a relentless pursuit of excellence. With his profound expertise, unyielding advocacy, and captivating presence, he continues to shape the world of web development and inspire the next generation of developers to reach new heights.

Quite some hallucinations going on there. And, if this blog ever sounds like this – just shoot me.

What’s next for Chris? I’ve got a new job!

Tuesday, July 4th, 2023

Tim Robbins in the Hudsucker Proxy sitting at his desk with the circle painting next to him

In my last few posts and talks I covered my worries about the current job market in technology. Lots of people have been laid off in the last months and it is tough to find a role without making a lot of concessions. Every big tech company is slashing budgets and trying to save money despite having massive sales figures. I’ve always been confused about the job market and that there is a huge disconnect between people looking for a job and those hiring.

  • As developers, we’ve traditionally never been happy about recruiters.
  • As hiring managers, we’re constantly confused about the transformation our job specs make from initial email to published job ad.
  • As recruiters, you always have to reassure talent that you are not one of the sketchy ones only out for a commission

We have companies struggling to find good talent and developers struggling to find a job that fits their skills and needs. It makes no sense.

That’s why I decided as the next step of my career to join WeAreDevelopers as Director of Developer Relations.

I’ve worked with them before as a presenter and MC at their flagship conference and I saw this as a great opportunity to help bring some light to the current turmoil in the job market and help developers get the information they need. I also want to help companies find the right talent and help them understand what developers need to be happy and productive.

This doesn’t mean I will cease to work on the web and its products. I will still be active in other areas and I’ve started being a technical advisor for several companies. I’m also working on some courses that will come out soon.

I also was amazed to remember that five years ago I gave a talk for WeAreDevelopers on the coming AI revolution: How to democratize and ensure ethics in AI

I joined Yahoo because I wanted to work on the biggest web presence and help run a developer program. I joined Mozilla to help the web when native mobile solutions threatened to replace it. Years later, the web is still around and thriving. I joined Microsoft to get rid of Internet Explorer and I am happy to say I managed to achieve this goal. I also wanted the Developer Tools in Microsoft Edge to be on par and exceeding the offers of other browser and I managed to do that.

I’m looking forward to make WeAreDevelopers be what it stands for: a community for developers beyond job offers. I want to ramp up the resources, training and video sections and build out and coach the team there on developer relations.

As I said in my Developer Advocacy Handbook, being a developer advocate is as much about telling developers about great technology as it is about advocating the needs and wants of developers to business stakeholders. And I can see this job as a massive opportunity to do just that.

Personally, I chose this offer because of some of the things I considered important:

  • The job is fully remote, so I keep working from home.
  • I am allowed to present at many other conferences in addition to help running the WAD ones.
  • I can still do video courses for other platforms.
  • There was no confusion how to hire someone in Germany and what that means in terms of job security and benefits.
  • I have a team of people to work with and a lot of freedom where to go with this.

Watch this space for some questions I have for you later on what we could do to make this a great resource for developers. If you are interested, please get in touch.

Reading tweets without being logged in

Friday, June 30th, 2023

Update: nitter is broken right now .

OK, Twitter.com now doesn’t allow you to read tweets without being logged in. You can circumvent the need to login by changing twitter.com to nitter.it though.

So https://twitter.com/codepo8/status/1674835360516390912 becomes https://nitter.it/codepo8/status/1674835360516390912 .

screencast showing the hack in action

Is it too late to fix the problem of AI clutter on the web?

Wednesday, June 28th, 2023

Cluttered book store with a person trying to find a book

Ethical and compliance issues aside, the biggest problem I see with AI generated content or code is waste. Once again we use a new tool to generate more things quicker, rather than to generate fewer, better things. Even more interesting is that we could use this as an opportunity to analyse our ways and recognise cruft. In other words: if things are that formulaic that a machine can generate them, do we really need them?

A common joke is that people use ChatGPT to turn three bullet points into a well-formed email or cover letter and the recipient using it to turn that email back into three bullet points. It’s funny because it’s true. When I applied for jobs, I took the job descriptions and my CV data and asked ChatGPT to generate well-worded pieces for me. Quite a few companies I applied at use AI to screen incoming emails. I am also sure recruiters use AI to distill CVs and cover letters, given the amount of emails they have to deal with each day.

Application processes, CVs and cover letters have become formulaic to a degree where there are services to write your CV for you. It feels like hiring a lawyer or tax advisor, as the language necessary to get where you want to go is so far removed from day-to-day communication that it needs an expert. Do people read all that well-worded information though? I doubt it. Personally, I scan more than I read.

AI recommending us content doesn’t mean we have to take it all

Almost every application of AI sold as a way to make us more efficient means creating a lot of content automatically. I started typing this in Visual Studio Code with GitHub Copilot enabled. Copilot tries to be helpful by autocompleting my sentences and offering new paragraphs that complete the thought. Or so it thinks. What it did was annoy me with lots of unnecessary repetition of points made in the first paragraph. So I switched another editor – Hemingway, which keeps your writing terse and to the point.

I could have let Copilot go nuts and keep all its suggestions. It is tempting as it feels that you create a lot and you’re a more efficient writer. It is pretty common that people do that. The amount of generated content is overwhelming the current web. As the Verge put it, AI is killing the old web, and the new web struggles to be born. People generate a lot of articles, and moderators can’t keep up, so they also use AI to automatically detect AI generated content. It is the search engine optimisation arms race all over again, but this time it’s automated and it costs a lot of energy. Both human energy and electricity being wasted.

This is not only detrimental to the quality of the web as we’re drowning in mediocre, traffic-optimised content. It is also bad for the planet. AI functionality doesn’t come cheap. It is expensive in computation and means a lot of traffic going back and forth.

Trying to be green in an avalanche of generated content

We are currently looking how software can be greener and use up fewer resources and people like the Green Software Foundation do some amazing work in spreading awareness. And yet, the cost of AI consumption is not often questions as it is the cool thing of the moment.

Sure, with text this isn’t that much of an issue. Generated images, videos and upscaled low quality media means a lot of computation power and energy used for, well, what exactly? To prove that we can generated an image from a text saying “a monkey wearing a watermelon as a hat in the style of matisse”? Our few seconds of fame as a funny creator on social media without having to put any craft into it?

Diffusionbee generating an image of a monkey wearing a watermelon as a hat in the style of matisse

It’s pretty likely that this is another fad that will go away in the long run. Much like we stopped doing Simpsons avatars or Elfed ourselves. Younger audiences also consider GIFs as “cringe” which makes me happy as that was traffic and distractions nobody needed.

If AI generates code it can also optimise it

It is interesting though that the CEO of Twitter announced that soon Copilot and others will generate 80% of the code out there. The optimiser in me immediately saw this as an opportunity to cut the fat of our code bases. If 80% is generated boilerplate code, why should that always be created instead of re-used? During the course of my career one thing that annoyed me was that developers have no patience with platforms. Instead of taking part in open source and standardisation to make the platform do what we need, people kept writing their own solutions. Solutions often touted as a “stop-gap” solution that in the end, never go away. JavaScript libraries that made cross-browser development easier are now a dependency that can’t be removed any more. Even worse, they often aren’t even maintained, meaning they do not only become unnecessary traffic and code bloat, but also a security and performance issue.

I have to admit that in the last years I lost some interest in developing code. It’s not that there are no cool challenges or excellent new platform features. It is the way we approach development these days that bored me. We don’t solve problems, we don’t look for native solutions. Instead we include packages and components we don’t even know how they work or what they do. We build products from building blocks that other people wrote. It’s not a “let’s start a project by looking at the problem to solve”. It is “run this install to get the boilerplate code you might need”. When we release these products we find out they don’t perform. So we hire a performance expert to analyse our products and they find unused code and cruft. We then write more code to remove this unused code and create optimised code bundles for different use cases.

AI content generation feels the same. We generate a ton of content that isn’t ours and may be bad quality or a terrible idea and throw it out there. And then we use AI to cut it down to something that is understandable again. Seems wasteful, doesn’t it?

If 80% of the code of the future will be generated, this is a great opportunity to optimise that code. We won’t have to argue with engineers who want code to be done in a certain way. We can let machines generate code for machines. And then we have to ask ourselves why this code even exists. AI is great to detect patterns. So if hundreds of developers keep using the same code to solve an issue, couldn’t that code become part of the platform?

Let’s stop littering the web – it’s already full of rubbish

The web is in danger to be flooded with generated content that nobody needs. Our codebases are likely to get bigger because we get offered lots of code by hitting the tab key instead of writing it by hand. This is the time to be aware of this. Sure, convenience is a lovely thing. But we also need to think about the cost of what we create. For the ease of mind of other people, so we don’t overload them with content they will never read. And also what it means to the planet and our electricity consumption. AI is here to stay, and it can be used to optimise our workflows and our software products. But it can also help us to litter the web even more than it is right now.

Photo by Darwin Vegher on Unsplash