In part this is because there was heretofore generally no other way for developers to provide such viewing functionality, but also because there are different types of application programs and content, and application developers want to provide features that make sense for their particular program and the types of content to be displayed.