Okolji sta si namreč tako navzven kot tudi po tehnični plati precej različni, zato se razvijalci programov ponavadi odločijo samo za enega, a so zaradi tega velikokrat prikrajšani za uporabnike drugega okolja. Programi enega okolja sicer delujejo tudi v drugem, a počasneje in so v napačnem okolju videti tuje.
Projekt Portland programerjem omogoča, da ustvarijo en programski paket, ki lahko uporabi kateregakoli od omenjenih uporabniških vmesnikov.