A multiplicity of methods for integrating websites together must be supported
There are many different ways to integrate capabilities into websites. Each has advantages and technical constraints. Options include: HTML snippets and fragments; hosted HTML embedded via iFrames; Javascript libraries; web service APIs, both client-side and server-side; plugins and components for common platforms (for example Sharepoint, WordPress and Drupal); developer libraries for common web development languages such as Java, .Net, Ruby and PHP.
Different selections of these integration options should be made available for different services.