#tumblr engineering

LIVE

Tumblr Hack Week, March 2022 Edition

It was Hack Week (more than just a day!) once again at Tumblr! A couple of times per year we grind everything to a halt and spend a week working on whatever we want and see how far we can get with our hacks. Since last time, we’ve launched the ability to have a Discord => Tumblr integration, we’re close to launching Twitch embed support, and custom logos are now possible in the mobile apps! And from a previous Hack Day, we’ve launched “Timestamps Everywhere” on web, and we’re working on rolling it out to the mobile apps very soon!

Here are some of the projects that got made for this last Hack Week. Some of these things you may also end up seeing on the site…

Interacting as a Sideblog/Secondary blog

@designpatternpirate put together a proof of concept for switching to a sideblog/secondary blog when liking or replying to posts. Using this hack, you’d be able to switch which of your blogs you’re “acting as” when hitting the like button or when replying to a post, to start. You’d even have separate Likes pages for each blog!

“One Year Ago” Dashboard Feed

André hacked together a feed which shows a portal backwards in time, to what the blogs you’re following were posting a year ago today:

Moving Android notification settings

On Android, Omar moved all of our notification settings out of the Tumblr app and into the Android OS level notifications settings view, like other apps do:

“Time for crab!”

@superchlorine hacked together a delightful button for the dashboard that summons crabs which scuttle across the page, and even comment on what they’re traipsing over:

As always, stay tuned to the @changes blog to see if any of these hacks make it on Tumblr for real!

Tumblr Hack Day, December 2021 Edition

It was Hack Day once again at Tumblr! A couple of times per year we grind everything to a halt and spend 24 hours working on whatever we want and see how far we can get with our hacks. Here are some of the projects that got made for Hack Day! Some of these things you may end up seeing on the site…

Twitch Embeds

Wesley hacked together the ability to post Twitch streams to Tumblr! These can be live streams or clips.

Tumblr to Discord

@cyle put together a very simple webhook integration between Tumblr and Discord so you can send events about your blog to a Discord server:

Custom Tumblr logos on mobile

@mlu,@dakotairene, and friends hacked together the ability for us to put custom Tumblr logos in the mobile apps’ dashboard tab bar, like we do on the web!

Tumblr Time Machine

Lucila constructed an elaborate Tumblr Time Machine, so you can filter search results to a specific year:

Stay tuned to the @changes blog to see if any of these hacks make it on Tumblr for real!

(GIF by @jjjjjjjjjjohn)

OAuth 2 on the Tumblr API

Ten years ago HTTPS wasn’t as nearly as widespread as today. It is hard to believe that HTTPS was essentially opt-in, if available at all! Back then, people also had to get creative when inventing means to delegate access to someone else. One solution was OAuth 1, conceived by the IETF, later adopted by Tumblr in 2011.

Time went by, and here we are in 2021, with hardly any popular website not shielded with HTTPS (including your own blog!). Today, it wouldn’t make much sense to adopt OAuth 1 as inconvenient as it is. Yet here we are, still asking people to use outdated protocols for their new fancy Tumblr apps. Not anymore!

Starting today, you have another option: we’re officially opening up OAuth 2 support for the Tumblr API!

Get started

OAuth 2 flow requires you to know two key URIs:

If you’re familiar with OAuth 2, register an application and check out our API documentation (specifically the section on OAuth 2) to get up and running.

The future of OAuth 1

There are no plans to shut down OAuth 1. Your app will continue to work as usual. But be sure to keep an eye on this blog just in case anything new pops up that would prevent us from serving OAuth 1 requests.

What’s more, if you wish to adopt OAuth 2 in your app, given its superior simplicity, you don’t have to migrate entirely to OAuth 2 at once. Instead, you can keep the old sign-up / log-in flow working, and exchange OAuth 1 access token to OAuth 2 tokens on the fly. There’s only one catch: this exchange will invalidate the original access token, so you should be using only the OAuth 2 Bearer authentication for any subsequent requests.

Next steps

  • We’ll be adding support for OAuth 2 to our API clients in the coming months. Follow this blog to learn firsthand when this happens.
  • Although we do support client-side OAuth 2 flow, we can’t recommend using it unless absolutely required. We might harden it with PKCE someday, though.

That’s all from us today. Happy hacking!

Tumblr Hack Week, September 2021 Edition

It was HACK WEEK at Tumblr and Automattic earlier this month! Just like back in June, we stopped our normal work to focus on some great possible new features, some bug fixing, and more. Here’s a taste of some of the projects that got hacked together. Some of these will hopefully make it to be real new parts of Tumblr, but as always, we can’t guarantee anything here with a timeline or even that they’ll ever see the light of day again – they’re hacks!

Fixing Tag URL issues across Tumblr

