Тема не совсем обычная для этого блога, но возможно мой опыт и в этой области будет полезен и облегчит кому-нибудь решение по синхронизации контактов (адресной книги) между почтовой программой на персональном компьютере и смартфоном. Синхронизация предполагает, что если Вы добавляете или изменяете контакты человека на одном устройстве, то они в автоматическом режиме изменяются и на другом устройстве – это очень удобно, и гарантирует что никакая информация не потеряется, а на обоих устройствах постоянно будет самая свежая адресная книга. После 8 лет использования у меня сломался телефон, и я купил новый – оказалось, что многие функции за эти годы очень сильно продвинулись, хотя какие-то вещи поменялись не в лучшую сторону. Основной отрицательный момент – разработчики программ для современных смартфонов и разработчики почтовых программ на “большом” компьютере не нашли общего языка для синхронизации контактов – вернее протокол такого обмена разработан, но в его применении есть свои подводные камни, о чем я расскажу ниже. У меня смартфон на базе Андроид, но описанные мной ниже решения годятся также для iPhone, Windows Phone и Blackberry.

На всех Андроид-смартфонах возможна синхронизация контактов с аккаунтом Google (и это даже происходит по умолчанию если Вы специально не отключили такую опцию), но при этом пользоваться контактами можно только через интерфейс GMail – тогда как почтовые программы на ПК напрямую ни с аккаунтом Google, ни со смартфоном синхронизироваться не будут. Получается, что адреса электронной почты надо вводить дважды – один раз в смартфон, один раз в почтовую программу; да и один и тот же человек может быть записан в разных вариациях на смартфоне и в почтовой программе. Конечно, это неудобно и увеличивает вероятность того, что в нужный момент в одном из двух устройств не окажется нужного емейла. Поэтому целью данной заметки будет рассказ о том, как автоматизировать обмен контактами между смартфоном и почтовой программой на ПК – чтобы вводить контакт полностью только в одно устройство, а на втором этот контакт появлялся бы автоматически. Существует два основных способа добиться такой синхронизации – либо через локально установленную на компьютере программу, либо через специальный сервер в Интернет.

Синхронизация через локальную программу (напрямую между смартфоном и ПК)
Наиболее простой способ – установить специальную программу как на ПК, так и на смартфон. Она будет синхронизировать контакты при подключении смартфона к ПК через USB-порт, по Wi-Fi или Bluetooth.
Основное ограничение ряда таких программ – они позволяют синхронизировать контакты только с платной почтовой программой Outlook (которая схожа по названию, но является более продвинутой версией устанавливаемой вместе с Windows по умолчанию Outlook Express). Есть программы, которые позволяют синхронизировать контакты не только с платной Outlook, но и с Thunderbird или другими бесплатными почтовыми приложениями с довольно развитой функциональностью. Помимо синхронизации, такие программы позволяют делать резервные копии памяти смартфона и управлять его содержимым – смс, фотографиями, историей звонков, настройками и проч. Полезны бывают такие программы и при покупке нового смартфона – они позволяют полностью скопировать информацию со старого аппарата на новый.

  • MyPhoneExplorer – бесплатная программа. Позволяет синхронизировать контакты и календарь между смартфоном на базе Андроид и программами Outlook, Windows contacts, Thunderbird, SeaMonkey, Lotus Notes. Кроме этого, позволяет скопировать на ПК смски со смартфона, и производить ряд настроек в смартфоне. Инструкции по настройке программы можно найти на её сайте. На ряде форумов упомянуто, что иногда программа работает некорректно – но относится ли это к последней версии не знаю.
  • MOBILedit – платная программа. Обладает расширенной функциональностью – может работать со смартфонами на базе Android, iPhone, Windows Phone, Windows Mobile, Blackberry, Symbian. Но из почтовых программ на ПК поддерживает только MS Outlook и MS Outlook Express. Программа хорошо документирована, позволяет набирать смски с компьютера, делать резервные копии, может синхронизировать между собой несколько мобильных устройств на разных платформах.
  • BirdieSync – платная программа. Позволяет синхронизировать контакты между смартфоном на базе Android, Pocket PC, или iPhone с почтовыми программами Thunderbird и Sunbird. Позволяет синхронизировать несколько мобильных устройств и компьютеров.
  • GO Contact Sync Mod – бесплатное приложение. Позволяет синхронизировать контакты и календарь между Outlook и учетной записью Google (и уже через нее со смартфоном). Функций резервного копирования или управления другим содержимым смартфона не предоставляет.
  • Отдельные производители смартфонов выпускают программы, которые позволяют синхронизировать контакты между Outlook (или Outlook Express) и только смартфонами данного производителя: HTC Sync – для HTC, Kies – для Samsung, и проч.

