Контрол для ввода адреса
От: G0LD  
Дата: 04.08.08 04:33
Оценка:
Разрабатываем контрол для ввода пользователем адреса проживания. На данный момент встал вопрос о пересмотре его дизайна и его движка. Требуется консультация именно по первому вопросу — по его внешнему виду.
Сейчас контрол имеет такой вид:


Адрес человека формируется из двух частей — адреса КЛАДР(страна, город и улица) и уникальной части (дом, корпус, кв.)
Первые две строки — город и улица — выбираются в выпадающем списке из справочника КЛАДР (из его полной версии и локальной копии, в которую попали ранее введенные адреса). Поиск адреса по локальному справочнику КЛАДР пока отключен, иначе будет еще один раздел в выпадающем списке.


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

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


Процесс ввода нового адреса выглядит так:


Рассматриваются предложения по редизайну контрола с целью достижения его более удобной функциональности и "понятности". Какие формы ввода адреса используются в существующих и работающих приложениях?

04.08.08 09:44: Перенесено из '.NET GUI'
адресс ввод адреса
Re: Контрол для ввода адреса
От: grosborn  
Дата: 04.08.08 06:14
Оценка: +2
"Улицы вутри" или "Выполнить" непонятно зачем. Загромождают. Типы то же лишние.

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

Если набираешь Иж
тебе список выбора
г. Ижевск Удмуртская Респ
пгт. Ижморский Кемеровская обл

Набираешь г.Иж
тебе только
г. Ижевск Удмуртская Респ

Если набираешь "Иж", а уже выбрал Краснодарский край, выбора нет, такого города в этом крае нету. При выборе одного из городов подставляется и регион в поле региона.

Ну и так же для всех полей, с учетом их специфики.
.
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
Re: Контрол для ввода адреса
От: Хитрик Денис Россия RSDN
Дата: 04.08.08 06:50
Оценка: +1
Здравствуйте, G0LD, Вы писали:

GLD>Рассматриваются предложения по редизайну контрола с целью достижения его более удобной функциональности и "понятности". Какие формы ввода адреса используются в существующих и работающих приложениях?


Понятность выиграет, если не будут использоваться сокращения. В лейблах и комбо-боксе они смотрятся особенно дико.
Правила нашего с вами форума.
Как правильно задавать вопросы. © 2001 by Eric S. Raymond; перевод: © 2002 Валерий Кравчук.
Re[2]: Контрол для ввода адреса
От: G0LD  
Дата: 04.08.08 07:05
Оценка:
Здравствуйте, grosborn, Вы писали:

G>"Улицы вутри" или "Выполнить" непонятно зачем. Загромождают. Типы то же лишние.


Там предполагается не улицы "Внутри", а "улицы во внутреннем справочнике"
Выполнить => открыть контрол ручного ввода нас. пункта (тот, что ниже скриншот)
Третий раздел там будет "Во внешнем справ." — полный КЛАДР (пока просто отключен по причине глюкогенности)

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


G>Если набираешь Иж

G>тебе список выбора
G>г. Ижевск Удмуртская Респ
G>пгт. Ижморский Кемеровская обл

G>Набираешь г.Иж

G>тебе только
G>г. Ижевск Удмуртская Респ

G>Если набираешь "Иж", а уже выбрал Краснодарский край, выбора нет, такого города в этом крае нету. При выборе одного из городов подставляется и регион в поле региона.


Вероятно, на скринах не совсем ясно это видно, но именно так это и работает:
Re: Контрол для ввода адреса
От: G0LD  
Дата: 04.08.08 07:23
Оценка:
Есть большое желание увидеть альтернативные удобные варианты реализации контрола для ввода адресов на основе справочника КЛАДР с возможность ручного ввода недостающих в нем объектов. Как можно красиво объединить выбор справочных значений с вводом вручную, чтобы это было очевидно и понятно пользователю?
Re[3]: Контрол для ввода адреса
От: grosborn  
Дата: 04.08.08 08:46
Оценка:
> Вероятно, на скринах не совсем ясно это видно, но именно так это и работает:
>

Я же говорю — должен быть список. Это простой перечень элементов. А у тебя это целый контрол какой-то.

Ижевск; Удмуртская; Россия
— непонятно написно. Надо:
г. Ижевск (Удмуртская Респ, Россия)

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

Для ввода нового населенного пункта отдельного пункта твоего контрола не требуется. Если В классификаторе какой-то деревни нет, то пользователь просто набивает название руками в это поле ввода. Если пользователь ввел руками, то просто обозначай значком справа от поля, с подсказкой — такого в классификаторе нет.

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

То есть в идеале — только заголовки полей, поля с присоединенными кнопками и простыми присоединяющимися списками, индикаторы, подсказки и алгоритм валидации с дополнительными формами.
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
Re[2]: Контрол для ввода адреса
От: grosborn  
Дата: 04.08.08 08:53
Оценка:
> GLD>Рассматриваются предложения по редизайну контрола с целью достижения его более удобной функциональности и "понятности". Какие формы ввода адреса используются в существующих и работающих приложениях?
>
> Понятность выиграет, если не будут использоваться сокращения. В лейблах и комбо-боксе они смотрятся особенно дико.

У тех, кто постоянно работает, сокращения нормально воспринимаются.
Вот этот вариант:
г. Ижевск (Удмуртская Республика, Россия)

даже может проигрывать вот этому:
г. Ижевск (Удмуртская Респ, Россия)

потому что воспринимается мозгом чуть иначе, Республика — незначащее в этом контексте слово занимает много места и замедляет распознавание группы слов.
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
Re[3]: Контрол для ввода адреса
От: grosborn  
Дата: 04.08.08 08:53
Оценка:
уж не говоря о варианте

город Ижевск (Удмуртская Республика, Россия)
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
Re[3]: Контрол для ввода адреса
От: Хитрик Денис Россия RSDN
Дата: 04.08.08 09:15
Оценка:
Здравствуйте, grosborn, Вы писали:

>> Понятность выиграет, если не будут использоваться сокращения. В лейблах и комбо-боксе они смотрятся особенно дико.

G>У тех, кто постоянно работает, сокращения нормально воспринимаются.
G>Вот этот вариант:
G>г. Ижевск (Удмуртская Республика, Россия)
G>даже может проигрывать вот этому:
G>г. Ижевск (Удмуртская Респ, Россия)
G>потому что воспринимается мозгом чуть иначе, Республика — незначащее в этом контексте слово занимает много места и замедляет распознавание группы слов.

Уточню.
На последней картинке есть комбобокс с элементами "окр", "у", "р-н". С моей точки зрения, "округ", "район" выглядели бы гораздо привлекательнее внутри предлагаемого списка.
Вторая картинка имеет в выпавшем контроле строку: "Улицы внутр.сп.". При том, что места — вагон.

Лейблы можно было бы организовать тоже без сокращений с помощью groupbox:
*** Область **************
Тип: <Combo> <EditBox>
**************************

