In a previous post I raised the issue of browser integration and called out specific vendors for "evil" approaches to integrating their software with Firefox. That resulted in quite a bit of discussion and some consensus that there is no one right way for software vendors to integrate with Web browsers. The discussion also made it clear to me that a problem for users and vendors alike is that we don't have clear standards or even a good handle on what are the best practices for how software vendors approach browser integration.
If there exists some agreement on best practices that just hasn't been codified, or if we can get there through continued debate, I think then maybe we have a shot at actually convincing many vendors to improve the experience for everyone. This post is me trying to give that discussion a better starting point than what I'd offered in my earlier rant.
I've started off by writing up a set of high-level guidelines that might be able to stand on their own, or could serve as a foundation for a more tightly defined prescription. I'd like to hear from you all if you think these are reasonable or not, and if you have changes or additions you'd make.
- Software vendors should take more care and be more conservative in what they do to alter or integrate with other programs than what they do inside of their own programs. Within their own apps, a vendor should feel free to experiment and innovate, to change up how features work and to occasionally even baffle users with radically new and potentially better ways of getting things done. But when making changes to how other programs work, how the larger computer system works, or when introducing novel forms of integration with other programs or the system as a whole, software vendors should tread much more carefully and should take care to avoid user surprise and bafflement.
- Software vendors should thoughtfully consider the range of options for altering or integrating with other apps and the computer system as a whole and choose the least surprising method. This includes both the integration technology choices (whether it's traditional browser plug-ins, Web content and browser UI extensions, protocol handlers, etc.) as well as the user consent mechanisms (from the currently over-used "just do it automatically" to "opt-out" to "opt-in" models.) When in doubt vendors should bias towards the more familiar and more conservative approaches of integration.
- The further the third-party integration is from accomplishing the advertised purpose of the product doing the install, the more conservative should be the mechanism for adding that integration, if it's added at all. Products and services that have little or no connection to the application that delivered them into the browser should require a higher level of user engagement and agreement than products and services which are well understood parts of the app that delivered them.
As I said, those are kind of high-level but I hope they're a good start.
Are there other guidelines you'd add here? Are the ones I've provided clearly wrong on some accounts or for some common cases already in the wild? Would adopting these principles or variations of them lead to a world that's worse than what we have today for vendors or users? Would love your thoughts.
Full story at http://weblogs.mozillazine.org/asa/archives/2010/12/browser_integration.html
No comments:
Post a Comment