Workflow: Alfred and DMCA predefs at Automattic

In November 2014, my pal and colleague, Clicky Steve, posted at Transparency Report for Automattic, “Open Sourcing Our DMCA Process“:

[…] we are pleased to announce that today we are open sourcing our DMCA process docs on GitHub – under the Creative Commons Attribution-ShareAlike 3.0 license.

[…] there is also a comprehensive set of detailed ‘predefined replies’ that we use when corresponding with both users and complainants in specific situations.

For awhile, I had these saved as Snippets in Alfred, which meant I couldn’t easily share those with my team.

So, I made an Alfred workflow with the DMCA snippets I use most frequently:

screen shot a8c dmca predefs.png

When using the predefined reply To User → Processed Notice, we’re working with two browser tabs because we create a new ticket to the site owner.

After I confirm the notice is valid and process the takedown request, I do the following:

  1. Copy the text of the DMCA notice from the complainant, then press Control–Tab to switch to the new ticket in the other browser tab.
  2. Clicking in the body of the message, I summon Alfred ( ⌘–Spacebar ), enter the keyword dmca.b.proc, then press Enter.

How’d I save time?

  • Since I have the {clipboard} dynamic placeholder (Alfred) inserted where the complainant’s notice needs to be pasted, it saves me the motion of another copy-paste. Estimate: 5 seconds.
  • I don’t have to navigate through our ticket system snippets by trackpad. Estimate: 5 seconds.

Save ten seconds per notice — I’ll take it!

Assuming I don’t have any blockers for uploading the Alfred workflow to Automattic, I’ll work on sharing it in the near future. 🙂

Advertisements

Four Years as a Happiness Engineer

Thank you, Automattic, for helping me improve and mature. Four years and counting, and loving it!

I like shifting my work schedule. I started with Tuesday–Saturday, switched to Monday–Friday during my Happiness Hiring rotation, and I’m currently on Sunday–Thursday. Dig it for helping reduce average response times. I’m happy to take advantage of the flexible schedule.

Happiness Hiring invited me for a rotation from mid July to early October 2015. I helped improve their process a bit by adding checklists and updating their internal documentation. Best of all, three of the trials are now my colleagues, and the fourth will start soon. So rad! ⭐

For the Grand Meetup, many Automattic musicians organized, rehearsed, and performed a set of several songs during the party on the last night. It was epic. I played bass guitar for the first time in years for a song during the party on the last night.1

Late last year, Matt suggested we get a USB headset with noise-canceling microphone2 if we participate in video or audio chats. It was great timing because I was able to record some solid training screencasts with fantastic audio quality.

Notable

  • 15 “weekly” reviews.
  • Coworked five times with other SoCal Automatticians.
  • Four training sessions for other Happiness Engineers (one trial, three full timers).
  • Published 88 posts in 2015.
  • Comfort processing DMCA notices and trademark complaints have improved.

Travel & Events

  • May 2015: Justitia team meetup in Barcelona, Spain
  • October 2015: Grand Meetup in Park City, Utah (second consecutive year)
  • January 2016: NAMM 2016 in Anaheim, CA — two days in the WordPress booth by WordPress.com

Boo this man

  • I was 56 short of my goal of 144 posts in 2015. Don’t worry, 366 in 2016!
  • I didn’t publish any posts for the WordPress.com Transparency Report.
  • I was short by 37 weekly reviews.

Previously: Two Years as a Happiness Engineer, Three Years as a Happiness Engineer


  1. “The Distance” by Cake. No video at the moment. 
  2. I went with the previous Wirecutter pick (before it was updated), the Microsoft’s LifeChat LX-6000. (Amazon.com affiliate link.) 

Transparency Report Update and a Closer Look at Turkey

I’m really proud of my team and legal colleagues for all the work that resulted with the latest transparency report at Automattic. Between 2014 and 2015, Turkey had an increase of 2725% in takedown demands!

Our latest transparency report is hot off the press, complete with data and details about the intellectual property infringement notices, government takedown demands, and government requests for information we received between July 1 and December 31, 2015.

[…] Turkey came out of the woodwork for the first time with 4 demands in 2014, jumping up dramatically with 113 in 2015.

 

Three Years as a Happiness Engineer

Today, I chalk up another great year with Automattic. I’m still stoked to be here!

Summary

