The NSA's Guidelines for Implementation of REST


Direct Link and Mirrored Here, from March 25, 2011:

The key point to remember is that in order to ensure that an operation / implementation is RESTful, these methods must be used as they were defined in RFC 2616, the HTTP 1.1 specification. If implementations abuse these methods, they not only depart from RESTful behavior, but also jeopardize the application’s ability to interoperate with other RESTful capabilities.


Chosen & Pretty Filters

In the past month I’ve released two WordPress plugins that I think ended up complementing each other rather nicely:

Together they make filtering posts in WordPress a much nicer experience:

Chosen + Pretty Filters

If you’re a plugin author that’s bundling the Chosen library or doing something interesting with post filters, I hope you’ll consider referring your users to install these instead.

Good plugins are small, purposeful, and they naturally blend into WordPress like bananas in a smoothie, but when you bundle libraries inside your large plugin, you will collide with other plugins that use that same library, and WordPress just isn’t designed to handle this very well quite yet.

Chances are, your plugin works great without Chosen. Users can still drop down a select box and type in it to find what they’re looking for, it’s just not a fancy experience. If you think your users would enjoy a fancy experience, maybe consider pointing them to WP Chosen instead, and update your plugin to support it and avoid the additional support burden while you’re at it.

P.S. All sites on now have both of these active by default. <3

Automattic Software

Super Metroid and NUX

If you enjoyed Matt’s post about the original Super Mario Bros. check out this video about Super Metroid’s hidden tutorials. I had posted this years ago internally while working at Automattic in a thread about new-user experience, specifically in regards to how WordPress (both .org and .com) can learn a lot from video-game design.

I think this still holds true, both for new users and for how new features are rolled-out and introduced to users that have already achieved mastery with the platforms. Even if you don’t like or never played the Metroid series, this video may inspire you to do so.



Today Twitter rebranded “Stars” & “Favorites” to “Hearts” & “Likes”

It’s so obviously a horribly conflated notion that I struggle to believe a team of thousands of people came to this as the logical conclusion to what was undoubtedly hundreds of hours of meetings & deliberation that will someday result in a tell-all novella titled: “Stars vs. Hearts: The Untold Story.”

Consider the absurdity of the following screenshot:

Screen Shot 2015-11-03 at 1.08.44 PM

In order to “Like” something on Twitter, we click/tap a symbol that means “Love” with a “Like” label. Huh? When did Twitter start exclusively hiring Vulcans without a range of expressive emotions used to convey the likability of something beyond 1 single available incorrectly represented data point?

Hearts mean love. Any other reaction requires not-a-heart.

Partially in their defense, we’ve struggled with this in BuddyPress since we made the decision early on to use stars as a “Favoriting” system in the activity streams; and that decision plagues us a bit with each subsequent release. I don’t think anyone on the core leadership team loves (ha!) what we have, but we can’t agree on what exactly would improve it, so it stays what it is.

And, I get it… It’s cutesy and light-hearted (ha again!) and it’s intended to be fun and playful. But meh.

Now, what Slack has done with their reactions stuff is pretty great. You react to something with an emoji, and it’s entirely likely to be clever, timely, and contagious. Your niche group decides on-the-fly what emoji means to whom and why, and then either forget about it and move on, or it becomes lore to the group and an inside joke to small subgroups. I think it’s the best solution to enabling drive-by interactions, and one that BuddyPress probably could (see: should) adopt relatively easily.

What Twitter accidentally invented today is the very first conflaticon; a glyph that has historically meant one thing for generations but is now re-presented world-wide to mean something kinda-similar but actually kinda-very-different.

Maybe it’s intentional, though? What if Twitter is getting sick of storing trillions of records in databases everywhere, and secretly wants to reduce their volume to improve performance and eliminate maintenance burden? Take something that’s become far more popular than you anticipated, make it a little confusing while also inverting the meaning to be a bit socially awkward, and now you’ve saved the company dozens of dollars on a long enough timeline.

Whatever the reasoning, I neither like nor love this change, and wouldn’t be surprised if it’s a catalyst for a deeper discussion into how valuable reaction-types are.

Subsequently, I’m thankful WordPress never fleshed out Comment Types. What we actually need is register_reaction_type() where a “Comment” is just one type of reaction to something, a “Trackback” is another, a “bbPress Topic” might be a reaction to a blog post, and so on. I envision a world where how we react to the internet-connected world around us isn’t baked into the software, but instead is representative of who we are at that time and place in our own lives. Maybe someday…