All posts by Allison M. Naaktgeboren

The 1st Meeting

Product Manager: People, this could be a game changer! Think of the paid content we could open up to non-english speakers in those markets. How fast can we get it into trunk?

Engineer: First we have to figure out what *it* is.

Product Manager: I want users to be able to click a button in the main dropdown menu and translate all their text.

Engineering Manager: Shouldn’t we verify with the user which language they want? Many in the EU speak multiple languages. Also do we want translation per page?

Product Manager:  Worry about translation per page later. Yeah, verify with user is fine as long as we only do it once.

Engineering Manager: It doesn’t quite work like that. If you want translation per page later, we’ll need to architect this so it can support that in the future.

Product Manager: …Fine

Engineer: What about pages that fail translation? What would we display in that case?

Product Manager: Throw an error bar at the top and show the original page. That’ll cover languages the service can’t handle too. Use the standard error template from UX.

Engineering Manager: What device actually does the translation? The phone?

Product Manager: No, make the server do it, bandwidth on phones is precious and spotty. When they start up the phone next, it should download the content already translated to our app.

Engineer: Ok, well if there’s a server involved, we need to talk to the Ops folks.

Engineering Manager: and the DBAs. We’ll also need to find who is the expert on user data handling. We could be handling a lot of that before this is out.

Project Manager: Next UI release is in 6 weeks. I’ll see about scheduling some time with Ops and the database team.

Product Manager: Can you guys pull it off?

Engineer: Depends on the server folks’ schedule.

Who brought up user data safety & privacy concerns in this conversation?

The Engineering Manager.


In January, I laid out information in a presentation & blog post information for a discussion about applying Mozilla’s privacy principles in practice to engineering.  Several fellow engineers wanted to see it applied in a concrete example, complaining that the material presented was too abstract to be actionable. This  is a fictional series of conversations around the concrete development of a fictional mobile app feature. Designing and building software is a process of evolving and refining ideas, and this example is designed for engineers to understand actionable privacy and data safety concerns can and should be a part of the development process.


The example is fictional. Any resemblance to any real or imagined feature, product, service, or person is purely accidental. Some technical statements to flesh out the fictional dialogues. They are assumed to only apply to this fictional feature of a fictional mobile application. The architecture might not be production-quality. Don’t get too hung up on it, it’s a fictional teaching example.

Thank You!

    Before I begin, a big thank you to Stacy Martin, Alina Hua, Dietrich Ayala, Matt Brubeck, Mark Finkle, Joe Stevenson, and Sheeri Cabral for their input on this series of posts.

The Cast of Characters

so fictional they don’t even get real names

  1. Engineer
  2. Engineering Manager
  3. Service Operations Engineer
  4. Database Administrator (DBA)
  5. Project Manager
  6. Product Manager
  7. Privacy Officer, Legal’s Privacy Auditor, Privacy & Security there are many names & different positions here
  8. UX Designer

Fictional Problem Setup

Imagine that the EU provides a free service to all residents that will translate English text to one of the EU’s supported languages. The service requires the target language and the device Id. It is however, rather slow.

For the purposes of this fictional example, the device id is a hard coded number on each computer, tablet, or phone. It is globally unique and unchangeable, and so highly identifiable.

A mobile application team wants to use this service to offer translation in page (a much desired feature non-English speakers) to EU residents using their mobile app.  For non-english readers, the ability to read the app’s content in their own language is a highly desired feature.

After some prototyping & investigation, they determine that the very slow speed of the translation service adversely affects usability. They’d still like to use it, so they decide to evolve the feature. They’d also like to translate open content while the device is offline so the translated content comes up quicker when the user reopens the app.

Every New Feature Starts Somewhere

Engineer sees announcement in tech press about the EU’s new service and its noble goal of overcoming language barriers on the web for its citizens. She sends an email to her team’s public mailing list “wouldn’t it be cool apply this to our content for users instead of them having to copy/paste blocks of text into an edit box? We have access to those values on the phone already”

Engineering Team, Engineering Manager & Product Manager on the thread are enthusiastic about the idea.  Engineering Manager assigns Engineer to make it happen.


She schedules the initial meeting to figure out what the heck that actually means and nail down a specification.

Books reviews are entirely my opinion and I am not editor. Please take them with a pound of salt. If you are looking for an in depth review, this is not it.


‘American Lion’ focuses on President Andrew Jackson’s years in the White House, though it does cover his life start to finish. I became interested in the book after the author’s lively interview on the Daily Show. Then I forgot about it until I saw it lying on a friend’s shelf. He graciously lent me the book.

On Content:

The most fascinating part of the book dealt with the South Carolina Nullification crisis during Jackson’s time in office. The crisis was adverted, but the legal standing of a state’s right to nullify federal laws was not resolved. The Nullification crisis & its roots laid much of the legal groundwork for the American Civil War.  The South made many arguments about the ‘intents of the Framers’, to support their position, much like modern American politicians do today.

Monroe, a Founding Father (a Framer, former President, author of the ‘Virginia Resolutions’ cited in legal support of Nullification)  was alive and vocal that the ‘Virgina Resolutions’ did not extend to nullification and nullification of federal laws was not intended by the Constitution. He was roundly ignored by the South.

I found I learned more about the politics swirling about in the early days of America than about Jackson himself. I had heard of the Eaton affair in AP American History class, but was unaware of its impact on national politics. It caused Jackson to expel his niece for awhile from the position of White House Hostess (now understood the be the duties of the First Lady), determined who would be Jackson’s party’s successor(the next President), and even led one Cabinet minster to attempt to murder another.

On Style & Presentation:

I was expecting a lively and engaging narrative style was severely disappointed in that regard.  Large swatches of the book are exceedingly dry, and not good about conveying why I should care about its current topic. Some sections were so disjointed that I lost the narrative thread entirely. However, there were a couple chapters that I could not put down.

I also felt he told me about Jackson’s character more than demonstrating Jackson’s character. There are some vignettes to support his opinion of Jackson’s personality. They occurred much later in the book, after I had become annoyed at the overuse of adjectives and under use of examples. I wish he had held off his view of Jackson’s  until the supporting narrative had a chance to appear.

I also wish it had come with a family tree of Jackson’s relations. The many similar names often made it hard to follow who was whom, especially when citing family sources. Which Andrew wrote this particular quote? The man himself, his adopted son, his nephew, or one of his more distant relations?

Bottom line:

  1. Did I learn something?
    1. Yes, about the legal origins of the American Civil War.
    2. I did not learn as much about Jackson’s inner workings as I expected.
  2. Did I enjoy the time spent reading it?
    1. I would say I enjoyed about a third of the book. My friend did not bother finishing it.
  3. Would I recommend it?
    1. To someone trying to understand the evolution of the American presidency and capable of skimming, yes.
    2. To anyone else, no.