*** Район   **************
Тип: <Combo> <EditBox>
**************************

*** Населённый пункт *****
Тип: <Combo> <EditBox>
**************************

Насчёт незначащих слов. Ничто не мешает выделять их более бледным цветом или меньшим размером. В том числе в комбобоксах.
Ну и если применять сокращения, то их нужно регламентировать, чтобы не возникло разных: "г. Ижевск", "гор Ижевск", "город Ижевск".
Правила нашего с вами форума.
Как правильно задавать вопросы. © 2001 by Eric S. Raymond; перевод: © 2002 Валерий Кравчук.
Re[4]: Контрол для ввода адреса
От: grosborn  
Дата: 04.08.08 09:38
Оценка: 8 (1)
> Уточню.
> На последней картинке есть комбобокс с элементами "окр", "у", "р-н". С моей точки зрения, "округ", "район" выглядели бы гораздо привлекательнее внутри предлагаемого списка.

С этим соглашусь.

> Вторая картинка имеет в выпавшем контроле строку: "Улицы внутр.сп.". При том, что места — вагон.


Это вообще нужно убрать и спора не будет.

> Лейблы можно было бы организовать тоже без сокращений с помощью groupbox:

>
> *** Область **************
> Тип: <Combo> <EditBox>
> **************************
> 
> *** Район   **************
> Тип: <Combo> <EditBox>
> **************************
> 
> *** Населённый пункт *****
> Тип: <Combo> <EditBox>
> **************************
>


С этим не соглашусь категорически. Это визуальная перегрузка формы. Напрягает через некоторое время работы.
И эти комбо вообще нужно убрать. Должно быть просто:

Заголовок поля: Поле
Заголовок поля: Поле
Заголовок поля: Поле
Заголовок поля: Поле

Регион: Краснодарский край
Район: Апшеронский район
Населенный пункт: г.Хадыженск

и т.д.

И здесь как раз сокращения нормально. "железнодорожная станция" лучше уж будет "жд станция".

> Насчёт незначащих слов. Ничто не мешает выделять их более бледным цветом или меньшим размером. В том числе в комбобоксах.


Экстрим. Да и технически это усложнение. Предложение имеет право на жизнь, но я лично так мудрить не стал бы. Для визуальных приложений ещё подумал бы, а для ввода адреса — нет.

> Ну и если применять сокращения, то их нужно регламентировать, чтобы не возникло разных: "г. Ижевск", "гор Ижевск", "город Ижевск".


Нормализовывать их нужно. То есть приводить к одному стандарту. Это немного другое, чем регламентировать.
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
Re[3]: Контрол для ввода адреса
От: Mamut Швеция http://dmitriid.com
Дата: 04.08.08 12:45
Оценка:
G>>Если набираешь "Иж", а уже выбрал Краснодарский край, выбора нет, такого города в этом крае нету. При выборе одного из городов подставляется и регион в поле региона.

GLD>Вероятно, на скринах не совсем ясно это видно, но именно так это и работает:

GLD>

Ужас. Зачем столько пустого места? Зачем надписи "внтури сп." и "выполнить"?


dmitriid.comGitHubLinkedIn
Re: Контрол для ввода адреса
От: Dog  
Дата: 04.08.08 16:40
Оценка:
GLD>Рассматриваются предложения по редизайну контрола с целью достижения его более удобной функциональности и "понятности". Какие формы ввода адреса используются в существующих и работающих приложениях?
Кстати, а что по этому поводу говорит 1С ?
... << RSDN@Home 1.2.0 alpha rev. 730>>
Re[2]: Контрол для ввода адреса
От: Аноним  
Дата: 05.08.08 04:43
Оценка:
Dog>Кстати, а что по этому поводу говорит 1С ?

Есть подбор одного значения по строке (списка подборе по строке нет), выбор из справочника и набор текстом самостоятельно.
Если наберешь г.Ижевск, то ничего из классификатора не получишь.
Сокращения и порядок классификатора рулят:

Томская обл
Колпашевский р-н
Колпашево г

Всё как в классификаторе. Ну в классификаторе это понятно, экономия места.
Re[4]: Контрол для ввода адреса
От: G0LD  
Дата: 06.08.08 07:02
Оценка:
G>Ещё у полей должен быть выбор из полного списка, открывающегося по присоединенной кнопочке с треугольничком — это тот же самый список, только поведение чуть другое. При наборе текста список выбора открывается ещё не позиционированный, а по кнопке с треугольничком — позиционирован сразу.

G>То есть в идеале — только заголовки полей, поля с присоединенными кнопками и простыми присоединяющимися списками, индикаторы, подсказки и алгоритм валидации с дополнительными формами.


Нашел что-то отдаленно похожее по описанию (здесь http://www.mista.ru/articles1c/kladr.htm)

заполнение города
Re: Контрол для ввода адреса
От: Sinclair Россия https://github.com/evilguest/
Дата: 12.08.08 03:15
Оценка: 25 (3) +1 :)
Здравствуйте, G0LD, Вы писали:

После многолетних размышлений о способах ввода и отображения адреса я пришел к такому выводу:
Адрес должен вводиться одной строкой.
Причины:
1. Адрес — это адрес. Это монолитная вещь. Если я хочу скопировать адрес из одного места в другое, я хочу скопировать его целиком, а не перебивать десять мелких полей.
2. Структура адреса сильно зависит от локальных особенностей. Термины "владение" и "строение" практически не встречаются за пределами Москвы, а в поселке Кольцово Новосибирской области до 2008 года не было улиц.
3. Принуждать человека к определенной последовательности ввода информации — плохо.

Итак, как бы я действовал:
1. Придумал парсер адресов. Нужно распознавать несколько видов типичных выражений, которые сильно зависят от предметной области.
2. Сделал бы контрол на основе RichEdit или чего-то еще, что позволяет раскрашивать синтаксис
3. Придумал раскраску синтаксиса для адреса. Главное — отличать распознанные идентификаторы от нераспознанных, чтобы помочь человеку с ними справиться.
4. Выполнял бы парсинг в момент валидации.

То есть, допустим оператор скопипастил в контрол текст "Волгина, 1, позвать Семёна" и нажал Tab.
Контрол задумался, и превратил текст в
"117485, г. Москва, ул. Академика Волгина, д.1, позвать Семёна". Подразумевается, что "позвать семена" распознать не удалось. Если оператору не нравится результат, то он его исправляет.

Неплохие примеры подобного функционала есть в Outlook: контролы для ввода списка адресатов письма и контрол ввода адреса контакта.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[2]: Контрол для ввода адреса
От: Stanislav Elinson  
Дата: 12.08.08 08:34
Оценка:
Sinclair wrote:
> Skip
> То есть, допустим оператор скопипастил в контрол текст "Волгина, 1,
> позвать Семёна" и нажал Tab.
> Контрол задумался, и превратил текст в
> "/117485, г. Москва, ул. Академика /Волгина, /д./1, *позвать Семёна*".
> Подразумевается, что "позвать семена" распознать не удалось. Если
> оператору не нравится результат, то он его исправляет.

