différents dispositifs matériels (taille d’écran, codes des touches, taille mémoire…)
architectures Java incompatibles (J2ME MIDP 1.0 & 2.0, DoJa …)
implémentations spécifiques des constructeurs (NokiaUI, Vodafone VSCL , SPRINT…)
implémentations incomplètes or incorrectes
contraintes de distribution et contraintes de localisations
(nomage, langues, logos…)