logo
logo

Форум Дружественный интерфейс или юзабилити навсегда ;-)

создать новую тему раскрыть все
Дружественный интерфейс или юзабилити навсегда ;-) Scratcher 27/06/2002 12:25 #написать ответ
Пользуюсь программой недавно, практически все нравится, однако спешу поделиться замечаниями по поводу интерфейса:
1. Ввод статьи расхода при создании новой операции:  Выбор статьи расхода - довольно сложная и нудная процедура, состоящая из множества кликов мышью, особенно когда дерево статей имеет сложную иерархическую структуру.
Предложение - дать возможность вводить первые буквы статьи расхода (сделать combo-tree редактируемым). На дереве тем временем выбирается соотв. статья. Ближайший аналог - строка вода URL в браузерах. Возможность автоматического переключения на русский язык при установке фокуса на комбу - опционально.
2. Подсказка о том, что надо ввести положительную сумму операции - в виде MsgBox-а: Честно говоря - раздражает, так как требует лишнего щелчка мышой или нажатия клавиши Enter. На самом деле, достаточно подсветить (помигать) поле ввода суммы расходов в течение 1-2 секунд. Ну и опционально вывысти рядом тултип. Другой вариант (мне нравится меньше) - дизейблить кнопку Ok до того момента, пока все требуемые поля не будут заполнены.
3. Возможность менять Tab Sequence в диалогах - нигде не видел такой фичи. Смысл в чем: если я работаю без помощи мыши и заполняю чаще всего не все поля, а только два-три, то мне предоставляется возможность перехода по Tab сперва к наиболее важным полям, а потом уже ко всем остальным. Если идея новая - дарю. :-) Реализуется несложно, если что, могу подкинуть пару мыслей.
4. С контролом для ввода даты - не очень понятно. Почему-то для ввода нужно обязательно даблкликнуть на числе. Видится более удобным одиночное нажатие клавиши мыши.
 
Dervish: Спасибо за добрые слова, это приятно!
 
Огромное спасибо за пожелания и предложения. Предложенный Вами список за пять минут не составляется, нужно было потратить достаточно много времени, чтоб проанализировать недостатки программы и изложить их в столь понятном виде. Спасибо за потраченное время.
 
Форум действительно имеет ограничения на размер сообщения, поэтому, я отвечу на все пожелания прямо по пунктам чуть ниже. Кстати, тогда мы сможем обсудить каждый пункт отдельно.
в продолжение Scratcher 27/06/2002 12:27 #написать ответ
(в одно сообщение все не поместилось )
5. Возможность создавать операции по умолчанию заблокированными - у меня, например, таких 99 процентов. То есть галочка д.б. установлена по умолчанию. По поводу усложнения диалога настроек программы (совершенно правильное опасение) - рано или поздно придется менять его структуру на более простую в использовании древовидную (как н-р в Winamp)
6. Самое сложное в реализации: синхронизация баз данных между двумя и более компьютерами, например между рабочим, домашним и палмтопом. Конечно, если при проектировании не были учтены подобные требования, сейчас реализовать синхронизацию будет сложновато.
7. Как насчет переноса на другие платформы - PocketPC, Palm, Casio и т.д. Может быть найдется народ, который готов написать интерфейс к движку разработанной тобой программы.
8. Насчет платных версий - есть мнение, что можно наделить платную версию дополнительной (и не нужной большинству) функциональностью. Типа рассчета процентов по кредитам и ссудам и т.п. То есть соотв. образом ее спозиционировать. Я думаю что потенциальные пользователи этой версии с радостью заплатят за нее те небольшие деньги, которые стоят шароварные программы в русском интернете.
9. А, чуть не забыл. Возможность указывать при добавлении или редактировании статьи расхода сумму по умолчанию. Часть сумм ежедневных расходов практически не меняется в течение длительного времени. Пример - траспорт (карточка на метро, проезд в автобусе и т.д.), часть коммунальных услуг, сотовая связь и т.д.
1. Ввод статьи расхода при создании новой операции Dervish 27/06/2002 13:49 #написать ответ
Очень интересный пример Вы привели: со строкой ввода URL в браузерах. Думаю, что, на самом деле проблем-то с вводом древовидных атрибутов две: во-первых, как Вы справедливо заметили, слишком много кликов, а во-вторых, когда ниспадающий список свёрнут, выбор статьи (стрелочками клавиатуры) возможен, но выполняется как-то "в слепую". Думаю, что если автоматически показывать ниспадающее дерево при нажатии любой клавиши (кроме TAB), плюс, дать возможность, о которой говорите Вы (побуквенного выбора), это сняло бы абсолютно все проблемы интерфейса с ниспадающими деревьями.
дерево выбора Scratcher 05/07/2002 11:24 #написать ответ
Не очень понял, что Вы имели ввиду под показом дерева при нажатии любой клавиши. Самое простое, как мне кажется, - показывать дерево когда введена хотя бы одна буква в edit-е. Ну и возможность показывать его либо клавишей стрелка вниз, либо щелчком мыши по пиктограммке со стрелкой вниз. К такому алгоритму привыкло подавляющее большинство пользователей (по крайней мере те, кто знаком с Интернет).
 
