Data Science is Hard: What’s in a Dashboard

1920x1200-4-COUPLE-WEEKS-AFTER
The data is fake, don’t get excited.

Firefox Quantum is here! Please do give it a go. We have been working really hard on it for quite some time, now. We’re very proud of what we’ve achieved.

To show Mozillians how the release is progressing, and show off a little about what cool things we can learn from the data Telemetry collects, we’ve built a few internal dashboards. The Data Team dashboard shows new user count, uptake, usage, install success, pages visited, and session hours (as seen above, with faked data). If you visit one of our Mozilla Offices, you may see it on the big monitors in the common areas.

The dashboard doesn’t look like much: six plots and a little writing. What’s the big deal?

Well, doing things right involved quite a lot more than just one person whipping something together overnight:

1. Meetings for this dashboard started on Hallowe’en, two weeks before launch. Each meeting had between eight and fourteen attendees and ran for its full half-hour allotment each time.

2. In addition there were several one-off meetings: with Comms (internal and external) to make sure we weren’t putting our foot in our mouth, with Data ops to make sure we weren’t depending on datasets that would go down at the wrong moment, with other teams with other dashboards to make sure we weren’t stealing anyone’s thunder, and with SVPs and C-levels to make sure we had a final sign-off.

3. Outside of meetings we spent hours and hours on dashboard design and development, query construction and review, discussion after discussion after discussion…

4. To say nothing of all the bikeshedding.

It’s hard to do things right. It’s hard to do even the simplest things, sometimes. But that’s the job. And Mozilla seems to be pretty good at it.

One last plug: if you want to nudge these graphs a little higher, download and install and use and enjoy the new Firefox Quantum. And maybe encourage others to do the same?

:chutten

Advertisements

So I’ve Finished I Am Setsuna

Well, my wife did. As such I can’t comment to much on how the game feels with controller in-hand. But I do feel I can comment just fine on its systems and story, setting and sound.

First, is it just me that finds it distracting how close the title is to “I am a satsuma“? Just me? Okay.

I Am Setsuna is a New JRPG in the Old Style released in February of 2016 (which is positively recent compared to the rest of the games I usually play). Being “in the Old Style” means no voiced dialog, a fixed overhead camera, lots of numbers that max out at 99 or 255, and a certain aesthetic. The specific target of this love letter is Chrono Trigger from which I Am Setsuna borrows:

  • A silent protagonist
  • No random encounters on a small overworld
  • Monsters roam on the same screen you fight them on
  • Magic elements
  • Some spell and technique names
  • Some musical riffs
  • Some place and character names

Some of these decisions are homage, some pastiche, and some are mistakes.

The silent protagonist was a mistake. I am used to silent protagonists being used to increase immersion by reducing the number of ways the character might react in a way that disagrees with the role the player thought they were playing (the ‘RP’ in JRPG). However, no matter how silent Half-Life’s Gordon Freeman is, he still has to shoot aliens and rescue civillians and whack headcrabs as the story and mechanics require. Through narrative and mechanics the player can still feel a disconnect from their character.

Gordon Freeman gets around it by doing only what the player would do in his place. I, too, would crack headcrabs with a crowbar if they jumped at me. Chrono from Chrono Trigger gets around it the same way. I, too, would save the world and its timelines from an extraterrestrial and existential threat.

I Am Setsuna cold opens (this is funny because the game is set in a worldwide, never-ending Winter) on your character being exposited at during a tutorial objective where you are paid, handsomely. Then a mysterious man (named “Mysterious Man”) asks you to take a morally-reprehensible job: kill an 18-year-old woman named Setsuna.

Not only do you have no means of refusing the task (even to be immediately overruled in a false choice), due to the protagonist being silent you have no idea if you care.

Role-playing is a two-way street. There’s agency where the player imposes their will on the character, and there’s acting where the character shapes the role the player plays.

In Dragon Age: Origins I can chose to kill or spare a chief antagonist. I have agency to chose. However, when provided the choice I need to consider what actions my character has taken (a feedback loop of my past agency) to ensure I play a consistent role. I act accordingly.

I Am Setsuna just ignores it. It turns out, hours and hours later, that this inciting incident isn’t as central as you originally thought it was… but it seems really important at the beginning. They smash-cut from your assassination order straight to a FFVI mode-7-inspired opening sequence over which the credits roll.

