How do convolution matrices work?
Convolution matrix are mean to change your image so you have to treat all the pixels.

For pixels without surrounding pixels there are different way to treat than dependently of the result you expect. You can ignore them and get a smaller image. Put an arbitrary value for their surrounding. Or consider the surrounding being symmetrical to the image.

Since the matrix apply on the image it doesn't mater if you apply it up to bottom, left to right or whatever. Each pixel of the result is computed as a local result of the convolution on the image.

For example  for an image 
$$\begin{pmatrix}
a &amp;b&amp;c&amp;d\\
e&amp;f&amp;g&amp;h\\
i&amp;j&amp;k&amp;l\\
m&amp;n&amp;o&amp;p
\end{pmatrix}
$$
If we discard the surrounding pixels the result of the convolution with you matrix will be :

$$\begin{pmatrix}
f-e&amp;g-f\\
j-i&amp;k-j
\end{pmatrix}
$$

So for your convolution, a pixel $(i,j)$ is defined as $I_{(i,j)}-I_{(i,j-1)}$.
So this convolution stress the differences between pixels hence show the edges.

I hope its clear.