Lecture on Nov 11, 2010.

Guest lecture by Maneesh Agrawala, UC Berkeley.


  • Required

    • Rendering effective routemaps, Agrawala & Stolte (pdf)

    • Identification and validation of cognitive design principles for automated generation of assembly instructions, Heiser et al. (html)

  • Optional

    • Pictorial and verbal tools for conveying routes, Lee & Tversky (pdf)

    • Designing effective step-by-step assembly instructions, Agrawala et al. (html)

  • Demonstrations


wulabs wrote:

It seems to me that the Assembly User Study by Heiser et al - the 5 stages is essentially a waterfall model for product design and testing. Essentially, a product is released and customer feedback is gathered. An iteration is produced and more feedback is gathered. This happens 3 times until the final characteristics of the product are produced by an "automated" design system and feedback is then again gathered. I also do not believe a sample size of 21 students in stage 2 is a significant enough sample size to draw conclusions.

estrat wrote:

Does any current map system generate maps like Agrawala and Stolte? The idea seems really obvious after reading it, but I've never seen a map system do it. The URL in the paper and the LineDrive link above redirect to MSN maps. At first I thought it was a recent paper, but it's actually from 2001.

The one criticism I have is that the map is useless if you're lost. They briefly acknowledge the limitation in the paper but their solution is to provide a normal map alongside the generated map. I think they could have made improvements to their maps to provide some extra context about nearby streets. Maybe it's a moot point though since GPS is making driving instructions obsolete.

msavva wrote:

I was impressed by the power and generality of the simulated annealing approach to searching the space of possible route map layouts in the LineDrive system. Though I had seen the method before in the context of other global optimization problems, its application to optimizing a visualization seemed very novel to me. The fact that you only need to have a starting point, a consistent scoring function and a way to perturb solutions means that this approach can be applied to a large number of visualization problems. I'm sure that many layout algorithms use such an approach but I was also thinking in more general terms of attempting to define a scoring function for any set of visual encodings (based on cognitive principles or user testing) and then perturbing visualization schemes to home in on a "global optimum" scheme for a given task. After a quick search I found an interesting paper on a similar application of this approach in selecting the optimum set of views for visualizing urban rescue simulations (link). The authors argue that such approaches can be used in solving many visualization problems, a statement with which I completely agree.

rparikh wrote:

I think it would be interesting to combine something like LineDrive with Google Street View. LineDrive addresses one of the major problems with navigation directions by reducing the cognitive load and boiling a route down to its essential elements. However, there are many situations especially in cities like Boston where the roads seem like they were purposely designed to confuse, where just knowing what street to turn onto isn't enough for someone as spatially challenged as me. In these cases, an annotated actual picture of what I need to do at a certain intersection would be very helpful. As a set of printed directions, this might be confusing in terms of layout, but in terms of a navigation system or an iPhone app, this could be added as a layer of interactivity.

gneokleo wrote:

I think the main idea behind both papers is how do you abstract the right information so that you end up with a concise description of the task you are executing. Both papers do a really good job on this even though in the Heiser et al paper i wasn't too sure if this algorithm would perform equally good on other furniture assembly types. For example are there exceptions on certain types? Perhaps some more testing would convince me more. LineDrive takes an interesting approach when drawing directions similar to what a human would have done when drawing a map for someone else abstracting everything else except important major roads and also important points of interest. I think this makes sense because when you are trying to give someone directions you often use points of interest.

yanzhudu wrote:

The game visualization example in today's lecture is really interesting. Modern games contains significant complexity and has interesting and real-time interaction dynamics among players. Visualizing this complexity and dynamics could aid spectators and provide insight to the progress of a game. This is especially useful for competition focused game like Starcraft, where it is become more like a sport than a game.

Extending this concept a bit further, maybe we can visualize a real world sport. For example, provide real time stats and overview of a F-1 race.

hyatt4 wrote:

I found it very interesting how maps were applied to buildings in todays talk, and especially interesting how these same techniques could be applied to any type of information where you are trying to direct someone through markers in the information. In the presentation it had to do with geographical landmarks and such, but I would like to apply the same principles to visualize EEG data. The EEG data is biological information that I think could be abstracted in the same way geographic objects of a city were abstracted by Maneesh and his team. The repeated examples of applying design principles in each case helped give me a better understanding of how to go about extending his to other areas of visualization that were not discussed specifically. I also appreciated the comment made in class about how LineDrive seemed better than Google Maps. I had similar sentiments and could only sigh with the answer that business decisions often play an overriding role in terms of what technologies come to the front of society. Still, we are much further along in terms of helpful navigational tools than we were even just a few years ago.

nikil wrote:

