Программы фильтры примеры программ

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

Theresa Neil
11 июля 2012

В ожидании столика в местном ресторане, я пролистывал страницы газет с бесплатными объявлениями. Я был шокирован, как сильно я завишу от трех штук, которые не доступны в аналоговом мире: поиск, сортировка и фильтрация.

AutoDirect и другие бесплатные газеты поделены на разделы (грузовики, минивэны, внедорожники), однако в других, вроде Greensheet, лишь непрерывный список рекламы. Мне придется просмотреть каждую рекламу в газете, чтобы найти то, что я хочу. Нет уж, спасибо, я лучше воспользуюсь Craigslist на моем телефоне.

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

НЕ ДЕЛАЙ ЭФФЕКТЫ В After Effects! Лучшая программа для эффектов 2021 | Nuke, Blender, Houdini, Maya

От редакции

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

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

Шаблоны поиска

Обычный поиск

Обычный поиск требует действия для поиска и просмотра результатов. Таким действием может быть нажатие кнопки поиска на экране, как в приложении Walmart или на клавиатуре, как у Target. Результаты обычно выводятся под поисковой строкой. Скорее всего вы захотите объединить обычный поиск с шаблоном автозавершения.

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

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

Максим Десятых
Креативный директор redmadrobot

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

Поиск с ограничениями

Иногда проще и быстрее получить нужные результаты, ограничив область поиска. Google и Photobucket демонстрируют разные подходы к решению этой задачи.

Цветокор в твоём видео, как в КИНО за 5 минут! Кинематографичная Цветокоррекция

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

Предложите разумное количество опций, лучше всего от трех до шести.

Максим Десятых
Креативный директор redmadrobot

Поиск с ограничениями мог бы помочь, если бы не мешал автозавершению. Лучшей альтернативой ему была бы группировка результатов сразу и автоматически.

Сохраненные и недавние запросы

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

Другое проявление уважения пользовательских усилий можно встретить в программах типа Trulia, где пользователю подсказывают его местоположение, или поиск по штрих-коду как в PriceCheck от Amazon.

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

Максим Десятых
Креативный директор redmadrobot

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

Экран поиска

Этот паттерн отличается наличием нескольких полей с параметрами поиска и отдельной яркой кнопкой поиска.

Максим Десятых
Креативный директор redmadrobot

Расширенный экран поиска — это единственный вариант решения в тех случаях, когда требуется подобрать что-то, а не просто найти. Тут очень важны критерии подбора, поэтому для них требуется целый экран.

Результаты поиска

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

Подгрузка результатов — распространенная техника, цель которой показать первые результаты, пока грузятся остальные. У многих приложений есть кнопка: «Показать еще» или же они автоматически загружают нужные результаты, когда пользователь доходит до края экрана.

Укажите количество результатов. Используйте подрузку результатов вместо разбиения на страницы. Примените самую подходящую сортировку.

Сортировка

Важно выбрать самую подходящую сортировку для отображения результатов. Ее можно определить исходя из сложившихся стереотипов и предпочтений пользователей. У сортировки бывают следующие шаблоны:

  • Сортировка на том же экране
  • Выбор сортировки
  • Форма сортировки
Читайте также:
Как включить программу очистки посудомоечной машины электролюкс

Сортировка на том же экране

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

У Target четыре вида сортировок и три кнопки. Для сортировки по цене они предлагают два варианта: по уменьшению и увеличению цены.

Ясно покажите, какой вариант сортировки выбран. Подумайте над шаблоном выбора типа сортировки, если надписи не помещаются в отведенное место.

Окно сортировки

Этот шаблон является хорошей альтернативой сортировке на том же экране. Существуют несколько видов окна сортировки, лучше выбрать тот, который подходит под операционную систему телефона. Например, обычное меню подходит для Android, а для iOS привычнее барабанный селектор или стандартное всплывающее меню с кнопками.

У Walmart кнопка сортировки находится рядом с полем поиска, в то время как у Kayak сортировки и фильтры находятся внизу экрана.

Универсальные решения для всех OS — раскрывающийся список как в программе Target для Android, или меню поверх основного экрана, как в Awesome Note.

Экран сортировки

В некоторых программах сортировка и фильтры расположены на одном экране, обычно называющемся «Уточнить результаты». Это наиболее сложный способ, т.к.. он требует открыть форму, выбрать опции и нажать кнопку «Применить» или «Готово».

Подумайте над более компактным и удобным интерфейсом для сортировки, прежде чем делать подобное.

Максим Десятых
Креативный директор redmadrobot

Все верно: если вариантов сортировки мало, то стоит размещать их на экране с результатами поиска; если много, — то контекстное меню здорово поможет; а если вы плохой дизайнер интерфейсов, — то делайте отдельный экран для этого.

Фильтры

Часто требуется отфильтровать (кто-то предпочитает слово «уточнить») результаты поиска. Обычно пользователь выбирает критерий, по которому результаты отбираются из большого количества. Распространенные шаблоны здесь такие:

  • Фильтр на том же экране
  • Выдвигающаяся панель с фильтрами
  • Фильтр в диалоговом окне
  • Форма с фильтрами

Также обратите внимание на ограниченный поиск для оптимального способа фильтровать данные перед поиском.

Фильтр на том же экране

Так же как и с сортировками, фильтр на том же экране отображается рядом с результатами поиска или списком объектов. Фильтр применяется по одному нажатию. HeyZap использует стандартный переключатель, а Google — вертикальные вкладки.

Приложения CBS News и ACL Festival используют прокручивающуюся панель, что позволяет на одном экране уместить много фильтров.

У SXSW под рядом первичных фильтров есть еще один, где можно задать параметры фильтра. Новостная читалка Feed a Fever использует стилизованные выпадающие списки в качестве фильтров новостей.

Варианты фильтрации должны быть понятно названы, чтобы их было легко понять. Не забудьте четко показать, какие из фильтров включены.

Выдвигающаяся фильтры

Выдвигающаяся панель фильтров почти так же эффективна, как обычная панель фильтров, и может использоваться для раскрытия свойств фильтров. Чтобы раскрыть панель, надо потянуть ее за «ручку» или просто нажать на нее. В Audible выдвигается простая панель, похожая на стандартное меню внизу экрана. А в Sam — целый набор фильтров, который может быть применен к карте с клубами. Лучшим решением для Sam было бы оставить карту видимой и сделать динамические фильтры, которые будут применяться сразу после нажатия.

Диалоговое окно с фильтрами

Диалоговое окно с фильтрами похоже на своих братьев из браузеров. В TripAdvisor для iOS свое оригинальное окно с фильтрами, а USPS Mobile для Android полагается на стандартные элементы управления.

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

Называйте варианты фильтров коротко, избегайте прокрутки. Если опций много — попробуйте форму с фильтрами.

Отдельный экран с фильтрами

Когда информации очень много, ей требуется больше фильтров. Например, WorldMate использует форму для фильтрации отелей по цене, бренду и звездности. У Zappos еще больше фильтров и они используют стандартный экран iOS с кнопками Очистить и Готово наверху.

У Freetime свои оригинальные элементы управления. Сначала выбираете категорию, потом критерий фильтра и применяете его к календарю.

Максим Десятых
Креативный директор redmadrobot

Здесь та же история: в идеале фильтры должны поместиться все и сразу, а если не получается, то их нужно ставить на выдвигающуюся панель или окно. Если это не получается, то у вас что-то не так со всем приложением.

Благодарим за перевод компанию Айпартнер, рекомендуем их блог ActualWeb.

Макс Гулевич
Руководитель отдела проектирования и дизайна в РосБизнесКонсалтинг

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

  • Осознать важность проблемы (это мы уже сделали, ведь мы читаем данную статью :-);
  • Основательно проработать те варианты использования приложения, где пользователь будет искать, фильтровать, анализировать и персонифицировать информацию для себя;
  • Уделить особое внимание функциональностям поиска, фильтрации и персонификации;
  • Спроектировать и отрисовать все как следует!
  • Протестировать взаимодействие с особой тщательностью.
  • Самое главное: функциональность поиска и отбора должна работать быстро и без дефектов, команда разработчиков должна приложить максимум усилий для этого — иначе приложение никогда не будет популярным.

