<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body smarttemplateinserted="true">
    <div id="smartTemplate4-template">
      <p>I absolutely agree 100% with everything Jörg said. I think I
        would have somehow liked to express this, and that's exactly why
        we need a show an tell for Add-on authors, so show / explain to
        <b>core developers </b>what we do with our Add-ons. I think
        just relying on one of them discovering and using one of our
        Add-ons gives us only a very slim chance to be regarded.</p>
      <p>Also, at the moment I would not know how to convert most of the
        things I do into APIs... I use a lot of XPCOM functionality (I
        think up to 50 different XPCOM interfaces, for some only one or
        two functions others absoultely deep diving), so the question
        is, <b>what of this can be "safely" exposed</b> to a web
        extension?</p>
      <p>This was also one of the reasons why I thought " if it is <b>unsafe</b>
        for an Add-on <b>to use XPCOM</b> <i><b>why is it safe for
            Thunderbird JavaScript core code</b></i>?". <br>
      </p>
      <p>As a Core Developer, please ask yourself: if the Thunderbird
        "Scripted layer" was <b>forced </b>to go through an API (not
        allowed to use XPCOM idls anymore), would you <i><b>design it
            differently</b></i>?</p>
      <p>Axel<br>
      </p>
      <p><br>
      </p>
      <p>
        <style type="text/css">.myName {
  text-shadow: 1px 1px 2px #DDD; 
  transition:font-size 0.5s;
}
.myName:hover, .myName a:hover 
{ font-size:13pt; text-shadow: 3px 3px 4px rgba(200,250,200,0.7);}
.moz-signature {opacity: 1.0 !important;}
.myName a { cursor: pointer !important; transition:font-size 0.5s;}
.myLogo {
  transition: all .4s ease-out;
}

.myLogo:hover {
  transform: scale(3) translate(-30px,-5px);
}
#mySignature, :not(blockquote) #mySignature {
  background: rgb(230,240,163); 
  background-image: linear-gradient(to bottom, rgba(230,240,163,1) 0%,rgba(210,230,56,1) 50%,rgba(195,216,37,1) 51%,rgba(219,240,67,1) 100%);
  color: #444; 
  box-shadow: 4px 4px 9px -2px rgba(0,0,0,0.65); 
  border-radius: 0.7em; padding: 0.8em 1.2em; 
  border: 1px dashed #8080A0; 
  font-size: 11pt !important;
  font-family: 'Lucida Sans Unicode', 'Lucida Grande', sans-serif; 
  width: 65%; 
}
.AddonList a {
  color: #666666; 
  font-size: 10pt !important;
}
</style></p>
      <div id="mySignature"> <b class="myName"><a
            href="mailto:axel.grude@gmail.com">Axel Grude</a></b> <br>
        Music Production and Composition <br>
        Thunderbird Add-ons Developer <span class="AddonList">(<a
href="https://addons.thunderbird.net/thunderbird/addon/quickfolders-tabbed-folders/">QuickFolders</a>,
          <a
            href="https://addons.thunderbird.net/thunderbird/addon/quickfilters/">quickFilters</a>,
          <a
            href="https://addons.mozilla.org/firefox/addon/quickpasswords/">QuickPasswords</a>,
          <a
            href="https://addons.thunderbird.net/thunderbird/addon/zombie-keys/">Zombie
            Keys</a>, <a
            href="https://addons.thunderbird.net/thunderbird/addon/smarttemplate4/">SmartTemplate⁴</a>)</span>
        <br>
        Visit my <a href="https://www.youtube.com/c/thunderbirddaily">YouTube
          Channel</a> for email productivity tips <img
          style="margin-top: 1em; float: right; box-shadow: 1px 1px 2px
          rgba(20, 20, 20, 0.4);" moz-do-not-send="false" class="myLogo"
          src="cid:part8.1A030148.10D092E8@gmail.com" alt="Get
          Thunderbird!" width="94" height="15">
      </div>
    </div>
    <div id="smartTemplate4-quoteHeader">
      <style type="text/css" scoped="">
