Иван Бегтин

Проверенный чёрт

Previous Entry Share Next Entry
Идеальное управление контактами
ivbeg

На днях, в силу объективных причин, я задумался над тем как может и должно выглядеть "идеальное управление контактами". Эти объективные обстоятельства - это накопленная база из 2 000 контактов, что не так уж много если сравниться с некоторыми моими друзьями у которых их за 8000, но лично для меня немало.

Я перепробовал множество сервисов управления контактами и не впечатлился не одним. То что я сейчас пользуюсь Гуглоконтактами - это отнюдь не значит что они удобны. Альтернатив очень мало. GIST и похожие сервисы тоже не спасают. Outlook - когда-то был прекрасен, но ныне экосистема Microsoft'а сильно изолирована от других сервисов и это её губит.

При этом есть масса проблем которая возникает при работе с таким количеством контактов. С них я и начну.

1. Дубликаты

Самая частая ситуация это когда есть профиль человека в социальной сети, отдельно ты его вносишь как контакт в телефоне и с указанием его телефона и еще есть его контакт в виде email'а. И хорошо еще если у него везде ФИО написаны одинаково, но чаще это не так. Чаще всего через телефон вносишь на русском, через email на английском, а в соц. сетях еще и бывает имя написанное по другому. Не Владислав, а Влад. Не Мария, а Маша и так далее. И, в принципе, множественность написаний присутствует - на разных языках, в разных формах.

Простые сервисы управления контактами почти все предлагают различные возможности по борьбе с дубликатами, чаще всего эти сервисы ограничиваются тем чтобы объединять контакты и искать дублирующиеся через полное совпадение ФИО, телефона или email адреса. При этом у всех этих сервисов много ограничений.

Вот самые частые:

отсутствует нормализация имен - имена не приводятся в единую форму и не дедуперы не умеют определять разные формы его написания

нет поддержки кириллицы - опять же нет сопоставления между ФИО на русском и на английском.

отсутствует нормализация телефонов -  часто они пишутся с пробелами, дефисами, где-то с префиксом страны, где-то без него. Дедуперы не понимающие разных форм написания - не умеют объединять такие контакты.

отсутствует интеллектуальное определение дублей - а вот это то чего нет вообще никак и нигде. Это способность алгоритмов определять дубли по косвенным признакам. Например, можно обнаружить закономерность между email'ами mila.taratorkina@notsoevilempire.com и mila.taratorkina@gmail.com . В первом случае email корпоративный и во втором личный. А если правильно определять паттерны электропочты, то можно и сопоставлять эти email'ы с контактом "Мила Тараторкина" который мог бы вносится через телефон.

2. Обогащение данных

Обогащение данных или вернее недостаточное их обогащение - это вторая серьезная проблема. По каждому человеку существует множество информации в разных социальных сетях и сервисах. Однако часто в сервисах управления контактами не затягивается все в единый реестр, а просто показывается инфа из соц. сети. Это имеет ту проблему что если человек со временем удалит из соц. сети свой телефон или реальный email, то и в своей базе контактов его потом не найти. Он автоматически не копируется. Как быть в ситуации когда человек их меняет? Не удалять, но указывать когда когда он сменен. Возможно скрывать, но сохранять возможность восстановить. 

Другая задача по обогащению - алгоритмическая. То чем сервисы управления контактами не владеют почти полностью.

Во первых я всегда хочу знать к какой возрастной и гендерной группе относить контакт. Является ли он женщиной с 19 до 35 или мужчиной от 50 и так далее. Также я хочу иметь не просто описание в виде ФИО, но разложенное по полям Имя, Отчество, Фамилия. Разложенное не мной ручками, а сервисом автоматически. Это, например, одна из бед с гуглоконтактами. При неправильной последовательности (неправильной для Гугла) ФИО он ставит имя в поле фамилии и фамилию в поле имени. Сложно ли это исправить и сделать? Да не сложно! 