I absolutely think that the linedrive system should be integrated into mapping systems. Especially when you need to print a map to take it in the car. In talking to Maneesh after class, he explained that google and other mapping systems are focusing on being more interactive than a static map so they are not that interested with static representations. However I think that the linedrive system can be made into a dynamic version that cuts out detail as you are travelling on a route and perhaps also viewing that route / looking where you are going on your mobile phone as you travel.

jorgeh wrote:

Interesting presentation today. One of the things that gave me food for thought is how, when talking about route maps, instead of trying to avoid distortion of the data in the visualization as we have talked during the whole quarter, in this case we intentionally distort the data (particularly the length of the segments of the road), to help the task. I guess that, as always, the principles are subjected to the context and the task

acravens wrote:

I appreciated how the papers and lecture today give examples for abstracting design principles from a domain. However, I was struck how most of these examples (except the furniture instructions) rely on the task domain in question having well developed understanding of the underlying cognitive psychology of what users are doing. How do we design tools for emerging tasks when the stellar analog model to abstract from is less clear? To me this points to the potential for tool development to go hand in hand with research and theory development in the task domains where the tools are being applied.

msewak wrote:

Line Drive is impressive. I'm so used to Google maps that it never occurred to me that it was not the most efficient way to display maps, for the purpose of navigation. I specially like exaggerating lengths to display all turns clearly, and the secondary context layout, as well as label placements. I think it will be very interesting to play with thresholds and weights to highlight landmarks in a map

iofir wrote:

That was a really cool presentation. I kinda wish that LineDrive was available about 5 years ago when I actually printed maps for directions. The one application where this is very relevant is when printing directions to a location without a starting point. (the second type of map he talked about) In this case I can understand that printing a computer generated map like that can be very useful for fliers and business cards. Most people would still just Google the address, but the extra reference could be useful.

The part of the presentation that I was most impressed with was the part where they stitched together the different pictures into one long image. I think this can be done much better and without artifacts, so I'm very interested to see what progress they will make in the future in solving these problems. my feeling is that it will probably involve a more detailed segmentation of the image into different parts that are not necessarily rectangular so that smaller areas with artifacts can be sampled from different pictures where their orientation is more correct. (avoiding obvious artifacts)

jdudley wrote:

One thing that struck me about the Tverskey and Lee paper is how it might be augmented by formalizing the language part with OWL or some other ontology representation and semantic reasoning framework like is available in Protege (http://protege.stanford.edu/). One could imaging having a bunch of people score direction quality through mechanical turk, and then bootstrap an ontology using NLP, clean it up with a reasoner, and then do some very cool bi-directional interaction between visual and semantic/lingual components.

anomikos wrote:

LineDrive plays on the idea of limiting the unnecessary data to highlight the desired information while still providing enough context for the user to be able to navigate effectively. It is fun to see a distant childhood memory (all the parties I have attended as a child we accompanied of directions similar to LineDrive) to become a automated system with solid theoretical background. Both papers do a good job of explaining the underlying methodology and the breakdown of the visualization to simple components as well as the methodology behind choosing which components to show and in what order in the final visualization. The question remains whether the techniques are applicable in a different context/case.

amirg wrote:

To tie yesterday's lecture back to design principles that we've discussed in the class, I thought one of the most powerful points from the lecture is that good design requires you to understand how someone might use your visualization/product/whatever. For example, as shown in class, a tourist uses a map differently than someone who wants to get from one point to another and both of these users are different still from someone who's organizing a wedding. I thought the designs shown in class clearly exemplified the attention paid to different needs of different use cases for these maps, since one size clearly does not fit all when it comes to maps. Additionally, it is clear from the examples shown in lecture that good design is full of tradeoffs; what makes a design good for one task or use case can make it almost unusable in another so this is important to keep in mind when designing something. In particular, I like what Professor Heer did by trying to use LineDrive to show driving directions to New York, demonstrating the distortion of distances. So while LineDrive is excellent for showing angles/turns that one needs to make to reach a destination, it changes distances dramatically, which is definitely important for other uses (and maybe even in some ways for driving directions). I think every design decision has tradeoffs and it is important to keep these in mind with respect to the task a visualization is trying to accomplish.

ericruth wrote:

I agree with Nikil that the main drawback of LineDrive is it's lack of interactivity. It seems like a clear winner in the case of printed out directions, but as people move more and more towards interactive maps and directions, it would be interesting to see how LineDrive could be turned into a dynamic mobile map application.

The example that impressed me the most from this lecture, however, was Microsoft's Street Slide (if i remember the name correctly). I really thought the interactions provided an engaging way to explore a road. The animated turn-around action was particularly nice for maintaining context and orientation. On the other hand, turning onto different streets felt a bit disorienting because you're immediately facing the side of the street (when you'd normally be looking down the street). Aside from minor details like this, though, it seems like a really promising project and I'm excited to see where it goes :)

malcdi wrote:

I really loved the "mash up" version of LineDrive where the house facades were placed alongside the line-street. Aside from its immense aesthetic appeal, it seems like a good mechanism for helping people remember routes or parts of routes that they might otherwise forget. For example, a user might remember that she was supposed to turn right after the blue house with yellow flower pots more readily than remembering to turn right onto "Blah St.".

They key question that yesterday's lecture raised for me, however, was: "Where does design and abstraction fit into a world where we can drill down into infinite detail?" Endless volumes of data and fast ways to search through it set a high bar for design and abstraction. Of course, navigating with a well-designed map is far more pleasant than wading through Google Street View images, but does it actually affect the outcome of the navigation? And then there's the question of what to do if you get lost: an abstracted design map might not facilitate finding the way back to where you came from (if I mindlessly missed a turn, for example, and was using a LineDrive map, it might be miles before I even realize that I'm lost).

Many people have argued in their posts that design (map design in particular) needs to be dynamic to compete with current systems; I posit that it also needs to be "backwards translatable": in other words, a well-designed system should help you find something, or get somewhere, but should also help you get back to where you started from.

felixror wrote:

I think LineDrive is really cool in the sense that it abstract the essential information that viewers will normally pay attention to according to cognitive psychology (such as the turns, names of main roads etc.) However, very often when I look up driving directions from Google map, I tend to spend a lot of time recognizing landmarks along the route to figure out directions, and not pay that much attention to the overall geometry of the route. Therefore, in my opinion, LineDrive will be most useful when overlaying on a real map, so drivers not only can perceive the raw route better, but can also take advantage of its relationship with the surrounding landmarks. But overall, its an amazing technology to know of.

rakasaka wrote:

I think Dr. Agrawala walks a very fine (and undoubtedly challenging) line between "mapping as an artform" and "mapping as a algorithmic, precise and therefore reproducible methodology". Could one safely argue that a computer can do as good or even a better job than an artist whose interpretations of visual space are rooted in person experience and cognition? Can a computer ever understand enough about the spaces we live in so as to be able to render it more understandable to the very human beings who inhabit those spaces?

Regardless, I think there is a lot to say about a) the fact that these map renderings have been made into publicly usable products and b) how the perspective views (the enhanced Google Maps type rendering) were particularly intriguing. I think the most important challenge is, though, making maps more relevant in this increasingly globalized world we live in - maps that make sense even when technology isn't available to help (like remote areas, poorly accessible areas).

