Java Platform, Micro Edition (Java ME, formerly J2ME) was the dominant runtime environment for feature phones. By 2012, there were over 3 billion Java-enabled mobile devices. They had physical keypads, small screens (128x128 to 320x240 pixels), limited heap memory (often 1–4 MB for apps), and slow processors (100–200 MHz).
Viber’s J2ME experiment taught several lessons that resonate even today: Viber For Java J2me
Released around 2012–2013, Viber for Java was a stripped-down, miraculous port of the popular instant messaging and VoIP service. It was designed to run on devices with as little as 1MB of heap memory, 128x160 pixel screens, and no touch input. Java Platform, Micro Edition (Java ME, formerly J2ME)