А как себя должен вести такой контрол, если есть несколько вариантов, подходящих под "Волгина, 1"?
Posted via RSDN NNTP Server 2.1 beta
Re[3]: Контрол для ввода адреса
От: Sinclair Россия https://github.com/evilguest/
Дата: 12.08.08 09:00
Оценка:
Здравствуйте, Stanislav Elinson, Вы писали:

SE>А как себя должен вести такой контрол, если есть несколько вариантов, подходящих под "Волгина, 1"?

Должен ругаться и предлагать разрулить неопределенность вручную.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[4]: Контрол для ввода адреса
От: Stanislav Elinson  
Дата: 12.08.08 09:17
Оценка:
Sinclair wrote:
> Должен ругаться и предлагать разрулить неопределенность вручную.

Хмм, какой-то это не очень дружелюбный контрол.
Наверое все-таки неплохо выподающий список вариантов где-то показать?
Posted via RSDN NNTP Server 2.1 beta
Re[5]: Контрол для ввода адреса
От: Sinclair Россия https://github.com/evilguest/
Дата: 12.08.08 09:36
Оценка:
Здравствуйте, Stanislav Elinson, Вы писали:

SE>Хмм, какой-то это не очень дружелюбный контрол.

SE>Наверое все-таки неплохо выподающий список вариантов где-то показать?
Посмотрите, как работает MS Outlook при распознавании адресов получателей.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[2]: Контрол для ввода адреса
От: grosborn  
Дата: 13.08.08 05:44
Оценка: :)
Поздравляю, ты изобрел велосипед с квадратными колесами!
Если тебе нужно вводить адрес строкой, то просто к тому, что было описано выше добавляешь снизу одно поле "Адрес строкой" и делаешь соответствующие обработчики. Вариант отработанный.
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
Re[2]: Контрол для ввода адреса
От: Pavel Dvorkin Россия  
Дата: 13.08.08 11:58
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Итак, как бы я действовал:

S>1. Придумал парсер адресов. Нужно распознавать несколько видов типичных выражений, которые сильно зависят от предметной области.

Однажды мне пришлось именно такой работой заниматься. Требовалось написать парсер адресов для одной европейской страны, причем не полного адреса, а только УЛИЦА-ДОМ-КВАРТИРА. Неформальное описание того, как это делать, занимало 10 страниц текста, составляли его, естественно, люди, жившие в этой стране. После того, как я все это реализовал, выяснилось, что парсер правильно справляется с 95% случаев, а остальное парсит никуда не годно. Путем всяких модификаций удалось поднять этот процент до 97, если не ошибаюсь.

Я не думаю, что для России будет проще.
With best regards
Pavel Dvorkin
Re[3]: Контрол для ввода адреса
От: Sinclair Россия https://github.com/evilguest/
Дата: 13.08.08 15:35
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Однажды мне пришлось именно такой работой заниматься. Требовалось написать парсер адресов для одной европейской страны, причем не полного адреса, а только УЛИЦА-ДОМ-КВАРТИРА. Неформальное описание того, как это делать, занимало 10 страниц текста, составляли его, естественно, люди, жившие в этой стране.

После того, как я все это реализовал, выяснилось, что парсер правильно справляется с 95% случаев, а остальное парсит никуда не годно. Путем всяких модификаций удалось поднять этот процент до 97, если не ошибаюсь.
Прикольно.
Расскажи, как действовал? Регекспы? Конечный автомат? Эвристики?
Использовалась ли база адресов?
В чем была основная сложность, если компонентов всего три?
PD>Я не думаю, что для России будет проще.
Это точно, не проще. Но тут удобство именно в том, что штука — сугубо интерактивная. Если парсинг сломался, результат можно сразу же починить. Итак 97% — это очень много.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[4]: Контрол для ввода адреса
От: Pavel Dvorkin Россия  
Дата: 14.08.08 05:28
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, Pavel Dvorkin, Вы писали:


S>Расскажи, как действовал? Регекспы? Конечный автомат? Эвристики?


Там такая система, что никакие регекспы не справятся. А суть этих 10 страниц была такая — если первое слово из-таких, то анализА, иначе анализБ, иначе... В свою очередь анализХ делается так же и т.д.

Кстати, я ошибся. Не было там улиц. Только дом и квартира (да еще этаж мог быть). И вот это — 10 страниц.

А впрочем, я тебе могу более простую задачу предложить. Дана строка — ФИО. Русский язык. А может, там только Ф, а может, Ф + инициалы, а может, нет отчества ни полностью, ни инициала. Фамилия гарантированно присутствует.

Дворкин Павел Лазаревич
Дворкин Павел
Дворкин Павел Л.
Дворкин П.Л.
Дворкин П.
Дворкин П
Павел Дворкин
Павел Лазаревич Дворкин
Павел Л.Дворкин

все годится

А может, внутри ошибки.

ДворкинПавел Лазаревич
Дворкин ПЛ ( а это ошибка или нет — еще вопрос)

Распарси. Надо вытащить Ф И О, или те из них, которые там есть

Условие такое — если ты откажешься парсить какой-то процент (небольшой) правильных строк, это сойдет. Но если ты неправильно распарсишь хоть одну правильную строку или распарсишь хоть одну неправильную строку — тебя уволят.

Берешься ?



S>Использовалась ли база адресов?


Зачем ?

S>В чем была основная сложность, если компонентов всего три?


В том, что этой системе примерно 1000 лет. И она настолько неформализирована, что ее практически оказалось невозможно формализовать с точностью лучше этих 97%.

PD>>Я не думаю, что для России будет проще.

S>Это точно, не проще. Но тут удобство именно в том, что штука — сугубо интерактивная. Если парсинг сломался, результат можно сразу же починить. Итак 97% — это очень много.

Наоборот. Там от меня никто 100% не требовал, все понимали, что это невозможно. А здесь клиент вводит правильную (по его мнению) строку, а ты ему в RichEdit подсвечиваешь, что мол, неверно. Да он этот адрес 100 раз на конвертах именно так писал, и письма доходили. А логику твоих регекспов он не знает и знать не хочет. В итоге он не может зарегистрироваться на сайте. Дальше он пишет об этом в некоем блоге... потом тебя увольняют.

Дело в том, что мы имеем дело с реальным миром, который не формализируется со 100% надедностью.
With best regards
Pavel Dvorkin
Re[5]: Контрол для ввода адреса
От: Sinclair Россия https://github.com/evilguest/
Дата: 14.08.08 06:51
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Здравствуйте, Sinclair, Вы писали:


S>>Здравствуйте, Pavel Dvorkin, Вы писали:


S>>Расскажи, как действовал? Регекспы? Конечный автомат? Эвристики?


PD>Там такая система, что никакие регекспы не справятся. А суть этих 10 страниц была такая — если первое слово из-таких, то анализА, иначе анализБ, иначе... В свою очередь анализХ делается так же и т.д.

