Новый логотип

Weird Wires

Gris нарисовала красивый логотип для Weird Wires, он перед вами! :)

А еще — талисманчик:

Теплый ламповый жук

Теплый ламповый жук

Electriq | Thursday 22 March 2012 at 10:57 pm | | English | No comments

О честности перед собой в проектировании интерфейсов

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

Недавно я добавлял новую бесполезную функцию в MagicPlot — задание формул для столбцов без открывания диалогового окна, как в Excel (кстати, еще одна мысль, которая часто возникает — «как же я сразу не догадался?»). Теперь когда среди открытых в проекте окон активно окно с таблицей, панель инспектора вместо задания размера шрифта, цвета линий и прочего оформления содержит большое поле для ввода формулы с подсветкой синтаксиса:


Сейчас, когда я пишу, новая версия еще не вышла

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

Я опубликовал скриншот, и написал, что «примерно так оно будет выглядеть». Каков же был первый вопрос пользователей? — Вы угадали: «а будет ли автодополнение?»

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

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

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

P.S. Автодополнение пока не реализовано, но я обещаю, что немного погодя оно появится. Уже прикидывал и читал, как присобачить туда всплывающий список, и что он должен показывать.

Electriq | Saturday 17 March 2012 at 08:13 am | | English | One comment

Почему программы теперь такие большие

Тема для размышления

Вопрос:

Ответ (и ведь не поспоришь!):

Собственно, код, который нужен из библиотеки:

Отсюда: http://stackoverflow.com/questions/1264709/convert-inputstream-to-byte-in-java

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

Electriq | Monday 12 March 2012 at 11:48 am | | English | No comments
Used tags:

Давно я ничего не писал

А блог опять взломали

Причем когда это произошло — непонятно, внешне видно не было. Сегодня из хостинг-провайдера написали, что с сайта осуществляются DDoS-атаки и заблокировали сайт. Судя по всему, взломан был PivotX, это CMS этого блога.

Так что вот вам ссылка на статью про взлом сайтов от моего хостинг-провайдера :)
http://habrahabr.ru/company/sprinthost/blog/125839/

P.S. Я почему раньше злой был? Потому что у меня Андроида не было! А теперь я добреть начну :)

Добавление

Уязвимость была в файле timthumb.php, который, как я понял, присутствует и в других CMS, так что с PivotX обвинения, по-видимому, можно снять :)

Electriq | Saturday 14 January 2012 at 12:06 am | | English | No comments
Used tags: