One way to build portable applications is to support only those functions that are provided on all of the target platforms. This “LCD” approach enables programs to run on numerous platforms, but does so at the expense of forgoing the use of unique, added-value features that may be offered on individual platforms.