Rethinking Cost and Performance of Database Systems [PDF] by Daniela Florescu and Donald Kossmann proposes a redefinition of the database optimization problem:
Traditionally, database systems were optimized in the following way: “Given a set of machines, try to minimize the response time of each request.” This paper argues that today, users would like a database system to optimize the opposite question: “Given a response time goal for each request, try to minimize the number of machines (i.e., cost in $).” Furthermore, this paper gives an example that demonstrates that the new optimization problem may result in a totally different system architecture.
The discussion and thoughts are particularly relevant for web applications that need to scale to large numbers of concurrent users.
Here are some of those items from the article that I found particularly interesting, along with just a few thoughts.
2. Let’s think about how to do a better job of recommending “related” stories. Many search engines reveal items that are generally popular – that are highly ranked. Certainly we should design better filters, but we should also design better automatic information sniffers and surfacers that seek out stories of interest. Can we design better relational models so we can surface relationships between stories that are actually meaningful instead of the “also see” hyperlink that takes me to a story from five years ago that somehow got linked to the current one? Can we do a better job of making explicit the relationship between events at the local, national, and global levels? Can we design better tools for following story developments over time – even those stories that have non-sensational endings?
A lot of smart companies are working in that space. (At Sphere, we are providing related-content solutions, too.) I am also spending lots of my personal time thinking about this lately.
Related content is an area of increasing importance and the computational methods are likewise becoming more sophisticated, as research and understanding progresses.
News is becoming more personal, too, for better or worse. It is entirely possible to customize news in a way to only focus on certain types of news (local, sports, etc.) and ignore others. We may well start seeing something similar for related content suggestions. If a website understands a user’s preferences, they can be used to make decisions regarding related content. These preferences would not just be in terms of freshness vs. authority, but also preferences regarding topics/aspects of interest. Given a popular news item involving a person, their Web company and favorite vacation spot, is the user interested in the person, their company, other companies like it, that vacation spot, similar spots, a combination of some of those, etc.?
In this case, users should ideally be able to see, how the site arrived at their related content suggestions and alter those suggestions by changing their preferences, globally or just for that story.
3. Design for time-appropriate reading, and for use and reuse. Can we design a better way to earmark content than the current, simplistic URL bookmarking? What are better ways to support different temporalities of information and different consumption paces? Can we design ways for slow-burn stories to linger, while fast-burn stories are updated with new content?
Indeed, some stories develop over long stretches of time, while others move at a very fast pace. Here is a frustrating experience: Subscribe to a few news feeds and go away for a few days. Revisiting the content in a feed reader presents this challenge: Where to start reading? Beginning with the old content may be reasonable so nothing is overlooked, but a breaking news item may have completely resolved with the most current article.
Given a story, particularly one with an ending, smart ways are needed to visualize the story’s unfolding. Step-by-step timeline views are useful here. So are smart, automated summaries.
There are lots of opportunities for useful changes here.
Traditionally, the focus of HCI has been designing for people who actively use applications or interactive products. These individuals, commonly referred to as users, may be bank tellers operating a banking application, pilots setting parameters of an autopilot system, or customers using ATM machines. This viewpoint neglects a vast number of cases in which human interactions with computerized systems are less active and often unplanned, yet still meaningful. People’s needs are routinely ignored in these situations and the effects of information systems on their lives often go unnoticed. We term these people “incidental users.”
Examples include the customer at the checkout lane in the grocery store, who cannot make sense of the quickly scrolling item list on the screen (if that is visible at all) or airplane passengers, who realistically have no good idea about the state of their luggage or the condition of the plane.
The Web is full of incidental users and scenarios of incidental use, too. Here are some examples.
If a document is published online, it will likely be picked up by search engines. Furthermore, people may link to it, make copies, etc. Most publishers will have no good idea, what services access their document or how they use it.
URL shortening services have gained importance in real-time messaging services, such as Twitter. Every character counts, so it can make sense for the sender to conserve space by shortening URLs. The receiver of the message however has to determine whether the URL is trustworthy. Software plugins that expand the shortened URL are available which simplify the problem just a bit. More on this here.
Personalization is an important feature of many modern websites, particularly e-commerce sites. Personalization is achieved based on usage patterns as well as the user’s value judgments, such as product ratings. That process often ends up being less than transparent to the user.
The general public have become passive users of Google Map’s Street View.
Important lessons can be learned by examining whether one may be the incidental user of a service (or services) at a given time. Only being able to see the back side of a computer display may be a good indicator, but other cases are probably more subtle. Check out Ohad Inbar’s blog for more examples.
It is also noteworthy that some businesses profit by using scarcity of information as competitive advantage. The Web has served as a platform for companies that break into those industries and make previously scare information more openly available. The Redfin story comes to mind here as an instructive example.
The following video clip (found via Techcrunch) shows a Google employee conducting a brief survey with passersby at Time Square. It turns out less than 8% of the people were able to correctly tell what a browser is.
Graphical browsers have of course contributed significantly to the success and growth of the Web and I bet a lot of the participants routinely use a browser. I thought it was particularly interesting that a lot of them did not seem to distinguish between browsers and search engines though.
Search has become the main method of navigating the Web. Users have learned to rely on it. Maybe for some of those interviewees, browsers have mentally mostly disappeared then, as part of creating simplified abstractions of online tasks.