Desmond File

Blog archive

E-Mail and the Law of Unintended Consequences

I've always been a big fan of the law of unintended consequences. Whether it's Henry Ford's invention threatening to melt the polar ice caps or Ray Kroc's innovative fast-food business helping transform America into the most obese nation on earth, it seems that even great ideas can have terrible consequences.

Ask Ray Tomlinson. He knows. The man who invented e-mail back in 1971 was interviewed this week by the Times Online and said he had no idea how huge his innovation would become and the threat it might unleash.

"At that time, the number of people who used e-mail was very small -- maybe between 500 to 1,000. So if you were getting spam, you'd know who was sending it. You'd be able to say to them: that's not a good thing to do," Tomlinson told the Times Online.

The lesson seems pretty darn simple: If you design something to become a success, you better be ready to manage the wages of that success -- whether it's an unintended side-effect, an environmental impact or simply bad people leveraging that success against others.

What's honestly surprising is that software designers often fail to pay full attention to the law of unintended consequences.

Microsoft's ActiveX is such an obvious case in point that I'm almost reluctant to use it here. But ActiveX should stand as an object lesson of what not to do with a software architecture. Intended to enable rich, desktop-like, Web-served applications within Internet Explorer, ActiveX instead emerged as an unacceptable security risk. The same tight and rich integration that made ActiveX so valuable for applications also made it a perfect vehicle for malware.

As with Ford's mass-produced automobile and Kroc's fast food restaurants, Tomlinson's e-mail and Bill Gates' ActiveX are, to an extent, victims of their own success.

"E-mail is like any tool -- it can be used for good or bad," Tomlinson said.

Have you had a development effort that's run into the law of unintended consequences? What did you do to remedy the issue? E-mail me at [email protected].

Posted by Michael Desmond on 03/13/2008 at 1:15 PM

comments powered by Disqus


  • Top 3 Blazor Extensions for Visual Studio Code

    Some developers prefer to create applications with Microsoft's open-source Blazor tooling from within the open-source, cross-platform Visual Studio Code editor. Here are the top tools in the VS Code Marketplace for those folk, as measured by the number of installations.

  • How to Invert a Machine Learning Matrix Using C#

    VSM Senior Technical Editor Dr. James McCaffrey, of Microsoft Research, explains why inverting a matrix -- one of the more common tasks in data science and machine learning -- is difficult and presents code that you can use as-is, or as a starting point for custom matrix inversion scenarios.

  • Microsoft Engineer: 'It's Time to Move OData to .NET 5'

    Microsoft engineer Sam Xu says "it’s time to move OData to .NET 5" and in a new blog post he shows how to do just that.

  • Microsoft Goes Virtual with Developer Education in Face of COVID-19

    Like many organizations that host developer educational events, Microsoft has gone virtual amid shelter-in-place directives and a surge in remote work stemming from the COVID-19 pandemic.

  • Microsoft Enhances Low-Code Power Apps

    Microsoft's nod to the low-code movement, Power Apps, has been enhanced with a bevy of new features, including mixed reality, canvas/model support in a new mobile app, UX improvements and more.

.NET Insight

Sign up for our newsletter.

Terms and Privacy Policy consent

I agree to this site's Privacy Policy.

Upcoming Events