Portability advocates make many claims to support their desires. Common claims include
- Addressing a new target market
- Supporting existing customers, who may prefer a different platform but have accepted the current one
The real reasons you may have, or may be creating, a portable application are often not as grandiose. They may include
- Developers thinking it is easy and/or cool
- One or two early innovators or early adopters demanding different solutions
Carefully check whatever claims your portability champion is making.
The only valid business case for creating portable applications is that you'll profit by doing so. Marketects are often good at modeling the revenue, but not necessarily the costs, of creating portable applications.
Creating portable applications is harder than you think. And it will take longer than you want.
It is usually easier to justify a portable technology than a portable application.
There are a variety of proven ways to create portable applications. Learn them.
Your "matrix of pain" is the complete set of configurations that must be tested in a given release. To create a manageable matrix of pain
- Remove configurations that don't make sense or are explicitly not supported
- Rank-order the remaining configurations
- Review the result and make the final cut
Always be explicit about the configurations you support. Be very cautious about committing to support new configurations.