Dervish: Собственно, я именно это и имел ввиду.
 
Сложность в другом, не совсем понятно, что делать, если ниспадающий список содержит несколько колонок (пример - выбор счетов, там есть колонка для валюты и для названия счёта). Не совсем понятно, по какой колонке выполнять поиск.
выбор счетов Scratcher 05/07/2002 13:05 #написать ответ
Я думаю в данном конкретном случае логично искать по имени счета и выбирать первый, который удовлетворяет критерию. Если счета будут отсортированны по имени, выбрать соседний с другой валютой с помощью стрелок курсора не представляет труда. Другое дело, если структура счетов будет иерархической (как планируется, если я правильно помню). Тут надо подумать... Хотя там, как мне сейчас кажется, будут действовать похожие правила (т.е. счета внутри ветви отсортированы по имени и счета с одним именем и разными валютами, по идее, должны быть чайлдами одной ветви)
 
Dervish: Поймал себя на мысли, что практически все ниспадающие списки будут древовидными (если сделать всё то, что планируется). Единственное исключение из этого правила - списки валют. А тогда (имхо) вообще пропадает необходимость (и полезность) выбора строчки по мере набора названия в edit-e. Что делать будем?
"Горячий" поиск Artem Fedorov 06/07/2002 13:02 #написать ответ
А в чем проблема? Все равно можно искать по ВСЕМ элементам, это будет гораздо лучше, чем если бы поиска не было бы вообще.
Да! Этой функции не хвататает всех выпадающим комбо-боксам с иерархической структурой (да и линейной тоже). Так что было бы разумно ввести поддержку "горячего" поиска (поиска при наборе первых букв) в стандартные функции контрола.
 
Dervish: Артём! Пожелание принято, буду думать, как его реализовать.
2. Подсказка о том, что надо ввести положительную сумму операции Dervish 27/06/2002 13:59 #написать ответ
Согласен с Вами, дисэйблить кнопку Ok - плохое решение. Идея с подсветкой суммы и показом тултипа для меня нова, надо обдумать.
Положительная сумма операции Artem Fedorov 27/06/2002 22:36 #написать ответ
Можно сделать как в Outlook Express XP -- там видел, что когда пишешь в строку неправильное значение, то раздается писк и снизу появляется Baloon Help (Tooltip нового вида) снизу от поля с подписью, что значение неправильное.
 