L and @superchlorine are working on fixing a lot of issues about how we parse tags in URLs, so that we are more consistent across the web and the apps. This is something that we know has been frustrating for a long time: trying to search for posts tagged with a + sign or with spaces often doesn’t work as you’d expect. But not for much longer! We’ve been slowly fixing these issues one at a time and posting about it on the Changes blog.

Tumblr Ignite: pay to promote posts!

This actually carried over from a previous Hack Day: the ability to click a little button on a post, throw down some cash, and promote that post as a Sponsored post across Tumblr. There’d be some kind of moderation queue on our side to ensure nothing unsafe gets sponsored in this way, and any sponsored post would be “frozen” and not editable during the time it’s being promoted. The Ads Core team, lead by @thstall with help from Argyris, Oleg, and Nathan took this pretty far towards being production-ready.

Bringing two-factor authentication settings to the mobile apps

We really want as many people as possible to protect their accounts by leveraging Two Factor Authentication, which you can currently enable by going to your account settings on the web. But it’d be even better to be able to access these settings in the mobile apps themselves! Megs, Adam, and Eduardo are still working to make this a reality.

The Return of Reblog Graphs

For those of you who remember this experiment in Tumblr Labs, this is a popup you can check out on posts which shows you a graph of all of the reblogs on a post and how they’re connected. This is one crazy way you can visualize how posts on Tumblr get reblogged around in huge chains and clusters! @cyle got a working React-based prototype working for Hack Week, and now we’re working to bring this back to the web for real.

Tumblr Fan Funding

Connie and the Post+ team built a prototype of Fan Funding on Tumblr, to help creators set a funding goal and get to that goal, using a lot of the same technology we used to create Post+.

Stay tuned to the @changes blog to find out if any of these end up becoming a part of Tumblr for real!

One distinguishing feature of Automattic’s work culture is a team rotation, through which an individual can move from one team to another. A rotation can happen for a few reasons: to “try out” a new role and gain new skills, to backfill an understaffed team, or to cultivate cross-pollination and diversity across the company. Some rotations are several months long, while others may turn into a permanent team switch.

Tumblr, which is part of Automattic, is currently hiring data scientistsandsearch engineersandmachine learning engineers. Thanks to this system of rotations, last year we were able to fill a few of these positions, on the Tumblr Core Data Science team, internally. This team contributes to Tumblr recommendation systems, discovery feeds, targeted push notifications, user-interest profiling, and computational advertisement. Team members work on designing, developing, and maintaining large-scale machine learning algorithms, data pipelines, and backend services to connect users with the content they love. Our data infrastructure is built on top of open source big data frameworks such as Apache Spark and Scalding, orchestrated by Apache Airflow and with a PHP backend layer.

In this post, Adam and Vicki, two Automatticians who experienced a rotation onto the team, tell us about their work in data, their rotations, and being part of Automattic.

Very cool stuff! Give it a read.

Want to embed a tweet? Just paste the URL into a new link block on Tumblr. Or you can use the Share feature in other apps, like Twitter itself, to send the tweet URL to the Tumblr app.

You’ll get a perfect little screenshot of the tweet. You don’t have to flap your device around to help the image develop, but nobody is going to stop you.

A great piece from Vicki, an Automattic engineer on rotation at Tumblr, about the ritual of deploying code to production!

Tumblr Hack Day, June 2021 Edition

It was Hack Day again at Tumblr! A couple of times per year we grind everything to a halt and spend 24 hours working on whatever we want and see how far we can get with our hacks. Here are some of the projects that got made for Hack Day! Some of these things you may end up seeing on the site…

Timestamps on Posts

@superchlorine hacked the website to show timestamps on every post, reblog trail item, and note in the notes view. This is also already a popular XKit extension, and it’s easy to see why!

Mutual Love

Evgeniy hacked the Tumblr Android app to play a cute sound and animation whenever you follow someone who already follows you! Being mutuals on Tumblr is something special, and this celebrates it in such a cute way.

(This example uses this lovely kiss animation.)

Grid and Masonry View for the Dashboard

@cyle hacked the dashboard on web to view it in a grid format (like the Likes page on web) or a masonry format (like the Explore and Tagged pages on web). It creates a dense amount of information!

Post only to a Tagged Page

Tanya hacked the post editor to let you post directly to a tagged page! The posts made this way will only show up on that tagged page, and not your blog, or anywhere else. Great for folks that want to participate in a tag but not have it show up on their blog!

Mobile Rave Room

And it wouldn’t be a Tumblr Hack Day without a rave roomhack:@oli took the rave room mobile and did a (completely not officially sponsored) DJ set in NYC and live streamed it.

Stay tuned to the @changes blog to see if any of these hacks make it on Tumblr for real!

Are you watching Apple’s WWDC?

TheWorldwide Developers Conference kicked off this week, and we are following along to see the latest iOS improvements and dreaming up how to build a better Tumblr.

MeetVictoria,Praveen,Zach, and Ethan, a group of emerging developers writing about iOS and the future of Tumblr.

➡️ Follow along all week on @codrs

loading