Mobile phones may be ubiquitous, highly portable, shareable,
immediate, and always-on, but there also limitations
that challenge even the most talented mobile
applications developers—small (and generally lowresolution)
displays, awkward text input methods, slow
data access (if at all), and issues of battery life, among
others. On top of all that, the mobile industry has historically
suffered from a lack of standards, with different
manufacturers supporting different video and audio
formats, no standard screen size and resolution, lack of
regular support for Java and/or Flash, incompatible
browsers (if at all), and a wide array of memory sizes. All
of this fragments the platform landscape, making developing
an m-learning application a real challenge.