jtamayo wrote:

I found the project of creating the "picture of a street" very interesting. It makes you realize how cleverly humans construct their map of the world, by just taking local pieces and putting them together to construct a global view.

I think, though, that interactivity opens a lot of interesting possibilities. Given the limitation that one cannot see more than a screenful of image, it might be possible to create a better representation of the world by interactively changing the image depending on where the user stands, instead of fixing a 2D image that will lead to strange distortions.

andreaz wrote:

This topic has been my favorite for the class thus far. I really enjoyed hearing Maneesh break down each demonstration by identifying the user's needs then going into detail into how each particular problem could be solved in an automatic fashion through programming. I wonder if some of the solutions we learned about could be combined together; for example, since people tend to use landmarks when giving directions ("turn right at [some building]"), I wonder if it would make sense to have the maps generated by the LineDrive system include images of important landmarks on the route--landmarks generated by the procedure used to generate the walking maps. With this, a user could glance down and recognize the landmark's image's position on the map, which seems like it could potentially cut down on the time the user would spend interpreting the map.

asindhu wrote:

I was very surprised when I learned that LineDrive is a somewhat old technology that's been around for a while and yet doesn't seem to be too commonly used. In my opinion it seems like a fantastic tool, and if I were getting driving directions on my iPhone, for example, I would much prefer a LineDrive diagram over the current Google maps interface. Even though the phone is interactive and you can pan and zoom to see detail, it's much better to see everything in one view, especially when you're driving. I find myself constantly having to zoom in on a particular intersection to see what to do next.

When someone asked in class why LineDrive isn't more popular, Mr. Agrawala's answer seemed to lay most of the blame with the business decisions of companies that commercialized it. I wonder if this is the only reason. Rationally I see that a LineDrive map is much easier to use, but perhaps there is some comforting familiarity to a traditional map which shows every little surrounding detail -- for example, what if you want to see alternate routes or areas around your destination to find parking, for example? I wonder if there might be a way to create a compromise between the two in a "focus + context" interactive manner. The LineDrive route could be highlighted and a faded, distorted map rendered around it with more details such as cross streets, parks, landmarks, etc. On a phone with geolocation, your current location (as well as the route) could be "focused" with a LineDrive rendering as well, giving you a very clear picture of how to get back on track in case you stray from the route.