Attempts to resuscitate my first Thunderbolt Display failed, so I got another one. I stepped down as squad lead of Terms of Service to offer the opportunity to someone else. In mid July, I took off for a week due to burn out. (It was overdue.) Core Happiness was split into dedicated teams. The ToS squad “morphed” into team Justitia, and our response times are lower because we’ve grown by a few more Happiness Engineers. Our team also started experimenting with project weeks, where I was proud to be the first guinea pig. (It coincided with the series of posts, “A Day in the Life of a Happiness Engineer”.) We’re on our second round, and the idea is catching onto other Happiness teams. I’m into GTD more than before, and I’m still using Things.

Least importantly, I went as long as two months without a haircut. 🙂

Travel & Events

  • San Francisco, CA — Terms of Service & Legal Meetup
  • Budapest, Hungary — Write The Docs (conference)1, Happiness Engineer On–boarding Meetup
  • Playa del Carmen, Mexico — Workflow Learnup
  • Playa del Carmen, Mexico — Terms of Service Docs Meetup
  • WordCamp Los Angeles
  • Park City, UT — Grand Meetup
  • San Francisco, CA — UserConf
  • Puerto Rico — Justitia Team Meetup

Looking Forward

I’m interested to see how shifting my work schedule will further reduce response times over the weekend, and how it’ll affect the quality of my free time with Amy. Starting on the 24th, instead of Monday thru Friday, I’ll work from Tuesday thru Saturday. The quieter Slack channels on the weekend should allow me to fully focus on smashing our queues. 🙂

I also wrote my goals for 2015 a few weeks ago, which include the following:

  • Increase my comfort with DMCA and trademark notices. For example, I mentioned a fair use analysis the other day. Nailed it. ⭐
  • Rotate with Team Cerberus for a couple of weeks to focus on WordPress.com–related questions. (Yay for regular tickets!) It’ll happen in March.
  • Publish 144 posts on my blog in 2015, or average 12 posts per month.2 I’m on track so far. ⭐
  • Publish three posts for WordPress.com Transparency Report News.
  • Stick with iterating with Happiness Engineer on–boarding duties, which we call “D’OH” (Developing Our Happiness).

On that note, enjoy this clip of Kevin Nealon’s character in the movie, Happy Gilmore. This might be a stretch, but if you listen to his wacky message, it seems relevant to Happiness Engineers. 😉

Previously: Two Years as a Happiness Engineer


  1. I published several posts of notes from Write the Docs EU, which you can find at the handy tag “Write the Docs EU”. 
  2. For reference, I published 80 posts in 2014

A Day in the Life of a Happiness Engineer: October 10, 2014

I considered today as self–imposed crunch time because I’m back to “normal” next week.

Unresolved posts summary

  • October 6, 2014: 69 unresolved, oldest at 1y 5w.
  • October 10, 2014: 5 unresolved, oldest at 29w 1d1.
  • Resolved posts: 64!

Here are a few other things I did:

  • Spent about 45 minutes reviewing my options and booking flights for an upcoming team meetup (offsite work trip).
  • Move one unresolved threads forward.
  • Spent about 90 minutes publishing my daily workflow on an internal site. I’m really proud of it.
  • I spent 30 minutes recording a couple screencasts to demonstrate Things for the Field Guide page I published earlier in the week. (I’m sort of a perfectionist, and it was lingering on my projects page.)
  • Updated several more internal support pages.
  • Suspend a bunch of spam blogs.
  • Cleared some trash in my office. (I need to schedule a weekly review. See “How to do a Weekly Review in Under an Hour” for some tips.)

Going forward, I will aim to schedule at least 1–2 hours per week (or maybe 30 minutes per day) to go through stale tasks in Things.

Thanks for following along! If you have any questions or suggestions, feel free to leave a comment or send me a private message through my contact form. 🙂

This week, I’m documenting each day along with many other Automatticians. If you’d like to follow along, we’re using the #a8cday tag. If you’re intrigued, we’re hiring!


  1. The next oldest is 23d, then 9d after that. w00t! 

A Day in the Life of a Happiness Engineer: October 8, 2014

Having a headache for most of the afternoon, I powered through as best I could.

One of my goals for this week is to process unresolved posts, which means:

  • Determine the next action(s), and do them (if possible).
  • If I can’t move it forward, ping the appropriate people.
  • If there’s nothing else to be done, mark the thread as resolved. I leave a comment in case a commenter wants to reopen.

I don’t think we’ll get to zero this week, but we’ll have a clearer vision if we tend to the oldest items and develop a routine of processing unresolved posts regularly.

06:45 — Leg cramp woke me up, and I couldn’t go back to sleep. I reconcile YNAB with our bank accounts, and…watch the series finale of Burn Notice. I might’ve watched a few random videos on YouTube after that.

