One of the most disruptive trends in the Internet era has been turning a culture of scarcity on its head and transforming it to one of ubiquitous access. No longer is the news, music, videos, and games we consume controlled by powerful oligopolies who artificially constrain supply in order to increase the value of their offerings. Instead, the new found democratization of media and information has been a win for all consumers, giving them the ability to consume their content wherever, whenever, and however they wish. While this transformation isn't complete, it is well on it's way across almost all major content verticals.
2. Search + Filter
Yet with this new world has come new challenges. Specifically, finding the information most relevant to you right now has become a real struggle with the explosion of availability of content. When you look across the web today at the most successful properties, they can often be looked at as productivity tools helping us to increase the signal-to-noise ratio to make sense of our new information overload challenges. These services help us to filter and discover the content that is most relevant to us right now.
Given that this is still an emerging space, there are a variety of tactics that are being used across these services to increase the signal to noise ratio. I thought I'd take a moment to discuss ten trending tactics that these services are leveraging so that you can bring them to your own applications. I expect to see us refine our best practices across each of these tactics as well as see new ones emerge as we continue to understand how to handle this explosion of content that empowers the Internet today.
Search is clearly the predominant way that users find information relevant to them on the Internet today, as evidenced by Google being the #1 property on Alexa's Top 500 Global Sites list.
The thing to remember about search is that it has itself been a mini revolution within the Internet. In the early days the major portals like AOL, MSN, and Yahoo controlled our web experience and search was a very insignificant portion of it. But user's behaviors have now changed to come to expect keyword search based experiences.
Given this transformation, if you don't at least have a search bar on your own application, your missing out on a great opportunity to leverage user's existing behaviors and help your users get to their desired content fast. This doesn't have to be an expensive feature. You can leverage Google Custom Search Engine to simply show Google Results for your site on your page, styled to your own CSS.
A newer trend in search has been marrying search results with various category or content type filters to enable further result refinement. Bing
was the first search engine I can remember that did this, but this has become an important part of Google as well. Even in social networking, LinkedIn
has released a multi-faceted search experience
that leverages the same concept to display relevant filters to refine your people search results.
The additional filter refinements are important because it allows a user to easily jump to the subset of results that are relevant to them without having to think about how to use traditional keywords to more precisely refine their search. It removes the need for additional cognition, which saves time and valuable mental cycles that can be directed elsewhere.
While implementing this does require the ability to cluster results around categories, your data set most likely already lends itself to a natural categorization structure that you already have in place.
Recommending content based on marrying a user's content consumption history with that of other user is the hallmark of Amazon
's product recommendations experience. They were the earliest and still today one of the best in doing so.
Recommendations take advantage of the fact that people don't always know exactly what they are looking for, but by leveraging your existing understanding of their content consumption, you can recommend additional content they may enjoy consuming.
While the collaborative filtering techniques that companies like Amazon and YouTube
leverage are non-trivial to implement, there are often cheaper shortcuts for early implementations, like serving up recommendations based on top categories of the content the user has consumed. In addition, there are existing recommendation engines that you can leverage like DirectedEdge
that bring the intelligence of collaborative filtering to your data set.
With the advent of powerful mobile devices comes the ability to create relevance from location. The simplest example of this is how Google Mobile
can automatically leverage your current location to serve up search results filtered to your current city.
Mobile scenarios are often the most straightforward to implement since it's expected that at the time the user would be looking for locally-relevant information on the go. However, many existing web applications can take advantage of location as well. Many applications lend themselves easily to location-centric information, like restaurant reviews, weather, news, and more. But even outside of the typical categories, location can be used in many ways to improve a user's experience. Milo
, for example, leverages not only the user's location, but location and availability information of product to tell you where you can locally purchase a product right now. Or photo sites like Panoramio
(acquired by Google) leverage location to put photos on a map of where they were taken.
The HTML5 Geolocation API
enables all web developers to get access to a user's current location in a modern browser. As HTML5 becomes ubiquitous across desktop and mobile browsers, this data will become pervasive. In addition, users are already announcing their location across a variety of services like Twitter
, and more and most provide easy APIs to get access to this information for you and your friends. Each of them are building proprietary places databases, but I expect larger standards to emerge. In the meantime, services provide ready access to their places database that you can leverage in your application. For example, the Google Places API
can be leveraged shortly to look up various locations.
Another emerging trend is the usage of realtime data for relevancy. Twitter and Facebook alone are creating monstrous archives of publicly accessible real time information in addition to Google's recent efforts to better catalog realtime content.
Many scenarios can and are being enhanced with realtime relevancy, including up-to-date news about various events, latest product reviews for a just shipped product, to customer support reviews for a popular brand.
Twitter makes this data easily searchable through their API. Others are providing even more powerful APIs on top of the data set, like Topsy
, which gives you deeper history data than even Twitter's API. While Facebook has an interesting data set as well, much of it is not publicly accessible and requires your users to be friends with the content publisher. This can be useful in some cases, but may be limiting in others.
6. Crowdsourced Ranking
Another popular way to increase the signal to noise ratio of content is to leverage the wisdom of the crowds and allow your user's usage pattern or explicit ranking of content to influence the ranking of content displayed on browse pages of your application.
uses explicit votes to rank submitted links, YouTube uses video watches to rank uploaded videos, Delicious
uses number of bookmarks to rank bookmarks, Rotten Tomatoes
uses user movie reviews, and so on.
This method is often difficult to bootstrap since it requires significant network effects to truly provide value. However, in many cases there is no better source of quality data than your own users. As a best practice, it's best to leverage both implicit and explicit signals. The implicit signals get you much broader data sets, like video watches and bookmarks. But the explicit voting, commenting, ranking often provide the highest signal to noise ratio.
In addition to using the wisdom of the crowds, using the specific tastes and preferences of a user's friends can significantly enhance the filtering experience.
While social search is still in it's infancy, social filtering has been leveraged across many experiences to provide compelling value. Much of the success of the Facebook News Feed
is predicated on highly robust social filtering algorithms
to bring to the top the content that you will enjoy the most based on your closeness to the content publisher. The beauty of social filtering is that in addition to the high likelihood that friends share taste preferences, users are also likely to interact with their friend's content purely because they are interested in their friend.
A great example of this is in my product Feedera
. Feedera produces a daily digest of the top content that your friends have shared across Twitter. When I started prototyping the interface, I did some content extraction to try to extract the relevant photo from the article to surface it in the article summary (similar to what you see on Google News
), thinking that it would increase click-through rates by giving you a visual picture of the content. But when I simply replaced the content picture with a profile picture of the user that shared that piece of content, click through rates significantly increased. That association of the content with people you trust provides a great incentive for users to engage with your content.
All the popular social networks today, including Facebook, Twitter, LinkedIn, and MySpace provide easy to use APIs that you can leverage to get access to the social graph and social data to create compelling social filtering experiences. You'll want to be judicious about picking with social graph(s) are most relevant to your specific content or scenarios.
8. UI Personalization
Another way to help reduce the friction in content discovery and consumption is via UI personalization. While typically only leveraged by your most advanced users, it can enhance their experience.
YouTube, for example, allows you to customize your home page experience by adding, removing, or reordering its discovery widgets, including subscriptions, featured videos, popular videos, what people are watching now, etc. If a specific widget resonates well with the user, they can put them front and center and allow them to easily access that content every time they visit the site.
While storing customized preferences is easy, it may be significant work to enable a modular experience that can be re-organized and re-worked. Given that UI personalization features are typically leveraged only by power users, it's important to asses the cost of offering personalization with the expected uptake of such features.
The recent announcements that Hotmail will finally support email message threading
and that Gmail will finally offer an option to turn off Conversation View
reminded me that the concept of threading is not a commonly accepted best practice, but still an emerging tactic.
We've seen threading become an important information presentation technique mainly in communication scenarios, like email messages, comments, and forum posts. But beyond these instances, it works as a generic presentation technique to allow you to easily prioritize as well as collapse content for later retrieval to increase your user's efficiency in consuming content.
The key implementation consideration in cases where threading is not natural to the underlying data set is figuring out the right way to break up the tree with your content type. I'm confident that their is often a way to present your data in a tree form and it's worth at least considering as a potential way to improve content consumption for your data set.
10. Most Recently Used List
While this one may seem like a no-brainer, I feel the need to remind web designers about it because I rarely see it inside web apps. With traditional desktop software you are used to always having a most recently used list of the content within that application that you have leveraged. It was so standard, that you often expected to find it under the File menu of an application. Since we live in a world with constant distractions, you are often leaving a given experience and later coming back to consume that content. That has become even more true in the web world.
While some web applications do provide most recently used lists, I am still shocked that many applications don't. Sure, search provides a quick and easy way to get back to that content, but it still requires additional unnecessary mental cycles. So I implore you to look at your application usage patterns and if you see frequent usage of the same content, make sure to provide a simple most recently used list to make the lives of your users a little friendlier.