WWDC 2019 Talk: What’s New in Authentication

I presented a session at WWDC this year. You can find the video on developer.apple.com, or in the WWDC app. If you’re interested in how apps and websites authenticate users, or you’d like to know how I’ve been spending some of my time at Apple, it’s worth checking out.

An aside: This was the fourth talk I’ve prepared and delivered at WWDC. (That’s four in seven years!) I’ve learned a lot every time I’ve done public speaking, but this time I picked up a specific, tactical lesson: empty your back pockets before getting on stage.

About fifteen minutes before showtime, I took a hairbrush to the bathroom to fix up my hair, stashed the brush in my back pocket, and then immediately forgot about it. I might have been too nervous to remember it.

As I was walking up the staircase to get onto the stage, a loud ~ THWACK ~ surprised me from behind. Oh no! My audio gear fell off the back of my jeans. It’s all over; I’m about to fail. The time I spent preparing and practicing doesn’t matter — the demo gods have enacted their revenge for my talk not actually including a demo.

Or not. When I turned around, I could see that the forgotten hairbrush was to blame, and that it hit the metal stairs on its descent, making the loud sound.

I got lucky. If the brush had held on for just a moment or two, it could have leapt out of my back pocket mid-sentence, as I was being filmed. I’m not sure how I would have recovered from that. Would I bend or kneel down to pick it up? Casually kick it to the side or off the front of the stage? Pretend nothing happened? While ignoring it, trip on it?

My brief terror turned into an overwhelming sense of relief and thankfulness. I haven’t failed. This could have been so much worse. Let’s go do the thing!

This whole episode, playing out over just a few seconds, neutralized a lot of the nervous energy I normally have at the start of a talk, and I think for the better. For me, a lot of what goes into public speaking is managing my emotions; I’m trying to be calm enough to be clear, but enthusiastic enough to keep the audience’s attention. The next time I’m in front of a crowd, I’d like to summon this feeling of gratitude — I’m so lucky; let’s do this! — and incorporate it into that emotional balance. I’ll just have to find a way to do that without first having a moment of all-consuming panic! 🙃

Talk at PasswordsCon 2018: How iOS Encourages Healthy Password Practices

The video of the talk I gave at PasswordsCon 2018 in Stockholm is now available.

My claim: a password manager needs to be more convenient and reliable than reusing memorable passwords to be widely adopted.

The talk covers:

  1. The fact that I have amazing colleagues
  2. Some background on Apple’s role in password management
  3. Why iOS 11.3 removed filling user names and passwords into web pages without user consent
  4. What iOS 12 does to make it easier to log into websites
  5. How iOS uses Face ID and Touch ID to secure logging into websites and apps
  6. What iOS does to guide users toward strong, unique passwords
  7. Why we changed the format of passwords that iOS generates for users
  8. Why iOS allows users to bring their own password manager
  9. Password Rules, a computer-readable description of a service’s password requirements
  10. The Well-Known Change Password URL, why it exists, and how to adopt it

I had a lot of fun preparing this talk, and I hope that folks find it useful.


Introducing Password AutoFill for Apps

I presented a session at WWDC this year. The video can be found on developer.apple.com.

What Twitter Means to Me

I tweeted for the first time ten years ago today.

That’s not very interesting, but it is an excuse to write a little bit about what Twitter means to me personally.

Lots of people are down on Twitter these days, and there are legitimate reasons to be. The open API that allowed third-party clients to flourish has been locked down in a way that’s discouraged the kind of innovation we used to see on the platform. Unchecked harassment that started on Twitter during GamerGate has fueled a movement of hatred that arguably contributed to the toxic atmosphere surrounding the 2016 US election. At different points, it hasn’t been clear whether the company takes harassment seriously, and if it does, whether it’s capable of addressing it. And recently, Twitter shut down Vine, a service that was source of joy for many people, including me.

Moving beyond issues that are within Twitter’s direct control, friends of mine have been talking about or actually leaving Twitter solely due to increased non-harassment negativity leading up to and persisting beyond the 2016 US election. Twitter reflects and amplifies our anxieties; it’s hard to escape news of Donald Trump, a resurgence of fascist tendencies, and a political movement that rejects empathy and science.

These are real problems, and if someone wants to stop using Twitter, that’s their decision to make. I still use it daily, because I love the people that Twitter has helped me meet or stay in touch with, and they’re an important part of my life.

When I was in high school in a small town in upstate New York, I didn’t really have anyone around to help develop or even share my interest in technology with. Twitter was my connection to the world I wanted to live in. Although I’d been a member of several forums in the past, I liked Twitter more than any forum because there was no pretense of being limited to any particular topic. In 2008, Twitter was accessible on my iPod touch in a way that other communities weren’t. From that iPod, I followed people who talked about Mac software, making web pages, podcasting, and politics, and that stream of information helped me figure out what I wanted to do with my future.

