{"id":65,"date":"2005-11-17T12:39:15","date_gmt":"2005-11-17T16:39:15","guid":{"rendered":"http:\/\/benjamin.smedbergs.us\/blog\/?p=65"},"modified":"2005-11-17T12:40:42","modified_gmt":"2005-11-17T16:40:42","slug":"the-internals-of-gecko-are-not-a-platform","status":"publish","type":"post","link":"http:\/\/benjamin.smedbergs.us\/blog\/2005-11-17\/the-internals-of-gecko-are-not-a-platform\/","title":{"rendered":"The Internals of Gecko Are Not a Platform"},"content":{"rendered":"<p>A platform is a set of APIs that can be relied on to build something great\/cool\/whatever. The characteristics of a platform include stability, documentation, and <strong>good APIs<\/strong> (or at least good-enough). I&#8217;m very sorry that <a href=\"http:\/\/glazman.org\/\">Daniel Glazman<\/a> wants <a href=\"http:\/\/glazman.org\/weblog\/dotclear\/index.php?2005\/11\/16\/1383-comment-on-the-comment\">the gecko internals to somehow magically morph<\/a> into a platform of stable APIs, but <a href=\"http:\/\/glazman.org\/weblog\/dotclear\/index.php?2005\/11\/17\/1385-the-response\">it doesn&#8217;t make sense<\/a> to allow that to happen yet. The internals of gecko such as the serializer, plaintext editor, and other bits that Daniel wants to hack are just not good enough to make stable and platform-worthy yet, and are hardly documented at all.<\/p>\n<p>I&#8217;m insanely proud of what Daniel has been able to do with a customized gecko! I know that we all want to see his gecko changes incorporated back into the codebase and future releases of XULRunner\/Firefox; but that involves tracking the changes that happen on the trunk between 1.7 (which branched 4-April-2004) and 1.8 (31-October-2005), filing bugs, and getting changes landed in reviewable and testable chunks, just like any other gecko hacker has to do.<\/p>\n<p>Finally, I&#8217;d like to mention that <a href=\"http:\/\/developer.mozilla.org\/en\/docs\/XULRunner\">XULRunner<\/a> was designed specifically with NVU (standalone composer) in mind: sure, XULRunner is still immature in that it doesn&#8217;t have all the deployment code written, but that doesn&#8217;t mean that it&#8217;s not ready <strong>now<\/strong> for NVU to ship it as a bootstrap mechanism and easily-built gecko deployment device. As XULRunner lead, I&#8217;m happy to help, and document that deployment strategy as necessary.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A platform is a set of APIs that can be relied on to build something great\/cool\/whatever. The characteristics of a platform include stability, documentation, and good APIs (or at least good-enough). I&#8217;m very sorry that Daniel Glazman wants the gecko internals to somehow magically morph into a platform of stable APIs, but it doesn&#8217;t make [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-65","post","type-post","status-publish","format-standard","hentry","category-mozilla"],"_links":{"self":[{"href":"http:\/\/benjamin.smedbergs.us\/blog\/wp-json\/wp\/v2\/posts\/65","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/benjamin.smedbergs.us\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/benjamin.smedbergs.us\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/benjamin.smedbergs.us\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/benjamin.smedbergs.us\/blog\/wp-json\/wp\/v2\/comments?post=65"}],"version-history":[{"count":0,"href":"http:\/\/benjamin.smedbergs.us\/blog\/wp-json\/wp\/v2\/posts\/65\/revisions"}],"wp:attachment":[{"href":"http:\/\/benjamin.smedbergs.us\/blog\/wp-json\/wp\/v2\/media?parent=65"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/benjamin.smedbergs.us\/blog\/wp-json\/wp\/v2\/categories?post=65"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/benjamin.smedbergs.us\/blog\/wp-json\/wp\/v2\/tags?post=65"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}