{"id":731,"date":"2009-10-13T14:28:05","date_gmt":"2009-10-13T22:28:05","guid":{"rendered":"http:\/\/blog.mozilla.org\/webdev\/?p=731"},"modified":"2009-10-13T22:19:37","modified_gmt":"2009-10-14T06:19:37","slug":"plugin-checker-launched","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/webdev\/2009\/10\/13\/plugin-checker-launched\/","title":{"rendered":"Plugin Checker Launched"},"content":{"rendered":"<p>Today we launched a <a href=\"http:\/\/www.mozilla.com\/en-US\/plugincheck\/\">Plugin Checker<\/a> to help people find and update their plugins.<\/p>\n<p><a href=\"http:\/\/blog.mozilla.org\/webdev\/files\/2009\/10\/nurse.png\"><img decoding=\"async\" loading=\"lazy\" src=\"http:\/\/blog.mozilla.org\/webdev\/files\/2009\/10\/nurse.png\" alt=\"smiling nurse\" width=\"226\" height=\"215\" class=\"alignright size-full wp-image-754\" \/><\/a><\/p>\n<h2>Why is this important to you?<\/h2>\n<ul>\n<li>Crashes are the number one concern for Firefox users, and we are listening.<\/li>\n<li>At least 30% of all Firefox crashes are caused by third-party plugins.<\/li>\n<li>Many major security vulnerabilities exploit out of date plugins.<\/li>\n<\/ul>\n<h2>Why is this important to Mozilla?<\/h2>\n<p>Increasing awareness about plugins makes the web better, and that&#8217;s <a href=\"http:\/\/www.mozilla.org\/about\/manifesto\">our mission<\/a>.<\/p>\n<ul>\n<li>We want the web to be safer.<\/li>\n<li>We want the web to be less crashy.<\/li>\n<li>We want to help everyone &#8212; not just Firefox users &#8212; to address the plugin problem. (though admittedly it doesn&#8217;t fully work with all browsers yet, it will)<\/li>\n<\/ul>\n<h2>What did we do?<\/h2>\n<p>The plugin checker has three components:<\/p>\n<ul>\n<li>The Server: <a href=\"https:\/\/wiki.mozilla.org\/PFS2\">Plugin Finder Service (PFS2)<\/a><\/li>\n<li>The Javascript: <a href=\"http:\/\/github.com\/ozten\/Perfidies-of-the-Web\/tree\">Perfides<\/a><\/li>\n<li>The Web Page: <a href=\"http:\/\/www.mozilla.com\/en-US\/plugincheck\/\">mozilla.com<\/a><\/li>\n<\/ul>\n<p> The end result is actually pretty simple &#8212; and that&#8217;s how it needs to be.  Here&#8217;s your plugins, and here&#8217;s their statuses:<\/p>\n<p><a href=\"http:\/\/blog.mozilla.org\/webdev\/files\/2009\/10\/flash_quicktime.png\"><img decoding=\"async\" loading=\"lazy\" src=\"http:\/\/blog.mozilla.org\/webdev\/files\/2009\/10\/flash_quicktime.png\" alt=\"flash_quicktime\" title=\"Example showing Flash and Quicktime plugin statuses\"  width=\"660\" height=\"159\" class=\"aligncenter size-full wp-image-732\" srcset=\"https:\/\/blog.mozilla.org\/webdev\/files\/2009\/10\/flash_quicktime.png 660w, https:\/\/blog.mozilla.org\/webdev\/files\/2009\/10\/flash_quicktime-300x72.png 300w\" sizes=\"(max-width: 660px) 100vw, 660px\" \/><\/a><\/p>\n<p>Putting it all together, we reach a workflow similar to the graph below.  Our goal is to query a central database that contains plugin information and inform users about the status of their plugins.  This was built so it could be used to support Firefox directly in the future.<\/p>\n<p><a href=\"http:\/\/blog.mozilla.org\/webdev\/files\/2009\/10\/pfs-workflow.png\"><img decoding=\"async\" loading=\"lazy\" src=\"http:\/\/blog.mozilla.org\/webdev\/files\/2009\/10\/pfs-workflow.png\" alt=\"pfs-workflow\" title=\"this shows that the web service can power both a web front-end or an integrated client service\" width=\"537\" height=\"574\" class=\"aligncenter size-full wp-image-740\" srcset=\"https:\/\/blog.mozilla.org\/webdev\/files\/2009\/10\/pfs-workflow.png 537w, https:\/\/blog.mozilla.org\/webdev\/files\/2009\/10\/pfs-workflow-280x300.png 280w\" sizes=\"(max-width: 537px) 100vw, 537px\" \/><\/a><\/p>\n<h2>What will happen next?<\/h2>\n<p>The three components above are a good start, but together we can do more.<\/p>\n<ul>\n<li><a href=\"http:\/\/theunfocused.net\/2009\/10\/06\/firefox-3-6-knows-when-your-plugins-are-out-of-date\/\">Integrate this experience with the Firefox client<\/a>.  Firefox will identify vulnerable plugins and help you update them.<\/li>\n<li>Create a self-service panel for vendors to update their plugin info as new releases come out.<\/li>\n<li>Create an open directory for all plugin information (sort of like <a href=\"http:\/\/plugindoc.mozdev.org\/\">Plugindoc<\/a> but dynamic)<\/li>\n<li>Evangelize plugin detection via an embeddable widget &#8212; get it out on WordPress, etc.<\/li>\n<li>Integrate with our <a href=\"http:\/\/crash-stats.mozilla.com\/\">crash reporting system<\/a> so we have a report card\/dashboard for which plugins are most crashy<\/li>\n<\/ul>\n<h2>How can you help?<\/h2>\n<p>This entire project is open source.  You can work on any of these components to help contribute to the effort:<\/p>\n<ul>\n<li><a href=\"http:\/\/svn.mozilla.org\/projects\/pfs2\/trunk\/\">View the server code for PFS2<\/a><\/li>\n<li><a href=\"http:\/\/github.com\/ozten\/Perfidies-of-the-Web\">View the client code for Perfides<\/a><\/li>\n<li><a href=\"https:\/\/bugzilla.mozilla.org\/enter_bug.cgi?product=Websites&#038;component=www.mozilla.com\">File a bug if you find one<\/a><\/li>\n<li><a href=\"http:\/\/spreadsheets.google.com\/viewform?formkey=dGpKQkNuNkNQNjF4RW1FT08yRHRqMWc6MA..\">Tell us about plugins we don&#8217;t know about<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Today we launched a Plugin Checker to help people find and update their plugins. Why is this important to you? Crashes are the number one concern for Firefox users, and we are listening. At least 30% of all Firefox crashes &hellip; <a class=\"go\" href=\"https:\/\/blog.mozilla.org\/webdev\/2009\/10\/13\/plugin-checker-launched\/\">Continue reading<\/a><\/p>\n","protected":false},"author":24,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[755,288],"tags":[128,756,69],"coauthors":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Plugin Checker Launched - Mozilla Web Development<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.mozilla.org\/webdev\/2009\/10\/13\/plugin-checker-launched\/\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Mike Morgan\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/2009\/10\/13\/plugin-checker-launched\/\",\"url\":\"https:\/\/blog.mozilla.org\/webdev\/2009\/10\/13\/plugin-checker-launched\/\",\"name\":\"Plugin Checker Launched - Mozilla Web Development\",\"isPartOf\":{\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/2009\/10\/13\/plugin-checker-launched\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/2009\/10\/13\/plugin-checker-launched\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/blog.mozilla.org\/webdev\/files\/2009\/10\/nurse.png\",\"datePublished\":\"2009-10-13T22:28:05+00:00\",\"dateModified\":\"2009-10-14T06:19:37+00:00\",\"author\":{\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/#\/schema\/person\/373fd84922ef95d8d5171d1a72770d4f\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/2009\/10\/13\/plugin-checker-launched\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.mozilla.org\/webdev\/2009\/10\/13\/plugin-checker-launched\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/2009\/10\/13\/plugin-checker-launched\/#primaryimage\",\"url\":\"http:\/\/blog.mozilla.org\/webdev\/files\/2009\/10\/nurse.png\",\"contentUrl\":\"http:\/\/blog.mozilla.org\/webdev\/files\/2009\/10\/nurse.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/2009\/10\/13\/plugin-checker-launched\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog.mozilla.org\/webdev\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Plugin Checker Launched\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/#website\",\"url\":\"https:\/\/blog.mozilla.org\/webdev\/\",\"name\":\"Mozilla Web Development\",\"description\":\"For make benefit of glorious tubes\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.mozilla.org\/webdev\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/#\/schema\/person\/373fd84922ef95d8d5171d1a72770d4f\",\"name\":\"Mike Morgan\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/#\/schema\/person\/image\/1d6151e93e27d281a7fc06534ee8eae0\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ff5890a3252cd74f006ee33360e71c76?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ff5890a3252cd74f006ee33360e71c76?s=96&d=mm&r=g\",\"caption\":\"Mike Morgan\"},\"description\":\"Mike Morgan is the former Director of Web Development for the Mozilla Corporation.\",\"url\":\"https:\/\/blog.mozilla.org\/webdev\/author\/morgamicmozillacom\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Plugin Checker Launched - Mozilla Web Development","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.mozilla.org\/webdev\/2009\/10\/13\/plugin-checker-launched\/","twitter_misc":{"Written by":"Mike Morgan","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blog.mozilla.org\/webdev\/2009\/10\/13\/plugin-checker-launched\/","url":"https:\/\/blog.mozilla.org\/webdev\/2009\/10\/13\/plugin-checker-launched\/","name":"Plugin Checker Launched - Mozilla Web Development","isPartOf":{"@id":"https:\/\/blog.mozilla.org\/webdev\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.mozilla.org\/webdev\/2009\/10\/13\/plugin-checker-launched\/#primaryimage"},"image":{"@id":"https:\/\/blog.mozilla.org\/webdev\/2009\/10\/13\/plugin-checker-launched\/#primaryimage"},"thumbnailUrl":"http:\/\/blog.mozilla.org\/webdev\/files\/2009\/10\/nurse.png","datePublished":"2009-10-13T22:28:05+00:00","dateModified":"2009-10-14T06:19:37+00:00","author":{"@id":"https:\/\/blog.mozilla.org\/webdev\/#\/schema\/person\/373fd84922ef95d8d5171d1a72770d4f"},"breadcrumb":{"@id":"https:\/\/blog.mozilla.org\/webdev\/2009\/10\/13\/plugin-checker-launched\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.mozilla.org\/webdev\/2009\/10\/13\/plugin-checker-launched\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.mozilla.org\/webdev\/2009\/10\/13\/plugin-checker-launched\/#primaryimage","url":"http:\/\/blog.mozilla.org\/webdev\/files\/2009\/10\/nurse.png","contentUrl":"http:\/\/blog.mozilla.org\/webdev\/files\/2009\/10\/nurse.png"},{"@type":"BreadcrumbList","@id":"https:\/\/blog.mozilla.org\/webdev\/2009\/10\/13\/plugin-checker-launched\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.mozilla.org\/webdev\/"},{"@type":"ListItem","position":2,"name":"Plugin Checker Launched"}]},{"@type":"WebSite","@id":"https:\/\/blog.mozilla.org\/webdev\/#website","url":"https:\/\/blog.mozilla.org\/webdev\/","name":"Mozilla Web Development","description":"For make benefit of glorious tubes","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.mozilla.org\/webdev\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/blog.mozilla.org\/webdev\/#\/schema\/person\/373fd84922ef95d8d5171d1a72770d4f","name":"Mike Morgan","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.mozilla.org\/webdev\/#\/schema\/person\/image\/1d6151e93e27d281a7fc06534ee8eae0","url":"https:\/\/secure.gravatar.com\/avatar\/ff5890a3252cd74f006ee33360e71c76?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ff5890a3252cd74f006ee33360e71c76?s=96&d=mm&r=g","caption":"Mike Morgan"},"description":"Mike Morgan is the former Director of Web Development for the Mozilla Corporation.","url":"https:\/\/blog.mozilla.org\/webdev\/author\/morgamicmozillacom\/"}]}},"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/posts\/731"}],"collection":[{"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/users\/24"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/comments?post=731"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/posts\/731\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/media?parent=731"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/categories?post=731"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/tags?post=731"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/coauthors?post=731"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}