Поскольку я пользуюсь почтовой программой TheBat, то ни одна из перечисленных выше программ не подходит. Кроме того, могут не совсем подойти такие программы и тем, кто хочет синхронизировать контакты на двух компьютерах (рабочем и домашнем). Поэтому рассмотрим вариант синхронизации контактов через специальные серверы в Интернет.

Синхронизация через CardDAV-сервер (данные между смартфоном и ПК передаются через специальный сервер в Интернет)
Сначала приведу немного теории. Этот способ предполагает обмен контактами между смартфоном и почтовой программой по специальному протоколу CardDAV, а если надо синхронизировать события календаря – то по протоколу CalDAV. Большим преимуществом CardDAV (и CalDAV) является наличие в Интернет бесплатных для частных лиц серверов, которые позволяют безопасно хранить и обмениваться контактами между смартфоном и почтовой программой – при этом пользователь должен просто ввести на обоих устройствах имя сервера, полученные при регистрации имя и пароль. Вся внутренняя “кухня” обеспечивается администраторами серверов, которые существуют за счет платы корпоративных клиентов или пользователей, которым нужна синхронизация контактов между 3 и более устройствами (например, единая адресная книга может поддерживаться на двух компьютерах и пяти телефонах). И с ПК, и со смартфона программа будет передавать контакты на сервер – т.е. синхронизация будет происходить когда по крайней мере одно из устройств подключено к Интернету. Одновременного подключения Ваших устройств к Интернету не требуется, потому что сначала с сервером может синхронизироваться почтовая программа на ПК, а когда к Интернету подключится смартфон – то с сервером синхронизируется и он.
В принципе, любой из DAV-серверов можно установить и у себя на локальном ПК, который будет использоваться как сервер – однако это требует продвинутых навыков (кратко это описано например тут, тут, тут и тут). Продвинутые пользователи могут выбрать CardDAV и CalDAV сервер на любой вкус из бесплатных Baikal, radicale, SabreDAV, ownCloud). При выборе сервера надо учитывать также какой тип синхронизации поддерживает приложение на смартфоне и почтовая программа – Digest или Basic, но обычным пользователям эти детали не важны.
Теперь перейдем к практике. Условно все действия можно разбить на три шага.
Во-первых, Вам надо зарегистрироваться на одном из веб-сервисов, которые поддерживают CardDAV. Все равно какой из таких сервисов Вы выберите: Zimbra, Yandex, fruux, FastMail, GMX, Posteo или другие.
В качестве веб-сервиса с поддержкой CardDAV можно использовать и собственно Google (и тогда все контакты будут еще и доступны через веб-интерфейс Gmail), однако для него описаны сбои при синхронизации и по отдельным отзывам иногда происходит “съедание” первой цифры телефона если в книге контактов он начинается с “8” а не “+7”. Так это или нет – на знаю, синхронизацию через Google я пробовать не стал.
Важным, и отнюдь не интуитивным, действием после регистрации в таких веб-сервисах является необходимость однократного начального импорта адресной книги из почтовой программы в аккаунт веб-сервиса в формате vCard. Нужно это для того, чтобы веб-сервис мог отслеживать, какие именно контакты были добавлены или изменены в почтовой программе и на смартфоне. Без этого однократного начального импорта устройства будут нормально присоединяться к веб-сервису, но синхронизации контактов происходить не будет. Этот момент прописан в инструкциях только к некоторым веб-сервисам с поддержкой CardDAV, и если его не знать – то можно потерять довольно много времени на выяснение причин почему все настроено как надо, но не работает. Для того чтобы синхронизация между устройствами происходила, в веб-сервис должен быть внесен хотя бы один контакт.
Во-вторых, Вам надо установить специальное приложение на смартфон. Как настраивать выбранное приложение можно узнать либо на перечисленных выше веб-сервисах, либо на сайтах самих Андроид-приложений.
Для Андроид-смартфонов существует несколько приложений, которые позволяют синхронизировать контакты и события календаря через протоколы CardDAV и CalDAV. Можете выбрать одну из приведенных ниже:

  • DAVDroid – приложение с полностью открытым исходным кодом и поддержкой русского языка в интерфейсе, позволяет синхронизировать и контакты, и календарь. Если устанавливать его через GooglePlay – то оно является платным, если устанавливать его же через F-Droid – то оно бесплатно. Инструкции по настройке можно найти тут.
  • CardDAV-Sync (а если надо синхронизировать и календарь – то CalDAV-Sync). Инструкции по настройке можно найти тут.
  • ContactSync