Анатолий Ларин
Менеджер по развитию бизнеса в Touch Instinct

На мой взгляд, такая статья абсолютно бесполезна.

Читайте также:
Кто отвечает за программу доступная среда

При проектировании приложений, прежде всего, важны люди и их задачи. Нельзя взять поиск из Ebay и вставить в другой магазин женской одежды. Если бы статья поднимала задачу и показывала возможные решения — это было бы очень круто.

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

Если нужно вдохновение при проектировании, проще использовать http://pttrns.com/search . Примеров там гораздо больше и подача удобнее.

Бонусом покажу мой любимый на сегодня поиск из приложения ASOS 🙂 Задача: покупатель хочет быстро найти нужный ему более-менее конкретный товар, скажем «желтые босоножки». Решение: пользователь вводит свой запрос на главной странице, и мы выдаем ему желтые босоножки. Ни один из Российских интернет магазинов одежды так не умеет.

Леонид Бугаев
Владелец в Nordic Agency AB

Когда я приходил на работу руководителем отдела знаний (креатив и знания — всегда рядом) в известные рекламные агентства, я первым делом приходил к начальнику IT-отдела и честно предупреждал о «тяжелой истории поиска» в моей ежедневной работе: поисковые запросы типа «виски какой нравится банкирам», «где провести вечер сигареты танцы дискотека» или «конкуренты виагры» — это те самые цветочки, которые обычно удивляли людей, которые мониторили поисковые запросы «чтобы было строго по работе».

Такая сложная работа — знать, как работают поисковые запросы Яндекс.Поиска, Google или древней Altavista — помогала нам знать все о потребителях рекламируемых товаров — будь то виски, пиво, сигареты или те самые «конкуренты Виагра» (и это не популярная группа, которая выскакивает в поиске изображений:)

Мобильные технологии поиска упрощают жизнь — но при этом на 100% использует особенность смартфона — его персональность. История поисковых запросов — наверное, та самая ’маленькая черная записная книжка’, которую каждый из нас не хотел бы делить с друзьями на Facebook в живом режиме. Но преимущество персональной истории запросов в любом мобильном приложении — это обязательное условие успеха приложения.

Используйте эту силу в своей работе, дорогие разработчики мобильных приложений. «Фильтруйте базар» по-умному! 🙂

Егор Аристакесян
Креативный директор и совладелец в Articul Media Group

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

Все представленные примеры авторитетны, но если интерфейс предложен Гугл, это вовсе не значит, что он удобен. Я, например, считаю, что интерфейс гугл-мап на iPhone самый худший пример юзабилити. Они ужасно неудобны в реальном использовании даже пешком. Что уж говорить, если вы за рулем авто. В общем — реального опыта не хватает.

Теория верна.

Ищете исполнителя для реализации проекта?

Проведите конкурс среди участников CMS Magazine

Узнайте цены и сроки уже завтра. Это бесплатно и займет ≈5 минут.

Источник: cmsmagazine.ru

Примеры фильтров Wireshark

Wireshark — программа для анализа сетевого трафика в компьютерных сетях, обладающая широким набором возможностей — от выявления неполадок сетевого подключения до выявления активности вредоносных программ. В данной статье приведены примеры фильтров отображения (не захвата) для поиска целевого трафика.

Фильтры задаются в верхней части окна, в поле с надписью Apply a display filter.

Операторы фильтров Wireshark

Оператор Значение
== равно
!= не равно (кроме)
> больше
меньше
>= больше или равно
меньше или равно
contains содержит (точное соответствие)
matches совпадает (регулярное выражение)

Операторы объединения правил Wireshark

Текстовый оператор Символьный оператор Значение
and Логическое И
or || Логическое ИЛИ
xor ^^ Исключающее ИЛИ
not ! Логическое НЕ
in В (поиск в массиве)
[…] Подпоследовательность

