4 Reasons Analytics Matter

The word “analytics” makes some people cringe. (Not us at AddThis! We love data!) But this sentiment is understandable because, for most people, analytics can become more of a frustrating information overload experience. And that’s, well, a total turn off.

Understandable.

Without analytics, though, you’re shooting in the dark. Here’s what analytics can help you with. Continue →

Everyone Ready for Mother’s Day?

Last year we took a look at how people were preparing for Mother’s Day, and this year we thought we’d bring you a new take on the holiday.

We analyzed the difference between the types of people who bought Mom a gift a couple of weeks ago, versus people who still haven’t bought anything for her yet. This information’s based on shoppers looking for Mother’s Day gifts online in the past few weeks!

Continue →

A Brief History of Using AddThis Dynamically

AddThis provides several ways of making our code work on dynamic websites. Here’s a quick rundown for the JavaScript savvy audience out there.

Asynchronous Loading

Asynchronous loading allows you to put our bootloader script–addthiswidget.js–on your page without loading the other assets until you’re ready. To use it, just add the #async=1 flag to the addthiswidget.js URL and then call addthis.init() in a JavaScript function when you’re ready. That will load the assets, and render the AddThis tools. Continue →

Don’t Panic! UX Methods Apply to Mobile

Everywhere you look, people are talking about “mobile.”
Mobile-first design, mobile responsive design, mobile apps, mobile sites, etc.
“Mobile” is clearly a handy buzzword for all of the new devices, but…

What does “mobile” actually mean?

On the go?
A small screen?
A touch screen?
Handheld?

Unfortunately, the term “mobile” is used to describe many different things. Continue →

The Secret Life of Concurrent Data Structures

concurrent data structure is “a particular way of storing and organizing data for access by multiple computing threads (or processes) on a computer.” In this blog entry, we’ll be covering one of the hidden sides of concurrent data structures that are not so documented in the literature. We’ll be looking at insertion and deletion operations, and comparing the relative complexity of implementing these two operations.

Let’s focus our attention to concurrent data structures in a shared-memory environment where multiple threads are concurrently reading and/or writing. Continue →

Boston, Waco and How the People Empower Social Media

With wounds of the Boston Marathon bombings and Waco fertilizer plant explosions still fresh, we’re all witnessing the evolution of how we communicate, find facts, and even comfort ourselves in times of unexpected tragedy. We saw how social media was used to share and source information, amplify voices, and connect communities that are geographically far apart––all in real time.

Here’s what we saw happen. Continue →

Building a Distributed System with Akka Remote Actors

At AddThis, we deployed our first production system written in Scala almost two years ago. Since then, a growing stack of new applications are built using this exciting language. Among the many native Scala libraries we have tried and adopted, Akka stands out as the most indispensable.

Akka is a library for building concurrent scalable applications using the Actor Model. Its fault-tolerance model is heavily influenced by Erlang. In this post, I will talk about our experience with using Akka (2.0.x) remote actors to build a distributed system, SAM. Continue →