User Driven Services: 8. Improvability

8. Improvability

Wall PainterUser Driven Services can be improved by users.

A closed system can’t predict and satisfy all the needs of all its users, all the time. Sooner or later, someone will eventually desire a new feature or capability beyond the resources or interest of the service provider. User Driven Services take advantage of that motivation, allowing users to directly improve the service itself, both for themselves and others.

Through source code modifications, plugins or extensions, API calls or webhooks, or client-side scripts or macros, users should be able improve the real-time experience of services, without breaking the services and without violating their Terms of Service. Mechanisms should also exist for developers to contribute to improving the standard specifications upon which interoperability and portability rely.

Examples

CGI scripts enable custom code to generate web pages for webservers such as Apache. Open Source projects provide full source code so users can directly modify a service application. Excel macros let users define sophisticated data operations across spreadsheet data. Facebook’s FBML and OpenSocial allow customized widgets integrated into web pages at social networks. The iPhone lets users download and install new applications. Internet Explorer and Firefox allow users to write or install custom plugins like Google Toolbar, Acrobat Reader, Flash, and Quicktime.

Questions

  • Can users add functionality to the service through custom code, plug-ins, or extensions?
  • Does the service allow interactive access via APIs so that third party applications can provide enhanced, wrap-around or integrating functionality?
  • Does the services support webhooks or other callbacks for integration with other online services?
  • Do client-side applications allow for client-side scripting or macros?

This article is part of a series. It is the eighth of ten characteristics of User Driven Services:

  1. Checklist with Silver UserImpulse from the User
  2. Control
  3. Transparency
  4. Data Portability
  5. Service Endpoint Portability
  6. Self Hosting
  7. User Generativity
  8. Improvability
  9. Self-managed Identity
  10. Duty of Care

More soon…

This material is based upon work supported by the National Science Foundation under Award Number IIP-08488990. Any opinions, findings, and conclusions or recommendations expressed in this publication are those of the author and do not necessarily reflect teh views of the National Science Foundation.
This entry was posted in User Driven, User Driven Services and tagged , , , , , . Bookmark the permalink.