There are plenty of things to like in I Am Setsuna. The Momentum battle system where you get power-ups the longer you stand still and let enemies wail on you is a nice risk/reward balance. The solitary piano music is a setting- and thematically-appropriate sparse and cold choice. The characters are fleshed out and have decent relationships. The areas are remarkably varied for all being snow-bound. The subplots along the way do an excellent job of illustrating the central themes of death, sacrifice, and what is evil.

However none of these come without caveats. The risk/reward Momentum system has an inconsistent and fuzzy timing trigger. The piano background fails to sound bombastic and epic when it shouldn’t have even tried. The characters rely heavily on type and cliche. The areas are populated by varieties of just a handful of monster species. The subplots are often just retreads of more interesting stories told more engagingly by others.

It is a pretty, wonderful, flawed game. I look forward to seeing whether they can tighten things up a bit more with their next effort early next year.

The Past is a Foreign Country: The Andromeda Strain

I love the phrase from the opening line of L.P. Hartley’s “The Go-Between”: “The past is a foreign country”

For the author it was a hook for readers, but for me it is an axiom that only becomes more apt the longer I look at it. The past is strange. The people who inhabit it do not have the same culture we do. They don’t speak the same language. They don’t watch the same TV. The care about different things and have different priorities.

And sometimes it takes effort to visit.

I haven’t read “The Go-Between” but something I have recently read that struck me with how foreign it felt was Michael Crichton’s 1969 novel “The Andromeda Strain.”

The setting is the United States in the late 60s or early 70s. As such I was expecting a recognizable landscape. This led to several surprises.

First was how plausible American Exceptionalism seemed. The US was the leader of scientific thought in the late 60s. They had just reached the moon. They were outspending other nations in defense, but also at the same time scientific research and thoughtful contingency planning. It was plausible for Crichton to write that the US would invest $22M ($136M today) on a project with no direct applications to existing endeavours, but whose returns they expected to see in other related fields of inquiry and enterprise. That level of largesse coupled with the inevitability of knock-on benefits even if the program failed could only exist in a country that believed in its own ingenuity. It was stunning.

Second was how a portion of the scientific community planned for crisis. They sent a letter to the President with both allusions to the Einstein letter and containing highly technical terminology, expecting both of those things to be understood by the recipient. Two out of the past three administrations wouldn’t understand the letter. The other wouldn’t have reacted with haste, or with such extravagant funding, or at all, to the threat as described. Underlining the strangeness was how the fictional scientists were satisfied with government response to a theorized crisis. I can no longer imagine a US government response that the scientific community would applaud as satisfactory.

Third was the overt sexism. There were no women in the novel. Sure, they had a “girl” operating the switchboard and another “girl” running lab results and still others sprinkled about… but no women. Only two were permitted names, and one of those was a recording.

Fourth was the unfiltered promotion in the cover. The cover blazed that the book was able to rivet you to your seat to equal or greater measure than the televised walk on the moon. Given how exalted that moment has now become, given how small and commonplace scientific discoveries are now treated… it is both astonishing in the temerity of the copywriter’s claim, and in the fact that a comparison to a scientific achievement is being used in advertising at all.

There were dozens of smaller hitches: anything to do with computers or automation was a little too “gee whiz” and now seems quaint, the excessive page area devoted to ASCII art, the cover design… But I’ve read early Michael Crichton before, so these things I expected to a certain degree. Even the books in the back listed for mail order at prices between 95c and $1.25 (plus 10c postage) only stuck in my mind long enough to pull up an inflation calculator and realize that, actually, those are sensible book prices (though postage costs quite a bit more now).

All of these together (placed into an engaging, if flawed, narrative) emphasize the importance of experiencing old media. By seeing the differences and imagining and inferring how they made sense at the time we can broaden our own understanding of our own time and how naive, quaint, biased, or flawed we might appear in the future

With or without a metaphor, travel to a foreign country is illuminating. I recommend it to all who have the time and capability.

An Unofficial Guide to Unofficial Swag: Stickers

Mozillians like stickers.

laptopStickers

However! Mozilla doesn’t print as many stickers as you might think it does. Firefox iconography, moz://a wordmarks, All Hands-specific rounds, and Mozilla office designs are the limit of official stickers I’ve seen come from official sources.

The vast majority of sticker designs are unofficial, made by humans like you! This guide contains tips that should help you create and share your own unofficial stickers.

Plan 9
(original poster by Tom Jung, modifications by :Yoric and myself. Use under CC-BY-SA 3.0)

Design

I’m not a designer. Luckily for my most recent printing project I was simply updating the existing design you see above. If you are adapting someone else’s design, ensure you either have permission or are staying within the terms of the design’s license. Basic Firefox product identity assets are released under generous terms for remixing, for instance.

