Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries. Thanks for all your past and future contributions.
When designing S60 applications, it's important to follow the S60 UI style. Users will find it easier to learn how to use your application, if the look and feel is similar to system applications. What comes to softkeys, in S60 devices the softkey labels are
- left softkey: positive actions like OK, Select, Options
- right softkey: negative actions like Back, Cancel, Quit, Exit
"Done", even though it can be considered as a positive action, can be placed to right softkey in forms, which have Options menu available (left softkey is "Options").
With Nokia E90 one should notice that on the PDA side softkeys are reversed compared to other S60 devices. The same happens on Nokia N93(i) when using landscape mode, too. You can use the following code to find out which softkey is the upper one when the CBA is on the left or right side of the screen. The example code assumes that CBA has Options (EAknSoftkeyOptions) and Exit (EAknSoftkeyExit) commands, otherwise it doesn't work.
CEikButtonGroupContainer* cba = CEikonEnv::Static()->AppUiFactory()->Cba();
if( !cba )
CCoeControl* options = cba->ControlOrNull( EAknSoftkeyOptions );
CCoeControl* exit = cba->ControlOrNull( EAknSoftkeyExit );
if( options && exit )
if( options->Position().iY < exit->Position().iY )
It should be easy for the user to close the application. The Options menu should always have "Exit" as the last item in the menu. "Exit" can be placed to the right softkey when there is no need for other labels and it's expected that user might want to close the application. In S60 3rd Edition devices, pressing the End key (Red key) closes the application automatically.