#newHeaderAG1 b { font-weight:bold; color: #990033; min-width: 4.5em; max-width:none; display:inline-block;}
</style>
      <blockquote type="cite" style="margin-bottom: -20px !important;
        padding-bottom:20px !important;">
        <div id="newHeaderAG1" style="font-size: x-small; padding:1em;
          background-color:rgba(220,220,240,0.4); border-radius:3px;"> <b>Subject:</b>Re:
          Intent to de-support: traditional add-ons<br>
          <b>From:</b>Jörg Knobloch <a class="moz-txt-link-rfc2396E" href="mailto:jorgk@jorgk.com"><jorgk@jorgk.com></a><br>
          <b>To:</b><a class="moz-txt-link-rfc2396E" href="mailto:tb-planning@mozilla.org"><tb-planning@mozilla.org></a> <br>
          <b>Sent: </b>Thursday, 10/3/2019, 22:42 22:42 IST +0100 [Week
          40]<br>
        </div>
      </blockquote>
    </div>
    <blockquote type="cite"
      cite="mid:eafa0281-1e59-849b-3d65-6953d577ffaf@jorgk.com">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <div class="moz-cite-prefix">On 01 Oct 2019 15:02, Magnus Melin
        wrote:<br>
      </div>
      <blockquote type="cite"
        cite="mid:2bb9a19f-904c-e50c-33f1-eecabcc8b860@iki.fi">As an
        author of a traditional add-on, what should you do? There are
        two routes: A) convert your add-on to a MailExtension. If the
        API you need doesn't exist yet, <a moz-do-not-send="true"
href="https://bugzilla.mozilla.org/enter_bug.cgi?product=Thunderbird&component=General">tell
          us about it</a>.</blockquote>
      <p><tt>I think this is not the right way to go about it.</tt></p>
      <p><tt>What we should do is look at selected set of add-ons and
          see what they do. This is not hard, since developers are also
          add-on authors and many add-on authors are also volunteers.</tt></p>
      <p><tt>Take some examples:</tt></p>
      <p><tt>Quick Folder Move written by Philipp: Changes a context
          menu, the one for "Move To", takes a search string in popup
          that pops up from the context menu, searches for folders
          matching the string, presents a menu with the result, lets the
          user pick one, moves the messages. Doable with today's set of
          APIs? If not, there's something missing.</tt></p>
      <p><tt>Shrunked image resizer written by Geoff: Observes the
          message body and attachment bucked of the compose window for
          images being added, offers to resize those images in a
          notification in the status bar, resizes them and changes the
          item in the message body or attachment bucket. IOW, it messes
          with the message body. </tt><tt>Doable with today's set of
          APIs?</tt></p>
      <p><tt>ThunderHTMLedit written by me: Adds a tab to the compose
          windows' body, lets switch to the tab to display the HTML of
          the message. It doesn't need to be a tab, it could be another
          toggle. Lets user edit the HTML in a 3rd party HTML editor,
          and when the user switches back to the message body, replaces
          the body with the HTML. </tt><tt><tt>Doable with today's set
            of APIs?</tt></tt></p>
      <p><tt><tt>Various add-ons add a custom column to the thread
            pane/message list. Doable with today's set of APIs?</tt></tt></p>
      <p><tt><tt>If I spent 10 more minutes on this, I could come up
            with another set of "common" scenarios. I'm sure, Axel could
            provide a list of what his complex add-ons do. I don't know
            much about them, but they do some stuff already mentioned
            above. I think messing with the message being composed is
            very common to many add-ons, like the ones mentioned or
            QuickText or SmartTemplate.</tt></tt></p>
      <p><tt><tt>In summary: It's not efficient to let add-on authors
            discover that is needed, it's more efficient to go through
            some common functionality and check whether it is covered by
            APIs or not.<br>
          </tt></tt></p>
      <p><tt><tt>Jörg.<br>
          </tt></tt></p>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
tb-planning mailing list
<a class="moz-txt-link-abbreviated" href="mailto:tb-planning@mozilla.org">tb-planning@mozilla.org</a>
<a class="moz-txt-link-freetext" href="https://mail.mozilla.org/listinfo/tb-planning">https://mail.mozilla.org/listinfo/tb-planning</a>
</pre>
    </blockquote>
  </body>
</html>