Pica Pica Messenger. Getting Started.

Pica Pica Messenger. Getting Started.

This illustrated tutorial will guide you through Pica Pica Messenger (also known as pica-client), a decentralized, distributed instant messaging system. The Pica Pica project is focused on preserving your communication privacy through strong end-to-end encryption, using modern cryptographic standards and protocols.

First Launch: Creating an Account

When you run pica-client for the first time, you’ll need to create a new account.

Click “Create New Account…”. For example, if you want your nickname to be Anonymous, enter it in the “Name:” field. It’s highly recommended to check the “Set passphrase for the secret key” option—this encrypts your private key with a passphrase, adding an extra layer of protection. (The term passphrase is often preferred in cryptographic applications over password.)
Click “Create” and wait a few moments while your key pair and identity certificate are generated.

Your Pica Pica ID—a unique identifier generated from a SHA-224 hash of your certificate—will then be displayed. It may look something like: wYI8zxNi4XEcMCwi7BRdgOpwgiX+5e1mj6Xr1A==. You can share this ID with friends, display it on a website, or print it on business cards. To view your ID later, go to Account → Show My Pica Pica ID.

Click “OK” to continue. Your newly created account will now appear in the dropdown list, and the “Log In” button will be enabled.

If you set a passphrase, you’ll be prompted to enter it upon login. Enter the passphrase and click “OK”.

Once entered, pica-client will attempt to connect to known nodes and update its list of online peers. When a connection is established, the system tray icon (a perched magpie—Pica pica) will change to a flying magpie, indicating you’re connected. Now it’s time to add some people to
your contact list.

Contacts.

Let’s say your friend Jane Doe has sent you her Pica Pica ID. Right-click in the main window or use the Contacts menu and select “Add Contact…”. Paste her ID and click “OK”.

The new contact will appear by ID only. To start a conversation, double-click the ID or right-click and select “Start Chat”. Chat window will be opened. Say “hi” to Jane.
Remember that date and time indicated in chat window is your local date and time when the message was received or sent by you and not the date and time when it was actually sent or received by your peer. If Jane is online, your message will be delivered immediately, marked with a “+” sign, and her nickname will replace the ID in your list. Messages are sent by pressing “Enter”, newline is added
by combination “Shift”+”Enter”. If your contact is offline, messages are stored locally and pica-client will retry delivery periodically.

Now let’s suppose that your another friend John Smith has received your Pica Pica ID, created his account and wants to chat with you. You will
see this question

You can click “Yes” to add him, “No” to ignore him or “Add to blacklist” to ban him forever. Because he is a friend, probably you
want to select “Yes”. Then his name will appear in your contact list.

It is strongly recommended to always verify Pica Pica ID of your new contacts in order to prevent “man-in-the-middle” attack.
Key exchange and identity verification is a fundamental problem of encrypted communications, so you have to take it seriously.
It’s better to exchange Pica Pica IDs in person, but obviously that’s not always possible. You can make phone calls
to your contacts and ask them to read their Pica Pica ID and check that it matches ID in your contact list (right-click on contact
and select “Show Pica Pica ID”), then read them your ID and make them verify it in their contact list. This procedure significantly
reduces risk of silently replacing ID by some adversary. However, I don’t think that government agencies are totally uncapable of
imitating voice of selected person in real-time 🙂

Sending and receiving files.

You can exchange files using Pica Pica. Needless to say, file transfers are encrypted too. To send file, right-click on contact and
select “Send File”. File selection dialog will ask you which file you want to send.

Then file transfer window will show up.

Receiver of file has to click “Accept” in order to start tranfer.

Then file transfer starts.