1.) If you want maximum compatibility, then I'd say web based would be the way to go. If you do it right, it should work on pretty much any smart phone. If it's just for you, then either approach would work, as you wouldn't have to write different versions of the program for compatibility.