Dervish: Если не ошибаюсь, в Windows`95 не было ещё Baloon Help.
Положительная сумма операции Artem Fedorov 28/06/2002 16:48 #написать ответ
Конечно не было. И в 98-ой, по-моему, тоже.  Но идея -- просто класс! Красиво, удобно, ненавязчиво, доступно. В системах 9х можно использовать обыкновенные прямоугольные tooltips.
 
Dervish: Боюсь, что они будут слишком незаметными.
Положительная сумма операции Artem Fedorov 28/06/2002 20:26 #написать ответ
Нет, очень заметно, особенно если учесть, что будет подаваться стандартный звуковой сигнал.
Вот пример изображения: http://artfedorov.boom.ru/cash.html, причем сделать подсказки вида baloon help можно и в win9x, если рисовать самому. Да! Естественно, что поведение у этих окошек не как у стандартных тултипов -- они не убираются автоматически, а постоянно на экране, пока пользователь не запишет сумму в нужном формате.
 
Dervish: В принципе, да - есть хвостик у тултипа или нет - не суть важно. Главное, что уважаемый г-н Scratcher справедливо написал, что так будет лучше, чем обычное сообщение.
Когда же тут будет автозаполнение? (было: Положительная сумма операции) Artem Fedorov 28/06/2002 22:54 #написать ответ
Действительно, удобно. Схему реализации можно посмотреть в Outlook Express XP, там похожее поведение было в диалоге редактирования аккаунта (учетной записи) при редактировании какого-то поля.
А подсказка с хвостиком намного более "юзабельная" т.к. конкретно указывает (и визуально быстрее различимо) к чему относится подсказка. Нарисовать ее на экране самому -- не проблема.
 
Dervish: Ну, в общем. Правда, при этом программа ещё больше вырастет.
3. Возможность менять Tab Sequence в диалогах. Dervish 27/06/2002 14:04 #написать ответ
Идея новая и совсем неплоха. Спасибо за подарок.
 
Хотел только спросить, а как Вам видится интерфейс изменения Tab Sequence? Первая моя мысль - где-то в настройках. Вторая мысль, что это будет немного неудобно, ведь придётся закрывать диалог ввода операции, открывать настройки. Может быть, можно предложить какой-нибудь вариант изменения Tab Sequence "на лету", не закрывая окно, при помощи мышки? Есть какие-нибудь идеи?
Идея Денис Лебедев 02/07/2002 00:30 #написать ответ
На этот счет есть предложение. Можно добавить в каждый диалог небольшую кнопочку "настройка", обыкновенный квадрат размером с кнопки закрыть, свернуть...
По ее нажатию можно выводить окошко со списком полей которые можно передвигать вверх, вниз. Также думаю не помешают чекбоксы если вдруг захочется исключить поле.
 
Dervish: Видимо, это лучшее решение. Спасибо!
Реализация Tab Sequence Editor Scratcher 05/07/2002 11:16 #написать ответ
Прошу прощения за столь долгую паузу перед ответом. Хочу сказать, что я только предлагаю идеи а реализовывать их или нет, конечно же дело автора этой замечательной программы.
Когда я все это задумывал, мне видилось несколько путей реализации данной идеи, точнее несколько ньюансов:
1. Каким образом вызывается диалог настойки. Здесь есть три предложения.
   а) Как справедливо заметил Денис, можно оформить в виде простой кнопки где-нибудь внутри окна диалога.
   б) Можно офомить в виде доп. закладки для диалога (общей для всех диалогов и располагающейся последней, н-р крайней правой. Не всегда применимо.
   в) Оформить в виде доп. кнопки в области заголовка окна (рядом с кнопкой закрытия окна). Конечно же эта кнопка должна быть общей для всех диалогов, где есть контролы. Может быть Денис имел ввиду именно это.
2. Как он отображается.
   а) В виде простого окна, появляющегося поверх диалога.
   б) Путем открытия диалога настроек (также поверх текущего диалога) в котором выбрана соотв. закладка/ветвь. При увеличении количества настроек мне кажется более логичным оформить их в виде дерева, в соотв. с современной модой ;*).
   в) Путем увеличения площади диалога, на освободившемся месте размещается список контролов.
Хинт 1: Так как сам диалог, для которого производятся настройки, будет частично виден, можно рядом с контролами (или прямо на них) рисовать маленькие цифирьки, обозначающие порядок переключения. Как в редакторе ресурсов Visual Studio.
Хинт 2: Если будет возможность отключать некоторые из контролов (мысль интересная, я не додумался ;-), то можно их не прятать, а просто делать недоступными (дизейблить). А можно и прятать.
 
Dervish: Вот мне тоже сразу же вспомнился Visual Studio с его цифирьками, обозначающими Tab Sequence. Правда, проблема в том, что Visual Studio предназначена даже не для пользователей, а для программистов, которые с комьютером "на ты". Сможет ли рядовой пользователь понять, что это за цифирьки выскакивают и с чем их едят?
опять я не уложился ;-) Scratcher 05/07/2002 11:18 #написать ответ
Предложения по реализации. Думаю будет удобным сделать общую реализацию этого механизма, к которой просто подключается желаемый диалог, так как любой диалог это, по существу, контейнер, содержащий контролы. А все контролы могут (и должны) иметь осмысленный идентификатор, который можно использовать в качестве названия для пунктов списка.
 
Dervish: Ну, может быть и так. Только, что-то мне кажется, что самый сложный диалог, это всё-таки добавления/редактирования операции. Остальные очень просты и вряд ли кому понадобится изменять TabSequence на них.
сложность Scratcher 05/07/2002 13:40 #написать ответ
Может быть реализация для общего случая несколько более сложна, чем для частного. Мне кажется, что не более чем на 10-15 процентов. Зато если появятся еще громоздкие диалоги - заново переписывать код для них не придется.
 
Dervish: Пока не планируется появления более громоздких диалогов. Но если делать в общем случае, то придётся таскать в exe названия всех полей ввода для всех диалогов. Это может существенно увеличить объём программы.
TS Scratcher 05/07/2002 13:38 #написать ответ
А от него это и не требуется. Неопытный, как мне видится, вообще не будет заморачиваться с последовательностью переключения фокуса ввода. А цифирьки как раз помогут тем, кто знает, зачем он это делает.
 
Dervish: Да, наверное. Но тогда не нужно таскать с собой названия каждого из полей ввода. Может быть, это самый лучший вариант.
цифирьки Scratcher 05/07/2002 14:20 #написать ответ
Тем более, если они будут не очень большими и неяркими, они вообще не будут бросаться в глаза.
 
Dervish: Цифирьки должны появляться только в каком-нить "специальном" режиме редактирования Tab Sequence. Иначе они будут путать пользователей.
4. Контрол для ввода даты Dervish 27/06/2002 14:08 #написать ответ
Абсолютно согласен! Причина, по которой я сделал именно так проста: мне надо было придумать механизм, чтоб пользователь мог ввести в ниспадающем окне и дату и время, причём, чтобы после ввода даты окошко не закрывалось. К сожалению, получилось очень неудобно.
 
Теперь у меня появилась идея, как можно сделать выбор даты одним кликом. Кстати, думаю, что исправлю эту неудобность достаточно скоро.
выбор даты Scratcher 05/07/2002 11:32 #написать ответ
Ну, одним получится, только если нажать кнопку мыши и не отпускать, пока не выберешь нужную дату ;-) Я когда-то тоже задумывался, как сделать ввод времени парой-тройкой щелчков. Уж очень достали эти маленькие стрелочки вверх-вниз. Меньше трех щелчков (считая первый для открытия диалога) конечно можно, но получается изврат с Drag`n`Drop :-). Вообще, по-моему, важность времени среди атрибутов операции вторична (как представитель большинства, обычно его не выставляю). Поэтому его можно выставлять отдельно, если возникнет такая необходимость.
 
Dervish: Ввод времени сейчас доступен только на диалоге добавления/изменения операции. Это - единственное место в программе, где может понадобиться изменять время. А посему у меня возникла мысль: разнести ввод даты и времени по разным контролам. Тогда дата вводится одним кликом на календаре, ввод времени можно сделать обычным перетаскиванием стрелок. А для закрытия ниспадающих часов поставить на всплывающее окошко маленькую кнопку "ОК".
ниспадающие часы ;-) Scratcher 05/07/2002 12:59 #написать ответ
да, именно мысль о разнесении в разные контролы даты и времени я и старался донести. Видимо, несколько завуалированно :-)
 
Dervish: Ну вот, консенсус и достигнут. )
5. Возможность создавать операции по умолчанию заблокированными Dervish 27/06/2002 14:10 #написать ответ
Принято, спасибо.
6. Синхронизация Dervish 27/06/2002 14:18 #написать ответ
К сожалению, мне не приходилось работать (даже как пользователь) с синхронизацией данных между двумя компьютерами с Windows (например, desktop и notebook). Мне не знакомы механизмы такой синхронизации, увы.
 
Синхронизация же между desktop-ом и Windows`CE-машинками знакома и, в принципе, планируется в реализации. Но, думаю, что Вы со мной согласитесь, синхронизация с WindowsCE нужна только тогда, когда будет версия Cash для CE.
 
