                             Jimm - Mobile Messaging
                       Version 0.5.1 - released 2006/10/31
                              <http://www.jimm.org/>

================================================================================
README
________________________________________________________________________________
ABOUT

Jimm is a native ICQ clone for Java 2 Platform Micro Edition (J2ME), Mobile
Information Device Profile (MIDP) 1.0 and 2.0 . It supports the new v8 protocol,
former protocols are not supported.

Jimm is probably the most lightweight ICQ clone available, so please do not
expect the same features your favourite desktop client has. Currently, Jimm has
the following features:

  *  Request and read the server side contact list
  *  Send plain messages (type 1 and 2)
  *  Receive plain messages (type 1, 2 and 4, and offline messages)
  *  Send URL messages (type 4)
  *  Send and receive status messages (away, n/a, etc.)
  *  Receive URL messages (type 1, 2 and 4, and offline messages)
  *  Send file transfer messages and send files (type 2 and direct connection)
  *  Set your status (away, n/a, etc.)
  *  Receive status updates (user is away, n/a, etc.)
  *  Request information about other users
  *  Remove users from the server side contact list
  *  Add users to the server side contact list
  *  Rename users on the server side contact list
  *  Search for users
  *  Answer authorization requests
  *  Local history saving and export (Only Siemens builds)
  *  Multilingual user interface

________________________________________________________________________________
PACKAGE CONTENTS

  |- README (this file)
  |- CHANGES (change log)
  |- COPYING (license)
  |- build.xml (Apache Ant buildfile)
  |- bin
  |   |- DEFAULT
  |   |   '- [List of included modules]
  |   |        '- [List of included languages]
  |   |             |- Jimm.jar (obfuscated Java archive)
  |   |             '- Jimm.jad (archive descriptor)
  |   |- MIDP2
  |   |   '- [List of included modules]
  |   |        '- [List of included languages]
  |   |             |- Jimm.jar (obfusc. Java archive, MIDP2 compatible mobiles only)
  |   |             '- Jimm.jad (archive descriptor, MIDP2 compatible mobiles only)
  |   |- RIM
  |   |   '- [List of included modules]
  |   |        '- [List of included languages]
  |   |             |- Jimm.jar (obfuscated Java archive, RIM mobiles only)
  |   |             '- Jimm.jad (archive descriptor, RIM mobiles only)
  |   '- SIEMENS
  |   |   '- [List of included modules]
  |   |        '- [List of included languages]
  |   |             |- Jimm.jar (obfuscated Java archive, Siemens mobiles only)
  |   |             '- Jimm.jad (archive descriptor, Siemens mobiles only)
  |   '- SIEMENS2
  |   |   '- [List of included modules]
  |   |        '- [List of included languages]
  |   |             |- Jimm.jar (obfuscated Java archive, Siemens MIDP2 mobiles only)
  |   |             '- Jimm.jad (archive descriptor, Siemens MDIP2 mobiles only)
  |   '- MOTOROLA
  |       '- [List of included modules]
  |            '- [List of included languages]
  |                 |- Jimm.jar (obfuscated Java archive, Motorola MIDP2 mobiles only)
  |                 '- Jimm.jad (archive descriptor, Motorola MIDP2 mobiles only)
  |- res
  |   |- MANIFEST.MF
  |   '- [Target]
  |   |    '- [Target-specific resources]
  |   '- [MODULES]
  |        '- [Modules]
  |             '- [Module-specific resources]   
  |- src
  |   '- [Source tree]
  '- util
      |- build-nightly.xml (Apache Ant nightly buildfile)
      |- build-release.xml (Apache Ant release buildfile)
      |- jarsizetask (JarSizeTask)   
      |- jlft (Jimm Lang File Tool)
      |- langs (Jimm langauge files processor)   
      '- sijapp (Simple Java PreProcessor)


________________________________________________________________________________
HOW TO INSTALL

You can find the .jar file you need to install on your phone in one of the six
sub directories in the bin folder of this archive.
You should pick the version you need depending on the device you have:

  * DEFAULT  - Use this version if non of the other versions fits
  * MIDP2    - Use this version for devices supporting the MIDP 2 profile.
               Look in the technical specs of your device to find out if it
               supports MIDP 2.
  * RIM      - Use this version for RIM Blackberry devices.
  * SIEMENS  - Use this version for Siemens MIDP 1 devices. (e.g. S55, M55...)
  * SIEMENS2 - Use this version for Siemens MIDP 2 devices. (e.g. S65, CX65...)
  * MOTOROLA - Use this version for Motorola MIDP 2 devices. (e.g. V600)
  
Then choose between the different module and language configurations and copy
the Jimm.jar and Jimm.jad file to you mobile phone or use the appropriate 
installation procedure described in your devices manual.

At first start-up, select 'Options' and set your UIN and password. The default
values for the ICQ server host and port should be okay. Option values are
automatically saved and loaded on subsequent start-ups.

You can also download Jimm.jad and Jimm.jar via WAP. Open the following URL with
your WAP device and select the desired version:
<http://www.jimm.org/download/>

________________________________________________________________________________
KNOWN BUGS

 * On Siemens S55 mobiles there are the following graphical errors:
  - In the chat histroy the name is shifted left
    (Both depend on errors on the S55 and they might be fixed by Siemens in
    upcoming firmware releases)

 * On devices with heap memory bellow 300kb (e.g. Siemens S55) Jimm will only
   run stable with less than 40 contacts.

 * On Nokia 6230 with FW > 3.15 or other devices which stop connecting at about
   20% of the connection you have to set "Shadow connction" in the "Network" 
   section of the "Options section" to true.
   
 * On later Benq-Siemens devices you have to set the keepalive packet interval
   to some value bellow 30 seconds. (29 seconds is suggested)

________________________________________________________________________________
HOW TO BUILD

Jimm uses Apache Ant for building. You can download Apache Ant from
<http://ant.apache.org/>. Follow the instructions in the Apache Ant manual to
install Apache Ant.

You also must have a Java 2 Platform Standard Edition (J2SE) SDK. Depending on
the selected target you also need the following:

  * DEFAULT target: J2ME Wireless Toolkit 2.2
      <http://java.sun.com/j2me/>
  * MIDP2 and MOTOROLA target: J2ME Wireless Toolkit 2.2
      <http://java.sun.com/j2me/>
  * RIM target: Latest version of the Blackberry SDK
      <http://www.blackberry.com/developers/>
  * SIEMENS target: Latest version of the Siemens Mobility Toolkit (SMTK)
      <http://communication-market.siemens.de/>
		
By default, class files are obfuscated using ProGuard to reduce bytecode size.
You can download ProGuard from <http://proguard.sourceforge.net/>. Follow the
instructions in the ProGuard manual to install ProGuard. Jimm requires ProGuard
3.2 or later. To get a reliable version it is suggested to use version 3.2 and
not the latest available version.

