Nokia 9000/9000i Communicator Fact Sheet


Hardware

The device dimensions are:

Processor

Memory

The Nokia 9000i Communicator has 8 megabytes of Flash RAM in it. It is partitioned as follows:

4 MB for "ROM" for the OS and applications
2 MB for application execution and heap space
2 MB for user data storage (essentially a RAM disk)

Screen display

The display is a grayscale LCD screen 640x200 pixels, measuring 115 by 36 millimeters. The screen is neither touch-sensitive nor pen operable. The left status pane is 80 pixels wide and the command buttons at the right have a variable width, so an application's usable screen dimensions will be less than or equal to 560x200 pixels. For instance, the web browser has 540x200 pixels of usable display for web pages.

Current Nokia 9000i Communicators support 4 levels of gray, but future versions (the GSM European and PCS United States versions) will support 8 levels of gray. Even though the 8-level grayscale devices default to 4 levels of gray, applications may change modes on-the-fly.

Keyboard

The keyboard is a standard QWERTY keyboard. English, French German and Scandinavian versions are currently available.

Communication


Text

The following is a list of all the available fonts, their sizes, styles, and comments.


Font: Available Size: Styles: Comments:
FID_RESPONDER 14 Bold --
16 Plain, Bold --
17 Plain --
18 Plain, Bold, Italic, Bold-Italic FID_RESPONDER 18 is the default font
20 Bold, Bold-Italic --
FID_TERMINAL 8 Plain Tiny, 7 pixel wide font need to display 80 characters per line, for Telnet and the like
16 Plain Also 7 pixels wide, but vertically stretched for legibility; you can only display 12 lines of text on the screen using this font.
FID_TERMINAL_GRAPHIC 8 Plain 7 pixel wide font need to display 80 characters per line. Has VT100 graphics above 80h..
16 Plain 7 pixels wide, but vertically stretched for legibility; you can only display 12 lines of text in this font. Has VT100 graphics above 80h.
FID_DTC_URW_SANS Any Size -- Outline font.
FID_DTC_URW_MONO Any Size -- Outline font.
FID_DTC_URW_ROMAN Any Size -- Outline font.
FID_BISON -- -- This font has only one character, '*'. This is used for passwords.


Icons

There are two types of icons: Status Pane Icons and File List Icons.

When creating a status pane icon using the Icon Editor, use the following settings:

Width: 64
Height: 50
Color Scheme: 16-color
Apsect Ratio: VGA
Format Type: Icon
Display Size: Standard

When creating a file list icon using the Icon Editor, use the following settings:

Width: 25
Height: 18
Color Scheme: 16-color
Apsect Ratio: VGA
Format Type: Icon
Display Size: Tiny


Communicator Grays

Current Nokia 9000i Communicators support 4 levels of gray, but future devices will support 8 levels of gray. There are two different grayscale schemes used, one for visMonikers and icons, and the other for normal GEOS drawing routines.

Icons can make use of 4 layers of grey. When drawing an icon, use the following mapping of colors to create the correct gray level in the icon: (if other color values are used, they will not show up.)

GEOS Color Icon Level of Gray
C_WHITE White
C_LIGHT_VIOLET Light Gray
C_GREEN Dark Gray
C_BLACK Black

Other graphics can make use of the 16 GEOS enumerated color types to choose the appropriate gray. The device will correctly map the color to the correct level of gray, depending on number of screen grays available. The following table displays how different colors will map to gray on 4- and 8- level grayscale modes.

GEOS Color 4 Levels of Gray 8 Levels of Gray
C_BLACK, C_DARK_GRAY Black Black
C_BLUE, C_LIGHT_BLUE Dark-dark gray
C_GREEN, C_LIGHT_GREEN Dark gray Mid-dark gray
C_CYAN, C_LIGHT_CYAN Light-dark gray
C_RED, C_LIGHT_RED Light gray Dark-light gray
C_VIOLET, C_LIGHT_VIOLET Mid-light gray
C_YELLOW, C_BROWN White Light-light gray
C_WHITE, C_LIGHT_GRAY White


Disk Space Warnings

Often, it is useful to get a qualitative measure of the available free disk space to check whether the disk is dangerously full. The disk warning levels are:

The Warning Level is less than 50K.
The Critical Level is less than 25K


UI Conventions: Triggers

To maintain a consistent look-and-feel for all Nokia 9000i applications, it is important that developers follow the same set of UI conventions. The most important navigation tool on the Nokia 9000i are the four triggers at the right side. The application specifies what these triggers are and which slot (0, 1, 2, or 3) each of these triggers belongs in. In general, applications should use:

HINT_SEEK_SLOT = 0
The main action (such as Open or Send). Affirmative responses (such as OK).

HINT_SEEK_SLOT = 1
Secondary functions or Main function if slot 0 is taken.

