Tumblr Engineering — Bookends and Remember

1.5M ratings
277k ratings

See, that’s what the app is perfect for.

Sounds perfect Wahhhh, I don’t wanna

Bookends and Remember

We’ve open-sourced a couple of Android utilities that we use in the Tumblr app for Android. Check it out:

Bookends

A UI widget that allows for headers and footers on lists backed by RecyclerView.

As we were upgrading our app to migrate from ListView to RecyclerView, we found it kind of silly that RecyclerView doesn’t support headers by default. So we built a little wrapper that’ll do this for you.

Remember

An in-memory data store backed by shared preferences.

SharedPreferences are useful but since they’re backed by disk, they can have unpredictable performance characteristics – you’re not guaranteed to always be in memory, and in the case of write operations, you have to hit disk (possibly asynchronously) and remember what you wrote.

Remember takes care of that by putting a write-through cache in front of SharedPreferences. It also gives you a bunch of desirable consistency and concurrency characteristics – access can happen from any number of threads concurrently, and doing a write followed by a read will always return the value you just put. (Even if the value hasn’t been written to disk yet).


Both of these projects are open-sourced under the Apache license, and are available at our Github page. Let us know what you think!

tumblr android app engineering

See more posts like this on Tumblr

#engineering #tumblr android app