If you want to build the Jimm release achrive with the build.xml script provided
in the util/build-release folder you also need the '7z' (http://www.7-zip.org/)
program in the path of the console you run ant in.

At first, open the Apache ant buildfile (build.xml) and change the properties in
the configuration/customization section. You can use both the slash and the
backslash for separating path components.

To build Jimm, just type 'ant' or 'ant dist'. To disable class file obfuscation,
add '-Dskip-obfuscate=1' to the before mentioned command. If everything goes
well, look at the newly created directory dist/bin for Jimm.jar and Jimm.jad
files.

To clean the distribution, type 'ant clean'.

________________________________________________________________________________
PERFORMANCE

Jimm takes about 20 seconds to load on a Siemens S55 mobile phone. Logging into
ICQ again takes about 20 seconds. These will vary depending on your mobile phone
processor and memory performance, bandwidth and contact list size. Because of
performance limitations of older J2ME devices, it is strongly recommended to
reduce your contact list size to 50 contacts if you own one of these devices.

Delays at message sending/receiving are negligible and can be ignored.

Currently, Jimm requires about 250 KB of RAM, depending on the size of your
contact list, and the activity on the ICQ network. Jimm also requires support
for socket (TCP/IP) connections, which *is not* required by MIDP 1.0 to be
standard-compliant but some vendor implementations include. Check your mobile
phone manual.

________________________________________________________________________________
NETWORK CONSUMPTION

The following information, as all other information in this file and all
other files included in this Jimm distribution, ARE PROVIDED "AS IS" WITHOUT
WARRANTY OF ANY KIND. Please see the file COPYING in the Jimm distribution for
further details.

Jimm establishes a single TCP connection to login.icq.com:5190 (by default).
This connection is held open until you choose to disconnect or a critical error
occurs.

Logging into ICQ produces about 5 KB network traffic, excluding your server-side
contact list. The contact list is locally cached, and only requested again from
the server if the cache is out of date.

There is also some network traffic while staying online, even when you don't
send or receive any instant messages. Jimm sends a Keepalive packet every 120
seconds, which includes 6 bytes payload. This can be disabled. Each time one of
your buddies changes status, you'll receive at least a notification and,
depending on the ICQ client you buddy uses, some capability messages.

Tip 1: Reduce your contact list size to save network traffic.
Tip 2: Check the network consumption regularly.

________________________________________________________________________________
GET INVOLVED

Give feedback: <http://www.jimm.org/forum/>
Contr. code and documentation patches: <http://sourceforge.net/projects/jimm/>

________________________________________________________________________________
LICENSING

For licensing and copyright information, please see the file COPYING in the
Jimm distribution.

________________________________________________________________________________
DISCLAIMER

Jimm is not affiliated with or endorsed by ICQ Inc. All trademarks belong to
their respective owners.

________________________________________________________________________________
CREDITS

Core development team:
  *  Artyomov Denis <artyomov at jimm.org>
  *  Manuel Linsmayer <manuel at jimm.org>
  *  Andreas Rossbacher <andreas at jimm.org>

Contributors:
  *  Spassky Alexander 
  		(Type-2 Message support)
  *  Perminov Andrey
        (Socks Proxy module)
  *  Sergey Chernov 
  		(Cyrillic character support)
  *  David Ethell 
  		(RIM sound and vibra support) 
  *  Mathias Huelsbusch 
  		(Mathematical art used for splash screen)
  *  Andrey B. Ivlev 
  		(Cyrillic character support)
  *  Sergey Mymrikov 
  		(Contact status and program icons)
  *  Tomas Spal 
  		(Better ContactList title update routine)
  *  Denis Stanishevskiy 
  		(Offline messages timestamp, new vibra option, remove you from users 
  		contact list)
  *  Mattias Stoeneberg
  		Message counter on splash screen, Search for f/m
  *  Dmitry Tunin 
  		(MOTOROLA build maintainer, some bugfixes)
  *  Alexander Shvedow
  		(Smiles pictures)
  *  Andrey Kazakov
  		(Status for temporary and unauthorized contacts, safe login, file
  		transfer improvement, constacts groups management)
  *  Igor Palkin
  		(Configurable hotkeys, history exporting, client info, open URL feature,
  		text templates)

Translators:
  *  Guy Aroshas (Hebrew translation)
  *  Martin Bjoerkman (Swedish translation)
  *  Sergey Chernov (Russian translation)
  *  Ivaylo Donchev (Bulgarian translation)
  *  Pawel Glogowski (Polsih translation)
  *  Linas Gricius (Lithuanian translation)
  *  Andrey B. Ivlev (Russian translation)
  *  Petr Krčmář (Czech translation)
  *  Urukalo Milan (Serbian translation)
  *  Mario B. Napoli (Italian translation)
  *  Alexei Solonets (Russian translation)
  *  Nazar Pelenjo (Ukrainian translation)
  