Java-мидлеты для мобильного телефона
Даже если у вас есть КПК и ноутбук, непременно настанет такой момент, когда их не окажется под рукой или полностью разрядятся аккумуляторы. И по известному закону подлости именно в эту минуту потребуется срочно просмотреть почтовый ящик, заглянуть на корпоративный сайт или пообщаться с кем-то в аське. Спасёт вас старый, надёжный, работающий несколько суток от одной зарядки мобильник, с которым, в отличие от КПК и ноутбука, обычно не расстаёшься даже на пляже.
ICQ
Интернет-пейджеры настолько прочно вошли в жизнь, что для многих уже сегодня стали основным средством общения и даже ведения деловых переговоров. Лучшим ICQ-пейджером для поддерживающих J2ME телефонов на сегодня является небезызвестный Jimm [1]. И хотя официальная, стабильная версия за номером 0.4.3 работает вполне нормально, практически все пользователи, которых следует называть «продвинутыми», используют бета-версии, обладающие чуть большим функционалом и лучше работающие с некоторыми новыми мобильными телефонами. Наиболее активно в настоящий момент развивается русская бета от разработчика с ником ArtDen, которую можно взять на страничке www.jimm.org/nightly.php?ru [2] (в данный момент — версия 0.5.040606).
Там же вы найдёте ссылки на форумы, посвящённые работе программы на конкретных телефонах — настоятельно рекомендуется их изучить, так как это поможет правильно настроить программу и устранить некоторые глюки.
Ещё один вариант русского Jimm для телефонов Siemens и Sony-Ericsson можно найти по адресу jimm.net.ru — им занимался некто с ником ip82, но проект долго не обновляется — по имеющимся данным, автор полностью переключился на официальный билд.
И, наконец, большой FAQ по программе находится на сайте denis-mobile.chat.ru/jimm/faq/faq.htm [3] — он обязателен к прочтению. Из него вы, в частности, узнаете, почему созданные в Миранде контакты «Джим» отображает без ников (Миранда не заполняет поле «Ник») и что значит ошибка 121 (не работает GPRS-Интернет).
Сама программа мало отличается от любого другого интернет-пейджера, устанавливаемого на обычный ПК: всё прекрасно работает по-русски (возможно, не со всеми альтернативными клиентами, но такая проблема и на ПК имеет место), отображает смайлики (более того — их можно менять, используя, например, тот же набор, что и в QIP — в форумах процедура описана, и без труда можно найти готовые наборы), позволяет хранить историю сообщений, может уведомлять о приходе сообщений звуковым сигналом и вибрацией, оповещает о подключении нового пользователя и наборе вам сообщения, даже позволяет не выходя из программы делать снимок фотокамерой и отправлять его своему собеседнику, да ещё и трафик подсчитывает, что весьма актуально для дорогостоящего GPRS. Естественно, имеется и полный набор операций с контактами — начиная от получения данных и заканчивая поиском новых. В общем — обычный, полноценный пейджер и рассказывать о нём вроде бы нечего. Но, к сожалению, не всё так просто.
При работе Jimm (и вообще любого ICQ-пейджера) через GPRS пользователя сегодня ждёт грандиозная пакость со стороны сотовых операторов. Неизвестна точно причина — одни говорят, что работа пейджеров блокируется едва ли не сознательно, дабы содрать с желающих деньги, другие — что всему виной слишком маленький пул IP-адресов «опсосов» (операторов сотовой связи), но соединиться через GPRS с сервером ICQ с каждым месяцем становится всё сложнее и сложнее. Те, кто пользуются услугами Билайн, страдают больше всего — ICQ уже достаточно давно через него практически не работает (по крайней мере, в Москве и области), и если и удаётся соединиться, то только глубокой ночью. По многочисленным сообщениям в форумах можно заключить, что и в МТС ситуация ухудшается с каждым днём. Мегафон, говорят, ещё держится. Что же делать?
Выходов из положения несколько. Во-первых, вы можете сдаться перед происками опсоса и подключить услугу «IP-адрес» [4] у сотового оператора. У того же Билайна для кредитных тарифов она стоит 5 $ ежемесячно и 5 $ — подключение. Трафик — 19 центов за мегабайт. Дорого? Дорого. Зато вы получаете полноценный «внешний» IP и ICQ сразу начинает «летать».
Есть вариант попроще — разработчики известного мессенджера для PocketPC mChat/gsICQ [5] пытаются создать специальный сервер-редиректор: вы логинитесь к нему, а уже он логинится за вас к серверу ICQ. В результате вы не привязаны к IP-адресам Билайна, которых не хватает на всех пользователей ICQ (сервер ICQ имеет ограничения на залогинивание нескольких аккаунтов с одного IP). Сервис пока в стадии тестирования, информацию о нём можно найти разве что в форумах, но скажу по секрету — свяжитесь с Артёмом Козаковым по ICQ 44-613-205 и попросите вас зачислить в тестеры. Если повезёт — получите необходимые параметры, ваш UIN будет прописан на сервере-редиректоре, и вам останется только занести его в настройки Jimm вместо login.icq.com. Минусы такого решения — после тестирования сервис станет платным (хотя и дешевле, чем «Прямой IP» опсоса), и работает он пока далеко не всегда.
Ещё один способ решения проблемы — трюки с настройками самого JIMM. Дело в том, что физически серверов авторизации ICQ довольно много, и login.icq.com на самом деле всегда разный. Можно попробовать вместо него указать непосредственно IP одного из известных серверов:
- 64.12.161.185
- 205.188.153.121
- 64.12.161.153
- 64.12.200.89
- 205.188.179.233
Или альтернативные сервера:
- icq.mirabilis.com
- ibucp-vip-d.blue.aol.com
Порты в обоих случаях пробуйте указывать разные: 5190, 4000, 5201, 443.
Также для улучшения стабильности соединения попробуйте в профиле GPRS телефона (для Jimm желательно включить работу через GPRS-Internet, а не через WAP, кроме того, рекомендуется явным образом прописать DNS-сервера опсоса) установить параметр «Разрывать соединение» равным, скажем, 100000 секунд (или все нули).
В настройках сети Jimm задайте: тип подключения — Сокет, поддерживать подключение — Да, «таймаут пинга» — 20 (чем меньше цифра, тем чаще пинг, но тем больше потребление трафика; как только добьётесь устойчивого соединения, попробуйте её увеличить, но не более значения тайм-аута соединения, установленного в профиле GPRS), асинхронная передача — Да, остальные флажки выключены, либо попробуйте ещё установить «Доп. подключен.», «Безопасный лог». В настройках Jimm отключите звук при поступлении сообщений — некоторым телефонам это не нравится.
И последний вариант — работа Jimm через прокси. На сайтах типа www.samair.ru [6], www.proxylists.net [7], www.atomintersoft.com [8] найдите списки общедоступных Socks-прокси, протестируйте (онлайн-тест обычно имеется на таких сайтах), выберите работоспособные, загоните их список в txt-файл, киньте его в телефон. В настройках Jimm задайте использование первого прокси из полученного списка. «Тайм-аут пинга» можно выставить побольше — 100-200 секунд. Если установленный прокси прикажет долго жить, то возьмите из списка следующий. Когда список закончится, снова прогуляйтесь на указанные выше сайты за новым. Наилучший вариант — поднять собственный Socks5, например, на рабочем ПК, поскольку он уже не отключится, да и при работе через чужие серверы всегда есть риск подслушивания или воровства UIN.
Instant Messenger
Если же у вас ничего не получится, то попытайте счастья с Jabber-клиентом, встроенным в ваш мобильник и полностью интегрированным с адресной книгой! Обращали ли вы внимание на строчку Instant Messenger в его меню? Это он и есть! (Он же — IMPS, он же — Wireless Village, читайте www.openmobilealliance.org/tech/affiliates/wv/wvindex.html [9]) И, оказывается, совсем не обязательно, чтобы оператор поддерживал эту услугу, как многие думают — уже есть как минимум три бесплатных общедоступных сервера, позволяющих работать этому пейджеру в том числе и с ICQ.
Для начала надо завести аккаунты на этих серверах. Причём мелочиться не будем — зарегистрируемся сразу на трёх! Но прежде всего я советую создать новый ICQ-аккаунт, специально для работы через мобильник. Дело вот в чём. Многие телефоны не могут обрабатывать большие контакт-листы. Обычно максимум — 20-50 контактов. Причём чем больше контактов, тем хуже стабильность и быстродействие. Поэтому есть смысл создать новый UIN, в контакт-листе которого будут лишь самые необходимые люди (10-20, не более), с которыми вам может понадобиться экстренно связаться. Кроме того, IM телефона, скорее всего, не будет поддерживать кириллицу, поэтому, когда вы будете добавлять новые контакты, вам придётся каждому сообщить, что по этому UIN с вами следует общаться только транслитом. Можно даже в ник вставить напоминалку: NIK_Mobil (Translite!). И, наконец, это гарантия, что никакие глюки не убьют ваш основной контакт-лист.
Итак, открываем Yamigo [10] и регистрируем учётную запись. Этот сервер самый продвинутый — он поддерживает обмен сообщениями с сетями MSN, AIM и ICQ. Более того, среди приятностей — получение некоторых RSS-лент (новости CNN, BBC) в виде мгновенных сообщений на ваш мобильник. И даже некоторый интерактив — например, если вы отправите сообщение контакту weather, то получите данные о погоде в нужном вам городе. Подробные инструкции вы получите сразу после первого подключения в виде тех же сообщений. Обратите внимание на флажок «Fetch contacts?», когда будете вводить данные ICQ в форму регистрации. Если вы его выделите, то система должна «подсосать» из ICQ ваш контакт-лист. Однако, это происходит не всегда, поэтому надёжнее открыть адресную книгу телефона и для тех контактов, которые занесены в контакт-лист созданного вами «экстренного» UIN, вписать IM-идентификаторы (они же — WV ID пользователя) вида: ICQ_UIN@aim.com. Впрочем, Yamigo хоть самый продвинутый, но и самый глючный — не факт, что и в этом случае вы увидите эти контакты в онлайне, когда подключитесь к сервису. Поэтому, собственно, и надо попробовать все три службы и выбрать наиболее подходящую. Кстати, пока не ушли с сайта, пройдитесь на форум — там обсуждаются некоторые проблемы работы сервиса и много русскоязычных сообщений.
После того как получите по электронной почте подтверждение регистрации, открывайте настройки IM в телефоне и создавайте новую учётную запись. Ничего сложного тут нет, надо в соответствующие поля внести выбранный вами логин, пароль, указать сервер авторизации http://www.yamigo.com/wv/control.
Интернет-профиль должен быть выбран GPRS-Internet. Не WAP! Это справедливо вообще для всей работы с интернетом через телефон, поскольку работа через APN internet.<оператор>.ru раз в десять дешевле, чем через wap.<оператор>.ru.
Теперь, если ваш телефон позволяет иметь несколько учетных записей IM, можно сразу направиться на другие сервера. Если нет — протестируйте пару дней работу с Yamigo. Если всё устроит — то и незачем от добра искать добра. Учтите только, дело это недешевое. Постоянно держать IM включённым — разоришься, поскольку операторы имеют коварную привычку округлять трафик внутри одной GPRS-сессии в свою пользу. Например, потратили вы 10 килобайт, а с вас содрали как за 40! Итого — удорожание в четыре раза! Так что засеките, сколько денег с вас снимают в течение, скажем, трёх часов непрерывной работы IM. И какие получаются расходы, если в течение этого времени активно общаться. Можно даже заказать подробную детализацию у оператора. Чтобы жабе не было потом мучительно больно…
Следующий сервер — Smart VAS [11]. Это наиболее простая служба, она не имеет никаких дополнительных примочек и работает только с MSN. Поэтому если хотите через неё с кем-то общаться, то лучше всего заставить его тоже подключиться к Smart VAS — ведь ICQ для подобных систем — это внешние контакты, и ничто не мешает общаться друг с другом внутри самой Smart VAS. К тому же администрация обещает расширение, в том числе и выход на ICQ. Единственное, при регистрации лучше указывать e-mail, скажем, на Gmail. Почему-то на ящики российских бесплатных почтовых служб письма с подтверждением регистрации и паролем не приходят. На сайте тоже есть форум, можно пообщаться с администратором. Кстати, его можно добавить и в ваш контакт-лист на телефоне — ник admin. Настройки телефона для этой службы аналогичны, только сервер авторизации на этот раз — http://www.smartvas.com/oma/imps.
И, наконец, служба, которая проверена, работает и которая лично меня устроила больше всего — Chatnu [12]. Только будьте готовы учить датский язык — если предыдущие два кандидата говорили на вполне читабельном пиндосском, чтобы понять этот, придётся повозиться. В меню сайта нажимайте Tilmeld [13]. Появится форма регистрации аккаунта. Brugernavn — это ваш ник, Mobilnummer — телефонный номер (вводим от балды 8 цифр), Fornavn и Efternavn — имя и фамилия. Остальное понятно без перевода. Сервис поддерживает MSN, ICQ/AIM/AOL Messenger и отображает контакты «Аськи» даже если вы их не вбили в адресную книгу (формат записи IM-контактов для связи с ICQ в телефонной книге всё тот же — ICQ_UIN@aim.com). Форум на этом сайте, как вы понимаете, бесполезен. Либо ищите онлайн-переводчика с датского. Сервис довольно качественный, но понять, какие дополнительные услуги на нём можно поиметь, опять-таки затруднительно ввиду языкового барьера (судя по всему — всё те же новости). Если разберётесь — пишите, доведу до сведения общественности в техподдержке тонкого Upgrade. Для настройки профиля в телефоне необходимо кроме стандартных данных указать сервер http://imps.chatnu.dk:4899.
Теперь, когда всё настроено, можно запускать. Скорее всего, в контакт-листе IM после соединения вы обнаружите только UIN, без ников. Чтобы отображались ники, надо в адресной книге заполнить поле «Отображаемое имя» либо в опциях самого IM выбрать данные каждого контакта и переименовать его. Теперь все находящиеся в онлайне контакты будут отображаться с никами (оффлайновые без ников, но, возможно, на разных телефонах это происходит по-разному). К сожалению, как я уже говорил, кириллица, скорее всего, поддерживаться не будет — общайтесь транслитом.
Bombus
Если же встроенного IM у вас в телефоне нет, то попробуйте установить либо J2ME-клиента от самого WV-сервиса — Smart VAS, например, таковой предоставляет, либо попробуйте совершенно бесподобный Jabber-клиент Bombus [14], который также несложно настроить на работу с ICQ через Jabber. Менее удобно, чем Jimm, требует много больше телодвижений по настройке, нежели IM, не интегрируется с адресной книгой телефона, но всё же оно того стоит. По крайней мере, по возможностям не уступает Jimm, да и русский язык поддерживает отличие от IM.
Для настройки же Bombus делаем следующее. Хотя Bombus и позволяет создавать новый Jabber-аккаунт и даже добавлять ICQ-транспорт, удобнее произвести первоначальную настройку учетной записи на ПК. Поэтому скачайте и установите на ПК любой Jabber-клиент, например — PSI [15]. В этой программе создаём новый аккаунт — в ниспадающем меню выбираем Account Setup — Add, вводим никнейм, ставим флажок Register New Account и жмем Add.
В появившемся меню необходимо указать JabberID вида nickname@jabber.ru, где jabber.ru — сервер, к которому вы хотите подключиться. Наиболее известны следующие Jabber-серверы:
- jabber.ru (IP: 213.180.203.19, 213.180.203.18)
- jabber.ttn.ru (IP: 213.24.85.3)
- jabber.snc.ru (IP: 212.6.0.100)
- jabber.infos.ru (IP: 195.209.229.42)
- jabber.kiev.ua (IP: 193.125.78.117)
Выбирайте любой. Жмем Register — в PSI появилась первая учетная запись.
В контекстном меню этой учетной записи выбираем Status — Online и после подключения к серверу — Service Discovery. Перед вами предстанет список транспортов, поддерживаемых выбранным сервером. Их может быть довольно много, но нас сейчас интересует транспорт AIM/ICQ — в его контекстном меню выбираем команду Register. («Родной» для ICQ транспорт JIT (icq.jabber.ru) настроите позднее самостоятельно — он более загружен и несколько менее стабилен, так что лучше всего зарегистрировать оба.) Через некоторое время появится приглашение ввести UIN и пароль ICQ-аккаунта.
После создания транспорта в главном окне PSI щелкните по aim.jabber.ru и в появившемся диалоге нажмите Add/Auth. Чтобы залогиниться в ICQ необходимо в контекстном меню транспорта выбрать Log On. К сожалению, PSI не может загрузить контакт-лист ICQ, поэтому каждого юзера добавляем в него вручную — в контекстном меню созданной учетной записи выбираем Add Contact, устанавливаем Service — aim.jabber.ru и в поле Service ID Translation вписываем UIN контакта без дефисов. Жмем Get Jabber ID, Resolve и Add. Контакт добавлен. В основном окне PSI щелкаем по нему мышкой и проводим стандартную процедуру авторизации. Кстати, контакт-лист в Jabber называется «ростер».
Работа с PSI завершена. Можете удалить его с ПК. Заливаем теперь в телефон Bombus и начинаем его настройку. В разделе «Новый аккаунт» указываем ник созданной на Jabber учетной записи (без @jabber.ru) и его пароль, сервер — jabber.ru (или тот, который вы выбрали), имя хоста — это IP сервера. Более никаких флажков не ставим, даем созданному профилю понятное имя и коннектимся к серверу.
Сразу после соединения видим все свои контакты, причем русские имена отображаются нормально. Чтобы начать работу осталось выбрать транспорт aim.jabber.ru и в его контекстном меню — «Действия» — «Подключиться». Все. Теперь видим кто в онлайне, кто — нет (если не сработало и онлайн-контакты не показываются, выгрузите Bombus и запустите заново).
Пишем сообщения на великом и могучем, активно используем T9. На досуге можете почитать подробную документацию [16] по работе с программой и покопаться в настройках. В частности, на Siemens S75 при проблемах связи попробуйте установить тайм-аут порядка 25 секунд.
А настройки и возможности программы богатейшие: это и группы контактов, поддержка неограниченного числа аккаунтов, игнор-лист, конференции, поддержка смайликов, свето/вибро/звуко сигнализация, динамический свет в Siemens M55, поиск в ICQ и в Jabber, запись истории и/или всех статусов в txt и многое другое.
Как видите, Bombus — это самый непростой вариант, но для многих пользователей он себя полностью оправдывает, как самый беспроблемный при итоговом расчете — нет никаких сложностей с подключением к ICQ через GPRS, нет проблем с кириллицей, трафик при оптимальных настройках (подборе максимального рабочего тайм-аута) может лежать во вполне разумных пределах.
MailMan
Но несмотря на оперативность и удобство ICQ, без электронной почты обойтись невозможно. Конечно, современные телефоны в основном имеют встроенные почтовые клиенты, но пользоваться ими чаще всего невозможно — либо кириллица не поддерживается вообще, либо поддерживается одна-единственная кодировка, либо настройки недостаточно гибкие, либо не работает с Gmail. Всех этих недостатков лишена популярнейшая и единственная в своем роде программа MailMan [17]. Наилучшим образом программа заточена под телефоны Siemens, но будет работать и на любых других аппаратах с поддержкой MIDP1.0 или выше. На Сименсах же вы получите плюс ко всему интеграцию адресной книгой телефона, возможность работы с файловой системой, а также поддержку SSL.
Как почтовый клиент программа достаточно стандартна, обеспечивает весь необходимый функционал — все русские кодировки, множество почтовых ящиков, загрузку только заголовков, сохранение копии письма на сервере, экспорт загруженных писем, сохранение и отправка вложений и так далее. Разве что IMAP пока не поддерживается. Вопросов по настройке также никаких не возникает — если вы в состоянии вспомнить свой пароль и настроить аккаунт, скажем, в Outlook Express, то и здесь справитесь легко.
Единственная трудность появится при работе с Gmail. Дело в том, что этот почтовый сервис работает непременно через шифрованное соединение, но при включении на телефонах Siemens SSL-шифрования все равно не дает доступа, так как по умолчанию в этих телефонах отсутствуют необходимые сертификаты. Для решения этой проблемы на первой же странице сайта программы находится ссылка на архив с полным набором сименсовских сертификатов, в том числе и недостающих. Однако просто так залить их в телефон не получится — сертификаты должны располагаться на скрытом от пользователя диске и чтобы получить к нему доступ придется прибегнуть к помощи DATA-кабеля и специальных программ. Процедура эта не очень простая — тем самым вы отключите «защиту от дурака», поэтому начните с тщательного изучения форума forum.allsiemens.com [18] и сайта s75.siemens-club.org [19].
Opera
И последняя программа из обязательного мобильного набора — браузер Opera Mini [20]. Но не спешите качать официальную версию за номером 2. Пусть в ней и появились красивые анимированные переходы, по возможностям на голову выше стоят так называемые моды — переделанные народными умельцами дистрибутивы. Лучший мод можно найти по адресу opera.wapland.org [21] (или в любом форуме, посвященном мидлетам для мобильников. Автор мода скрывается под ником DG-SC). По сравнению с официальной версией здесь присутствуют такие незаменимые функции как экспорт-импорт закладок и их значков (а как иначе бекап делать?), создание папок в списке закладок, возможность загружать файлы на телефон с поддержкой ссылок-редиректов (во второй официальной версии, правда, закачка файлов уже появилась), полная поддержка русского языка, украинских и белорусских символов, работа с WAP (во второй официальной от поддержки WAP-тэгов зачем-то отказались), возможность открывать файлы с диска телефона, уменьшение размеров шрифта, открытие выбранной ссылки в штатном браузере, встроенный файловый менеджер, копирование-вставка текста, настройка горячих клавиш, блокировка клавиатуры, управление подсветкой (чтобы не гасла, пока вы читаете) и многое другое.
Громадное преимущество этого браузера перед штатным «телефонным» состоит в том, что работает он через прокси-сервер Opera, который специальным образом ужимает запрашиваемые вами странички, так, что трафик реально снижается чуть ли не в разы! А чтобы избежать засады с частым разрывом GPRS-сессии, если вы долго не переходите к новым страницам, имеется важная функция «Теневое соединение» в настройках сети — она держит соединение с сервером Opera всегда открытым, в результате сессия не разрывается и хитрый опсос не «округляет» вам каждые 10-15 килобайт до 40. Кроме того, на сервере выполняется ряд операций, которые обычный браузер делает сам — Opera-Mini получает как бы уже пережеванную и подготовленную информацию, которую ей остается только лишь вывести на экран. Соответственно, нагрузки на процессор — минимум. Еще одна «мелочь» — официальная Опера-Мини сохраняет различные настройки сайтов (cookies) у себя на сервере и при удалении программы они теряются. В моде введена возможность резервирования личных данных авторизации («Расш. меню» → «Утилиты» → «Код авторизации»). Так что — Must have!
IP-адреса DNS-серверов операторов сотовой связи
- МТС:
- DNS1:
- 213.087.000.001
- DNS2:
- 213.087.001.001
- Билайн:
- DNS1:
- 217.118.066.243
- DNS2:
- 217.118.066.244
- МегаФон-Москва:
- DNS1:
- 10.22.10.20
- DNS2:
- 10.22.10.21
Совет: Siemens S75/SL75 и IM
Если при использовании телефона Siemens S75/SL75 или аналогичных, на платформе NewSGold не удается добиться стабильной работы встроенного IM-клиента, попробуйте, открыв скрытые диски, найти файл Config\Default\PD\imps_provider_1.pd. Скопируйте его на ПК и, открыв в Блокноте, измените строку:
000037:T:WV_DEFAULT_WBXML_VERSION=1.2
таким образом:
000037:T:WV_DEFAULT_WBXML_VERSION=1.1
То есть укажите более раннюю версию протокола. После этого IM будет работать гораздо стабильнее.