Добавлю, что я очень хочу сделать CE-версию программы (и, может быть, версию для PalmOS). См.следующий пост.
синхронизация Scratcher 05/07/2002 11:40 #написать ответ
Мне кажется тут важна не столько техническая, сколько алгоритмическая сторона дела. Я сам, увы, достаточно смутно себе представляю какие средства MS надо применять для синхронизации. Но гораздо более сложным (и интересным) считаю сам алгоритм синхронизации данных. Например в двух базах параллельно ведутся какие-либо изменения, удаления, добавления, а потом все это требуется слить воедино. Как решить, что удалять, а что оставить? Главное решить эту задачу. А уж что с чем синхронизировать - не так важно. В конце концов, можно просто синхронизироваться через файлы.
 
Dervish: Тогда, в самом общем случае, такая синхронизация возможна только в диалоге с пользователем. И, боюсь, что она может оказаться очень неудобной для пользователя. Самое грустное, что я не вижу, как можно сделать её проще.
синхронизация Scratcher 05/07/2002 12:56 #написать ответ
Без нее, увы, гораздо хуже. Просто эта фича программой не навязывается (я имею ввиду синхронизацию между двумя немобильными компьютерами через файлы) а те, кому она может понадобиться, оценят ее по достоинству. Тем более, что реализовать ее при уже имеющейся синхронизации с моб. устройствами должно быть относительно легко. Хотя это может быть несправедливо для , если заботы о синхронизации берет на себя спец. софт.
 
