<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1252">
</head>
<body smarttemplateinserted="true" bgcolor="#FFFFFF" text="#000000">
<div id="smartTemplate4-template">
<p>If you are thinking of fundraising for it, keep me in mind, I
would love a part time job for the conversion! I have some
experience with C++ and obviously know the JS side from my Addon
development.<br>
</p>
<p>Axel</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 {
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 #444;
font:x-small verdana;
width: 65%;
}
.AddonList {
color:#666666;
font-size:xx-small;
}
</style>
<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.mozilla.org/thunderbird/addon/quickfolders-tabbed-folders/">QuickFolders</a>,
<a
href="https://addons.mozilla.org/thunderbird/addon/quickfilters/">quickFilters</a>,
<a
href="https://addons.mozilla.org/firefox/addon/quickpasswords/">QuickPasswords</a>,
<a
href="https://addons.mozilla.org/thunderbird/addon/zombie-keys/">Zombie
Keys</a>, <a
href="https://addons.mozilla.org/thunderbird/addon/smarttemplate4/">SmartTemplate4</a>)</span>
<br>
Mozilla Addon Reviewer<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.6198BF54.FC7DAF1C@gmail.com" alt="Get
Thunderbird!" height="15" width="94">
</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>The
big Thunderbird migrations and qbrt<br>
<b>From:</b>R Kent James <a href="mailto:kent@caspia.com"><kent@caspia.com></a><br>
<b>To:</b>Tb-planning <br>
<b>Sent: </b>Friday, 17/03/2017 19:13:29 19:13 GMT ST +0000
[Week 11]<br>
</div>
</blockquote>
</div>
<blockquote class=" cite"
id="mid_c5c815d8_d3d7_dead_826a_e8a4c663e6ae_caspia_com"
cite="mid:c5c815d8-d3d7-dead-826a-e8a4c663e6ae@caspia.com"
type="cite">Myk Melez, who has been pushing various ideas for
embedded Gecko, has a new twist on his plans:
<br>
<br>
<a class="moz-txt-link-freetext" href="https://mykzilla.org/2017/03/15/introducing-qbrt/">https://mykzilla.org/2017/03/15/introducing-qbrt/</a>
<br>
<br>
Essentially this "reuses an existing Gecko runtime (and its
existing APIs) while simplifying the process of developing and
packaging a desktop app using web technologies." He previously had
tried to develop a gecko-flavored version of Electron called
Positron, but abandoned that. The main difference is that Positron
tried to duplicate the existing Electron APIs, while qbrt simply
packages the existing Gecko APIs into a desktop app package,
relying on XPCOM and web apis to provide the equivalent to the
Electron APIs.
<br>
<br>
Thunderbird essentially faces three relatively separate challenges
in converting its backend away from the current binary recompile
of Firefox: C++->JS, XUL->HTML, and XPCOM->SomethingElse.
qbrt AFAIUI uses a stock Firefox compile, so any C++ used by
Thunderbird would need to be converted to JS. But the other two
conversions could wait. So this could serve as an interesting
intermediate step to conversion. We could even hope that build
related issues would be vastly simplified if we only needed to
package non-binary files.
<br>
<br>
Having spent the last year doing C++->JS conversions in
ExQuilla, I have pretty good metrics on how difficult that is.
Scaling to all of Thunderbird C++, it represents about 10
person-years of effort. That is a much more imaginable amount of
effort than the roughly three times that which would be required
to do a complete conversion of all three technologies.
<br>
<br>
There is still a lot of uncertainty about the direction of Gecko.
The platform team seems absolutely determined to rip anything out
of Gecko that is not directly used by either Firefox or required
by WebExtensions. It's hard to believe that there are not going to
be some gotchas in the core C++ that we will need to work around.
Perhaps it would be possible to have an EmbeddedApps branch of
mozilla-central that would not be difficult to maintain. Then
there is the moving target of what is still left of XUL and XPCOM
as they move to eventually eliminate those. Challenges.
<br>
<br>
Still, we need to do something. I think that we should seriously
considering allying with Myk and qbrt to try to move forward a
gecko-based desktop app environment. With enough partners, that
might help convince the platform team that this is worth
supporting, at least minimally.
<br>
<br>
:rkent
<br>
<br>
_______________________________________________
<br>
tb-planning mailing list
<br>
<a class="moz-txt-link-abbreviated" href="mailto:tb-planning@mozilla.org">tb-planning@mozilla.org</a>
<br>
<a class="moz-txt-link-freetext" href="https://mail.mozilla.org/listinfo/tb-planning">https://mail.mozilla.org/listinfo/tb-planning</a>
<br>
<br>
</blockquote>
<br>
<br>
</body>
</html>