Такие же приложения существуют и для смартфонов на базе iPhone, BlackBerry и Windows Mobile.
В-третьих, Вам надо настроить почтовую программу. Здесь проблем и особенностей больше всего: потому что не все почтовые программы поддерживают протокол CardDAV, и даже те которые поддерживают – подчас делают это не совсем корректно. Давайте разберем каждую почтовую программу отдельно.
Thunderbird. Встроенной поддержки CardDAV нет, поэтому надо устанавливать плагин SOGo Connector. Как его установить и настроить написано тут. Мне Thunderbird не очень нравится, поскольку в нем отсутствует хорошо продуманная система шаблонов, и этот недостаток лишь частично нивелируется дополнительным плагином SmartTemplate4.
Outlook. Встроенной поддержки CardDAV нет, поэтому надо установить бесплатный плагин Outlook CalDav Synchronizer (есть также платные плагины Universal WebDAV Collaborator, EVO Collaborator, OutlookDAV).
ThaBat! В последней версии появилась встроенная поддержка CardDAV – но работает она неправильно (по крайней мере в версии 7.3.4)! Все контакты из адресной книги ThaBat правильно передаются на сервер с поддержкой CardDAV (и с сервера на смартфон). Но любые изменения, сделанные на сервере или на Андроиде внутри одного контакта (например, изменение или добавление номера телефона для уже существующего контакта) приводят к частичному исчезновению данных в адресной книге ThaBat (тогда как на Андроиде все остается в сохранности), а иногда контакты дублируются или в ThaBat “слетают” шаблоны написания писем для группы или данного контакта, также между ThaBat и сервером не синхронизируются даты дней рождений (все эти проблемы признают и в службе поддержки ThaBat). К сожалению, это делает невозможным полноценную синхронизацию между ThaBat, CardDAV-сервером и смартфоном.
Но поскольку в ThaBat есть другие удобные решения и я хочу продолжать им пользоваться, то я выработал следующую систему действий для адекватной синхронизации контактов между ThaBat и смартфоном:
1. На устройстве Андроид я ввожу только новые контакты в адресную книгу аккаунта CardDAV-приложения (т.е. при вводе нового контакта в поле “Хранить в” надо указывать чтобы он сохранялся в аккаунте CardDAV-приложения), и при помощи Андроид-приложения эти новые контакты синхронизируются с CardDAV-сервером. В ThaBat отдельная (не основная) адресная книга также синхронизируется с CardDAV-сервером в автоматическом режиме. Таким образом, все новые контакты надо вводить только на Андроиде, и они автоматически перебрасываются в адресную книгу ThaBat.
2. Периодически я “перебрасываю” эти новые контакты внутри ThaBat из адресной книги, которая синхронизируется с сервером, в основную адресную книгу. Причем новые контакты можно перебрасывать в отдельные группы (категории) контактов адресной книги – что позволяет их нормально упорядочивать (тогда как по CardDAV ни одна почтовая программа ни с одним смартфоном в принципе не может синхронизировать информацию к какой группе в адресной книге принадлежит контакт, даже когда все остальное содержимое контакта синхронизируется нормально).
3. После “переброски” всех данных в основную адресную книгу ThaBat я стираю все контакты в адресной книге на смартфоне (т.е. на смартфоне не остается вообще ни одного контакта).
4. Сразу после этого я выгружаю все контакты из адресной книги ThaBat в формате vCard, и импортирую этот vCard-файл в адресную книгу на смартфоне (важно что импорт из vCard-файла производится именно в адресную книгу телефона, а не в адресную книгу аккаунта Google или аккаунта CardDAV-приложения).
Таким образом, и на смартфоне, и в ThaBat получается одинаковый по содержимому набор контактов – для чего и нужны все эти действия.
В этой схеме есть два не очень комфортных момента. Во-первых, 3 и 4 шаги надо делать вручную – но раз в месяц или пару месяцев это не слишком обременительно, и в принципе делается в несколько кликов. Во-вторых, и это самое неудобное – любые изменения в уже существующих контактах (например, добавление нового номера телефона для уже существующего контакта, или перемену почтового адреса) надо вносить только в ThaBat (если вносить эти изменения в смартфон, то на 3 шаге всё будет стерто).
Некоторые другие почтовые программы также поддерживают синхронизацию адресных книг по протоколу CardDAV (платная eM Client под Windows, бесплатные GNOME Evolution и KDE KOrganizer для Linux, и проч.), но я не вдавался для них в подробности.

Какой бы из приведенных выше вариантов Вы не выбрали – в любом случае между почтовой программой и мобильным устройством всегда будет поддерживаться единый список контактов (и при желании – событий календаря).

Поместить ссылку в LiveJournal ВКонтакте Facebook Мой Мир Twitter LinkedIn Однокласники Google Reader Я.ру Google Bookmarks Яндекс.Закладки или другие

Комментировать

 

службы мониторинга серверов