This post was also published in ReadWriteWeb.
Since its inception in the 1960s, the modern computer has offered humans the same “pull computing” paradigm: make a query, get a response. Or, as we often experience it: Go to the haystack, try to find the needle.
But that’s quickly changing. As software grows more intelligent and learns more about our preferences and behavior, it seemingly gets to know us. That knowledge makes software more valuable because it means that it can deliver things to us, perhaps even before we know we want it. We are at the start of the era of push computing.
With push computing, a computer is no longer just a question-and-answer service; it’s expected to proactively figure out what’s interesting to you and deliver that data. On mobile, that’s often an actionable stream of cards and timely notifications of important items.
Push computing represents a major shift in architecture from the pull relationship computers have long maintained with users. Computing interfaces have evolved from green screens to GUIs to HTML5 to apps, but most applications have the same workflows and address the same needs in a pull-based fashion.
Outside the view of users, however, software delivery has steadily evolved toward a push-type model. Just consider how far we've come, from the hosted timesharing of mainframes and minicomputers to dedicated Unix servers to the PC floppy disk and CD and finally to the increasingly prevalent “software-as-a-service” we see today.
Over the past few years, push computing has also begun to infiltrate the interfaces of key consumer apps. Of course, as Chris Dixon recently pointed out, some Internet services are further along than others. Facebook, for instance, has mastered intelligent news feeds of cards and relevant notifications while Twitter delivers a straight temporal stream that grows more overwhelming the more accounts you follow.
Don’t Push Me
Not all pushes are the same, after all, and companies have to think carefully about the information that is important to push, when and why it‘s pushed, and how they expect users to react.
Major players are also trying to figure out how to make push a central part of the mobile OS. As I wrote a few months ago, Google is aggressively recasting itself as a push player with Google Now and answer cards in search. Apple is decidedly in the pull camp, as Siri is rarely proactive, although the iOS notification manager is well ahead of Android’s. Push has also become the backbone of successful mobile apps powered by real time infrastructure such as PubNub and Amazon’s Simple Notification Service.
Machine learning is key to the success of contemporary push-based services. Notifications and cards should only presented to users if they deliver relevant information users can act on easily.
Previous attempts to provide user notifications via email failed because email notifications are typically irrelevant and spammy. We’re all well trained to avoid spam like the plague, so users typically dumped all notifications into an email folder and never looked at them at all. Email is also inherently less actionable because a user has to click on a link, log into an application, and then perform an action.
For push to work, it’s crucial for applications to make their notifications actionable, friction-free, and rooted in sophisticated machine learning. Early efforts like PointCast to push information were too static and overloaded networks with continual updates.
Getting Pushy At Work
While push got its start in the consumer realm, the case for business-based push is in many ways much stronger. Enterprise systems manage discrete events that often require urgent action. For example, a sales opportunity might be closing in a CRM system, a complaint from a customer you cover could pop up in the service system, or the HR database could flag you about a new hire you need to onboard.
Conversely, the relative importance of events in consumer apps are much more nebulous. To deliver a superior experience to users, Google Now must continually learn, confirm and re-confirm details about where you live, where you work, your calendar, your travel arrangements, your preferences. Peoples’ lives and environs are constantly shifting, making it hard for the new generation of consumer apps to keep up.
What is more difficult about enterprise events is that they must be extremely secure and the data is often locked away in a variety of data siloes.
As users increasingly expect their services to be intelligent and proactive, push computing is making its way not just to mobile, but also to desktops and laptops by means of browser notifications. The new generation of push software is ushering in a new way for humans to interact with technology, and in the case of the Internet of Things, for technology to interact with itself in the form of networks of “smart” devices.
But as digital data becomes more voluminous, our systems have to get more intelligent. They have to filter, analyze, and deliver information to users—and then only when they need to know it or act on it. The goal should always be simple: for the haystack to bring you the needle—whatever it is—before you even start to look for it.