esegel wrote:

(1) As I brought up in class, the new Google Map iPhone interface zooms in and zooms out on directions so that small geographic distances (e.g. tight turns near the destination) become larger and easier to see. This acts practically like Maneesh's LineDrive (a.k.a. hand-drawn maps) which exageerrate stretches of the directions containing a lot of turns. HOWEVER, the Google approach has the advantage that it maintains geographic accuracy when enlarging areas of turning, allowing the map to display both the route AND the surrounding area. Maneesh's approach cannot show other areas of the map because the route distorts geography. This seems to be one big advantage of the google approach.

(2) Maneesh had an interesting observation at the end of the lecture where he indicated that the "hand-drawn" look of the LineDrive maps made people alert to the fact that the maps were geographically inaccurate in terms of layout and distance. This is a neat instance of design-choices having a practical impact on how users interact with the visualization.

nchen11 wrote:

I was impressed with both the originality of the LineDrive algorithm and its practical basis on how people actually use maps. For example, I immediately recognized several of the characteristics of hand-drawn maps as strategies I have employed myself when quickly scribbling directions on the back of a random piece of paper.

On a slightly unrelated note, I was admittedly quite surprised to see it hosted on MSN maps, for I didn't even know that MSN had a map page, much less than people who actually used it. I find it interesting that such a novel approach to computer mapping is absent from the current powerhouses of Google and Bing and wonder how much of this is a reflection of what people actually prefer to use.

Personally, when I print out maps that would have potential scaling issues, I usually just print a zoomed in section of the end of the route (i.e. where most of the turns are probably small roads) instead of the entire thing. This is because I probably know my way around the beginning of the route (and if I don't, I can print out the beginning too), and the middle of the route is usually coarse enough that I don't need a visual representation (e.g. drive on I-80 for 200 miles).

Maps that don't have scaling issues (such as when all the roads are traveled on for about the same length) are usually printed out in their entirety, assuming I can fit it all on one printout.

It'd be interesting to see if this sort of map printing is more adaptive because I wasn't aware of something like LineDrive or whether it's actually a preferable approach, since I still retain the mapping of the area around my route (in case I get lost).

sholbert wrote:

The automated assembly instruction paper was hugely valuable, both as a product and a proof of concept.

On another note, I recently found this visualization: c6Agr

Which is an interesting way to display population--

adh15 wrote:

@jtamayo, I definitely agree with this point. Even in the grocery store example, the image was really only "usable" when interacting with the zoomed-in version. On the other hand, there may be cases where it is advantageous to have a single image/file for the entire scene. Another possible hurdle if you wanted to create an interactive version with a moving camera is that you would probably end up a Google Street View like result where the details from one view point are close but slightly different from the details at another. The result presented in class is more consistent at the cost of distortion and artifacts.

jbastien wrote:

One really interesting use of multiple photography is to recreate a 3D image of the world. That can in turn be used to create a fully explorable version of Streetview, videogames, or augmented reality (for example, at night, overlaid with real-time IR information).

I know CAE has very high fidelity images of most of the world's airports and uses them to train airline pilots. They also have augmented reality technology for military helicopters landing in low visibility settings (dust, storm, etc).

acravens wrote:

I appreciated how the papers and lecture today give examples for abstracting design principles from a domain. However, I was struck how most of these examples (except the furniture instructions) rely on the task domain in question having well developed understanding of the underlying cognitive psychology of what users are doing. How do we design tools for emerging tasks when the stellar analog model to abstract from is less clear? To me this points to the potential for tool development to go hand in hand with research and theory development in the task domains where the tools are being applied.

arievans wrote:

When I saw the demonstration of the grocery store isle, I was absolutely shocked that no stores have used that yet. I could easily imagine building some an iPhone app or come kinda terminal display in stores where you enter in an item and it brings up results, then animates moving toward the isle you are looking for. Why is nobody doing this yet? The tech is cheap and people would have much more of a pleasant shopping experience.

In particular I think this would be more useful in hardware stores and the like where there are just a ton of individual items available in each isle whereas the amount of categories to describe the isle are quite limited. I personally find myself oftentimes having to walk up and down a large number of isles to find what i'm looking for in hardware stores. In grocery stores not so much, but still useful.

Anyone want to build this with me? arievans@stanford.edu

sklesser wrote:

I was really impressed by LineDrive, I think it was the first time I encountered how extreme distortion can make information much more understandable. I'm excited by the general idea of pruning and distorting data to the minimum usable set. I feel like this technique can be applied to more domains, especially those which contain high frequency detail combined with irregular low frequency detail, however I have been unable to come up with additional examples.

Leave a comment