Фильтры Wireshark

Конструкции с .src отлавливают трафик ОТ указанного значения

Конструкции с .dst отлавливают трафик К указанному значению

Конструкции с .addr отлавливают трафик в обоих направлениях

Фильтр Значение
ip.addr ip.src ip.dst ip.host Фильтр по IPv4
ipv6.addr ipv6.src ipv6.dst Фильтр по IPv6
tcp tcp.port tcp.dstport tcp.srcport Фильтры по протоколу TCP
udp udp.port udp.dstport udp.srcport Фильтры по протоколу UDP
arp arp.src arp.dst arp.dst.hw_mac ARP-фильтры
icmp icmpv6 icmp.type Фильтры протокола ICMP
eth eth.addr eth.dst eth.src Ethernet-фильтры
http http2 http.host http.request http.content_type Протокол HTTP
sip rtp rtcp raw_sip iax2 Фильтры для трафика IP телефонии
rdp Remote Desktop Protocol
vnc Virtual Network Computing
l2tp Layer 2 Tunneling Protocol
ldap Lightweight Directory Access Protocol
openvpn OpenVPN Protocol
ppp Point-to-Point Protocol
pppoe pppoed pppoes: PPP-over-Ethernet
pptp Point-to-Point Tunneling Protocol
smtp imap pop Протоколы почтовых приложений
ftp tftp uftp File Transfer Protocol
ssh Secure Shell

Приведенный список содержит часть самых популярных фильтров, полный список доступен на сайте Wireshark.

Примеры фильтров

Фильтры по IP-адресу

ip.addr == 10.20.30.0/24 !(ip.addr == 10.20.30.1) ip.src == 192.168.88.22 ip.dst == 192.168.88.1 ip.addr => 172.16.10.10 ip.addr

Фильтры по dns-имени

tcp contains «koobik.net» http.host == «blog.koobik.net» (поиск точного значения в заголовках http) http.host contains «koobik.net» (поиск содержимого в заголовках http) http.host (все запросы с полем host в заголовке http)

Фильтры по портам

tcp.port == 443 tcp.dstport == 80 udp.srcport == 53

Фильтры по DHCP

udp.dstport == 67 bootp.option.dhcp

Фильтры по содержимому

http.content_type contains «jpeg» http.content_type contains «image» http.content_type contains «xml» http.request.uri contains «rar»

Фильтры для ICMP

icmp icmp.type==0 (ответы на ping) icmp.type==3 (ошибки недоступности)

Читайте также:
В каком банке есть программа юнистрим

Фильтры заголовков HTTP

http.content_type == «text/plain» (по значению поля content type) http.request.method == «POST» http.request.method == «GET» http.response.code == 404 (по коду ответа) http.response.code != 200 (по коду ответа) http.server == «nginx» (по значению поля server)

Фильтры для анализа SIP-трафика

sip rtp rtcp rtpevent udp.srcport >= 10000 udp.srcport

Фильтр по содержимому пакета

frame matches «искомый текст»

Источник: koobik.net

Фильтр низких частот

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

  • аппаратные и программные;
  • цифровые и аналоговые;
  • линейные и нелинейные;
  • фильтры средних, низких и высоких частот;
  • и т.п.

В этой статье мы рассмотрим один из самых распространенных электронных фильтров — фильтр низких частот (ФНЧ, low pass filter), а точнее — его программную реализацию. Применительно к робототехнике, данный тип фильтров используется для сглаживания показаний различных датчиков и сигналов управления.

Шум переменного резистора

Итак, рассмотрим простую задачу. Пусть на входе микроконтроллера имеется зашумленный сигнал, например сигнал переменного резистора, подключенного к Ардуино. На рисунке ниже представлен пример такого сигнала.

График сигнала переменного резистора

Здесь, по оси абсцисс отсчитывается время, а по оси ординат показания 10-разрядного АЦП, к которому подключен потенциометр. Проблема в том, что как бы мы плавно не поворачивали ручку переменного резистора, сигнал получаемый микроконтроллером будет всё время колебаться. Видно, что график не плавный, на нём имеются «зубчики».

