How to understand the usage of Inner and Outer figuratively?

Animated Mathematica Functions contains cool animated illustrations of the way a number of built-in functions work. Among them are

Thread

enter image description here

Inner:

enter image description here

Outer

enter image description here

See also: cormullion's video


I think of Outer just like nikie showed.

Inner is a generalization of matrix multiplication. I like the picture from the Wikipedia page.

Matrix Multiplication

To calculate an entry of matrix multiplication, you first pair list entries (a11,b12) and (a12,b22). You "times/multiply" those pairs (a11*b12) and (a12*b22), and then you "plus/add" all the results (a11*b12)+(a12*b22). Note that you "times" before you "plus" in matrix multiplication which helps me remember the order of arguments for Inner.

listL={{a11,a12},{a21,a22},{a31,a32},{a41,a42}};
listR={{b11,b12,b13},{b21,b22,b23}};
Inner[times,listL,listR,plus]

Not sure if that's what you're looking for: This is the image I always have in mind for Outer[f,{a,b,c},{x,y,z}]:

enter image description here

args = {{a, b, c}, {x, y, z}};
TableForm[Outer[f, args[[1]], args[[2]]], TableHeadings -> args]