Dervish: Для мобильных устройств (Windows`CE) синхронизацию делает ActiveSync. На десктопе и на Windows`CE для синхронизации нужно написать две DLL-ки, которые прописываются в реестрах. И, собственно, всё. Для синхронизации двух баз на десктопах возникает желание полностью написать это "с нуля". Потому что я не знаю, существует ли пакет аналогичный ActiveSync, но для десктопов.
Active Sync Scratcher 05/07/2002 13:45 #написать ответ
Думаю, что есть. Надо будет почитать более подробно про АS - интересно, как они формализовали задачу.
 
Dervish: На мой взгляд, не совсем удачно они это реализовали. ActiveSync замечательно подходит для синхронизации "линейных" данных, но практически не подходит для синхронизации иерархических.
 
Даже если и существует пакет синхронизации для десктопов, наверняка это монстр, впрочем, как и всё, что выходит от MS.
7. Перенос на другие платформы Dervish 27/06/2002 14:31 #написать ответ
С одной стороны, я сам - обладатель Cassiopeia от Casio. С другой - как я ни стараюсь, у меня всё время возникают "пробелы" в занесении данных в Cash. Этих двух пунктов достаточно для того, чтобы желать сделать CE-версию Cash. Почему пока не делаю? Обратите внимание, на итоги опросов пользователей в голосованиях. Там есть возможность добавить отдельный пункт "CE-версия", но, почему-то пока никто его не добавил. Действительно, есть ещё очень много вещей, которые обязательно нужно сделать в Cash и в самые короткие сроки, поскольку вещи эти животрепещущие.
 
Кроме того, боюсь, что нельзя будет "просто перенести движок". Я уже пытался сделать первые наброски для CE, но если ориентироваться на синхронизацию через MS ActiveSync, то придётся изменить структуру базы данных Cash, увы.
мультиплатформенность Scratcher 05/07/2002 11:46 #написать ответ
Да, Майкрософт любит навязывать свои решения :-)
Может вначале можно написать какую-нибудь обертку (wrapper), которая снаружи будет представлять структуру Вашей базы в том виде, который необходим для MS Active Sync? Хотя, конечно же, это только мысль и Вам, как разработчику, должно быть виднее ;-)
 
Dervish: Так или иначе, версия для Windows`CE (а, может быть и для PalmOS) нужна. Я уже сам замучился вспоминать, куда же разошлись деньги. Думаю, что если б заносил расходы прямо сразу после их совершения, не пришлось бы относить расходы на статью "Неизвестность".
потери Scratcher 05/07/2002 12:44 #написать ответ
У меня тоже есть такая статья. Только называется "Неучтенные" ;-)
 
Dervish: Ну да, ну да. Но это ведь не нормально! Учитывать, так по полной программе, все расходы.
неучтенные Scratcher 05/07/2002 13:42 #написать ответ
абсолютно согласен. Главное, совершенно не могу вспомнить, куда делись деньги. Просто обнаруживаю разницу между суммой в программе и в кошельке :-|
 
Dervish: Кстати, маленький совет, может быть пригодится. Лично я учитываю только бумажные деньги, на мелочь не обращаю внимания. То есть, например, покупаю пачку сигарет за 25 рублей. Если у меня не было мелочи, я отдаю 30 рублей и заношу в программу, что на сигареты потратил 30 рябчиков. Если же, я собрал в кошельке пять рублей мелочью, то в программу заношу, что на сигареты ушло 20 рублей. Тогда мне становится очень просто сводить остатки в программе, а существенной разницы копейки не оказывают на итоги.
 
Вначале было непривычно, но сейчас я даже и не представляю, как по-другому делать: монетки всё время норовят куда-то завалиться в кармане или просто по полу рассыпаться.
мультиплатформенность Miha Ulanov 08/07/2002 17:44 #написать ответ
Может быть стоит открыть формат базы cdbf? Авось найдутся и программисты под другие платформы.
 
Dervish: Тогда придётся открыть и механизм парольной защиты. И хоть Cash не является образцом криптозащиты (такая задача и не ставилась), но всё ж, наверное не стоит публиковать, как вскрывать пароли.
 
Кроме того, формат будет пересматриваться и, думаю, в самое ближайшее время. Равно как и механизмы доступа к файлу. Поэтому, вряд ли это поможет.
 
И ещё одна мысль: удачность разработки для наладонника в первую очередь зависит не от формата базы, скорее, от тщательности проработки идеологии, качества реализации. Согласитесь, полностью совместимая с Cash но жутко неповоротливая программа вряд ли будет пользоваться популярностью.
8. О платных версиях Dervish 27/06/2002 14:50 #написать ответ
Первое, самое главное: Cash в нынешнем состоянии будет бесплатным. Я достаточно сильно признателен российской аудитории за советы, пожелания и сообщения об ошибки, чтобы оставить Cash бесплатным. Мне не очень хочется делать разделения по функциональности для платных и бесплатных версий, поскольку это сильно усложнит сопровождение.
 
Однако (имхо), правы те, которые говорят, что бесплатный сыр бывает только в мышеловке. Значит, надо понять как превратить Cash в коммерческий продукт.
 
Думаю так: выпуск платной интернациональной версии (пользователь сможет самостоятельно изменять язык программы просто исправляя файл ".lng" обычным Notepad-ом). Кроме того, люди, обладающие PocketPC, думаю, совершенно спокойно воспримут платность программы (в разумных пределах) для маленькой машинки.
 
Итак, мне кажется, что платными могут быть только международная версия программы и версия для Windows`CE.
9. Суммы по умолчанию Dervish 27/06/2002 14:52 #написать ответ
Новое предложение, надо будет обдумать, спасибо!
Предложение Денис Лебедев 02/07/2002 00:39 #написать ответ
Я предлагаю реализовать это так же как в 1С. Там можно скопировать операцию, при этом:
- создается новая операция
- в нее автоматически заносятся дата (и номер операции)
- значения остальных полей переносятся из копируемой операции.
 