HINT_SEEK_SLOT = 2:
Settings and similar buttons that bring up options. Apply trigger in dialogs.

HINT_SEEK_SLOT = 3:
Negative responses such as Cancel, Close, or Dismiss. Back triggers. (Back is always in slot 3. This is the trigger with ATTR_TLT_IS_BACK_TRIGGER set.) "OK" if it is for dismissing the dialog box or if there are no other buttons. Settings can go here is slot 2 is already taken.

Applications launched from "Extras" must have a close button that calls MSG_FSA_RETURN_TO_LAUNCHER

You can use up to 6 triggers by setting up two panes of triggers. If this is done, than the fourth trigger of each group must be either "More" or "Back" text monikers with the associated right and left pointing icons.


Nokia 9000i Emulator Keyboard Mapping

This only applies to US QWERTY keyboards

F1 - Button 1
F2 - Button 2
F3 - Button 3
F4 - Button 4

F5 - launch Phone application
F6 - launch Fax application
F7 - launch SMS application
F8 - launch Internet Services application
F9 - launch Contact manager application
F10 - launch Notebook application
F11 - launch Calendar application
F12 - launch System application
Ctrl F12 - launch Extras application

Left Alt - Chrset
Insert - Help
Page Up - Scroll up
Page Down - Scroll down
Pause - Shutdown demo
Ctrl F3 - Detach application
Ctrl F4 - Close application


Sound

Communicator applications may play StandardSoundType sounds through the PDA-side speaker.


The Installer

The Nokia 9000i Communicator SDK comes with an installer application called NServer.exe. It uses an installation script that describes your application's name, version, and related files that will need to be transferred.

To Clear all RAM

To reset the Nokia 9000i Communicator and effectively erase every bit of data on the phone (except, of course, the factory settings and data) you must pull out the main battery, put it back in, then hold down the keys Shift-Esc-f. You will be prompted to format the RAM of the device and you can cancel here if you don't really want to erase the data.

Once the phone has been reset you must re-enter all of the user data again, including your home country, name, and address.


Version Information

You can get version information from the INI file on the Nokia 9000i Communicator. The information is stored as a string in [UI]swSerialNumber. The string is 27 characters long. This same string can be seen on the last line of About this product. The whole string looks like this:

      000000/00/2a0030808044001/0. 

The interesting part is: 2a0030808044001. The three first characters identify hardware version (here 2.10), six following characters identify software version (here 03.08.08), three following characters identify the country code (44 = Great Britain) and the last three characters identify the keyboard type (here 001 = English).

Here is sample code that shows how to extract the version information:

 
                 @start StringRes;
                     @chunk TCHAR UICategory[] = "ui";
                     @chunk TCHAR SWSerialNumber[] = "swSerialNumber";
                 @end StringRes;
                      
                 ...
                      
                 @method TestProcessClass, MSG_TEST_PROCESS_GET_VERSION
                 {
                     TCHAR   version[28] = "";
                     TCHAR * category;
                     TCHAR * key;
                     word    value;
                      
                     MemLock( OptrToHandle( @UICategory ) ); 
                     category = (TCHAR *) LMemDeref( @UICategory ); 
                     key      = (TCHAR *) LMemDeref( @SWSerialNumber ); 
                     InitFileReadStringBuffer( category,
                          key,
                          version,
                          IFRF_SIZE | 28,
                          &value );

                     /*
                      * Extract the information you want from version string. 
                      */
                     MemUnlock( OptrToHandle( @UICategory ) );
                 }


Lid-closing Event

After the Nokia 9000i Communicator's lid is closed, the Communicator waits for 30 seconds and then turns off the CPU. Of course, the CPU will not turn off until all applications are idle.

To receive notification that the lid is closed, an application should register on the GCN list GCNSLT_RESPONDER_NOTIFICATIONS. It should watch for MSG_META_NOTIFY with notificationType == GWNT_RESPONDER_NOTIFICATION, manufID == MANUFACTURER_ID_GEOWORKS and data == RNT_LID_CLOSED. (ResponderNotificationType is defined in N9000v20\CInclude\Internal\respondr.goh)


Debugging an actual Nokia 9000i Communicator

To debug on an actual Nokia 9000i Communicator, you need to attach your host PC to the device's 6-pin serial port and set the host ptty baud setting to 38400. Remove the battery so the phone shuts down. Then replace the battery and press:

SHIFT-D-O (that is 'O' not zero) to boot and wait for swat to attach.
SHIFT-D-B to boot with swat stub loaded, but doesn't wait for swat to attach.

Note that IR connections and PC connectivity won't work while the Nokia 9000i Communicator is in debug mode. (IR shares a UART with the swat port, so you trying to open the port will lock the device.)

Also note that debugging on the device is limited because you cannot set breakpoints in any of the system routines (since they are in ROM). Mostly you can check backtraces and set breakpoints in your own application.


Chuck Groom
7/9/97