Developing for an International Audience
One aspect of software development (scripting included) that burns every single developer is developing for an international audience.
The most common cause of problems come from incorrect handling of dates and numbers, but there are many more.
I first cut my teeth on the topic when working on Encarta Online, via bugs teaching me the hard way! After that, I took some time to read the excellent documentation on MSDN that describes many of the intricacies: Developing World-Ready Applications, and especially Best Practices for Developing World-Ready Applications.
Of course, these principles don’t just apply to C# software developers. They apply equally well to PowerShell scripters! While PowerShell handles most of the complexity for you, there are some important things to be aware of. “Write Culture-Aware Scripts” in Chapter 13 of the PowerShell Cookbook describes the issues around writing world-ready PowerShell scripts. If you REALLY want to understand some of the crazy issues in international software development, Michael Kaplan has a great MSDN blog to follow: Sorting it all Out.
Now, once you think you’ve got it all down, consider this harmless form that anybody might add to an application:
First Name: ___________________ Last Name: ___________________
If you’re writing this for an international audience, you’re going to alienate and confuse a huge portion of your audience. This W3C Internationalization document describes the problem with amazing clarity: Personal names around the world. As Reddit so clearly puts it, “If you’re asking for a first and last name, you’re doing it wrong!”