Путаница кнопок Cancel и Close

Слово Cancel частенько нужно заменить на Close!

Мало-мальски сложное диалоговое окно должно иметь кнопку «Закрыть», которая дополняет стандартный крестик в заголовке и точно указывает действие, которое при этом произойдет. На таких кнопках обычно пишут Cancel (Отмена) или Close (Закрыть), причем вариант Cancel уместен не всегда, но встречается чаще. Попробуем разобраться на примерах.

Read more →

Electriq Wednesday 12 January 2011 at 12:03 am | | Russian | Two comments

Сложность, доступная вам

— девиз ПО для гиков

«Ведь вы этого достойны!» :)

Electriq Friday 07 January 2011 at 5:26 pm | | Russian | No comments

Программы и культура

Компьютеры должны помогать людям делать красиво и правильно

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

На мой взгляд, правильные и ответственные программы имеют иной девиз: «Программа должна направлять людей на правильные действия, стараться вести к красоте, помогать поддерживать порядок, но иногда должна позволять отойти от правил».

Что я имею в виду?

Read more →

Electriq Monday 03 January 2011 at 8:22 pm | | Russian | No comments

Класть трубку — дело ответственное

О функциях кнопки завершения вызова

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

Read more →

Electriq Monday 03 January 2011 at 8:08 pm | | Russian | One comment

Телефоны морочат людям голову

О неудобном ПО сотовых телефонов и нестабильности интерфейсов

Я довольно часто ругаюсь на различные программы, прошитые в сотовые телефоны, и вот, пользуясь очередным поводом, решил написать еще одну заметку.

Эта история началась с того, что меня попросили перевести часы в телефоне Samsung на зимнее время. Хозяйка телефона знала, как и я, что это делается в настройках, но тем не менее, установки часов найти там не смогла. Где же оказалась запрятана эта функция, и что я думаю о меню телефона в целом — читайте далее.

Read more →

Electriq Monday 08 November 2010 at 11:55 pm | | Russian | No comments

Загадочные Normal, Auto и Default

или "Программа для нормальных людей"

Для нормальных волос

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

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

Аналогичным образом ведут себя многие программы.

Read more →

Electriq Wednesday 27 October 2010 at 12:25 pm | | Russian | No comments

Знак и множитель в FFT в различных программах

Сведем путаницу в знаках в одну таблицу

Формулировка преобразования Фурье всегда содержит в себе две вольности: это знак (+/−) в экспоненте и выбор множителей перед прямым и обратным преобразованием. В прямом и обратном преобразованиях знаки должны быть противоположными, а произведение множителей в прямом и обратном преобразованиях должно дать 1/N, где N — число точек в массиве.

Вот один из примеров задания прямого и обратного преобразований Фурье:

 
Прямое преобразование

Обратное преобразование

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

Read more →

Electriq Thursday 14 October 2010 at 12:07 pm | | Russian | No comments
Used tags: ,

Ошибки GTK+ Java lnf для Swing на Linux/Unix

или почему MagicPlot использует Metal look-and-feel на *nix-системах

По умолчанию любая программа, написанная на Java и основанная на графической библиотеке Swing, отображается с использованием стандартного look-and-feel (skin) под названием Metal. Metal разрабатывался в 90-х и сейчас считается устаревшим. Он имеет упрощенные формы, при этом быстро работает, но создает у пользователя не слишком хорошее впечатление в сравнении с внешним видом других программ. На замену стандартному look-and-feel можно включить системный, который очень точно копирует внешний вид и поведение компонентов операционной системы.

Системный look-and-feel под Windows и Mac OS X выглядит очень убедительно и работает достаточно гладко. На большинстве Linux/Unix компьютеров системным look-and-feel в Java является GTK+. Когда я увидел GTK+ look-and-feel на линуксе (Ubuntu 9), мое первое впечатление было положительным. Но в последствии выяснилось, что не смотря на кажущуюся красоту, по вине разработчиков нормально работать с GTK+ look-and-feel не представляется возможным. В этой заметке я приведу некоторые замеченные мной глюки, наличие которых привело к тому, что мне пришлось "вручную" отключить GTK+ L&F в MagicPlot.

Read more →

Electriq Wednesday 06 October 2010 at 10:29 am | | Russian, Java | Two comments
Used tags: , ,

Most HV6

Фотографии фильтра с защитой от перенапряжения

В рамках расширения числа домашних рабочих мест купил домой еще один сетевой фильтр, и вновь с защитой от перенапряжения, которое в нашей стране иногда бывает. Мой выбор снова пал на Most HV6, который производится у нас в Санкт-Петербурге. Это уже третий такой фильтр в моем обширном дачно-городском хозяйстве, и я выкладываю фотографии его внутренностей.

Read more →

Electriq Tuesday 28 September 2010 at 4:21 pm | | Russian | Three comments
Used tags: ,

MagicPlot vs Origin: Set column formula

Сравнение скорости вычисления столбцов по заданной формуле

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

Сравнению я подверг скорость вычисления столбцов по заданным формулам, что в MagicPlot называется Set column formula, а в Origin — Set column values.

Read more →

Electriq Monday 27 September 2010 at 11:22 am | | Russian | No comments
Used tags: ,

Читая Release Notes

Java SE 1.6.0_21 Bugs Fixed

Иногда бывает, что полистав release notes новой версии какой-то программы находишь там упоминание об исправлении таких багов, что возникает вопрос, а как же оно работало до того. Баги можно условно разделить на два типа: которые не позволяют работать совсем (например, программа аварийно завершается), и те, которые ухудшают восприятие программы (например, плохо продуманные переходы фокуса ввода, действия по вращению колеса мыши). В своих программах стыдно бывает за оба типа.

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

Read more →

Electriq Monday 26 July 2010 at 3:11 pm | | Russian | No comments
Used tags: , ,

Pilot X Pro

Вскрывая фильтр с защитой от перенапряжения

Для защиты от скачков напряжения на даче купил себе специальный сетевой фильтр с защитой от перенапряжения Pilot X Pro. Его схема на микроконтроллере измеряет напряжение и в случае опасности отключает нагрузку при помощи реле. После покупки я решил посмотреть, что внутри.

Read more →

Electriq Saturday 24 July 2010 at 7:57 pm | | Russian | No comments
Used tags: ,