Dervish: А чем Ваше предложение отличается от команды "Дублировать операцию", что есть в (контекстном) меню? Мне казалось, что это уже реализовано, разве нет?
автокомлит Scratcher 05/07/2002 11:50 #написать ответ
Вообще, было бы здорово (хотя, как программист я понимаю, что городить ради этого огород не всегда оправданно), чтобы программа запоминала вводимые по операциям суммы и в дальнейшем автоматически подставляла ту, которая вводилась наиболее часто.
 
Dervish: Тоже хорошая идея. Спасибо!
наблюдения Scratcher 05/07/2002 12:21 #написать ответ
С увеличением продолжительности времени, в течение которого я пользуюсь программой, появляются все новые и новые идеи по поводу улучшения удобства пользования программой. Конечно же это лишь идеи и я не настаиваю на их обязательной имплементации, однако надеюсь, они помогут автору сделать свой продукт еще более удобным и дружественным к пользователю. Итак, наблюдения:
 
Dervish: А я, в свою очередь, чем дальше занимаюсь Cash, тем всё больше и больше понимаю значение юзабилити. Так что, Ваши сообщения (предложения, пожелания) могут оказать просто неоценимую помощь в развитии Cash.
временной период Scratcher 05/07/2002 13:48 #написать ответ
Не запоминаются данные фильтра временного периода на закладке операции. Вообще, IMHO, можно сделать так, чтобы этот фильтр использовался как можно реже.
Я, например, использую его только для того, чтобы количество операций одновременно показывающихся на экране было не слишком большим, и не появлялся вертикальный скроллбар. То есть каждый день-два мне надо переставлять его на пару дней вперед. Для решения этой проблемы можно реализовать возможность указывать вместо (или вместе) с датами количество самых новых операций, показываемых на экране одновременно. И/или последние операции за N дней до какой-то даты.
 
Dervish: Это к вопросу о хранении всех настроек всех страниц. Надо делать, уже, вроде бы как, придумал даже как именно. Но всё времени не хватает. Сейчас занялся табличными отчётами, тем более, что этот пункт пока лидирует в голосованиях.
Кнопки и toolbar Scratcher 05/07/2002 13:52 #написать ответ
Кнопки "Добавить" и "Удалить" есть только на закладке "Операции". В то же время, такие действия выполняются еще минимум на пяти оставшихся закладках. Я так понимаю, что появление кнопок "Добавить" и "Удалить" было вызвано заботой автора о начинающих пользователях. Тогда не очень понятно, почему в программе остутствует панель инструментов, где наряду с этими двумя могли бы быть и другие, как то: "Изменить", "Дублировать", "Блокировать", "Печатать" и т.д. Кстати бонусом для тех, кто привык пользоваться контекстными меню и гор. клавишами, является штатная возможность удалять панель инструментов для того, чтобы освободить место. Туда же, при желании, можно перенести и фильтры.
 
Dervish: ToolBar очень нужен. Но на него нет пока картинок. ( Сам я рисовать не умею, так что, пока остаётся только ждать, когда кто-нить из пользователей нарисует пиктограммки.
выделение группы Scratcher 05/07/2002 13:57 #написать ответ
Возможность выделения группы элементов (н-р операций), подряд или врозь, для выполнения над ними операций типа удаления, блокировки и признака выполнения.
 
Dervish: Это очень сложное в реализации изменение. Однако, его нужно будет делать, тем более, что Вы не первый, кто высказывает такое пожелание. Опять же, посмотрите в голосованиях, там это уже упомянуто.
hot key для новой операции Scratcher 05/07/2002 13:59 #написать ответ
Еще одна стандартная(?)последовательность для создания нового элемента - Ctrl+N
Руки так и тянутся :-)
 
Dervish: Лично у меня Ctrl+N прочно ассоциируется с созданием нового файла. Кстати, мне хотелось бы немного изменить работу с файлами базы данных. Сделать её более традиционной, чтоб были кнопки Save, Save As... Тогда и Ctrl+N пригодится.
Добавить статью Scratcher 05/07/2002 14:16 #написать ответ
Фокус ввода в диалоге "Добавить статью" д.б. на поле "Название", а не на дереве статей. По крайней мере в том случае, когда он вызывается из закладки "Статьи". Ведь мы уже выбрали статью-родителя прежде чем нажать на Ins.
 
