Я уже говорил о том что в миранде, а именно в clist_modern.dll, появилась фича “Режимы вида”. Её можно описать как некую фильтрацию КЛ по задающимся критериям, которые можно сохранять в пресеты. Согласен, молодцы ребята, хорошая и нужная вещь. Особенно пригодится людям с большим кол-вом контактов и протоколоваккаунтов.
Всё бы хорошо, но я понял чего реально не хватает в такой фильтрации и вообще в КЛ [контакт листе]. А не хватает там .. тегов!
И вот теперь потратив некоторое кол-во времени, я накидал в фотошопе как это может примерно выглядеть и именно примерно, чтобы понять суть.
Итак, какой основной принцип нашего концепта тегов, а он очень простой, мы задаём контактам различные теги, которые считаем нужнымиудобными, и потом в режимах вида мы можем задать фильтрацию по этим самым тегам. Это первая часть моей идеи.
Вот пример меню контакта, в котором можно изменитьзадать теги контакту:
Заметка: далее по тексту все картинки кликабельные, нажмите чтобы увидеть полный анимированный вариант.
а вот собственно и режимы вида, теги у нас будут на отдельной вкладке, в примере отмечен тег basketball и только контакты имеющие этот тег будут показаны. при желании можно компоновать и так далее.
Всё просто как апельсин.
Теперь разовьём наш концепт дальше.
Контакт лист у нас организован группами, которые мы создали, у каждого протоколааккаунта свои группы как правило. Что в результате мы получаем: кучу групп с разных протоколоваккаунтов – это раз, два – то что контакты жестко привязываются к одной группе.
Остановимся пока на втором.
Ситуация такая, у нас есть контакт, условно назовём его jab-contact #1, с этим человеком нас может связывать многое, он может быть нашим другом, мы можем работать в одной фирме и т.д., аналогичная картина у нас неким контактом icq-contact #1, он к примеру наш друг, а по выходным мы с ним частенько ездим на пейнтболл. Казалась бы в чем проблема?
а проблема в том что когда мы работаем нам удобно чтобы jab-contact #1 был в группе work, а когда отдыхаем в группе друзей friends, с контактом icq-contact #1 все аналогично.
следует понимать чем больше контактов и аккаунтовпротоколов тем чаще такие ситуации будут возникать.
И как же мы можем исправить это тегами?
А очень просто, нужно всего лишь сделать некий режим в КЛ с альтернативными группами.
Работать альтернативные группы будут тоже незатейливо, они будут работать по принципу фильтрации, а именно: в свойствах будут иметь список тегов и несколько настроек, и в группу будут выводится [фильтроваться] только те контакты, которые имеют теги заданные в настройках данной группы.
собственно вот так оно будет выглядеть:
немного подумав я понял что нужно ввести ещё две настройки, иначе у нас будут ненужные ограничения:
# Количество совпадений [number of matches] – то есть в свойстве групп у нас отмечено 4 тега к примеру, а параметр количество совпадений будет отвечать за то сколько тегов из списка должен иметь контакт, чтобы отфильтроваться в эту группу.
например альтернативная группа work имеет 4 тега – work, php, designers, boss; с помощью данного параметра мы можем задать сколько тегов из этого списка должен иметь контакт чтобы попасть в группу work.
и вторая настройка это:
# Приоритет [tags with high priority] – то есть мы можем сделать один [а может и несколько] тег приоритетным и если контакт его не имеет то он никаким боком не попадает в нашу группу.
например: опять группа work с четырьмя тегами – work, php, designers, boss; мы задаем приоритет тегу work и контакт не имеющий этого тега уже не попадёт в нашу группу.
в комплексе мы теперь имеем довольно гибкую фильтрацию (=
опять же для наглядности картинка:
в итоге мы не зависим никоим образом от групп в наших аккаунтахпротоколах, можем быстро и безболезнено производить изменения. Также мы теперь не столкнёмся с ситуацием, что нужный нам сейчас контакт находится в другой группе и нам надо перелистывать весь контакт лист. При такой реализации можно и просто создать под каждый тег свою отдельную альтернативную группу и всё.
исходя из выше описанной методики, решается ещё одна проблема для пользователей, которые любят разбивать КЛ по протоколамаккаунтам.
[обсуждение на тему “удобеннужен ли метод разбития кл по протоколамаккаунтам” оставим в покое, в данном случае это оффтоп]
Реализация: просто напросто всем контактам скажем аккаунта протокола Jabber – jabbim.com мы добавляем тег jabber1, для другого протокола ICQ – тег icq, для второго аккаунта протокола Jabber – miranda.im – тег jabber2, а дальше все как по накатанному создаем нужные группы с подгруппами, и тегами делаем нужную фильтрацию в них.
собственно сабж:
понятно что нужен групповой редактор тегов, вот его пример в настройках миранды:
в конце выпадающего списка ещё следует добавить пункт “все теги”.
Внизу две кнопки, как Вы видите, они нужны для того чтобы запомнить выбранные контакты и потом, когда мы допустим выбрали другой тег уже, отметить их опять, ведь почти одной и той же группе контактов может соответствовать несколько тегов.
# Альтернативные группы не следует понимать как прямую замену обычным группам, это будет просто второй режим вида КЛ, у пользователя должна быть альтернатива.
# Также теги и альтернативные группы должны конечно экспортироватьсяимпортироваться, так как они у нас локальные.
# Возможно кому-то покажется что такой новый режим вида КЛ совсем не нужен иили бред, это его мнение, с ним пусть и остается.
# Мне важно то, что у меня возникла такая мысль, я её немного развил и написал Вам этот пост.
# Также основная часть поста будет переведена и предложена разработчикам модуля миранды clist_modern.dll. Остаётся надеется что они оценят все это и сделают хотя бы часть.
# Если на вооружение эту идею возьмут другие разработчики IM и реализуют в своих клиентах, честь им и хвала.
Вот собственно и все идеи и весь концепт.
You can follow any responses to this entry through the RSS 2.0 feed.
Children of koRn
November 11th, 2009 at 5:46 am
aDivinus
к сожалению похоже нет.
я бы сказал что это примитивно, но как вариант..
aDivinus
November 10th, 2009 at 4:55 pm
Такой плагин ещё не реализован? А не проще сделать возможность добавлять контакт в контакт-лист более одного раза, в различные группы? Ищу что-то подобное, пока безуспешно.
Children of koRn
October 1st, 2009 at 3:40 am
соловушко
ваще-то вроде японцы :p
соловушко
September 30th, 2009 at 10:08 pm
китайцы 😈
Children of koRn
September 26th, 2009 at 5:31 pm
黒崎
а разве их уже нет? (=
黒崎
September 26th, 2009 at 4:58 pm
Теги, теги, везде внедряют теги.
Теги захватят мир.
На людей скоро будут вешать теги.
Xolm
September 25th, 2009 at 6:00 pm
Идея интересная, и наверняка будет востребована частью пользователей. Поэтому дерзай!
P.S. Мне лично пока хватает групп, но если ты решишь сделать доступным использование тегов в твоей сборке, я наверняка оттестирую.
Osipov
September 22nd, 2009 at 9:51 pm
Вообще идея тегов очень удобна при больших КЛ.
/me иногда пользуется стикерами в QIP’е, но это немного не то. А вообще идея очень интересная
Лемур
September 22nd, 2009 at 12:56 pm
Children of koRn
Аха, но тегов-то нет там
Children of koRn
September 22nd, 2009 at 10:50 am
Лемур
как я понял, ты хотел чтобы например выбираешь тег, скажем university, и в КЛ в группах обычных отображаются только люди с этим тегом?
как бы в режимах вида и щас такая фильтрация, всмысле можно сделать чтобы группы оставались видны, только тегов нет, можешь например по статусам сейчас попробовать отфильтровать также.
Лемур
September 22nd, 2009 at 7:47 am
Ну как бы я это немножко по-другому представляю, но идея Ъ.
Кто будет писать патчи? (с) lacostis
соловушко
September 21st, 2009 at 8:36 pm
ах ему меня мало. ну всё
по сабжу – могу только выдать восхищённое квохтание и невнятный лепет на тему “какой жеж умный заяц”, поскольку идея на самом деле стоящая, и если ее реализует будет очь удобно юзать большой КЛ
потегируем всех контагтов 💡
Children of koRn
September 21st, 2009 at 11:43 am
ну оно ещё по кругу идёт..
вообщем ещё кто-нить откоментирует этот момент чтобы было ясно
соловушко
September 21st, 2009 at 11:38 am
да, помедленнее можно сделать, а то я чот не успеваю осознавать суть показываемых телодвижений
Children of koRn
September 21st, 2009 at 10:34 am
хочется узнать не быстра ли анимация? а то можно увеличить время показа нужных кадров.