Size

The bigger they are, the harder they are to fit in a pocket or on the back of a laptop screen. Or in carry-on. The most successful stickers I’ve encountered have been at most 7cm on the longest side (or in diameter, for rounds), and many have been much smaller. With regards to size, less may in fact be more, but you have to balance this with any included text which must be legible. The design I used wouldn’t work much smaller than 7cm in height, and the text is already a little hard to read.

Distribution

How will you distribute these? If your design is team-specific, a work week is a good chance to hand them out individually. If the design is for a location, then pick a good gathering point in that location (lunchrooms are a traditional and effective choice), fan out some dozen or two stickers, and distribution should take care of itself. All Hands are another excellent opportunity for individual and bulk distribution. If the timing doesn’t work out well to align with a work week or an All Hands, you may have to resort to mailing them over the globe yourself. In this case, foster contacts in Mozilla spaces around the world to help your stickers make it the last mile into the hands and onto the laptops of your appreciative audience.

Volume

50 is a bare minimum both in what you’ll be permitted to purchase by the printer and in how many you’ll want to have on hand to give away. If your design is timeless (i.e. doesn’t have a year on it, doesn’t refer to a current event), consider making enough leftovers for the future. If your design is generic enough that there will be interest outside of your team, consider increasing supply for this demand. Generally the second 50 stickers cost a pittance compared to the first 50, so don’t be afraid to go for a few extra.

Funding

You’ll be paying for this yourself. If your design is team-specific and you have an amenable expense approver you might be able to gain reimbursement under team-building expenses… But don’t depend on this. Don’t spend any money you can’t afford. You’re looking at between 50 to 100 USD for just about any number of any kind of sticker, at current prices.

Location

I’m in Canada. The sticker printer I chose most recently (stickermule) was in the US. Unsurprisingly, it was cheaper and faster to deliver the stickers to the US. Luckily, :kparlante was willing to mule the result to me at the San Francisco All Hands, so I was able to save both time and money. Consider these logistical challenges when planning your swag.

Timing

Two weeks before an All Hands is probably too late to start the process of generating stickers. I’ve made it happen, but I was lucky. Be more prepared than I was and start at least a month ahead. (As of publication time you ought to have time to take care of it all before Austin).

Printing

After putting a little thought into the above areas it’s simply a matter of choosing a printing company (local to your region, or near your distribution venue) and sending in the design. They will likely generate a proof which will show you what their interpretation of your design on their printing hardware will look like. You then approve the proof to start printing, or make changes to the design and have the printer regenerate a proof until you are satisfied. Then you arrange for delivery and payment. Expect this part of the process to take at least a week.

And that’s all I have for now. I’ll compile any feedback I receive into an edit or a Part 2, as I’ve no doubt forgotten something essential that some member of the Mozilla Sticker Royalty will only too happily point out to me soonish.

Oh, and consider following or occasionally perusing the mozsticker Instagram account to see a sample of the variety in the Mozilla sticker ecosystem.

Happy Stickering!

:chutten

Two-Year Moziversary

Today marks two years since I became a Mozillian and MoCo Staff.

What did I do this year… well, my team was switched out from under me again. This time it was during the large Firefox + Platform reorg, and basically means my team (Telemetry Client Engineering) now has a name that more closely matches what I do: writing client-side Telemetry code, performing ad hoc data analysis, and reading a lot of email. I still lurk on #fce and answer questions for :ddurst about data matters from time to time, so it’s not a clean break by any means.

This means my work has been a little more client-focused. I completed my annual summer Big Refactor or Design Thing That Takes The Whole Summer For Some Reason. Last year it was bug 1218576 (whose bug number is lodged in my long-term memory and just won’t leave). This year it was bug 1366294 and its friends where, in support of Quantum, we reduced our storage overhead per-process by quite a fair margin. At the same time we removed excessive string hashes, fast-pathing most operations.

Ah, yes: Quantum. Every aspect of Firefox was under scrutiny… and from a data perspective. I’ve lost count of the number of times I’ve been called in to consult on data matters in support of the quickening of the new Firefox Quantum (coming this November to an Internet Near You!). I even spent a couple days in Toronto as part of a Quantum work week to nail down exactly what we could and should measure before and after shipping each build.

A pity I didn’t leave myself more time to just hang out with the MoCoTo folks.

In All Hands news we hit Hawai’i last December. Well, some of us did. With the unrest in the United States and the remoteness of the location this was a bit more of a Most Hands. Regardless, it was a productive time. Not sure how we managed to find so much rain and snow in a tropical desert, but we’re a special bunch I guess?