What started as a way for me to fill a void in the types of people I knew in “real life” changed as I left that small town. Today, Twitter is how I get my news. It’s helped me see different perspectives, particularly around gender-related issues both in and outside of the technology industry. It’s how I tell the world about the cool stuff I’ve worked on. And recently, I count on it as the first place I’ll find out where important protests are taking place.

I can find humor and entertainment in all sorts of places, but Twitter is the online community where I can check in with friends I care about. Friends who share common interests, like Apple, web development, certain music, or a narrow interest in video games. Friends who are sincere, thoughtful, and willing to change their minds. Friends who share their jokes, their hopes, their fears, their good days, and their bad days. Friends who cheer each other up, push each other forward, and celebrate each other’s accomplishments.

From what I can tell, the cloud of anxiety that has surrounded everything since the 2016 US election is real, and it’s affected a lot of us. As a society, we’ve moving backwards, and many of us are directly under attack by the new administration. While attempting to cope with this new reality, my Twitter friends have been a bright spot. If you are one of these people, I hope you know that I think you’re great.

Introducing Safari View Controller

I presented a session at WWDC this year. The video, along with a transcript, can be found on developer.apple.com.

Popular movies I haven’t seen

Marco wrote:

Whenever anyone asks me about a popular movie, they’re flabbergasted that I haven’t seen it. You’d think they’d learn to just assume I’ve seen nothing, but they haven’t yet.

In an effort to accelerate that, here’s a list of the Academy Award Best Picture nominees and top 10 highest-grossing films for the last 15 years.

Neat idea. I’m similar to Marco in this regard, so I’ll do the same exercise. It looks like I’ve done a little “better” than he has numerically (41 v. 33 seen), but worse in that I saw a Transformers movie once.

