However, even in the midst of wireless hype, many developers are still having difficulties navigating around the challenges of the esoteric SMS world. Obstacles such as fragmentation of carriers, inconsistent transport mechanisms and differing message lengths pose numerous complications. Developers who successfully surpass these obstacles are then faced with a new set of difficulties for building a solution in Java. SMS is merely a description of services, which wireless carriers provide, rather than a description for a method of delivery. Unfortunately, this lack of standards for SMS has increased development learning curves and slowed down adoption rates.
Inconsistent transports are only a small part of the larger dilemma.
Typically, carriers do not allow public access to their networks and some will not even allow private access. This exclusivity leaves developers with very few options. Many developers opt to simply bypass the carrier and implement their own somewhat functional solutions. The problem is additionally magnified with the proliferation of various mobile devices, each built with differing technologies and capabilities. Some devices are capable of receiving only 140 character messages, while others can receive 600 character messages.