WebAPI/DesignGuidelines: Difference between revisions

Jump to navigation Jump to search
m
Add periods to make it screen reader-friendly
m (Add periods to make it screen reader-friendly)
Line 5: Line 5:


==Preparation==
==Preparation==
* keep your scope narrow
* keep your scope narrow.
* discuss motivation and design sketches early, often, and widely (e.g. [[IRC]], applicable W3C/WHATWG lists, [https://lists.mozilla.org/listinfo/dev-webapi dev-webapi], [https://lists.mozilla.org/listinfo/dev-platform dev-platform], [https://lists.mozilla.org/listinfo/dev-gaia dev-gaia], blogs, Twitter, GitHub issues, etc.)
* discuss motivation and design sketches early, often, and widely (e.g. [[IRC]], applicable W3C/WHATWG lists, [https://lists.mozilla.org/listinfo/dev-webapi dev-webapi], [https://lists.mozilla.org/listinfo/dev-platform dev-platform], [https://lists.mozilla.org/listinfo/dev-gaia dev-gaia], blogs, Twitter, GitHub issues, etc.).
* avoid scope creep by avoiding trying to fix unrelated problems
* avoid scope creep by avoiding trying to fix unrelated problems.
* iterate and only expand your scope as new features are needed
* iterate and only expand your scope as new features are needed.
* start with '''use cases and requirements'''
* start with '''use cases and requirements'''.
* collect currently shipping, available for use '''examples from other platforms''' (ex. Android, iOS)
* collect currently shipping, available for use '''examples from other platforms''' (ex. Android, iOS).
* determine and document how the existence of these technologies impact markets (ex. lots of uses in the Google Play store)
* determine and document how the existence of these technologies impact markets (ex. lots of uses in the Google Play store).
* find articles, blog post comments, Stack Overflow entries showing that people want this feature on the web
* find articles, blog post comments, Stack Overflow entries showing that people want this feature on the web.
* if possible, document how web developers are working around the missing functionality with polyfills and other mechanisms and the drawbacks of this approach ([http://usecases.responsiveimages.org/#limitations-of-current-techniques|responsive images example of this])
* if possible, document how web developers are working around the missing functionality with polyfills and other mechanisms and the drawbacks of this approach ([http://usecases.responsiveimages.org/#limitations-of-current-techniques responsive images example of this]).
* use the above to '''document a need for the API beyond "it would be cool"'''
* use the above to '''document a need for the API beyond "it would be cool"'''.
* document that existing web technologies are not sufficient and that users and developers are being negatively affected by the lack of this feature on the web
* document that existing web technologies are not sufficient and that users and developers are being negatively affected by the lack of this feature on the web.
* show that there is enough consensus making this a good candidate for standardization (the <picture> element did this)
* show that there is enough consensus making this a good candidate for standardization (the <picture> element did this).
** find developers that would make use of this
** find developers that would make use of this.
** if you can't find any interested parties then this may not be the right time to standardize your API
** if you can't find any interested parties then this may not be the right time to standardize your API.
* document potential abuse cases and attack vectors
* document potential abuse cases and attack vectors.
** you don't have to know how to address the concerns, just document them
** you don't have to know how to address the concerns, just document them.
** ask someone to help you find them
** ask someone to help you find them.
** example:  http://w3c-webmob.github.io/wake-lock-use-cases/#potential-for-abuse
** example:  http://w3c-webmob.github.io/wake-lock-use-cases/#potential-for-abuse.
* take these use cases and requirement to a standards body where people can help you format it into a suitable document such as:
* take these use cases and requirement to a standards body where people can help you format it into a suitable document such as:
** http://w3c-webmob.github.io/wake-lock-use-cases
** http://w3c-webmob.github.io/wake-lock-use-cases.
** http://w3c-webmob.github.io/netinfo-usecases/
** http://w3c-webmob.github.io/netinfo-usecases/.
* '''expect your uses cases and requirements to evolve''' as you attempt to standardize
* '''expect your uses cases and requirements to evolve''' as you attempt to standardize.
* build consensus
* build consensus.
** find interested parties who say they'll use this functionality; '''expressions of interest are critical'''
** find interested parties who say they'll use this functionality; '''expressions of interest are critical'''.
** find allies at browser vendors
** find allies at browser vendors.
** http://specifiction.org/
** http://specifiction.org/.
** https://openwebapps.uservoice.com
** https://openwebapps.uservoice.com/.


==Standardizing an Feature==
==Standardizing an Feature==
canmove, Confirmed users
901

edits

Navigation menu