Ну так как сделал то? Эвристики? Конечный автомат?

PD>Кстати, я ошибся. Не было там улиц. Только дом и квартира (да еще этаж мог быть). И вот это — 10 страниц.

Прикольно. А какие слова могли быть, кроме числительных?
PD>А впрочем, я тебе могу более простую задачу предложить. Дана строка — ФИО. Русский язык. А может, там только Ф, а может, Ф + инициалы, а может, нет отчества ни полностью, ни инициала. Фамилия гарантированно присутствует.
PD>Берешься ?
Не, не хочу. С фамилиями хуже — нет базы данных.
PD>Зачем ?
Ну вот для того, в частности, чтобы понять, что Кольцова 34 — это улица и дом, а Красноярск 45 — это такой город.
S>>В чем была основная сложность, если компонентов всего три?
PD>В том, что этой системе примерно 1000 лет. И она настолько неформализирована, что ее практически оказалось невозможно формализовать с точностью лучше этих 97%.
А конкретнее? Или про это тоже рассказывать запрещено?

PD>Наоборот. Там от меня никто 100% не требовал, все понимали, что это невозможно. А здесь клиент вводит правильную (по его мнению) строку, а ты ему в RichEdit подсвечиваешь, что мол, неверно. Да он этот адрес 100 раз на конвертах именно так писал, и письма доходили. А логику твоих регекспов он не знает и знать не хочет. В итоге он не может зарегистрироваться на сайте. Дальше он пишет об этом в некоем блоге... потом тебя увольняют.

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

PD>Дело в том, что мы имеем дело с реальным миром, который не формализируется со 100% надедностью.

А 100% и не надо.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[6]: Контрол для ввода адреса
От: Pavel Dvorkin Россия  
Дата: 14.08.08 07:18
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Ну так как сделал то? Эвристики? Конечный автомат?


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

PD>>Кстати, я ошибся. Не было там улиц. Только дом и квартира (да еще этаж мог быть). И вот это — 10 страниц.

S>Прикольно. А какие слова могли быть, кроме числительных?

Всякие, хоть их совсем немного.


PD>>А впрочем, я тебе могу более простую задачу предложить. Дана строка — ФИО. Русский язык. А может, там только Ф, а может, Ф + инициалы, а может, нет отчества ни полностью, ни инициала. Фамилия гарантированно присутствует.

PD>>Берешься ?
S>Не, не хочу. С фамилиями хуже — нет базы данных.

А в той задаче никакая БД и не нужна была.

PD>>Зачем ?

S>Ну вот для того, в частности, чтобы понять, что Кольцова 34 — это улица и дом, а Красноярск 45 — это такой город.

Ну-ну. А Красноярская 45 — это деревня (в которой нет улиц, но пропущена "д.", ты сам о таком писал) или улица ?


S>>>В чем была основная сложность, если компонентов всего три?

PD>>В том, что этой системе примерно 1000 лет. И она настолько неформализирована, что ее практически оказалось невозможно формализовать с точностью лучше этих 97%.
S>А конкретнее? Или про это тоже рассказывать запрещено?

Не запрещено, но не стоит

S>Ну, пока что меня не уволили, так что не нужно пессимизма.


Ты же за эту задачу не взялся А кстати, если бы БД была — взялся бы ?

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


Выделенное наиболее существенно. Там лишь можно не туда попасть, только и всего, и я к этому готов. В том же Google Map я набираю то, что мне кажется правильным (например, название местности и имя отеля) и вполне готов к тому, что не найдется такое, буду уточнять. Может, и вообще не найдется. А тут мой адрес, он 100% правильный, а мне зарегистрироваться не дают

S>А 100% и не надо.


А с регистрацией как же тогда ? Пропустишь в конечном счете с ошибкой (по твоему мнению) ? После N попыток ?
With best regards
Pavel Dvorkin
Re[7]: Контрол для ввода адреса
От: Sinclair Россия https://github.com/evilguest/
Дата: 14.08.08 08:43
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>А в той задаче никакая БД и не нужна была.

Ну, если удалось зарулить без БД — так и хорошо. А вот, к примеру, OCR без словарей принципиально не работает.
PD>Ну-ну. А Красноярская 45 — это деревня (в которой нет улиц, но пропущена "д.", ты сам о таком писал) или улица ?
Вот я и говорю — по базе мы быстро выясняем, чем это может быть, и при необходимости уточняем. Без интерактивности это дохлый номер — если нам дали принципиально неопределенную информацию, мы никак это не исправим.


PD>Ты же за эту задачу не взялся А кстати, если бы БД была — взялся бы ?

Да, с БД и интерактивностью взялся бы.

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


PD>Выделенное наиболее существенно. Там лишь можно не туда попасть, только и всего, и я к этому готов. В том же Google Map я набираю то, что мне кажется правильным (например, название местности и имя отеля) и вполне готов к тому, что не найдется такое, буду уточнять. Может, и вообще не найдется. А тут мой адрес, он 100% правильный, а мне зарегистрироваться не дают

Какой-то странный use case. Гораздо хуже, когда тебе дают набор дроп-даунов, а твоего города в нем нет.

S>>А 100% и не надо.


PD>А с регистрацией как же тогда ? Пропустишь в конечном счете с ошибкой (по твоему мнению) ? После N попыток ?

Очень просто с регистрацией. В зависимости от задачи я либо заставлю пользователя помочь мне в парсинге, вручную указав, где там улица, где дом (посмотри пример решения похожей на твою задачи про ФИО в адресной книге аутлука),
либо пропущу адрес "как есть", несмотря на warning.

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

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

Вот поэтому я и считаю, что идти нужно от строки. Если нужны какие-то отдельные компоненты, то пусть софт займется их выделением самостоятельно. Если не может, пусть попросит помощи. Автодополнение, конечно же, тоже никто не отменял — для случаев, обратных к пейсту готового блока.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[8]: Контрол для ввода адреса
От: Pavel Dvorkin Россия  
Дата: 14.08.08 09:38
Оценка:
Здравствуйте, Sinclair, Вы писали:


PD>>Ты же за эту задачу не взялся А кстати, если бы БД была — взялся бы ?

S>Да, с БД и интерактивностью взялся бы.

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

S>Какой-то странный use case. Гораздо хуже, когда тебе дают набор дроп-даунов, а твоего города в нем нет.


Плохо, конечно. Но собрать названия всех городов России — вполне алгоритмизируемая задача, практически на 100%. И сделать это надо 1 раз, а потом раз в год маленькие изменения вносить.

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


PD>>А с регистрацией как же тогда ? Пропустишь в конечном счете с ошибкой (по твоему мнению) ? После N попыток ?

S>Очень просто с регистрацией. В зависимости от задачи я либо заставлю пользователя помочь мне в парсинге, вручную указав, где там улица, где дом (посмотри пример решения похожей на твою задачи про ФИО в адресной книге аутлука),
S>либо пропущу адрес "как есть", несмотря на warning.

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

