Frontend meeting 12/06
wjohnston at mozilla.com
Fri Dec 6 11:23:39 PST 2013
Your weekly notes from the frontend meeting! This week we had a nice high level technical discussion up front about our messaging system and some possible alternatives. After which we went into some more basic status-updates/ask-questions-about-people's-features.
mcomella started off this week with a nice discussion about our java <-> js messaging system. This sorta boiled down to "How do we make it easier for a developer to understand what happens when a "Tab:Select" message is sent vs. a "Tab:Selected" message". There are.... a lot of ideas here.
For instance, can we improve our documentation without going overboard into documentation maintenance hell. We've been (IMO) doing a good job lately commenting code when we find something that's not easy to understand at a glance. We can/should keep pushing each other to do that. We also talked about writing some (short) high level overviews of some of our more complex code. BrowserToolbar, Menus, Tabs, etc.
We briefly also talked about just having better names for messages or including documentation with messages. We could for instance, include the place of origin, or info about whether a message is a response in the message name. I think the general concensus was that we don't want this to become Hungarian notation though.
Alternatively, there are some ideas floating around for different messaging systems we could try. We could ditch JSON and just have JS send string arrays with formal lists of methods to call (a poor man's JNI). Or more to some more formal bus type systems. Before we move on, I think people would need to submit a slightly more formal example.
mcomella also brought up some page load performance regressions we've been looking at. We've got a lot of WIP to improve things with speculative connection and pre-rendering. We haven't done much profiling of the frontend code yet. wesj briefly ran some profiles loading NYT a few weeks ago, and didn't see much in our JS (I didn't have Java profiling enabled). I did notice some time spent in reflows from viewport updates, and rnewman has said hes seen these in logging too. We've all seen too much jank and flickering during page load. mcomella is filing a meta bug, and we're going to add it to the (already long) list of things that need some love. Additional profiling, logging tests, or even a "bare bones" activity to give us a baseline pageload without any frontend would be useful.
lucasr pointed us to a Fx28 update at https://mobile.etherpad.mozilla.org/31. Nice lists of things to track and make sure they're done. We're trying to get out of the habit of fixing things on Aurora. In that same sense, margaret is also posting the tracking lists for releases in our notes now too. If there isn't much to talk about, we should go through them more often.
margaret's working to cleanup some of our content provider code in bug 941357 and 947018 to (hopefully) make it easier to do some of the thirdparty/addon about:home extension work. We'd like to kill some of our upgrade paths, but it looks like we've still got lots of long tail upgrades going on. We may have to wait, or at least write some delete-recreate code.
We went through a talk about the Third party service integration. Lucasr is working on customization to sort/disable/enable panes. As a first step though, we're just trying to read the panes from a list. He has a WIP he'll put up somewhere. Even that subproject has lots of parts, so feel free to take some of them (https://mail.mozilla.org/pipermail/mobile-firefox-dev/2013-November/000426.html). margaret is working on api to register lists, and content provider to store list data. She has wip in https://bugzilla.mozilla.org/show_bug.cgi?id=862805 and https://bugzilla.mozilla.org/show_bug.cgi?id=941318. There's a metabug for this at https://bugzilla.mozilla.org/show_bug.cgi?id=941312. Lots of bugs. Lots of interesting things to do! We're having weekly updates on wed at 9, and ian may visit SF to help work on this in January.
rnewman reiterated his blog posts on the new l10n frameworks. We don't test multi-locale builds on TBPL, so its really important for devs to test locally. more info at http://160.twinql.com/building-and-testing-multi-locale-firefox-for-android/ and an add-on to make testing super duper easy in https://bugzilla.mozilla.org/show_bug.cgi?id=934196
mcomella talked about the new UITest framework. There are a few new intermittent failures to fix, but mostly we'll need to flesh this out as we use it. mcomella will send email w/ followup bugs. We can also look into moving some of the old tests to this framework as a way of fleshing out the apis.
wesj gave a brief update on pdf.js work. There's a really early WIP extension in https://bugzilla.mozilla.org/show_bug.cgi?id=938235 if you want to test. Still just trying to get things working (well) as a basic reader before we layer any other UI on top. Its already much better though, as we removed iframe panning and we now get to use Fennec's APZC. Also, it crashes. wesj will keep people up to date who are curious about it. Need to decide where this code will live if others are interested in contributing.
It was a long meeting, but a good one. Glad to see everyone! Thanks,
More information about the mobile-firefox-dev