Kicking Butt with MIDP and MSA: Creating Great Mobile Applications