Это объясняется двумя причинами. Во-первых, во время движения центрального контакта переменного резистора по поверхности резистивного материала
возникает такое явление как «дребезг контактов». Во-вторых, человек в принципе существо «дрожащее», и любое его движение вызывает вибрацию.

Кроме того, даже когда ручка прибора не поворачивается, наблюдаются небольшие колебания сигнала. Это — результат воздействия различных наводок в цепи между АЦП и датчиком. На рисунке ниже зафиксированы именно такие наводки.

График сигнала переменного резистора

Фильтр низких частот

Чтобы сгладить все эти неровности и устранить мелкие колебания, мы воспользуемся самым простым ФНЧ на основе интегратора. Для этого, при каждом считывании сигнала мы будем выполнять следующее действие:

pot = (1-K)*pot + K*pot_raw

Здесь pot — обработанный фильтром сигнал, pot_raw — значение на аналоговом входе контроллера, и наконец K — коэффициент фильтра, который варьируется от 0,0 до 1,0.

Коэффициент K определяет, какие колебания считаются слишком высокими и требуют подавления, а какие следует пропустить с минимальными изменениями. Чем больше K, тем слабее фильтр, и тем более высокие колебания он может пропустить. Ниже представлен результат работы фильтра для K = 0,1.

Фильтр низких частот K=0,1

Фильтр низких частот K=0,1

Легко заметить, что при K = 0,1 фильтрованный сигнал не имеет шума. Но как понять, какую величину K нам следует использовать?

Подбор коэффициента фильтра

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

где t — период времени, который отделяет слишком быстрые изменения от требуемых; dt — время итерации.

Например, если в нашем случае с потенциометром, K = 0,1, а время между двумя измерениями dt = 20 мс, то время t = (1-0.1) * 0,02 / 0.1 = 0,18 сек. То есть все изменения сигнала, которые длятся меньше 0,18 секунд будут подавляться. Во втором случае (при K = 0,3), мы получим t = 0,047 сек.

Второй смысл времени t заключается в том, что обработанный фильтром сигнал будет отставать от исходного на это время. Ниже на графике это отставание хорошо заметно.

Фильтр низких частот K=0,1

На практике, переменные резисторы имеет смысл фильтровать с коэффициентом K от 0,1 до 0.3.

Пример программы для применения ФНЧ к сигналу переменного резистора

Напишем программу для Ардуино, которая будет считывать сигнал переменного резистора и накладывать на него ФНЧ с коэффициентом K = 0,1.

const byte potPin = A5; const float K = 0.1; float val = 0; void setup() < Serial.begin(9600); pinMode( potPin, INPUT ); >void loop()

Фильтрация сигнала акселерометра

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

Фильтр низких частот K=0,5

Фильтр низких частот K=0,1

Источники шумов у акселерометра, отличаются от источников шума в цепи переменного резистора. Дело в том, что акселерометр регистрирует ускорение прибора, не различая, что явилось его причиной: сила гравитации или внешняя сила приложенная к датчику. Другими словами, если датчик находится в покое, то на него воздействует только сила гравитации, и мы легко узнаем углы наклона датчика относительно поверхности земли. Но если, например, датчик повернуть рукой вокруг одной оси, на него, кроме гравитации, подействует внешний момент силы, что приведет к ошибкам при расчете углов наклона. Другой источник шума — вибрация от двигателей, например, квадрокоптера.

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

К размышлению

Фильтр низких частот отлично помогает, когда необходимо очистить нужный нам сигнал от высокочастотных помех. Примером таких помех может быть шум от наводок или вибрации, наложенный на сигнал от переменного резистора. Другой пример — вибрация поверх сигнала акселерометра или гироскопа.

Главное при работе с ФНЧ — правильно подобрать коэффициент K. Необходимо чтобы сигнал не имел слишком большой задержки с одной стороны, и достаточно хорошо сглаживал сигнал — с другой.

В одной из следующих статей мы расскажем об аппаратном фильтре низких частот, который не требует контроллера.

Источник: robotclass.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru