The Hands of Orlac

Amusing anecdote: my wife and I were just settling down to dinner and looking forward to a relaxing evening when lo and behold, the babysitter was at the door. Wait, what? Oh right!

We were going out to spend two hours listening to the symphony try to creep us out of our wits through a 91-year-old, two-hour-long film. Plus intermission.

The Hands of Orlac is a 1924 (silent, black and white) Austrian suspense film. For the first concert of the Intersections Series, the Kitchener-Waterloo Symphony commissioned and performed a new score for this film by Canadian composer Scott Good.

A modern composer? With a featured soprano? Not atonal caterwauling! Again!

I need not have concerned myself. The soprano (when not signing rather uninspired sections of sacred Latin (kyrie eleison, gloria, agnus dei, that sort of thing)) was breathing in a most sinister fashion, singing into off-putting reverb loops, and emitting odd vocalizations that added quite palpably to the tension on screen.

I could gush for ages over the other featured performer, pianist Gregory Oh. Orlac in the film is a concert pianist, so the scoring made sure to draw the obvious parallels to the pianos on stage. Oh prepared a piano to sound like nothing on this planet, detuning whole registers of it and placing sticks and bottles and other detritus inside to provide sound effects and atmosphere. On the second piano, a topless concert grand, he used… I’m not even sure what to scratch and scrape the strings to make me wonder what else talented musicians could do if they just messed around with their instruments.

Competing with these performers quite ably despite its age was the film itself. I took all of about two film courses in University, but could still recognize some of the truly amazing stuff the crew did. Photographing a searchlight and using it as a wipe to the next scene? Brilliant. Blurring part of the frame to highlight a particular object? Excellent. Using vignetting to show a character’s point-of-view? Wonderful. Film had barely existed, and this is what Austria could produce?

And the title role’s actor was wonderful. Coupled with the score, his “These hands. These damned hands” scene sent shivers down my spine. I only wish they had then immediately cut to the intermission instead of after the following two scenes.

There were other missteps. Some of the score was overwrought and didn’t follow the scene transitions closely enough. The aforementioned Latin was meh. And the film was clearly a product of its time with the leading lady overacting into the camera so hard (to overcome the lack of sound and sophistication) that the audience couldn’t help but laugh despite the tension the film was trying to build.

Regardless, it was truly a singular experience. I can’t wait for the next performance which… whut? Features a punk-rock throat singer?

Is that even a thing?

How Mozilla Pays Me

When I told people I was leaving BlackBerry and going to work for Mozilla, the first question was often “Who?”

(“The Firefox people, ${familyMember}” “Oh, well why didn’t you say so”)

More often the first question (and almost always the second question for ${familyMember}) was “How do they make their money?”

When I was working for BlackBerry, it seemed fairly obvious: BlackBerry made its money selling BlackBerry devices. (Though obvious, this was actually incorrect, as the firm made its money more through services and servers than devices. But that’s another story.)

With Mozilla, there’s no clear thing that people’s minds can latch onto. There’s no doodad being sold for dollarbucks, there’s no subscriber fee, there’s no “professional edition” upsell…

Well, today the Mozilla Foundation released its State of Mozilla report including financials for calendar 2014. This ought to clear things up, right? Well…

The most relevant part of this would be page 6 of the audited financial statement which shows that, roughly speaking, Mozilla makes its money thusly (top three listed):

  • $323M – Royalties
  • $4.2M – Contributions (from fundraising efforts)
  • $1M – Interest and Dividends (from investments)

Where this gets cloudy is that “Royalties” line. The Mozilla Foundation is only allowed to accrue certain kinds of income since it is a non-profit.

Which is why I’m not employed by the Foundation but by Mozilla Corporation, the wholly-owned subsidiary of the Mozilla Foundation. MoCo is a taxable entity responsible for software development and stuff. As such, it can earn and spend like any other privately-held concern. It sends dollars back up the chain via that “Royalties” line because it needs to pay to license wordmarks, trademarks, and other intellectual property from the Foundation. It isn’t the only contributor to that line, I think, as I expect sales of plushie Firefoxen and tickets to MozFest factor in somehow.

So, in conclusion, rest assured, ${conceredPerson}: Mozilla Foundation has plenty of money coming in to pay my…

Well, yes, I did just say I was employed by Mozilla Corporation. So?

What do you mean where does the Corporation get its money?

Fine, fine, I was just going to gloss over this part and sway you with those big numbers and how MoCo and MoFo sound pretty similar… but I guess you’re too cunning for that.

Mozilla Corporation is not a publicly-traded corporation, so there are no public documents I can point you to for answers to that question. However, there was a semi-public statement back in 2006 that confirmed that the Corporation was earning within an order of magnitude of $76M in search-related partnership revenue.

