Учётная запись
Для использования службы требуется зарегистрировать учётную запись, что может быть сделано через интерфейс клиента, а также интернет-портал. Для идентификации пользователей служба использует UIN (Universal Identification Number) — уникальный для каждой учётной записи номер, состоящий из 5-9 арабских цифр. Этот номер присваивается учётной записи при первичной регистрации пользователя в системе, после чего, в паре с паролем, может использоваться для аутентификации в системе. В последней версии мобильного клиента для J2ME появилась возможность входа по номеру мобильного телефона, который и становится логином для нового пользователя.
Осенью 2011 года в ICQ было внесено важное изменение: теперь служба ICQ поддерживает множественное подключение при использовании одной и той же учетной записи.
Для каждой учётной записи служба хранит следующие данные:
- никнейм — отображаемое имя пользователя, которое, в отличие от UIN, можно изменять, и которое не является уникальным, то есть может совпадать у различных аккаунтов;
- адрес электронной почты, дающий возможность восстановления доступа к аккаунту в случае утраты пароля, а также могущий использоваться для входа в систему вместо труднозапоминаемого UIN (ранее использовался также при поиске);
- публичную информацию, введённую пользователем, которая может включать имя, фамилию, список увлечений, географическое местоположение, знание языков, текстовое описание и т. д.;
- один аватар в формате BMP, JPEG или GIF;
- список контактов — набор UIN-номеров собеседников, формируемый пользователем, к которым он сможет иметь быстрый доступ и обозревать их статус присутствия через интерфейс клиента;
- статус присутствия;
- дополнительный информационный статус.
Инициировать переписку с другим пользователем и добавить его в список контактов можно, зная его UIN. В свою очередь, для поиска пользователей в системе существует внутренняя функция поиска, доступная через интерфейс клиента, которая позволяет получать списки пользователей, удовлетворяющих введённым в поисковом запросе критериям: совпадению по никнейму, а также дополнительной введённой пользователями информации.
Аккаунт не может быть удалён из системы, хотя такая возможность существовала до 2002 года.
Статус присутствия
С каждой учётной записью ассоциирован статус присутствия, являющийся индикатором того, подключён пользователь к сети или нет, и готов ли он в данный момент отвечать на сообщения. В списке контактов и в окне диалога показывается также статус пользователя. Основной статус пользователя служит индикатором его присутствия в системе и готовности отвечать на сообщения (хотя в последнее время число статусов резко возросло и перестало отвечать этим требованиям). Традиционно существует ряд основных статусов.
Если пользователь вообще отсутствует в системе на данный момент (не авторизован), то ему присваивается статус «Не в сети» или «Оффлайн» (Offline); если же он в сети (авторизован), то ему присваивается статус «В сети» или «Онлайн» (Online). Также существуют несколько промежуточных статусов:
- Отошёл (Away) — свидетельствует о том, что пользователь в течение определённого времени не проявлял активности (не двигал мышью и не нажимал клавиш). Статус может ставиться и вручную, обычно им сигнализируют небольшой период отсутствия за компьютером.
- Недоступен (N/A — Not Available) — говорит о том, что пользователь получил статус «Отошёл» и с этого момента в течение определённого времени продолжал пребывать в неактивном состоянии. Также может быть выставлено принудительно и обычно им сигнализируют долгосрочное отсутствие за компьютером (исключение: в ICQ 5.x этот статус выставляется автоматически при переходе в полноэкранный режим).
Существуют также статусы «Свободен для разговора (Free for chat)», «Не беспокоить» (Do not disturb) и «Занят» (Occupied). Начиная с ICQ 4, их нельзя проставлять, но можно считывать у других пользователей, которые, например, используют ICQ 2003b или ниже, а также у многих альтернативных клиентов. Однако, с приходом ICQ 6 вернулась возможность ставить статус Occupied, но при этом утратилась возможность получать статус Free for chat. Также стоит отметить, что в ICQ 6 статусы Do not disturb и Occupied, установленные у другого пользователя, воспринимаются одинаково, то есть как Occupied.
Помимо этого, для учётной записи пользователь может устанавливать особый режим — «режим невидимости» (invisible). В этом режиме другие пользователи будут получать для учётной записи статус присутствия «не в сети», а знать об активном режиме невидимости и получать актуальный статус присутствия смогут только пользователи, чьи учётные записи были внесены в список видимости пользователя.
Дополнительный информационный статус
Начиная со времени появления ICQ 5, в протокол ICQ были внесены небольшие дополнения, которые позволили пользователям иметь сразу два статуса — основной и дополнительный. Однако, до определённого момента (а именно до выхода в свет ICQ 6, в которой, правда, были проведены небольшие изменения в этом аспекте протокола) это являлось не более чем особенностью протокола ICQ, которую используют многие альтернативные клиенты ICQ. ICQ 5 и ICQ 5.1 предлагали пользователю только возможность поставить либо один из основных статусов, либо любой из дополнительных. Однако, стоит отметить, что, если в настройках клиента установлен режим автопереключения в статус Away и/или N/A по прошествии определённого времени, то он мог незаметно ставиться поверх установленного пользователем дополнительного статуса. Ценой же полной реализации этого механизма в ICQ 6 явилось невозможностью просматривать дополнительный статус и его содержание в старых версиях ICQ (5.0x и 5.1). Однако появился и плюс — возможность вставлять в статус форматированный RTF-текст.
Список контактов
После успешной авторизации клиент ICQ загружает с сервера список контактов пользователя. Контакты в списке могут быть разделены на группы, имена и количество которых изменяются пользователем.
При добавлении контакта может потребоваться авторизация — разрешение видеть его статус присутствия и отправлять ему файлы. Для таких контактов формируется запрос на авторизацию, который доходит до пользователя добавляемой учётной записи в виде системного уведомления, на которое он может ответить либо согласием, либо отказом, по желанию снабдив решение текстовым комментарием.
Максимально можно иметь 1000 контактов.
Приватные списки
Для обеспечения необходимого уровня конфиденциальности в ICQ существует несколько списков, выполняющих определённую функцию, в которые каждый пользователь может заносить любые контакты без уведомления последних.
Существует 3 списка:
- Список игнорируемых — от оказавшихся в этом списке пользователей не приходит никаких уведомлений, им не показывается никакой статус добавившего, кроме «Не в сети». При добавлении в этот список пользователь удаляется из списка контактов, при удалении добавляется автоматически. Если контакт требует авторизации, то её придётся запрашивать снова.
- Список видящих — пользователям из этого списка показывается статус «Невидимый», если он выбран, за исключением опции «Невидимый для всех», возможной в некоторых альтернативных клиентах (например QIP, Miranda, RnQ и прочие).
- Список невидящих — пользователям из этого списка всегда показывается статус «Не в сети», за исключением опции «Видимый для всех», возможной в некоторых альтернативных клиентах.
Обмен сообщениями
С каждым из контактов можно вести личную переписку. Если отправитель не отключил эту возможность, то, в зависимости от клиента, получатель информируется о наборе сообщения, что создаёт эффект присутствия отправителя. Длина отправляемого сообщения ограничена.
В случае, если в момент отправки сообщений адресат не находился в сети, они будут сохранены службой и доставлены адресату, как только тот подключится к сети.
Служба позволяет использовать в тексте отправляемых сообщений форматирование, а именно — определять гарнитуру, цвет, начертание и размер шрифта фрагментов сообщения, направление текста, а также вставлять в сообщения смайлы.
Отправка файлов
В ICQ реализована передача файлов по технологии Peer-to-peer, то есть при непосредственном интернет-соединении двух компьютеров, минуя сервер. Передача файлов возможна только тогда, когда статус у получателя «В сети». Подобный способ передачи файлов может быть опасен тем, что отправитель узнает IP получателя (или наоборот) или отправит ему вредоносное программное обеспечение. Начиная же с ICQ 5, появилась возможность передавать файлы через сам сервер ICQ, который играет посредническую роль. Это необходимо в том случае, если клиент ICQ определил, что P2P-соединение установить невозможно (закрытые порты в межсетевых экранах, отсутствие персонального внешнего IP и др.).