S>С адресом вообще ситуация забавная: в 99% случаев он используется только для того, чтобы напечатать адрес на конверте/посылке.


+1

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


+1. Но вот тут-то "но и начинается". Я готов такое принять, но тогда выкини парсинг вообще, и я с идеей ввода одной строкой немедленно соглашусь. Пусть набирает что хочет, а мы потом это напечатаем на конверте 1:1, дойдет так дойдет, нет-так нет.

>В средние века совершенно нормальным адресом было "возле королевского моста, четвертая дверь направо".


Ну зачем же средние века ?

Его благородию, милостивому государю, Ивану Васильевичу Тряпичкину, в
Почтамтскую улицу, в доме под нумером девяносто седьмым, поворотя на двор, в
третьем этаже направо".

(С) Гоголь, "Ревизор"


>И сейчас, к примеру, единичные опечатки в названиях улиц будут совершенно спокойно исправлены службой доставки.


Или да, или нет

Разных лент схватил он радугу,
Дело ж почты — дело дрянь:
Адресованные в Ладогу,
Письма едут в Еривань.


Телеграммы заблуждаются
По неведомым путям,
Иль совсем не получаются,
Иль со вздором пополам.

и т.д. (А.К. Толстой, http://az.lib.ru/t/tolstoj_a_k/text_0130.shtml)
With best regards
Pavel Dvorkin
Re[9]: Контрол для ввода адреса
От: Sinclair Россия https://github.com/evilguest/
Дата: 14.08.08 10:25
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>При условии, что тебя уволят на основаниях, о которых я писал ? Тогда можешь готовить свое резюме .

Не смеши меня. У вас денег не хватит меня заинтересовать.
PD> Вот тебе реальный пример — в этом году у нас закончил студент, фамилия которого совпадает с одни из русских имен (а ударение иное).
Ключевое слово — интерактивность.
S>>Какой-то странный use case. Гораздо хуже, когда тебе дают набор дроп-даунов, а твоего города в нем нет.
PD>Плохо, конечно. Но собрать названия всех городов России — вполне алгоритмизируемая задача, практически на 100%. И сделать это надо 1 раз, а потом раз в год маленькие изменения вносить.
В теории — да, на практике — нет.

PD>Кстати, сравни со списком стран на любом сайте, где это есть. Кочует он из одного сайта на другой, никаких проблем.

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

PD>Это, мб, и решение, но ты же возвращаешься к раздельному вводу.

Естественно. Но я возвращаюсь к нему в 1-5% случаев. Это как раз нормальное с точки зрения юзабилити решение. С академической точки зрения это плохое решение, поэтому тебе так хочется меня уволить при первой ошибке. А с практической — это очень заметное улучшение.

PD>+1. Но вот тут-то "но и начинается". Я готов такое принять, но тогда выкини парсинг вообще, и я с идеей ввода одной строкой немедленно соглашусь. Пусть набирает что хочет, а мы потом это напечатаем на конверте 1:1, дойдет так дойдет, нет-так нет.

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


PD>Его благородию, милостивому государю, Ивану Васильевичу Тряпичкину, в

PD>Почтамтскую улицу, в доме под нумером девяносто седьмым, поворотя на двор, в
PD>третьем этаже направо".

PD>(С) Гоголь, "Ревизор"



>>И сейчас, к примеру, единичные опечатки в названиях улиц будут совершенно спокойно исправлены службой доставки.


PD>Или да, или нет


PD>Разных лент схватил он радугу,

PD> Дело ж почты — дело дрянь:
PD> Адресованные в Ладогу,
PD> Письма едут в Еривань.
Я писал про единичную опечатку, а не про 7 ошибок в слове из 6 букв но уместность цитаты конечно — это +5.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[8]: Контрол для ввода адреса
От: Mamut Швеция http://dmitriid.com
Дата: 14.08.08 10:26
Оценка: +1
S>С адресом вообще ситуация забавная: в 99% случаев он используется только для того, чтобы напечатать адрес на конверте/посылке. Совершенно непонятно, зачем заниматься избыточной нормализацией, если всё равно ее результаты никем не используются. В средние века совершенно нормальным адресом было "возле королевского моста, четвертая дверь направо". И сейчас, к примеру, единичные опечатки в названиях улиц будут совершенно спокойно исправлены службой доставки.
S>В таких случаях нет никакого смысла чрезмерно насиловать пользователя.

Интересно, чо в Турции это до сих пор нормально. Во-первых, почти каждый дом проименован ("Дом мехмедов", "Дом илькнуров" и т.п.) помимо того, что пронумерован. Во-вторых, нормально написать в оф. адресе что-то типа "напротив/рядом/возле такого-то и такого-то места"

И ничего, почта доходит

S>В штатах традиционно никто не делит street address на компоненты. Важен штат и название административной единицы.


В штатах в адресе самое важное — это zip-code


dmitriid.comGitHubLinkedIn
Re[10]: Контрол для ввода адреса
От: Pavel Dvorkin Россия  
Дата: 14.08.08 11:06
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, Pavel Dvorkin, Вы писали:


PD>>При условии, что тебя уволят на основаниях, о которых я писал ? Тогда можешь готовить свое резюме .

S>Не смеши меня. У вас денег не хватит меня заинтересовать.

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

S>>>Какой-то странный use case. Гораздо хуже, когда тебе дают набор дроп-даунов, а твоего города в нем нет.

PD>>Плохо, конечно. Но собрать названия всех городов России — вполне алгоритмизируемая задача, практически на 100%. И сделать это надо 1 раз, а потом раз в год маленькие изменения вносить.
S>В теории — да, на практике — нет.

Почему нет ? Что, проблема собрать список городов России ?

PD>>Кстати, сравни со списком стран на любом сайте, где это есть. Кочует он из одного сайта на другой, никаких проблем.

S>Это у тебя никаких проблем. А в жизни, к примеру, некоторые территории до сих пор непонятно, какой статус имеют. Одни перцы считают, что Тибет должен быть частью Китая, а другие наотрез отказываются это признать.

А Тибет вроде не есть страна Нет такого гражданства.

S>Не обращал внимание, что списки стран на разных сайтах слегка отличаются?


Честно говоря, нет. Может, и есть, может, у Бандурасовских граждан проблемы и будут

PD>>Это, мб, и решение, но ты же возвращаешься к раздельному вводу.

S>Естественно. Но я возвращаюсь к нему в 1-5% случаев. Это как раз нормальное с точки зрения юзабилити решение. С академической точки зрения это плохое решение, поэтому тебе так хочется меня уволить при первой ошибке. А с практической — это очень заметное улучшение.

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




>>>И сейчас, к примеру, единичные опечатки в названиях улиц будут совершенно спокойно исправлены службой доставки.


PD>>Или да, или нет


PD>>Разных лент схватил он радугу,

PD>> Дело ж почты — дело дрянь:
PD>> Адресованные в Ладогу,
PD>> Письма едут в Еривань.
S>Я писал про единичную опечатку, а не про 7 ошибок в слове из 6 букв но уместность цитаты конечно — это +5.

With best regards
Pavel Dvorkin
Re[9]: Контрол для ввода адреса
От: Pavel Dvorkin Россия  
Дата: 14.08.08 11:10
Оценка:
Здравствуйте, Mamut, Вы писали:

M>Интересно, чо в Турции это до сих пор нормально. Во-первых, почти каждый дом проименован ("Дом мехмедов", "Дом илькнуров" и т.п.) помимо того, что пронумерован. Во-вторых, нормально написать в оф. адресе что-то типа "напротив/рядом/возле такого-то и такого-то места"


И не только в Турции

HRH Queen Elizabeth II
Buckingham Palace
London
With best regards
Pavel Dvorkin
Re[11]: поправка
От: Pavel Dvorkin Россия  
Дата: 14.08.08 11:37
Оценка:
PD>>>Это, мб, и решение, но ты же возвращаешься к раздельному вводу.
S>>Естественно. Но я возвращаюсь к нему в 1-5% случаев. Это как раз нормальное с точки зрения юзабилити решение. С академической точки зрения это плохое решение, поэтому тебе так хочется меня уволить при первой ошибке. А с практической — это очень заметное улучшение.

PD>А в БД что запишешь в случае 1-5% ? Там у тебя отдельные поля будут или все же одной строкой ? Если одной — нет проблем, но незачем и парсить. Если отдельные — что будешь для этих 1-5% делать ?


Сорри, это возражение снимаю. Не о том я подумал.
With best regards
Pavel Dvorkin
Re[11]: Контрол для ввода адреса
От: Sinclair Россия https://github.com/evilguest/
Дата: 15.08.08 02:37
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Почему нет ? Что, проблема собрать список городов России ?

Конечно проблема. Особенно в России. У меня в двух паспортах записаны два разных города в качестве места рождения.

PD>А Тибет вроде не есть страна Нет такого гражданства.

А это тибетцев не колышет. Не захочет он при регистрации указывать китай в качестве страны.

PD>Честно говоря, нет. Может, и есть, может, у Бандурасовских граждан проблемы и будут

То-то и оно.

PD>А в БД что запишешь в случае 1-5% ? Там у тебя отдельные поля будут или все же одной строкой ? Если одной — нет проблем, но незачем и парсить. Если отдельные — что будешь для этих 1-5% делать ?

Как что? То же самое, что и во всех других подходах: пополню справочники.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[11]: Контрол для ввода адреса
От: Mamut Швеция http://dmitriid.com
Дата: 15.08.08 08:34
Оценка:
PD>А Тибет вроде не есть страна Нет такого гражданства.

Ха! Лично наблюдал. Паспортный контроль + таможня на выходе в кишиневском аэропорту (сейчас такого уже нет, на пару лет тому назад таможня была). Требуют заполнить декларацию тетку из Приднестровья. В графе национальность/гражданство она пишет: Приднестровье

Таможенник: нет такой страны. пишите Молдова
Тетка: как это нет такой страны? а я откуда?
Таможенник: пишите Молдова
Тетка: не буду писать. Паспорт есть (трясет приднестровским паспортом), а страны нет? Что за фигня?



dmitriid.comGitHubLinkedIn
Re[12]: Контрол для ввода адреса
От: Pavel Dvorkin Россия  
Дата: 15.08.08 11:37
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, Pavel Dvorkin, Вы писали:


PD>>Почему нет ? Что, проблема собрать список городов России ?

S>Конечно проблема. Особенно в России. У меня в двух паспортах записаны два разных города в качестве места рождения.

И что ? Они оба существуют, я полагаю. А то, что тебе такое написали, это не аргумент. Одному так вообще написали в паспорте, что он родился 30 февраля. MonthCalendar переделывать будем

PD>>А Тибет вроде не есть страна Нет такого гражданства.

S>А это тибетцев не колышет. Не захочет он при регистрации указывать китай в качестве страны.

А это просто его проблемы. Я не думаю, что владельцы сайта (или компаниии) сильно пострадают, если у них окажется одни тибетцем меньше

PD>>Честно говоря, нет. Может, и есть, может, у Бандурасовских граждан проблемы и будут

S>То-то и оно.

Ну и пусть. Нам-то что ?
With best regards
Pavel Dvorkin
Re[12]: Контрол для ввода адреса
От: Pavel Dvorkin Россия  
Дата: 15.08.08 11:44
Оценка:
Здравствуйте, Mamut, Вы писали:

M>Тетка: не буду писать. Паспорт есть (трясет приднестровским паспортом), а страны нет? Что за фигня?


Это еще ладно. Про Sealand слыхал ?

http://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D0%BB%D0%B5%D0%BD%D0%B4

Мне особенно это понравилось

>Интерполом была раскрыта банда, продавшая свыше 150 тыс. фальшивых силендских паспортов
With best regards
Pavel Dvorkin
Re[13]: Контрол для ввода адреса
От: Mamut Швеция http://dmitriid.com
Дата: 15.08.08 13:03
Оценка:
PD>Здравствуйте, Mamut, Вы писали:
M>>Тетка: не буду писать. Паспорт есть (трясет приднестровским паспортом), а страны нет? Что за фигня?
PD>Это еще ладно. Про Sealand слыхал ?

PD>http://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D0%BB%D0%B5%D0%BD%D0%B4


О, да


PD>Мне особенно это понравилось

>>Интерполом была раскрыта банда, продавшая свыше 150 тыс. фальшивых силендских паспортов

Это за гранью фантастики


dmitriid.comGitHubLinkedIn
Re[13]: Контрол для ввода адреса
От: Моторокер Россия http://www.motorocker.ru
Дата: 15.08.08 19:09
Оценка:
PD>Одному так вообще написали в паспорте, что он родился 30 февраля. MonthCalendar переделывать будем

А в каком году человек родился?
Была в СССР такая штука – Советский революционный календарь.
Продаю срубы в Перми
Re: Контрол для ввода адреса
От: oldor Украина http://vingrad.ru/blogs/dorozhko/
Дата: 15.08.08 19:33
Оценка: -1
Здравствуйте, G0LD, Вы писали:

GLD>Рассматриваются предложения по редизайну контрола с целью достижения его более удобной функциональности и "понятности". Какие формы ввода адреса используются в существующих и работающих приложениях?



Предложение: весь выбор осуществлять запросов к веб-службе (да хоть Google map) например
Результатом является ответ — адрес, написанный в выбранной локали.

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

Вот это будет в рамках RES парадигмы правильным и юзабельным интерфейсом.

И тыща и один програмист не станут спрашивать — как мне представить адрес, а будут делать запрос к распределенной базе географических данных.
Re[13]: Контрол для ввода адреса
От: Sinclair Россия https://github.com/evilguest/
Дата: 18.08.08 02:46
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>И что ? Они оба существуют, я полагаю. А то, что тебе такое написали, это не аргумент. Одному так вообще написали в паспорте, что он родился 30 февраля. MonthCalendar переделывать будем

Запросто будем. Иначе получаем известную проблему автоматизации учета — уопа есть, а слова нету.

PD>А это просто его проблемы. Я не думаю, что владельцы сайта (или компаниии) сильно пострадают, если у них окажется одни тибетцем меньше

Че-то мне не нравятся вот эти вот припрыгивания. Только что
Автор: Pavel Dvorkin
Дата: 14.08.08
меня увольняли за то, что один посетитель не мог зарегистрироваться. А теперь уже владельцев это стало мало интересовать. Павел, я могу придумать решение в любых начальных условиях, если ты перестанешь подменять их на ходу.
Не нравится Тибет — посмотри на Тайвань. Экономически он вполне существует (и не всякий бизнес захочет его игнорировать), однако вопрос о его государственности остается открытым.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[14]: Контрол для ввода адреса
От: Pavel Dvorkin Россия  
Дата: 18.08.08 05:33
Оценка:
Здравствуйте, Моторокер, Вы писали:

PD>>Одному так вообще написали в паспорте, что он родился 30 февраля. MonthCalendar переделывать будем


М>А в каком году человек родился?


Не знаю. Читал об этом в какой-то газете советских времен. Как пример бюрократизма и бездушия. Потому что заменить паспорт ему начальник милиции отказался — ничего, мол не знаю, сказано 30 февраля — значит, 30 и точка.
With best regards
Pavel Dvorkin
Re[14]: Контрол для ввода адреса
От: Pavel Dvorkin Россия  
Дата: 18.08.08 05:57
Оценка: :))
Здравствуйте, Sinclair, Вы писали:

