When using soft keys gets hard
By Balder MørkBetongApe. Tuesday, February 27, 2007 9:57:08 AM
Opera Mini runs on a lot of different devices. In fact, I suspect that few other MIDlets run unmodified on as many different handsets and mobile devices as Opera Mini. Opera Mini comes in two flavors (MIDP1 for older phones, MIDP2 for most phones sold today), and with these two builds we cover more than 600 different models, each with their own peculiarities and device specific bugs.One of the many things that differ between models is the availability and layout of soft keys. Soft keys are, for those not familiar with phone lingo, the (usually) two keys often found directly below the phone screen. In the MIDP2 (or "advanced") version of Opera Mini, we assign important functions (like "menu", "yes"/"no" etc.) dynamically to these keys, so it's safe to say that soft keys are crucial to the Opera Mini experience.
Unfortunately, not all devices have soft keys, so we have to make the commands available in other ways.
- In the case of stylus-based devices like the Palm Treos, the commands at the bottom of the screen can be clicked directly with the stylus.
- Blackberry phones run Java apps fast and reliably, but they lack soft keys. Here, we assign the commands dynamically to the thumbwheel, making for a user experience reasonably consistent with the rest of the system.
- Windows Mobile doesn't come with a Java Virtual Machine (JVM) as standard, so behavior differs between devices depending on the JVM installed (either by the supplier or the user). Although the keys might physically be there, not all JVMs let us know that they've been pressed. Some JVMs let us detect the device's soft keys directly, some only expose one of them, and some don't use the physical soft keys at all. For devices like these, we allow the user to press Q and P (for left and right soft key respectively) on the QWERTY keyboard instead. These keys are usually on the far left and far right of the topmost row of keys, and after a short while it feels pretty natural to interact with the application in this way. Of course, Q and P can be used on most other QWERTY devices as well (like Blackberry and Treos).
"So what about text input?" you might ask. Well, in MIDP apps text input is handled by the JVM itself. As a user, you simply click a text field. We hand the actual input over to the device, and it lets us know when you're done entering text. None of our special key mappings come into play until you're satisfied with the entered text and return to Mini.














VegaVegaTheTerrible # Tuesday, February 27, 2007 1:27:28 PM
yet you still have to press Q to get the menu button to work
Christoffer ÅrstrandLunkwill # Tuesday, February 27, 2007 6:41:35 PM
Payday LoansProfesjonalna # Monday, August 20, 2007 1:31:30 PM