Changes between Version 3 and Version 4 of DeprecatingFeatures
- Timestamp:
- Sep 21, 2012, 2:57:47 PM (12 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
DeprecatingFeatures
v3 v4 5 5 = Balancing costs and benefits = 6 6 7 The guiding principle in our approach is to balance net costs of removing the feature against the net costs of retaining the feature. In many cases, evaluating these costs is a value judgement, and whenever possible, we should strive to replace opinion with data. 7 The guiding principle in our approach is to balance net costs of removing the feature against the net costs of retaining the feature. In many cases, evaluating these costs is a value judgement, and whenever possible, we should strive to replace opinion with data. The following are a number of factors we ought to consider when removing a feature: 8 8 9 == Costs of removing a feature == 9 * ''Compatibility.'' The more a given feature is used, particularly on the web at large but also in "walled gardens" of content, the larger the compatibility cost of removing the feature. For example, we have not removed our implementation of [http://www.w3.org/TR/webdatabase/ SQLDatabase] even though other browser vendors have refused to implement the feature and the W3C has removed the specification from the standards track. We've kept SQLDatabase because removing this API would break compatibility with a large number of consumers of WebKit that use this API. 10 10 11 * ''Compatibility.'' The more a given feature is used, particularly on the web at large but also in "walled gardens" of content, the larger the compatibility cost of removing the feature. For example, we have not removed our implementation of [http://www.w3.org/TR/webdatabase/ SQLDatabse] even though other browser vendors have refused to implement the feature and the W3C has removed the specification from the standards track. 11 * ''Interoperability.'' If a feature fails to garner wide-spread implementation, then web sites that use that feature might work in one user agent but not in another. This lack of interoperability fractures the web platform, making it more difficult for users to switch from one user agent to another. Removing WebKit-proprietary features, or at least hiding them from the web platform, often improves interoperability. 12 12 13 13 14