S>Че-то мне не нравятся вот эти вот припрыгивания. Только что
Автор: Pavel Dvorkin
Дата: 14.08.08
меня увольняли за то, что один посетитель не мог зарегистрироваться. А теперь уже владельцев это стало мало интересовать. Павел, я могу придумать решение в любых начальных условиях, если ты перестанешь подменять их на ходу.


В том-то и дело, что эти условия очень своеобразны и не очень формализуемы. Вот смотри

Захожу я на русскоязычный сайт, где надо ввести при регистрации мой город и не обнаруживаю там Омска. Омск — один из крупнейших городов России, поэтому у меня уважение к этому сайту резко падает.

А теперь предположим, я житель Новоалексеевки Калачинского района Омской области. Захожу на сайт, а там в Калачинском районе нет Новоалексеевки, а есть только Новоалександровка. Я этот район знаю как свои пять пальцев, и знаю, что никакой Новоалександровки в нем нет. Ясно, что ошиблись. Уважение к сайту у меня не изменится — не могут они все деревни России знать.

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

Поэтому моя точка зрения — либо раздельный ввод (и если что-то не будет найдено, пусть пользователь адаптирует сам (Новоалекссевка...)) или одной строкой без парсинга.
With best regards
Pavel Dvorkin
Re[15]: Контрол для ввода адреса
От: Sinclair Россия https://github.com/evilguest/
Дата: 18.08.08 06:28
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