Dervish: Может быть. Не знаю. Раньше было именно так, но потом я почему-то изменил фокус ввода, уже и не помню, почему именно. Но вообще, добавление статьи, это не частая процедура, стоит ли городить огород?
Нужно городить Alexey Rubtsov 13/11/2003 17:04 #написать ответ
Доброе время суток, во-первых. А во-вторых, - размещение фокуса на "дереве" мне кажется очень странным. Я лично всегда вызываю диалог добавления "стоя" на предполагаемом "родителе". Невозможность сразу начать ввод меня лично несколько раздражает... Но, возможно, кому-то это не мешает.
 
Dervish: Я это уже сделал. Посмотрите бета-версию 1.4, в этой версии вы сможете сразу же начинать ввод. И пусть вас не смущает приставка "бета", эта версия будет поучтойчивее, чем релиз 1.3. А бетой она остаётся только потому, что я не дописал в ней Help и не доделал печать отчётов.
Юзабилити: повторяющие операции Miha Ulanov 08/07/2002 18:04 #написать ответ
В операциях жмем кнопку "повторение". В появившемся диалоге "повторение" видим начальные значения, заполненные сегодняшним днем, например "каждого 8-го числа". Нелогично. Лучше было бы, по-моему, в качестве начальных значений предлагать не сегодняшнюю дату, а дату редактируемой операции.
 
Dervish: Принимается. Спасибо.
Ввод многих операций Vit 09/07/2002 16:04 #написать ответ
Нельзя ли сделать опцию, при включении которой дата по умолчанию, которая устанавливается в диалоге при создании новой операции, будет равна дате, указанной при вводе предыдущей операции (или текущей если это 1й ввод)?
 
Поясняю: я, допустим, ввожу затраты "за вчера" и менять дату в диалоге для каждой "вчерашней" операции несколько напряжно, а использовать "повторение" не всегда удобно...
 
И еще: насколько я помню ("под боком" программы нет), при редактировании даты нельзя использовать цифры для быстрого ввода числа/времени...это можно исправить?
 
Dervish: А почему Вы не используете кнопку "Добавить" на диалоге ввода новой операции? Мне казалось, что она делает как раз то, что Вам необходимо. Когда лично я ввожу операции за прошлый период, я ввожу их потоком, указывая только дату (при нажатии на "Добавить" она не изменяется), комментарий к платежу и сумму операции. А уже после того, как ввод закончен, я "разбрасываю" введённые операции по статьям, агентам и проектам.
 
Действительно, для ввода даты пока нельзя использовать цифры. Для ввода времени можно, а для даты нельзя. Исправить это можно, легко и быстро, если Вы преложите приемлимый вариант ввода месяца цифрами. Приелимый означает "понятный и очевидный всем". Я пока такого варианта не нашёл.
ввод даты Miha Ulanov 09/07/2002 17:52 #написать ответ
Лично для меня наиболее удобный ввод даты/времени был бы следующим:
1. Поля даты и времени разделить. При этом ввод времени сделать необязательным (например, при рассчетах считать время 00:00, но не отображать его). Можно и дату сделать необязательной, считая ее при обработке раньше всех других дат. Удобно будет начальные значения на счета заносить.
2. В поле даты пользователь пишет дату в одном из виндовых форматов (с возможностью не писать год), например, для русских настроек ДД.ММ.ГГ (а cash и так только русский) принимать следующие форматы:
"ДД.ММ.ГГ", "ДД.ММ" (текущий год), "ДД МММММ ГГ", "ДД МММММ".
После ввода даты и нажатия на TAB, надпись в поле ввода меняется на стандартную ("ДД МММММ ГГГГ")
3. Ввод времени аналогично.
Пишем "23:05" - получаем "23:05".
Пишем "23" - получаем "23:00"
Ничего не пишем - получаем дату без времени.
 
Все вышенаписаное - лишь мое мнение и не может служить указанием к действию.
 
Dervish: Удобно, когда есть нумерация предложений:
 
1. Вы прямо мысли читаете. Поля даты и времени будут разнесены. Причём, в самом ближайшем будущем. И тогда (наконец-то!) мы сможем выбирать дату одним кликом мышки (если не потребуется выбрать другой месяц или год). Время будет отключаемым, но позже и через настройки. Я исхожу из допущения, что если время не нужно пользователю, то оно не нужно вовсе, а не для какой-то группы операций. Согласитесь ли Вы с таким допущением?
 
2. Вы предлагаете во время ввода месяца показывать его цифрами? Правильно ли я понял предложение? Если да, то идея неплохая, однако я опасаюсь, не будет ли такое поведение программы смущать пользователей и вносить неясность.
 
