CINXE.COM
developers | Mitchell's Blog
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US" dir="ltr" id="blog-lizardwrangler-com"> <head> <base href="https://blog.lizardwrangler.com/tag/developers/"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="Content-Language" content="en-US"> <meta name="title" content=" developers | Mitchell's Blog"> <meta name="description" content="Mitchell Baker on Mozilla and More"> <meta name="MSSmartTagsPreventParsing" content="true"> <meta name="ROBOTS" content="ALL"> <meta name="Copyright" content="(c) 2024 Mozilla. All rights reserved."> <meta http-equiv="imagetoolbar" content="no"> <meta name="Rating" content="General"> <link rel="shortcut icon" type="image/ico" href="https://blog.lizardwrangler.com/wp-content/themes/LizardWrangler/favicon.ico"> <link rel="home" href="/"> <link rel="copyright" href="#copyright"> <link rel="stylesheet" type="text/css" media="screen,projection" href="https://blog.lizardwrangler.com/wp-content/themes/LizardWrangler/style.css"> <link rel="stylesheet" type="text/css" media="print,handheld" href="https://blog.lizardwrangler.com/wp-content/themes/LizardWrangler/css/print.css"> <link rel="alternate" type="application/rss+xml" title="Mitchell's Blog RSS Feed" href="https://blog.lizardwrangler.com/feed/"> <link rel="pingback" href="https://blog.lizardwrangler.com/xmlrpc.php"><!--[if lte IE 7]><link rel="stylesheet" type="text/css" media="all" href="https://blog.lizardwrangler.com/wp-content/themes/LizardWrangler/css/ie7.css" /><![endif]--> <!--[if lte IE 6]><link rel="stylesheet" type="text/css" media="all" href="https://blog.lizardwrangler.com/wp-content/themes/LizardWrangler/css/ie6.css" /><![endif]--> <script type="text/javascript" src="https://blog.lizardwrangler.com/wp-includes/js/jquery/jquery.js"></script> <title> developers | Mitchell's Blog</title> <meta name="robots" content="max-image-preview:large"> <meta name="blog-name" content="Mitchell's Blog"> <link rel="dns-prefetch" href="//blog.mozilla.org"> <link rel="alternate" type="application/rss+xml" title="Mitchell's Blog » developers Tag Feed" href="https://blog.lizardwrangler.com/tag/developers/feed/"> <script type="text/javascript"> window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/blog.lizardwrangler.com\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.3.5"}}; /*! This file is auto-generated */ !function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83e\udef1\ud83c\udffb\u200d\ud83e\udef2\ud83c\udfff","\ud83e\udef1\ud83c\udffb\u200b\ud83e\udef2\ud83c\udfff")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings); </script> <style type="text/css"> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel="stylesheet" id="wp-block-library-css" href="https://blog.lizardwrangler.com/wp-includes/css/dist/block-library/style.min.css?ver=6.3.5" type="text/css" media="all"> <style id="classic-theme-styles-inline-css" type="text/css"> /*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} </style> <style id="global-styles-inline-css" type="text/css"> body{--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}body .is-layout-flex{flex-wrap: wrap;align-items: center;}body .is-layout-flex > *{margin: 0;}body .is-layout-grid{display: grid;}body .is-layout-grid > *{margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} .wp-block-navigation a:where(:not(.wp-element-button)){color: inherit;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} .wp-block-pullquote{font-size: 1.5em;line-height: 1.6;} </style> <script type="text/javascript" src="https://blog.mozilla.org/wp-content/mu-plugins/mozilla-custom/ga-snippet.js?ver=.4" id="ga-snippet-js"></script> <link rel="https://api.w.org/" href="https://blog.lizardwrangler.com/wp-json/"> <link rel="alternate" type="application/json" href="https://blog.lizardwrangler.com/wp-json/wp/v2/tags/44"> <link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://blog.lizardwrangler.com/xmlrpc.php?rsd"> <link rel="shortcut icon" type="image/x-icon" href="https://blog.lizardwrangler.com/wp-content/themes/LizardWrangler/favicon.ico"> <style>#wpadminbar #wp-admin-bar-site-name>.ab-item:before { content: none !important;}li#wp-admin-bar-site-name a { background: url( "https://blog.lizardwrangler.com/wp-content/themes/LizardWrangler/favicon.ico" ) left center/20px no-repeat !important; padding-left: 21px !important; background-size: 20px !important; } li#wp-admin-bar-site-name { margin-left: 5px !important; } li#wp-admin-bar-site-name {} #wp-admin-bar-site-name div a { background: none !important; } </style> <style type="text/css" id="wp-custom-css"> img, video { max-width: 100%; height: auto; } </style> <meta http-equiv="X-Translated-By" content="Google"> <meta http-equiv="X-Translated-To" content="ko"> <script type="text/javascript" src="https://www.gstatic.com/_/translate_http/_/js/k=translate_http.tr.en_GB.omlEigW4xY8.O/am=DgY/d=1/rs=AN8SPfpjsL9kUWY0h-sp7Ilu7hZWGwEmeg/m=corsproxy" data-sourceurl="https://blog.lizardwrangler.com/tag/developers/"></script> <link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200" rel="stylesheet"> <script type="text/javascript" src="https://www.gstatic.com/_/translate_http/_/js/k=translate_http.tr.en_GB.omlEigW4xY8.O/am=DgY/d=1/exm=corsproxy/ed=1/rs=AN8SPfpjsL9kUWY0h-sp7Ilu7hZWGwEmeg/m=phishing_protection" data-phishing-protection-enabled="false" data-forms-warning-enabled="true" data-source-url="https://blog.lizardwrangler.com/tag/developers/"></script> <meta name="robots" content="none"> </head> <body id="blog"> <script type="text/javascript" src="https://www.gstatic.com/_/translate_http/_/js/k=translate_http.tr.en_GB.omlEigW4xY8.O/am=DgY/d=1/exm=corsproxy,phishing_protection/ed=1/rs=AN8SPfpjsL9kUWY0h-sp7Ilu7hZWGwEmeg/m=navigationui" data-environment="prod" data-proxy-url="https://blog-lizardwrangler-com.translate.goog" data-proxy-full-url="https://blog-lizardwrangler-com.translate.goog/tag/developers/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" data-source-url="https://blog.lizardwrangler.com/tag/developers/" data-source-language="pl" data-target-language="ko" data-display-language="en-GB" data-detected-source-language="" data-is-source-untranslated="false" data-source-untranslated-url="https://translate.google.com/website?sl=pl&tl=ko&hl=en-GB&u=https://blog.lizardwrangler.com/tag/developers/&anno=2" data-client="tr"></script> <ul id="nav-access"> <li><a href="https://blog-lizardwrangler-com.translate.goog/tag/developers/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB#content-main">Skip to content</a></li> <li><a href="https://blog-lizardwrangler-com.translate.goog/tag/developers/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB#content-extra">Skip to sidebar</a></li> <li><a href="https://blog-lizardwrangler-com.translate.goog/tag/developers/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB#search">Skip to blog search</a></li> </ul> <div id="branding"> <h4 id="logo"><a href="https://blog-lizardwrangler-com.translate.goog/tag/developers/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" title="Go to the home page"><img src="https://blog.lizardwrangler.com/wp-content/themes/LizardWrangler/img/logo.png" alt="Lizard Wrangling: Mitchell on Mozilla & More"></a></h4><span id="tabzilla"> <a href="https://translate.google.com/website?sl=pl&tl=ko&hl=en-GB&u=https://www.mozilla.org/">Mozilla</a> </span> </div> <div id="content"> <div id="content-main" class="hfeed"> <h1 class="page-title">Posts Tagged with “developers”</h1> <div class="hentry" id="post-1357"> <h2 class="entry-title"><a href="https://blog-lizardwrangler-com.translate.goog/2009/04/08/principle-6-microsoft-tools-for-developing-content-must-not-produce-ie-specific-or-windows-specific-results/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" rel="bookmark" title="Permanent link to “Principle 6: Microsoft tools for developing content must not produce IE specific or Windows-specific results.”">Principle 6: Microsoft tools for developing content must not produce IE specific or Windows-specific results.</a></h2> <p class="entry-posted"><abbr class="published" title="2009-04-08T13:17:20-07:00">April 8th, 2009</abbr></p> <div class="entry-content"> <p>Over 90% of the personal computer operating systems in the world are Windows. As a result, application developers often use Microsoft tools to help write programs that work with Windows, and with related technologies or products that are integrated or often used with Windows. Microsoft has a history of using its tools to lock out other products. For example, Microsoft web development tools have often resulted in code that only works with IE. The application developers may or may not even be aware of this. They use a convenient tool provided by the operating system vendor, and end up helping extend the operating system monopoly to other products.</p> <p>Examples of tools to which this principle would apply include Microsoft Expression Web and Microsoft Office Sharepoint. One might also include Silverlight and related development tools, or tools that do things such as embed MS Office documents in web pages.</p> <p>This principle asserts that Microsoft cannot cause web or application developers to create IE-specific content by default.</p> </div> <p class="entry-meta">Categories: <a href="https://blog-lizardwrangler-com.translate.goog/category/mozilla/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" rel="category tag">Mozilla</a> | Tags: <a href="https://blog-lizardwrangler-com.translate.goog/tag/competition/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" rel="tag">competition</a>, <a href="https://blog-lizardwrangler-com.translate.goog/tag/developers/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" rel="tag">developers</a>, <a href="https://blog-lizardwrangler-com.translate.goog/tag/ec/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" rel="tag">EC</a>, <a href="https://blog-lizardwrangler-com.translate.goog/tag/microsoft/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" rel="tag">Microsoft</a> | <a href="https://blog-lizardwrangler-com.translate.goog/2009/04/08/principle-6-microsoft-tools-for-developing-content-must-not-produce-ie-specific-or-windows-specific-results/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB#comments" class="comments-link">10 comments</a></p> </div> <div class="hentry" id="post-173"> <h2 class="entry-title"><a href="https://blog-lizardwrangler-com.translate.goog/2007/11/07/building-a-consumer-product/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" rel="bookmark" title="Permanent link to “Building a consumer product”">Building a consumer product</a></h2> <p class="entry-posted"><abbr class="published" title="2007-11-07T17:06:29-08:00">November 7th, 2007</abbr></p> <div class="entry-content"> <p>One of the ways in which the Mozilla project has been a pioneer is in building a consumer product with mass adoption. Before Firefox the conventional wisdom was that open source software projects could build server-side and infrastructure technology because the developers were building tools to meet their own needs. It was thought that consumer products — which need to be built for a very different audience — might be outside the competency of an open source software product.</p> <p>Mozilla has demonstrated that this is not the case. It’s not easy to build good consumer products, that’s for sure, and nothing will make it easy. But Mozilla cracked the consumer barrier and other open source projects are now developing <a href="https://translate.google.com/website?sl=pl&tl=ko&hl=en-GB&u=http://www.adiumx.com/">effective</a> <a href="https://translate.google.com/website?sl=pl&tl=ko&hl=en-GB&u=http://www.getmiro.com/">consumer</a> software.</p> <p>Building a consumer product for broad adoption is clearly possible for an open source project, we are doing that with Firefox today. Doing so affects the nature of the project. It’s probably not for everyone. The consumer focus affects many aspects of our efforts, some subtle and some obvious. This affects a big part of the Mozilla project, so I thought it would be interesting to have a conversation about the ways in which the mass consumer focus colors our life.</p> <p>Here are some of the things that describe daily life in shipping a product with the reach of Firefox; feel free to add more.</p> <ul> <li>We live in a competitive space and it’s hard</li> <li>Speed, innovation, elegance and fundamentals (performance, security) are all critical all the time</li> <li>The target audience is *really* different from the developers</li> <li>Cross-platform goals affects our approach</li> <li>Silence, appreciation and criticism are mixed up oddly</li> <li>Adding non-coding activities to open source development is fundamental to success</li> </ul> <p>I’ll post some thoughts on the various topics on the list separately. Or I’ll comment if someone else gets to this first 🙂</p> </div> <p class="entry-meta">Categories: <a href="https://blog-lizardwrangler-com.translate.goog/category/mozilla/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" rel="category tag">Mozilla</a> | Tags: <a href="https://blog-lizardwrangler-com.translate.goog/tag/developers/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" rel="tag">developers</a>, <a href="https://blog-lizardwrangler-com.translate.goog/tag/users/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" rel="tag">users</a> | <span class="comments-link">Comments off</span></p> </div> </div> <div id="content-extra"> <p class="access"><a href="https://blog-lizardwrangler-com.translate.goog/tag/developers/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB#site-info">Skip past the sidebar</a></p> <ul id="widgets"> <li id="text-2" class="widget widget_text"><h2 class="widgettitle">About</h2> <div class="textwidget"> Mitchell Baker is Chair of the Mozilla Foundation, a non-profit organization dedicated to promoting openness, innovation and opportunity on the Internet. </div></li> <li id="nav_menu-2" class="widget widget_nav_menu"><h2 class="widgettitle">Categories</h2> <div class="menu-categories-container"> <ul id="menu-categories" class="menu"> <li id="menu-item-3990" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-3990"><a href="https://blog-lizardwrangler-com.translate.goog/category/mozilla/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB">Mozilla</a></li> <li id="menu-item-3992" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-3992"><a href="https://blog-lizardwrangler-com.translate.goog/category/thought-process/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB">Thought Process</a></li> </ul> </div></li> <li id="search-3" class="widget widget_search"> <form method="get" id="fm-search" action="https://blog.lizardwrangler.com/"> <fieldset> <h2 class="widgettitle">Search</h2> <p><input type="text" value="" name="s" id="s"> <button type="submit">Find</button></p> </fieldset> </form></li> <li id="calendar-2" class="widget widget_calendar"><h2 class="widgettitle">Calendar</h2> <div id="calendar_wrap" class="calendar_wrap"> <table id="wp-calendar" class="wp-calendar-table"> <caption> December 2024 </caption> <thead> <tr> <th scope="col" title="Monday">M</th> <th scope="col" title="Tuesday">T</th> <th scope="col" title="Wednesday">W</th> <th scope="col" title="Thursday">T</th> <th scope="col" title="Friday">F</th> <th scope="col" title="Saturday">S</th> <th scope="col" title="Sunday">S</th> </tr> </thead> <tbody> <tr> <td colspan="6" class="pad"> </td> <td id="today">1</td> </tr> <tr> <td>2</td> <td>3</td> <td>4</td> <td>5</td> <td>6</td> <td>7</td> <td>8</td> </tr> <tr> <td>9</td> <td>10</td> <td>11</td> <td>12</td> <td>13</td> <td>14</td> <td>15</td> </tr> <tr> <td>16</td> <td>17</td> <td>18</td> <td>19</td> <td>20</td> <td>21</td> <td>22</td> </tr> <tr> <td>23</td> <td>24</td> <td>25</td> <td>26</td> <td>27</td> <td>28</td> <td>29</td> </tr> <tr> <td>30</td> <td>31</td> <td class="pad" colspan="5"> </td> </tr> </tbody> </table> <nav aria-label="Previous and next months" class="wp-calendar-nav"><span class="wp-calendar-nav-prev"><a href="https://blog-lizardwrangler-com.translate.goog/2023/03/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB">« Mar</a></span> <span class="pad"> </span> <span class="wp-calendar-nav-next"> </span> </nav> </div></li> <li id="tag_cloud-2" class="widget widget_tag_cloud"><h2 class="widgettitle">Tags</h2> <div class="tagcloud"> <a href="https://blog-lizardwrangler-com.translate.goog/tag/2010-goals/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-50906 tag-link-position-1" style="font-size: 18.3820224719pt;" aria-label="2010 goals (22 items)">2010 goals</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/air-mozilla/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-256 tag-link-position-2" style="font-size: 9.25842696629pt;" aria-label="Air Mozilla (5 items)">Air Mozilla</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/asia/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-38 tag-link-position-3" style="font-size: 11.1460674157pt;" aria-label="Asia (7 items)">Asia</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/awards/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-27995 tag-link-position-4" style="font-size: 12.7191011236pt;" aria-label="awards (9 items)">awards</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/blog/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-930 tag-link-position-5" style="font-size: 8pt;" aria-label="blog (4 items)">blog</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/brainstorming/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-52538 tag-link-position-6" style="font-size: 8pt;" aria-label="brainstorming (4 items)">brainstorming</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/browser/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-43 tag-link-position-7" style="font-size: 11.9325842697pt;" aria-label="browser (8 items)">browser</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/choice/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-52889 tag-link-position-8" style="font-size: 11.9325842697pt;" aria-label="choice (8 items)">choice</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/code/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-53413 tag-link-position-9" style="font-size: 8pt;" aria-label="code (4 items)">code</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/communication/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-53595 tag-link-position-10" style="font-size: 9.25842696629pt;" aria-label="communication (5 items)">communication</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/community/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-53 tag-link-position-11" style="font-size: 20.7415730337pt;" aria-label="community (31 items)">community</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/competition/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-6744 tag-link-position-12" style="font-size: 10.3595505618pt;" aria-label="competition (6 items)">competition</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/conferences/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-70 tag-link-position-13" style="font-size: 17.1235955056pt;" aria-label="conferences (18 items)">conferences</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/corporation/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-54126 tag-link-position-14" style="font-size: 14.4494382022pt;" aria-label="Corporation (12 items)">Corporation</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/data/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-525 tag-link-position-15" style="font-size: 13.9775280899pt;" aria-label="data (11 items)">data</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/davos/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-54584 tag-link-position-16" style="font-size: 8pt;" aria-label="Davos (4 items)">Davos</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/discussion/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-54956 tag-link-position-17" style="font-size: 15.5505617978pt;" aria-label="discussion (14 items)">discussion</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/ec/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-55289 tag-link-position-18" style="font-size: 18.3820224719pt;" aria-label="EC (22 items)">EC</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/firefox/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-30 tag-link-position-19" style="font-size: 22pt;" aria-label="Firefox (38 items)">Firefox</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/foundation/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-56376 tag-link-position-20" style="font-size: 21.0561797753pt;" aria-label="Foundation (33 items)">Foundation</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/goals/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-344 tag-link-position-21" style="font-size: 12.7191011236pt;" aria-label="goals (9 items)">goals</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/governance/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-56714 tag-link-position-22" style="font-size: 15.5505617978pt;" aria-label="governance (14 items)">governance</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/government/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-56923 tag-link-position-23" style="font-size: 9.25842696629pt;" aria-label="government (5 items)">government</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/history/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-730 tag-link-position-24" style="font-size: 15.8651685393pt;" aria-label="history (15 items)">history</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/launch/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-27871 tag-link-position-25" style="font-size: 10.3595505618pt;" aria-label="launch (6 items)">launch</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/legal/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-60338 tag-link-position-26" style="font-size: 13.3483146067pt;" aria-label="legal (10 items)">legal</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/life/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-60960 tag-link-position-27" style="font-size: 13.9775280899pt;" aria-label="life (11 items)">life</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/management/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-3869 tag-link-position-28" style="font-size: 10.3595505618pt;" aria-label="management (6 items)">management</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/manifesto/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-23322 tag-link-position-29" style="font-size: 9.25842696629pt;" aria-label="Manifesto (5 items)">Manifesto</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/messaging/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-474 tag-link-position-30" style="font-size: 9.25842696629pt;" aria-label="messaging (5 items)">messaging</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/microsoft/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-149 tag-link-position-31" style="font-size: 18.3820224719pt;" aria-label="Microsoft (22 items)">Microsoft</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/mobile/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-124 tag-link-position-32" style="font-size: 9.25842696629pt;" aria-label="mobile (5 items)">mobile</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/modules/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-62176 tag-link-position-33" style="font-size: 11.1460674157pt;" aria-label="modules (7 items)">modules</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/news/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-58 tag-link-position-34" style="font-size: 9.25842696629pt;" aria-label="news (5 items)">news</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/openness/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-15890 tag-link-position-35" style="font-size: 13.3483146067pt;" aria-label="openness (10 items)">openness</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/open-source/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-51 tag-link-position-36" style="font-size: 12.7191011236pt;" aria-label="open source (9 items)">open source</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/participation/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-65226 tag-link-position-37" style="font-size: 13.3483146067pt;" aria-label="participation (10 items)">participation</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/people/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-65385 tag-link-position-38" style="font-size: 15.0786516854pt;" aria-label="people (13 items)">people</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/project/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-13029 tag-link-position-39" style="font-size: 13.3483146067pt;" aria-label="Project (10 items)">Project</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/public-benefit/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-70054 tag-link-position-40" style="font-size: 11.1460674157pt;" aria-label="public benefit (7 items)">public benefit</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/revenue/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-66308 tag-link-position-41" style="font-size: 15.8651685393pt;" aria-label="revenue (15 items)">revenue</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/staff/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-67612 tag-link-position-42" style="font-size: 18.0674157303pt;" aria-label="staff (21 items)">staff</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/technology/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-31 tag-link-position-43" style="font-size: 14.4494382022pt;" aria-label="technology (12 items)">technology</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/thunderbird/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-40 tag-link-position-44" style="font-size: 16.3370786517pt;" aria-label="Thunderbird (16 items)">Thunderbird</a> <a href="https://blog-lizardwrangler-com.translate.goog/tag/travel/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB" class="tag-cloud-link tag-link-14284 tag-link-position-45" style="font-size: 12.7191011236pt;" aria-label="travel (9 items)">travel</a> </div></li> </ul> </div> </div> <div id="site-info"> <ul id="nav-info"> <li id="nav-top"><a href="https://blog-lizardwrangler-com.translate.goog/tag/developers/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB#blog" title="Return to the top of this page">Page Top</a></li> <li id="nav-home"><a href="https://blog-lizardwrangler-com.translate.goog/tag/developers/?_x_tr_sl=pl&_x_tr_tl=ko&_x_tr_hl=en-GB">Home</a></li> <li id="nav-moz"><a href="https://translate.google.com/website?sl=pl&tl=ko&hl=en-GB&u=https://www.mozilla.org/" rel="external">Mozilla.org</a></li> </ul> </div> <script>function gtElInit() {var lib = new google.translate.TranslateService();lib.translatePage('pl', 'ko', function () {});}</script> <script src="https://translate.google.com/translate_a/element.js?cb=gtElInit&hl=en-GB&client=wt" type="text/javascript"></script> </body> </html>