Пока что из этого рассказа я понял только то, что тебе нестрашно не найти населенный пункт, в котором ты не живешь.
Что-то мне подсказывает, что реальному жителю Новоалексеевки как раз будет наплевать на Омск (вон, Томск же есть, не один ли хрен?), а вот Новоалексеевка ему как раз очень нужна.

PD>Теперь в варианте с вводом и парсингом адреса. Я его ввожу как всю жизнь на конвертах писал, а мне говорят — неверно, и после пары попыток предлагают раздельный ввод.

Похоже, я плохо объяснил идею. Вот я ввожу адрес:

Омская обл, Калачинский район, д. Новоалексеевка, Ленина 5.

Парсер распознает область и район, а Новоалексеевку подчеркивает, как несоответствующую справочнику. Предполагается, что парсер уже нашел правило, по которому он понял, что Новоалексеевка — населенный пункт.
Соответствующее контекстное меню предлагает либо исправить Новоалексеевку на один из известных пунктов Калачинского района, либо добавить её в базу. Не вижу дальнейших проблем, равно как и необходимости переключаться на другой тип ввода.
Подобная функциональность давно присутствует в развитых IDE. Поэтому мне не вполне понятно нежелание делать ее для пользователей.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[16]: Контрол для ввода адреса
От: Pavel Dvorkin Россия  
Дата: 18.08.08 08:38
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, Pavel Dvorkin, Вы писали:


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


Нет, не понял ты. Я хочу сказать, что страшно или нет — зависит от того, что это за населенный пункт. Не найти США или Россию — очень плохо, а не найти Тибет — сойдет. Омск — тоже плохо, а эта самая Новоалексеевка — не беда.

PD>>Теперь в варианте с вводом и парсингом адреса. Я его ввожу как всю жизнь на конвертах писал, а мне говорят — неверно, и после пары попыток предлагают раздельный ввод.

S>Похоже, я плохо объяснил идею. Вот я ввожу адрес:
S>

Омская обл, Калачинский район, д. Новоалексеевка, Ленина 5.

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

Что дальше будет — можно посмотреть на сайте "Одноклассники" (или в "Мой мир" на mail.ru, забыл где именно это было). Сделал для себя запись и решил поставить свое образование. Томский Государственный Университет. А там есть и Томский Государственный Университет, и Томский ГУ, и ТГУ, и Томский Госуниверситет и еще что-то. Одни при регистрации писали ТГУ, другие Томский Государственный Университет и т.д, а программа аккуратно в базу все добавила, и теперь сам черт не разберется, а мне что делать — не знаю, впору все эти университеты одновременно закончить, если я хочу потом, чтобы мне однокашников показали всех, кто там есть . ТГУ — еще ладно, тут хоть вручную можно как-то собрать , а как быть со школами — школа #1 и "Первая санаторно-лесная школа" могут быть совсем не одним и тем же.



S>Подобная функциональность давно присутствует в развитых IDE.


Сравнил! IDE все же для грамотных людей — это раз. И изменения только меня (скорее всего, в крайнем случае членов команды) и коснутся — это два. А в твоем примере такой мусор будет, что потом его и не разгребешь.
With best regards
Pavel Dvorkin
Re[17]: Контрол для ввода адреса
От: Sinclair Россия https://github.com/evilguest/
Дата: 18.08.08 09:01
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Нет, не понял ты. Я хочу сказать, что страшно или нет — зависит от того, что это за населенный пункт. Не найти США или Россию — очень плохо, а не найти Тибет — сойдет. Омск — тоже плохо, а эта самая Новоалексеевка — не беда.

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


PD>Что дальше будет — можно посмотреть на сайте "Одноклассники" (или в "Мой мир" на mail.ru, забыл где именно это было).

Ок. Как планировалось бороться с мусором в случае раздельного ввода? Все те же техники применимы и к строковому вводу с парсером.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[18]: Контрол для ввода адреса
От: Pavel Dvorkin Россия  
Дата: 18.08.08 10:16
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, Pavel Dvorkin, Вы писали:


