It might not make as much sense if you don't experience it, but I'll list my friend's process below.
1. First he drew the three sets of lines with negative slope. You can see that there are three lines for the hundreds place, two lines above for the tens place, and one line on top for the ones place.
2. Next he drew three sets of lines with positive slope. The first line started at the bottom left and intersected all lines with negative slope. This line was for the hundreds place in the number 123. Then in the middle there are two lines with positive slope, representing the tens place. Finally there are 3 lines with positive slope representing the ones place. The order/orientation of the lines matters.
3. Last, he started counting intersections, and wrote the number of intersections at the bottom. You can see that some sets of intersections are in the same column as other sets of intersections. Count these sets together.
4. If there are more than 10 intersections per set, you carry the tens digit to the column on the left, and add to the existing number. You can see in the picture that there are 14 intersections for the middle column, so he changed this number to 4 and made the number to the left (8) increase by one (to 9). So 321 x 123 = 39483.
I tried one more problem for fun. You can scroll down to see the diagram and solution for 384*231.
After I figured out what was going on with this method, I decided to start from the right.
Method 1: with carrying Method 2: without carrying
ones: 4 4 ones
tens: 0 and carry the 2 + 200 (for twenty tens)
hundreds: 7 and carry the 3 +3500 (for 35 hundreds)
thousands: 8 and carry the 2 +25000(for 25 thousands)
ten thousands: 8 +60000(for 6 ten thousands)