In June we were in San Francisco. There I ate some very spicy lunch and helped nail down some Telemetry Health metrics I’ve done some work on this autumn. Hopefully we’ll be able to get those metrics into Mission Control next year with proper thresholds for alerting if things go wrong.

This summer I mentored :flyingrub for Google Summer of Code. That was an interesting experience that ended up taking up quite a lot more time than I imagined it would when I started. I mean, sure, you can write it down on paper how many hours a week you’ll spend mentoring an intern through a project, and how many hours beforehand you’ll spend setting it up… but it’s another thing to actually put in the work. It was well worth it, and :flyingrub was an excellent contributor.

In last year’s Moziversary post I resolved to blog more, think more, and mentor more. I’ve certainly mentored more, with handfuls of mentored bugs contributed by first-time community members and that whole GSoC thing. I haven’t blogged more, though, as though I’ve written 23 posts with only April and July going without a single writing on this here blog, last year I posted 27. I also am not sure I have thought more, as simple and stupid mistakes still cast long shadows in my mind when I let them.

So I guess that makes two New MozYear Resolutions (New Year Mozolutions?) easy:

  • actually blog more, even if they are self-indulgent vanity posts. (Let’s be honest, though: they’re all self-indulgent vanity posts).
  • actually think more. Make fewer stupid mistakes, or if that’s not feasible at least reduce the size of their influence on the world and my mind after I make them.

That might be enough to think about for a year, right?

:chutten

So I’ve Finished The Legend of Zelda: Phantom Hourglass

Yes, it’s ten years old. Honestly, though, you can play just about any Zelda game between Ocarina of Time and Skyward Sword in any order and not tell the difference, given the stagnation in Zelda game design during that period.

(Yeah, it’s not gonna be a happy review)

Phantom Hourglass is a Nintendo DS release and, as such, felt it needed to use every terrible gimmick the Nintendo DS had rather than provide interesting gameplay.

From controlling everything with the woefully inaccurate and cumbersome stylus to yelling, blowing, or snapping my fingers into the microphone… a lot of this game was a tech demo for the hardware first, and a satisfying experience second.

I cannot believe that they managed to get this control scheme past an ergonomics review. My hand hurt from balancing the entire device in one hand while the other was clenched around the minuscule stylus. Smaller (younger) hands might have helped with the stylus, but then the weight would’ve been felt worse.

I felt no surprise that they ditched stylus controls after only two DS Zelda games.

On the plus side, there was some cleverness on display. One design element that stood out as being fun was having to stamp an upside-down map displayed on the top screen onto its right-side-up counterpart on the bottom screen. To do this you had to close and reopen the DS, which I thought was a cute bit of 4th-wall breaking.

Another smart mechanic was the use of the stylus to annotate maps with puzzle solution, trap locations, and other stuff. There were only a few different types of information the game tried to convey (order, shape, counts, and intersecting lines), but the freedom afforded by the mechanic was lovely, and something everyone should steal (like the “dream sequence as a music video” bit from FFXV).

So many open world games with so many maps and no way to scribble “Here be dragons”? What rot.

Zelda combat has never been particularly innovative or fun, but with gesture recognition needed before Link would swing his sword it felt worse than usual. It was clumsy, awkward, and not something I felt I could count on.

There was a fairy avatar to tell the player what the ever-silent protagonist was thinking (rather defeating the purpose), and to irritate you with constant interruption. All the criticisms of Navi still apply.

The dungeons were straightforward, concerned more with having me go through the motions than presenting me with meaningful choices, challenges, or character/story moments. I’ll refer you to Mark Brown if you’d like a more analytical deep dive on the subject.

Exploration was rarely rewarded with anything of value. (You got 100 rupees! I’ll add them to the 800 others I can’t find anything to spend on).

At least the director of the cut scenes understood how to have fun. Playing with the characters, having fun with visual jokes in the background, subverting Zelda tropes by cutting short or modulating the “I’ve found a thing!” music… possibly the best aspect of this game, purely from whimsy.

And that’s really as far as I feel I need to write into this game. I could go on for ages about how awful the controls were every time they were used in variation. I could complain that time limits didn’t tonally fit the world or dungeon and seem like cheap tension. I could whine about how long everything by ship took, and how fiddly the salvage controls were.

But, honestly, I’ve given this game more words than it probably deserves. It’s a post-Link to the Past pre-Breath of the Wild Zelda game. I probably could’ve just stopped there.

:/