3. С вводом времени (с клавиатуры), как я понял, пока проблем нет. А ввод при помощи мышки я сейчас обдумываю, пока сказать ничего не могу.
ввод даты Miha Ulanov 09/07/2002 18:22 #написать ответ
1. Мне время не нужно вовсе, и я согласен отключить его в настройках. Но вдруг кому-то время обычно нужно, но для некоторых операций его ставить не хочется.
 
2. Мои предложения были таковы:
При нажатии на стрелочку вниз и нарисованном календаре все остается как есть.
Если календарь спрятан, то поле ввода - обычное текстовое. Пишу что хочу. Примеры еще раз: "09.07.02", "9.07", "09", "9 июля". После окончания ввода программа анализирует введенное и, если ей понравится, пишет дату в поле в стандартной форме (long date style), напр. "09 июля 2002г.", а может быть лучше и short date style.
 
Dervish:
1. Не доводилось мне встречать пользователей, которым даты нужны, но не всегда.
 
2. На самом деле, с точки зрения юзабилити, сложный вопрос. Надо будет подумать. Тем более сложный, что этот вопрос связан с локализацией компьютера.
ввод даты Miha Ulanov 09/07/2002 18:36 #написать ответ
2. Но в excel`е именно так сделан ввод дат. Очень удобно. А по поводу локализации - что-то мне мерещится, что в виндах есть функция перевода даты из текстового вида, указанного в international settings. Под рукой msdn нету :-(
 
Dervish: Кстати, а, может быть, действительно взять за основу Excel? Хотя, похоже там свои проблемы: Excel запросто может показать ошибку в ячейке, а вот в поле ввода даты Cash этот номер не пройдёт. Не очень красиво будет смотреться.
ввод даты Vadim 19/07/2002 05:30 #написать ответ
2. Да, цифрами! В списке операций же дата цифрами написана, и никто еще не смутился. Да вы вспомните, мы же *все* в течение нескольких лет писали в школьных и студенческих тетрадях дату цифрами на полях. Разве можно перепутать после этого номер месяца?
 
Dervish: Нууу, я способен ещё и не на такое! Лично я запросто смогу!
ввод даты Vadim 23/07/2002 01:56 #написать ответ
Ну что ж, тогда и слова "июнь" и "июль" можно перепутать
 
Dervish: Верно!
Ввод многих операций Vit 09/07/2002 19:47 #написать ответ
С кнопкой "Добавить" посмотрю дома...
 
Что касается ввода даты, то в первую очередь я имел в виду число, а не месяц. А в общем случае можно сказать о том, что имея перечень элементов в какой-то части даты (ну то есть числа от 1 до 31 или наименования месяцев - все равно), нужно разрешать быстрый поиск по первым буквам (или цифрам) элементов этого перечня - так подойдет?
 
Dervish: С числом-то как раз очень просто. С месяцем сложно. Если давать возможность ввода даты, то давать её полностью, а основная сложность ввода месяца с клавиатуры в том, что, к сожалению, некоторые названия месяцев начинаются с одной буквы. Либо автоматом переключать месяц на две цифирьки (1-12), когда он выделяется для ввода, либо не знаю что. Но такое переключение, имхо, тоже не идеал.
Дата и клавиатура Vit 10/07/2002 11:38 #написать ответ
Ну в общем существует два варианта (и оба стандартных :-) поведения программ в таких случаях (берем за пример combobox`ы)
- если есть несколько элементов, начинающихся с одной буквы, первое нажатие на эту букву выбирает первый такой элемент, второе - второй...итд, при этом после "последнего" элемента выбирается первый;
 
или
 
- давать возможность вводить не только первую букву, при этом начинать "заново" т.е. с первой буквы когда пользователь "сам" (с помощью стрелок итд) изменил выделенный элемент.
 
Dervish: Не нравится мне ввод буквами. Цифрами было бы лучше, опять же, numpad-ом можно воспользоваться. А при вводе буквами запросто можно ошибиться, забыв про раскладку клавиатуры.
Дата и клавиатура Vit 10/07/2002 13:29 #написать ответ
Ну тут тогда надо будет выбрать - или мы хотим путаться (впрочем, кто путается?) с региональным форматом даты,или вводить все числами...или я неправильно понял?
 
Dervish: Да, всё верно. И ещё одно: если сейчас формат даты жёстко закодирован в программе, то в будущем это придётся изменить, раз уж есть желание сделать интернациональную версию. Придётся формат даты брать из настроек системы. Впрочем, вроде бы с этим не должно быть осложнений.
Дата и клавиатура Vit 10/07/2002 13:44 #написать ответ
Ну с датой и базой как раз относительно просто: хранить дату в базе надо в фиксированном и всегда одинаковом формате (преобразовывая региональный формат-формат базы при собственно записи/чтении).
 
Dervish: Уж будьте уверены, Cash есть и будет 2000-compliant. Даты в базе хранятся в COM-формате: вещественное число двойной точности.