1 | Software engineering requirements: |
2 | Implementation of generic interfaces that conform to widely accepted standards: enables combining with other software components and fast development of the applications |
3 | Implementation complexity hidden from the application developer: developer does not have to understand underlying communication mechanisms |
4 | Intuitive and flexible graphical interface: enables manipulation and composition with other components, disappears during application execution |
5 | Testing outside collaboration environment: errors not related to the collaboration functionality can be quickly identified and removed |