Key: Seen it, Haven’t seen it


  • Meet the Parents
  • Cast Away
  • Chocolat
  • Crouching Tiger, Hidden Dragon
  • Dinosaur
  • Erin Brockovich
  • Gladiator
  • How the Grinch Stole Christmas
  • Mission: Impossible II
  • The Perfect Storm
  • Traffic
  • What Lies Beneath
  • What Women Want
  • X-Men


  • Harry Potter and the Philosopher’s Stone
  • Monsters, Inc.
  • Shrek
  • A Beautiful Mind
  • Gosford Park
  • Hannibal
  • In the Bedroom
  • Jurassic Park III
  • Moulin Rouge
  • Ocean’s Eleven
  • Pearl Harbor
  • Planet of the Apes
  • The Lord of the Rings: The Fellowship of the Ring1
  • The Mummy Returns


  • Die Another Day
  • Chicago
  • Gangs of New York
  • Harry Potter and the Chamber of Secrets
  • Ice Age
  • Men in Black II
  • Minority Report
  • My Big Fat Greek Wedding
  • Signs
  • Spider-Man
  • Star Wars Episode II: Attack of the Clones
  • The Hours
  • The Lord of the Rings: The Two Towers
  • The Pianist


  • Bruce Almighty
  • Finding Nemo
  • Bad Boys II
  • Lost in Translation
  • Master and Commander: The Far Side of the World
  • Mystic River
  • Pirates of the Caribbean: The Curse of the Black Pearl
  • Seabiscuit
  • Terminator 3: Rise of the Machines
  • The Last Samurai
  • The Lord of the Rings: The Return of the King
  • The Matrix Reloaded
  • The Matrix Revolutions
  • X2


  • Meet the Fockers
  • The Incredibles
  • Finding Neverland
  • Harry Potter and the Prisoner of Azkaban
  • Million Dollar Baby
  • Ocean’s Twelve
  • Ray
  • Shark Tale
  • Shrek 2
  • Sideways
  • Spider-Man 2
  • The Aviator
  • The Day After Tomorrow
  • The Passion of the Christ
  • Troy


  • Batman Begins
  • Brokeback Mountain
  • Capote
  • Charlie and the Chocolate Factory
  • Crash
  • Good Night, and Good Luck
  • Harry Potter and the Goblet of Fire
  • Hitch
  • King Kong
  • Madagascar
  • Mr. and Mrs. Smith
  • Munich
  • Star Wars Episode III: Revenge of the Sith
  • The Chronicles of Narnia: The Lion, the Witch and the Wardrobe
  • War of the Worlds


  • Casino Royale
  • Cars
  • Babel
  • Happy Feet
  • Ice Age: The Meltdown
  • Letters from Iwo Jima
  • Little Miss Sunshine
  • Mission: Impossible III
  • Night at the Museum
  • Pirates of the Caribbean: Dead Man’s Chest
  • Superman Returns
  • The Da Vinci Code
  • The Departed
  • The Queen
  • X-Men: The Last Stand


  • I Am Legend
  • Juno
  • Ratatouille
  • The Simpsons Movie
  • There Will Be Blood
  • Transformers
  • 300
  • Atonement
  • Harry Potter and the Order of the Phoenix
  • Michael Clayton
  • National Treasure: Book of Secrets
  • No Country for Old Men
  • Pirates of the Caribbean: At World’s End
  • Shrek the Third
  • Spider-Man 3


  • The Dark Knight
  • Quantum of Solace
  • WALL-E
  • Slumdog Millionaire
  • Milk
  • Hancock
  • Indiana Jones and the Kingdom of the Crystal Skull
  • Frost/Nixon
  • Iron Man
  • Kung Fu Panda
  • Madagascar: Escape 2 Africa
  • Mamma Mia!
  • The Chronicles of Narnia: Prince Caspian
  • The Curious Case of Benjamin Button
  • The Reader


  • Inglourious Basterds
  • Up
  • Up in the Air
  • 2012
  • A Serious Man
  • An Education
  • Angels & Demons
  • Avatar
  • District 9
  • Harry Potter and the Half-Blood Prince
  • Ice Age: Dawn of the Dinosaurs
  • Precious
  • Sherlock Holmes
  • The Blind Side
  • The Hangover
  • The Hurt Locker
  • The Twilight Saga: New Moon
  • Transformers: Revenge of the Fallen


  • Inception
  • The Social Network
  • Toy Story 3
  • 127 Hours
  • Alice in Wonderland
  • Black Swan
  • Despicable Me
  • Harry Potter and the Deathly Hallows Part 1
  • How to Train Your Dragon
  • Iron Man 2
  • Shrek Forever After
  • Tangled
  • The Fighter
  • The Kids Are All Right
  • The Kings’ Speech
  • The Twilight Saga: Eclipse
  • True Grit
  • Winter’s Bone


  • Cars 2
  • Extremely Loud and Incredibly Close
  • Fast Five
  • Harry Potter and the Deathly Hallows Part 2
  • Hugo
  • Kung Fu Panda 2
  • Midnight in Paris
  • Mission: Impossible — Ghost Protocol
  • Moneyball
  • Pirates of the Caribbean: On Stranger Tides
  • The Artist
  • The Descendants
  • The Hangover Part II
  • The Help
  • The Smurfs
  • The Tree of Life
  • The Twilight Saga: Breaking Dawn, Part 1
  • Transformers: Dark of the Moon
  • War Horse


  • Skyfall
  • The Avengers
  • The Dark Knight Rises
  • The Hunger Games
  • Amour
  • Argo
  • Beasts of the Southern WIld
  • Django Unchained
  • Ice Age: Continental Drift
  • Les Misérables
  • Life of Pi
  • Lincoln
  • Madagascar 3: Europe’s Most Wanted
  • Men in Black 3
  • Silver Linings Playbook
  • The Amazing Spider-Man
  • The Hobbit: An Unexpected Journey
  • The Twilight Saga: Breaking Dawn, Part 2
  • Zero Dark Thirty


  • Frozen
  • Gravity
  • Her
  • Monsters University
  • 12 Years a Slave
  • American Hustle
  • Captain Phillips
  • Dallas Buyers Club
  • Despicable Me 2
  • Fast & Furious 6
  • Iron Man 3
  • Man of Steel
  • Nebraska
  • Philomena
  • The Hobbit: The Desolation of Smaug
  • The Hunger Games: Catching Fire
  • The Wolf of Wall Street
  • Thor: The Dark World


  • The Hunger Games: Mockingjay, Part 1
  • Interstellar
  • American Sniper
  • Birdman
  • Boyhood
  • Captain America: The Winter Soldier
  • Dawn of the Planet of the Apes
  • Guardians of the Galaxy
  • Maleficent
  • Selma
  • The Amazing Spider-Man 2
  • The Grand Budapest Hotel
  • The Hobbit: The Battle of the Five Armies
  • The Imitation Game
  • The Theory of Everything
  • Transformers: Age of Extinction
  • Whiplash
  • X-Men: Days of Future Past

  1. You can see that the script I used to sort the sections of the lists doesn’t know how to properly sort titles, ignoring words like “The”. 

  2. In 2007 and 2008, I would tag along to see movies with my friends in high school. Looks like having people force me to go to the movies made a difference!