It’s been nine years since then. The Internet has changed a lot since the year Google bought YouTube and MySpace was the primary social network of note. And our way of experiencing it has changed from sitting at a desk to having it in our pockets. Firefox has been downloaded over 100 million times on Android and topped some of the iTunes App Store charts after being released twelve days ago for iOS. If this sort of partnership is still active, and is somewhat proportional to Firefox’s reach, then it might just be a different number than “within an order of magnitude of $76M.”

So, ${concernedPerson}, I’m afraid there just isn’t any more information I can give you. Mozilla does its business, and seems to be doing it well. As such, it collects revenue which it has to filter through various taxes and regulation authorities at various levels which are completely opaque even when they’re transparent. From that, I collect a paycheque.

At the very least, take heart from the Contributions line. That money comes from people who like that Mozilla does good things for the Internet. So as long as we’re doing good things (and we have no plans to stop), there is a deep and growing level of support that should keep me from asking for money.

Though, now that you mention it

:chutten

Single-API Firefox Telemetry Plots: telemetry-wrapper.js

Say you’ve read my earlier post on Firefox Telemetry and want to make your own plots like https://telemetry.mozilla.org does. Well, like almost everything Mozilla does, that website is open source, so we can just copy what it does… except it’s a little convoluted. It needs to support a range of requirements and configurations, after all.

But your needs are just yours, so wouldn’t it be nice if there were something a little more direct?

Enter telemetry-wrapper.js. Simply include it and its dependencies in your HTML and then call it like so:

TelemetryWrapper.go(params, element);

Then ‘element’ will suddenly (after a few seconds to collate and render the data) contain one or more plots corresponding to ‘params’.

Want to see GC_MS compared by e10sEnabled setting on Nightly 44?

TelemetryWrapper.go({
  channel: "nightly",
  version: "44",
  metric: "GC_MS",
  compare: "e10sEnabled",
}, document.body);

(e10s is looking like a win on this metric, though part of the sample population self-selected so we can’t be sure. Await blog posts from other quarters on A/B tests we’re conducting.)

How about the top three plugins activated in Firefox 42?

TelemetryWrapper.go({
  channel: "release",
  version: "42",
  metric: "PLUGIN_ACTIVATION_COUNT",
  keyLimit: 3,
}, document.body);

(no one is surprised that the top one is Flash and that most people only use it the once. But googletalk has an odd shape to it, being activated exactly twice by clients more often than any other frequency…)

The technical details are in the README. Use and reuse it to ask and answer questions about Firefox Telemetry data!

:chutten

A Firefox Telemetry Introduction

Telemetry is Firefox’s way of sending anonymous analytics data back to Mozilla to help improve Firefox. If you run Firefox and are up-to-date as of this blogpost, you probably send at least bare-minimum telemetry to Mozilla fairly regularly.

Thank you!

This data is important to figure out the size and shape of the userbase, and what sorts of issues might be happening. You can see all the telemetry from your Firefox by visiting about:telemetry.

Since this is Mozilla we’re talking about, the information collected this way is available for you (yes, you!) to run analyses on. For instance, here is a histogram showing distributions of Firefox Desktop 42 “first paint” time compared by Operating System for Windows, Mac, and Linux.

plot showing Firefox first paint measures, compared by operating system. Windows and Mac have similar distributions, but Linux trends to longer durations before first paint.

We can see that maybe there’s something we could be doing to make Linux startup speed faster on that release, as a largish part of its histogram is shifted right into the higher values.

But how has startup speed been trending? Here is an evolution plot showing median startup time over the past four Firefox Desktop beta versions on Windows.

plot showing the evolution of Firefox for Windows first paint times over four beta releases. There is a noticeable downward trend.

The general trend has been downward (faster startup? Excellent.) However, it might be a bit slower in the latest rev (Grr. We need to watch this.) This evolution plot shows progress is fairly flat through beta releases, which is what we’d expect based on how stable the builds are that reach that step.

Now, if we graph the same plot by the date the browser submitted the telemetry, instead of the date the browser was built, we see something very interesting indeed.

an evolution plot showing Firefox for Windows first paint times. There are peaks every Saturday where first paint is slower.

What are these peaks? They happen every week on the same day… how often is Beta updated again? (Correlation is not causation, so maybe there’s another reason for the reliable frequency of those distributions.)

Right now I will be working on increasing the relevance and usefulness of the telemetry data you have so kindly provided. My next task will be to determine whether the new multi-process Firefox feature (“Electrolysis” or “e10s”) causes Firefox to crash any more often if someone has Firefox’s accessibility features turned on. This will be an important measure to determine when this feature will be able to be shipped in a later Firefox release.

If you’re interested, there is a lot more material you can read about how to use the various telemetry tools, how Mozilla uses the data that comes out of it, and how you can help to make it better.

:chutten