PD>>Нет, не понял ты. Я хочу сказать, что страшно или нет — зависит от того, что это за населенный пункт. Не найти США или Россию — очень плохо, а не найти Тибет — сойдет. Омск — тоже плохо, а эта самая Новоалексеевка — не беда.

S>Только в том случае, если клиентской базой Новоалексеевки можно пренебречь.

Именно.

S>Тебе уже привели примеры заведомо неоднозначных ситуаций с топонимикой, которые являются значимыми для бизнеса.


Тайвань ?

http://www.mysql.com/register.php, Register

China
Taiwan

и все дела.

PD>>Что дальше будет — можно посмотреть на сайте "Одноклассники" (или в "Мой мир" на mail.ru, забыл где именно это было).

S>Ок. Как планировалось бороться с мусором в случае раздельного ввода?

Я и не сторонник раздельного ввода, лично я предпочитаю одной строкой без парсинга

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

>Все те же техники применимы и к строковому вводу с парсером.


Если в БД писать не будешь (для всех) — зачем парсить ?
With best regards
Pavel Dvorkin
Re[2]: Контрол для ввода адреса
От: Mamut Швеция http://dmitriid.com
Дата: 18.08.08 10:29
Оценка: +1
O>Как вариант, использовать визуальное представление. Сначала рисуем глобус (пользователь выбирает точку на нем)
O>В соответствии с выбором отрисовываем страну и регион со штатами, областями, городами, поселками

Найди мне Ытык-Куёль на глобусе.

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


dmitriid.comGitHubLinkedIn
Re[3]: Контрол для ввода адреса
От: oldor Украина http://vingrad.ru/blogs/dorozhko/
Дата: 18.08.08 11:45
Оценка:
Здравствуйте, Mamut, Вы писали:


O>>Как вариант, использовать визуальное представление. Сначала рисуем глобус (пользователь выбирает точку на нем)

O>>В соответствии с выбором отрисовываем страну и регион со штатами, областями, городами, поселками

M>Найди мне Ытык-Куёль на глобусе.


M>Да что там говорить. Найди мне простейший Кишинев. Я, как житель Молдовы, и то не всегда сразу в нужную точку на глобусе тыкаюсь


Блин, ну хоть в какой части света Молдова находится представляете?
Туда и тыкаете. Затем прооисходит приближение. Как если в Paint нажать кнопку лупы.
Становится видно где какая страна. Опаньки — вот и Молдова.
Ага Столица подсвечена. Усе. Мы в дамках.
Ну и далее, если подумать как ES разработчик можно прийти и к улице и к номеру дома.

Что непонятно?
Re[4]: Контрол для ввода адреса
От: Mamut Швеция http://dmitriid.com
Дата: 18.08.08 15:07
Оценка: +2
O>Блин, ну хоть в какой части света Молдова находится представляете?
O>Туда и тыкаете. Затем прооисходит приближение. Как если в Paint нажать кнопку лупы.
O>Становится видно где какая страна. Опаньки — вот и Молдова.
O>Ага Столица подсвечена. Усе. Мы в дамках.

Возьми в руки google earth и найди мне Оленегорск

O>Ну и далее, если подумать как ES разработчик можно прийти и к улице и к номеру дома.


Ты уверен, чо на карте молдовы найдешь самое большое село в Европе Конгаз

O>Что непонятно?


Ты имеешь преставление, где находится Ытык-Куёль? А Томск? А Омск? А город Харбин? Больше скажу — деревня Калифорния нижегородской области?

Ты сможешь мне Ижевск найти на карте России? Или Санкт-петербург на карте Штатов?

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

За всю свою сознаельную жизнь человек гораздо чаще пишет и произносит адреса, чем находит их на карте.

Спроси ближайших знакомых показать тебе Тегусигальпу, Антананариву или банальнейший Улан-Удэ, и они выскажут о тебе много нового и интересного


dmitriid.comGitHubLinkedIn
Re[5]: Контрол для ввода адреса
От: oldor Украина http://vingrad.ru/blogs/dorozhko/
Дата: 18.08.08 16:01
Оценка:
Здравствуйте, Mamut, Вы писали:

O>>Блин, ну хоть в какой части света Молдова находится представляете?

O>>Туда и тыкаете. Затем прооисходит приближение. Как если в Paint нажать кнопку лупы.
O>>Становится видно где какая страна. Опаньки — вот и Молдова.
O>>Ага Столица подсвечена. Усе. Мы в дамках.

M>Возьми в руки google earth и найди мне Оленегорск


O>>Ну и далее, если подумать как ES разработчик можно прийти и к улице и к номеру дома.


M>Ты уверен, чо на карте молдовы найдешь самое большое село в Европе Конгаз


O>>Что непонятно?


M>Ты имеешь преставление, где находится Ытык-Куёль? А Томск? А Омск? А город Харбин? Больше скажу — деревня Калифорния нижегородской области?


M>Ты сможешь мне Ижевск найти на карте России? Или Санкт-петербург на карте Штатов?


M>Ты требуешь от пользователя быть не просто картографом, а очень хорошим картографом. Это — полная антитеза понятия "интуитивно". Потому что среднестатистический человек видит карты только схематические, недетализированые и только в новостях по телевизору.


M>За всю свою сознаельную жизнь человек гораздо чаще пишет и произносит адреса, чем находит их на карте.


M>Спроси ближайших знакомых показать тебе Тегусигальпу, Антананариву или банальнейший Улан-Удэ, и они выскажут о тебе много нового и интересного


Ага, понял. Я веду речь о заполнении адреса самим пользователем. А здесь видимо речь идет о заполнении клерком базы данных адресов.
Да, тогда ты прав, Mamut, признаю свою ошибку

А касательно google earth сейчас поюзаю и скажу. Я вел речь о чем-то более простом...
Re[6]: Контрол для ввода адреса
От: Mamut Швеция http://dmitriid.com
Дата: 19.08.08 06:43
Оценка: +1
O>Ага, понял. Я веду речь о заполнении адреса самим пользователем. А здесь видимо речь идет о заполнении клерком базы данных адресов.

Да даже пользователь никогда такой фигней страдать не будет.

Вот здесь я жил в Стамбуле

А вот так выглядит Стамбул

Кликни по первой ссылке и начни делать zoom out

Я жил в Стамбуле 7 лет и нахожу свою квартиру на карте уже раз в 15-й. И то мне требуется около 5-и минут, чтобы ее найти. При этом у меня есть две огромных достопримечательности, которые мне помогают (на карте — это ermeni katolik mezarligi, армянское католическое кладбище, и ali sami yen stadyumu, стадион ali sami yen). А попробуй найди какую-нить улицу 3/3 — и все, приплыли

O>Да, тогда ты прав, Mamut, признаю свою ошибку


O>А касательно google earth сейчас поюзаю и скажу. Я вел речь о чем-то более простом...


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


Это и есть Gogle Earth. ТОлько с политической и административной картами


dmitriid.comGitHubLinkedIn
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.