Во первых есть алгоритмы умеющие определять шаблоны ФИО, автоматически разбирать его на составные части и определять пол персоны. Это даже несложные алгоритмы, совсем. Простую версию охватывающую до 90% случаев можно сделать за неделю. Мой охватывает до 99% и делался он немногим дольше. Главное что это более чем разрешимо в рамках одного языка. Например, русского.

Во вторых нет ничего сложного в использование динамических полей в виде поля возраста рассчитываемого от текущей даты и дня рождения.

3. Чрезмерное упрощение интерфейсов

Это одна из проблем всех менеджеров контактов кроме самодельных - они чрезмерно упрощены визуально. Кто-то скажет что симплификация - это шаг вперед и позволяет обеспечить предсказуемость интерфейса и закрывает потребности 90% пользователей, однако я напомню что необязательно принадлежать к большинству любящего Стаса Михайлова или Ваенгу и индивидуализация интерфейса более чем востребована. Предположим у меня есть задача - я хочу поздравить все контакты женского пола старше 20 лет с 8 марта или все контакты мужского пола старше 25 лет с 23 февраля. При этом мне необходимо получить выборку этих контактов и как раз для этого мне и нужна возможность фильтрации по ключевым полям. 

4. Интеллектуальный помощник

А вот это фича для продвинутых за которую лично я даже готов платить разумные деньги. Важно понимать что работа с контактами - это процесс. Нельзя просто внести человека в базу, необходимо помнить что и как и работать с контактами далее. Что это означает? Во первых фильтрация и ремайндеры на довнесение информации по людям. Например, я вношу телефон человека, но нет ни его email'а, ни другой сопроводительной информации. Этот контакт должен быть в группе "в работе" до тех пор пока не будет помечен как неважный или не будет дозаполнен. Аналогично если подходит время поздравления с днем рождения, я хочу получать предупреждения о них в зависимости от значимости человека для меня, получать за день-два, и получать сразу же форму полу-заполненную с учетом морфологии языка и может быть даже каких-то предложений/советов по заполнению. Мне не нужен готовый текст, но подсказки что в письме с поздравлением Милой Трубогрызовой лучше написать по каким-то темам из переписки - вполне себе разумная задача.

Этот помощник может иметь массу таких фич и кучу правил, а еще лучше добротный язык программирования через который можно их задавать. 

5. Интеграция с российскими сервисами и популярными в России

Вот одна из больших бед большей части сервисов управления контактами в том что лучшие из них начисто ориентированы на международные, англосаксонские в основном, проекты. Они часто тесно переплетены между собой. А вот с переплетением российских - большие беды.

Например, мои российские контакты разбросаны по ЖЖ, моему кругу, ICQ (уже почти никто, но были), Вконтакте (да, не недооценивайте их), Skype и другие. Всяких профессионалов.ру не привожу в пример.

Огромное количество контактов именно там и никак не в Facebook'е, LinkedIn'е или Twitter'е. Поэтому это суперактуальная проблема даже более глобальная поскольку отсутствуют, к примеру, сервисы коммуникации с этими соц. сетями через мобильные устройства. Ну вот казалось бы что мешает иметь приличное приложение для ЖЖ или МоегоКруга? А нету! Может для владельцев сервисов это и неактуально, но есть случаи когда с этого есть польза.

6. Удобный интерфейс

Это нечто большее чем просто индивидуализация. Очень часто интерфейс управления контактами чуть лучше чем кошмарен. Мне очень не нравится интерфейс гугл-контактов, я вижу что они отдают приоритет собственным сервисам вроде G-Plus. А вот работа с дубликатами неудобная. Совершенно нет ощущения что о пользователе думают каждый день и делают это осмысленно.

7. Рабочие контакты отдельно, но связано

Кроме управления контактами индивидуального есть еще и управление рабочее. Системы вроде HighRise или Мегаплан и им подобные. Постоянно возникает задача по синхронизации рабочих и личных контактов. Рабочие контакты требуют более вдумчивого ведения - иногда заполнения карточки на клиента или контрагента, а также возможность переноса его в личные контакты и наоборот перенос контакта из личных в рабочие. Иначе говоря рабочие контакты должны содержать больше информации, интегрироваться с CRM, переносится и быть на контроле. Как с ними работать? В идеале система управления контактами должна интегрироваться с CRM системами онлайн и позволять вести контакты с большей информацией.

---

Я, конечно же, изложил далеко не все. Надеюсь и у Вас есть чем поделиться по теме управления контактами. Я же пишу по той причине что мало шансов что я лично займусь разработкой системы управления контактами, разьве что могу помочь кому-то кто делает какими-то советами/алгоритмами. 


  • 1
мне кажется это достаточно надуманным
в целом согласен ряд фич был бы полезен, но и сейчас можно легко справляться — фильтры можно писать сложнейшие,
готовые шаблоны писем? — пожалуйста
я живу в окружении gmail + google calendar + google контакты -> синхронизация с iPhone и тремя маками
кстати, айфон нормальзует часть контактов (например, телефоны) и в gmail они синхронизируются уже в приличном виде
для рабочих достаточно экспорта мне в каком-либо из существующих стандартов и тэгирования — контактов у меня приблизительно то же около 2000

О как я солидарен в этом вопросе.

Раньше пользовался аутлуком + xobni в бесплатном варианте - умеет анализировать профили социальной сети по email. В какой то момент стала раздражать единая система меток для дел и групп контактов. Оказалось жутко неудобно. Но адекватной замены не нашел.

Сейчас контакты в некотором раздрае по причине отсутствия определенности со смартфоном, а наличествующий аппарат от самсунга не позволяет нормально синхронизироваться в обратную сторону. Плюс айпад все норовит контакты в облако загнать.

Пара мыслей по теме:
1. Не нашел программ, которые умеют привязывать мелодию вызова к контакту. Мне удобно иметь разные мелодии вызова для разных групп контактов, но телефон не понимает, что надо сохранять.

2. История изображений. Людям свойственно меняться. Время от времени я сохраняю картинки, соответствующие текущему образу. Хотелось бы их сохранять.

3. История изменений - вы уже сказали, но хотелось бы иметь информацию - последнее время доступа к контакту, последняя дата изменения контактной информации. Особенно актуально будет для слияния баз контактов.

4. Группы - хочется иметь возможность удобно объединять людей в группы по разным признакам. И сохранять эти пердставления.

Re: О как я солидарен в этом вопросе.

Да, согласен по всем пунктам. Это были бы небесполезные возможности.

мне кажется, что это имеет смысл только в контексте интегрированных коммуникаций и привязки к аутлайнеру

http://arkanoid.livejournal.com/340797.html

или еще вот (но это скорее про мобилки)

http://talk.maemo.org/showthread.php?t=86085

Согласен, есть еще очень много возможностей которые хотелось бы включить.

Я вообще как-то давно пытаюсь пользоваться тем, что реализовано из этого списка, но всякий раз оно работает довольно хреново.

Дедупликация и слияние -- особенно, что в гугле, что в телефонах, а уж какие калейдоскопические глюки случаются, когда это делаешь на одной стороне, а синхронизируешь с другой -- это вообще нечто.

Фетчить актуальные контактные данные из социальных сетей у меня мало-мальски получалось еще с Nokia n900, но на n950 такой программы нет. Под андроиды есть, вроде.

Вообще тут очень много должно быть завязано на умные эвристики, а ими-то программисты заниматься, как правило, вообще не хотят :-(

П. 4 требует серьезного лингвистического модуля (если действительно требовать, чтобы в подсказку к поздравлению включались темы из переписки). Стоимость разработки такого модуля, в особенности с учетом того, что он должен работать с любым из почтовых клиентов, вылетит за облака.

Я думаю что все таки не фантастических если делать его постепенно и из правил как работает ifttt.com не обязательно работать с любым почтовым клиентом, главное уметь затягивать и анализировать почту.

  • 1
?

Log in

No account? Create an account