az52 Пару дней как смотрю твою прогамму.
Очень радуют уже имеющиеся возможности и динамика развития.
Не буду долго распинаться о своих знаниях в данной области - скажу только, что принимал участие в разработке пары аналогичных программ (практически неизвестных широкой публике) с весьма нетривиальными возможностями и потому знаком с темой не понаслышке.
Что не хавтает лично мне в текущей версии (очень поверхностно, без залезания вглубь):
(!!! Допускаю, что я мог просто не заметить эти возможности, поскольку смотрел программу пару вечеров урывками)
1. Есть такая задача - закачать требуемую область во всех масштабах или в заданном диапазоне масштабов). Кое-чем твоя программа кладет всех конкурентов на лопатки - это возможностью отметить область полигоном. Это просто "бомба". Но вот дальше ... Общепринятым подходом является следующий - ты указал область, а затем указал требуемые масштабы, потом пошла закачка. В твоем случае масштаб указывается только один. Это значит, что если я хочу эту область закачать в 19, 18, 17, 16, 15 и 14 масштабах, прикинь сам, сколько раз я должен сделать следующее:
Ctrl+B -> установить масштаб, вспомнив при этом, какой был предыдущий -> дождаться окончания -> нажать Выход на окошке закачки (а зачем при этом закрывать оконо "операция с выделенной областью" ? я ведь из него вызвал закачку - в него и должен вернуться) и так по кругу.
2. Не хватает включаемой/отключаемой сетки на экране, обозначающей тайлы. Это нужно затем, чтобы можно было работать с конкретным тайлом - попросить его отрефрешить, получить на него линк, увидеть его текущее состояние, вывести в клетке его текущее состояние (об этом ниже) и т.д. В общем - отсутствие сетки реально неудобно, когда наблюдаешь подкачку конкретных тайлов.
3. Оченно полезно для закачиваемого в данный момент тайла на экране его каким-то образом отмечать - вариантов много - рисовать вокруг него зеленую рамочку, рисовать посередине него вертящуюся иконку - как угодно. Тогда я хотя бы буду видеть, какие области сейчас обновляются и сколько тайлов осталось закачать на данном экране.
Соответственно, еще не закачанные тайлы (которые при смене масштаба просто апроксимировались) - тоже нужно как-то отмечать. Т.е. алгоритм такой: сменили масштаб, в новом масштабе начали обновлять тайлы. Те, что уже обновились - у них одна отметка (например, это может быть и всякое отсутствие отметки). Те, что стоят в очереди на обновление (pending) - у них, скажем, желтая рамка или иной признак. Те, что стартовали обновление - у них зеленая рамка или крутящаяся иконка или еще что-нибудь. Те, что не смогли обновиться (сервер вернул ошибку) - еще какая-нибудь пометка. Тогда я смогу не покидать данный экран, пока все не закачается, а сейчас это совершенно не очевидно, я могу уйти с экрана не докачав его полностью.
Сейчас мне не очевидно, в каком порядке закачиваются тайлы, но я думаю, что не стоит упоминать, что правильный порядок такой: от центра экрана и по спирали к краям экрана. Надеюсь, так оно и есть - просто на быстром канале и при нынешней визуализации я это плохо замечаю. Но вот когда я через неделю уеду в отпуск и сяду на публичную Wi-Fi точку - там я это очень хорошо увижу. Собственно, все выше сказанное ради этого и нужно.
4. В ту же струю к визуализации процесса закачки - сейчас прогресс бар закачки выделенной области (по крайней мере, для полигона) врет по страшному. Конечно, прогресс бар тут полезен, но рядом с ним должна быть нормальная статистика - сколько собирались обновить, сколько уже обновили, сколько из них из кеша и из интернета, а также, примерная оценка - сколько килобайт собирались прокачать, сколько уже прокачали. Кстати, ровно такая же статистика-прогноз ожидается и в форме, где я заказываю закачку выделенной области - см. пункт 1. Если надо - я могу дать пример такого экрана со статистикой из другой аналогичной программы. Про прогнозируемый траффик в килобайтах - я думаю, у тебя уже все давно продумано и ты умеешь его примерно оценивать - не буду на этом останавливаться.
5. Не пробовал подключать GPS, но по виду экрана настроек сразу возник вопрос - а где выбор USB порта в качестве интерфейса ?
Уже давно никто не связывается с COM портами, даже если они и есть на приборе, как на моем Garmin 76 CSX. По крайней мере, Гарминовский протокол через USB хорошо бы поддержать.
В приложении есть довольно много нюансов по юзабилити (ну скажем, хотелось бы, чтобы дабл-клик центрировал карту, дабл-клик с нажатой клавишей-модификатором - центрировал с приближением на один масштаб, дабл-клик с нажатым другим модификатором - центрировал с удалением на один масштаб), но это все потом, лишь бы была нужная функциональность.
Но в целом, то, что есть сейчас - это ОЧЕНЬ хорошо.
Спасибо.
P.S. Я через неделю уезжаю в отпуск в далекие страны, поэтому у меня ровно сейчас стоит задача по массовой закачке областей. Написал то, на что наткнулся в первый же момент.