09:15 — Breakfast. Glad I bought coffee last night, the previous bag was stale.

09:35 — Read Twitter1 scroll back.

10:25 — Read Slack scroll back and 38 P2 notifications.

11:12 — Noted how a colleague processed an internal question regarding a series of sites violating our policies. Will post a reminder to cross–reference a decision with a link to the originating thread.

11:15 — Unresolved posts count: 12.

11:40 — Scheduled items appeared in Things for today, so I switch to work through the five tasks. Rad, some were already resolved from yesterday.

13:03 — Unresolved posts count: 7. I clear the newest P2 email notifications, then take lunch. (Me want food.)

15:53 — Returned from an extended lunch, after a few errands.

17:01 — Unresolved posts count: 6. We gained one today, and a few are still pretty new and awaiting further feedback. I updated several support pages.

18:00 — I pinged a colleague to check my draft of a Trac ticket related to an unresolved thread. Fortunately, I could skip that massive thread; it wouldn’t be relevant in a few months.

18:11 — In preparation for tomorrow’s team chat, I write my proposal for about documenting all the things we do on our team.

18:40 — Sign off for dinner with Amy, and watch a couple episodes of Lost.

20:59 — Grab my laptop to write this post.

This week, I’m documenting each day along with many other Automatticians. If you’d like to follow along, we’re using the #a8cday tag. If you’re intrigued, we’re hiring!

A Day in the Life of a Happiness Engineer: October 7, 2014

06:55 — One of the cats are scratching at the foot of the bed (box spring, perhaps). I heat up leftovers from last night, make two “shots” of coffee with my AeroPress, and eat breakfast while listening to an episode of Overtired. (Keep up the great work, Christina and Brett! Haiku Decisis is really epic, and I share it with my fellow Community Guardians at WordPress.com.)

09:45 — In Slack, a colleague sees that PopClip is on sale for $1.99 for a short period of time, and I mention Brett’s PopClip Extensions. A couple of us geek about Alfred.

10:09 — I swoon seeing a few more Likes from yesterday’s post, and spot Jeremey DuVall mentioning my Things workflow, which is currently posted internally. I aim to post something slightly more generic this week.

10:18 — Time to clear 32 email notifications from P2s. Gmail keyboard shortcuts are your friend! Some require some reading, so I add that to my “A8Cx – To Read” note in Simplenote1.

10:46 — Eight browser tabs open, some which will turn into tasks in Things.

10:49 — Meh, I don’t want to listen to “Found out about you” by Gin Blossoms. With Alfred, I advance to the next Rdio track by pressing “ne” — which displays the Next Track action from the Rdio Workflow for Alfred 2 by David Ferguson — then Enter.

11:00 — Time to crank through some unresolved posts! Count is at 48.

11:25 — Yikes, one of these threads requires us to create a few Trac tickets for fixes regarding an internal tool we use to process DMCA notices. That’s a project, not task. Into Things it goes.

12:15 — New unresolved posts count: 39. Some threads were “easy” to mark as resolved because they haven’t gotten any other comments, and it didn’t seem like we had to do anything else. Fortunately, people who follow or commented on the thread should see a WordPress.com notification in their admin bar. I’ll have a lot of fans this week. 😉

12:43 — Unresolved posts count: 36. I should get lunch before I lose track of time. I also realized I haven’t taken a break for water. This happens often, but the water bottle we received during the last Grand Meetup helps. I’ll clear the baker’s dozen of P2 notifications once more.

12:47 — I left this fitting animated GIF as a reply for a comment thread.

12:53 — Time for lunch. Feels like Subway.

14:00 — Amy isn’t feeling well, so I took off to take care of an errand for her, then we hung out for a bit.

15:05 — Processing my email and going through Slack back scroll, I smile to see that Steve is in love with Alfred for OS X.

15:30 — Unresolved posts count: 37. Created another internal support page on how to handle a specific type of email notification (edge case).

16:23 — Unresolved posts count: 30. Taking a break to see how Amy is doing.

16:52 — Back in the saddle.

17:35 — Unresolved posts count: 25. Updated another internal support to document new metrics for our automated scanning of spam (or ham) blogs.

18:35 — Unresolved posts count: 12.

18:42 — Calling it a night by publishing this post. See you tomorrow! 🙂

This week, I’m documenting each day along with many other Automatticians. If you’d like to follow along, we’re using the #a8cday tag. If you’re intrigued, we’re hiring!


  1. The naming scheme was an idea from Michael Schechter, who borrowed it from Merlin Mann