에 has more meaning than 에서. Both can be used for location, and 에서 gives more stress where “that action” occurred. But I don’t think this is too difficult for non-native speaker. Other difference is 에서 as a meaning of departing place like
학교에서 집까지 걸었다,
, we shouldn’t use 에, here.
And if you are heading to somewhere, you should use 에, like
도서관에 가다.
, and this time you can’t use 에서 here.
And 에서 is not for time. You only use 에. And we have several other usage for –에,
Show why someone feel or act like that.
총소리에 놀라다
Show standard why someone think or evaluate like that
예의에 벗어나다
As a conjunction, enumerate things
과일에 음료수에 잔뜩 먹었다