While at university, I always thought software engineering and building apps was about having smart, efficient code that was well tested using a properly maintained and automated test suite.
That was before I joined the a big tech software company as a developer (as an intern at first). It was an education. When shipping code to millions of users good efficient code, with a baseline level of testing is table stakes, i.e., it is almost taken for granted.
The real work for a feature starts when you start thinking about shipping said feature to everyone on the planet1. Which means that:
- the feature works in languages other than English2;
- the feature UX is respects things like Right-to-Left (RTL)3 locales, which means that you stop thinking in terms of left- and right-edges, but instead think of leading and trailing edges4 (with the understanding that the leading-edge in an RTL locale can be on the right);
- the feature is Accessibility567 compliant, so that folks will disabilities are able to use the product and feature just as well (if not better) as anyone;
- if needed, the feature is aware of data-and-time8 related nuances (e.g., there are locales that start their weekend on a Friday, and their weekday on a Sunday9);
- and that the feature is always compliant with the laws and regulations10 where the feature is used.
This list of considerations can seem endless – but there are good well established ways to engineer for, and ship with such capabilities. And when you want to ship your feature and product to every user and organization on the planet, you care about such details.
As a set of starting points, I have included some reading material and resources in the footnotes below. Hope they are useful.
– vkp
- https://learn.microsoft.com/en-us/globalization/ ↩︎
- https://en.wikipedia.org/wiki/Internationalization_and_localization ↩︎
- https://learn.microsoft.com/en-us/globalization/fonts-layout/displaying-text ↩︎
- https://learn.microsoft.com/en-us/globalization/input/mirroring ↩︎
- https://en.wikipedia.org/wiki/Accessibility ↩︎
- https://www.w3.org/mission/accessibility/ ↩︎
- https://www.apple.com/accessibility/ ↩︎
- https://lokalise.com/blog/date-time-localization/ ↩︎
- https://learn.microsoft.com/en-us/globalization/locale/date-time-formats#other-datetime-considerations ↩︎
- https://learn.microsoft.com/en-us/globalization/internationalization/international-laws-and-standards ↩︎

Leave a comment