taking a picture, drawing some lines on it and sending the modified image somewhere
is trivial (in the scheme of things).
where you run into problems is with the inevitable demands of the app's field users, eg:
1) zoom in and out on the image to facilitate drawing details, considering that the smaller some part of an
image is, the more inaccurate drawing with a finger on a tiny screen becomes. screen real estate is tight.
2) draw things with different colors
3) change widths of lines used to draw things
4) fill shapes (eg, draw a box or circle and fill it with some color) or not fill shapes
5) erase some of the drawing. (finger strays...)
6) erase all of the drawing. (let's start over)
7) save an image, but do not send it to server. have some way of calling it back later for drawing.
8) flip device from portrait to horizontal (uh oh; what happened to the drawing?)
9) add text of different sizes (as opposed to trying to draw text with a finger). in this context, adding text
would involve typing on the device's virtual keyboard (easy), then dragging the text to the image as if
drawn by hand (less easy).
10) put another image on top of the image being drawn upon.
11) have undo levels (4 or 5 is the convention)
12) hire lawyers to handle suits brought as a result of performing window installations based on
accuracy of drawings made with a finger.