Because designers of WYSIWYG applications typically have to account for a variety of different output devices, each of which has different capabilities, there are a number of problems that must be solved in each implementation. These can be seen as tradeoffs between multiple design goals, and hence applications that use different solutions may be suitable for different purposes.