<? Петров ?>

Usability в open source IM-клиентах

Апрель 28, 2010

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

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

Для примера можно рассмотреть с точки зрения простоты использования три open source клиента обмена мгновенными сообщениями, каждый из которых поддерживает множество протоколов и даже, возможно, аудио-видео чаты: kopete, pidgin, empathy.

Исходно спросим себя, что же захочет сделать в программе пользователь? Например так:

  1. Поговорить с человеком из контакт-листа
  2. Найти человека, которого нет в контакт-листе и добавить его туда
  3. Поговорить с человеком, не добавляя его в контакт лист
  4. Отправить файл контакту
  5. Посмотреть информацию о контакте, с которым разговаривает или о контакте из списка
  6. Включить/выключить текстовые и звуковые оповещения
  7. Смайлики поменять, как же без этого.
  8. Поменять внешний вид окна чата – шрифты, сам способ отображения, если такое возможно
  9. Поменять внешний вид списка контактов – включить/выключить отображение аватаров, статус, показать или скрыть контакты не в сети

Читать далее

Прокрутка в текстовых полях во Flash

Апрель 27, 2010

Если забивать текст в объект типа textField во флеше, то порой проявляется эффект, когда при выделении текст начинает прокручиваться, при этом визуально пространства тексту хватает. Решением является отказ в постоянном использовании свойства autoSize и добавления небольшого зазора по высоте вручную.

var padding = 2;
textField.autoSize = true;
textField.html = true;
textField.htmlText = yourText;
 
var th = textField._height;
textField.autoSize = false;
textField._height = th + padding

Код для AS2.

Горизонтальное css-меню

Апрель 27, 2010

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

Работа была произведена, меню работает в ie6-8, FF 2.0+, opera 9.6+, safari 4 и chrome 4 (две последние версии указаны такими просто потому, что под рукой не было более ранних версию браузеров для проверки).

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

И да, поиск в интернете показал, что это чуть ли не единственная реализация, которая стабильно правильно работает в IE8! Продолжительные аплодисменты, переходящие в бурные овации. Читать далее

Битва титанов

Апрель 20, 2010

Набор сюжетных штампов, Персей с лицом американского морского пехотинца и хорошие спецэффекты – что еще нужно для хорошего кино?

Заинтересовали следующие вопросы:
- Что же это за могущество людей, у которых в армии несколько десятков человек?
- Почему в царстве мертвых видно Луну?
- Почему в царство мертвых можно просто прийти?
….

Вообще, пришел к выводу, что если на актеров-героев надеть скафандры и отправить на Марс бороться с нечистью, то получилось бы примерно так же.

Читать далее

Вся вселенная должна функционировать при помощи роботов

Апрель 18, 2010

Мое строгое убеждение состоит в том, что идеальная управленческая система будет стоять либо на зомби либо на роботах, которые будут занимать все технические управленческие должности, а люди превратятся в рабов, занимающихся починкой и отладкой этих машин. Какова ирония – работать на машины, которые обеспечивают функционирование твоего мира! Людей не должно быть в транспорте – задача техническая, и должна решаться соответствующими методами. Я уже представляю себе мир под управлением немногочисленных электронных супермозгов. Один мозг отвечается полностью за эффективную работу транспортной сети, второй – за воспитательную работу среди следующего поколения механиков-ремонтников-людей, третий – за эффективное планирование использования ресурсов и т.д. От людей в перспективе вообще можно будет отказаться, потому что они зачастую нарушают стабильность системы и из-за своей шизы или прочей корысти. В итоге получим идеальный мир для людей, в котором места для людей не будет. Можно пойти еще дальше – для электронного разума вообще нет такого понятия, как старость, т.к. этот вопрос решается простым изготовлением дополнительных комплектующих, а это убивает несколько проблем: одна – стремление сделать все за недолгий отведенный срок, и, как следствие, само ощущение течения времени.

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

Но это недостижимый утопический идеал, начинать нужно с малого – например, вшивание чипов при рождение несомненно помогло бы при решении проблемы уклонистов в армии, беглецов а местах заключения, проблемы нарушения правил пдд (превысил скорость, чип самостоятельно посылает сигнал на ближайший пост ДПС); таким же образом можно бороться с проблемой взяток.

Хаксли. О дивный новый мир

Апрель 12, 2010

За что люблю интернет, так за то, что он порою внезапно приносит удивительных авторов и их книги. В этот раз на одной из каррикатур было сравнение Оруэлла 1984 и книги «О дивный новый мир» Хаксли. Второго автора не читал, поэтому решил немедленно ознакомиться и совершенно не разочаровался. Читать далее

Opera и пустота

Апрель 6, 2010

В браузерах opera версий 10.10 и 10.50 обнаружены уникальные, нигде больше не встречающиеся особенности. В частности Opera 10.10 отлично от всех остальных браузеров интерпретирует теги <a><img/></a>. Особенность в том, что под ссылку резервируется немного дополнительного места, которое не отображается в их, не побоюсь этого слова, уебищном, dragonFly, но при этом вполне может привести к появлению трудно диагностируемых полосок прокрутки. Чтобы убрать эффект, достаточно применить к ссылке display:inline-block. В большинстве случаев в других браузерах побочных эффектов не возникает, но тестить нужно несомненно.

Opera 10.50 пошла дальше, и решила резервировать место еще и под тег <map>. display:none в этом случае вполне спасает.

Ну и, пожалуй, последний на сегодня, клевый эффект, который приводит к тому, что у верхнего края области просмотра появляется белая полоса, которая сдвигает все содержимое ниже, оставляя верстальщика биться в бессмысленной ярости. Dragongly показывает, что между тегами html и body затесался br. WTF?! Длительное гугление показало, что к этому приводят ошибки в javascript! Еще больший сюрприз заключается в том, что конструкция try-catch в данном случае совсем не помагает.

Например, фатальным окажется такой код:

	<script type="text/javascript">
		try {
			document.execCommand("BackgroundImageCache", false, true);
		} catch (e) { }
	</script>

Internet Explorer 6 и центрирование блоков

Апрель 6, 2010

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

Вот и сейчас удар пришел с неожиданной стороны, засада оказалась в теге body
Читать далее

Новая форма комментариев

Апрель 5, 2010

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

Из недоделок – плагин подписок не руссифицирован, поэтому неопытный пользователь непременно споткнется о нерусские буквы. В хорошем обществе за это бьют, но я могу ответить :)

Немного  о хорошем: рядом с работой нашелся магазин крымских вин. Зашел, ознакомился с ассортиментом и почти почувствовал морской ялтинский воздух. Здрауствуй белый крымский! Привет, бастардо!

Грузия и Саакашвили

Апрель 3, 2010

Ознакомился с книгой Павла Шеремета «Саакашвили / Грузия. Погибшие мечты». Книга полезна хотя бы тем, чтобы получить представление о том, что в Грузии было до и стало благодаря Саакашвили.

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

Другой стороной является то, что только после революции в стране начала формироваться нормальная армия, государство обрело единство и целостность (не считая двух республик). Очень интересно читать про организацию современной грузинской полиции, да и вообще про все методы управления в стране. Например – уволить из государственных структур всех служащих до 40 лет, разогнать полицию для организации новой, сделать зарплату чиновников в несколько раз выше средней по стране и при этом незамедлительно карать при намеках на взятки. Или законодательно признать заслуживающими наказания всех людей, которые признают себя ворами в законе. Или построить президентскую резиденцию в бедном районе столицы, чтобы решить денежные проблемы жителей засчет подъема цен на недвижимость.

С другой стороны, борьба со СМИ, разгром телеканала Имеди, отъем бизнеса у предпринимателей и финальный провал в Южной Осетии и связанные со всем этим политические игры.

Чем больше читаю, тем больше хочется оказаться в Грузии и посмотреть, как же оно там на самом деле. Есть ли у кого на примете литература, освещающая ситуацию в стране под каким-либо другим углом?

В заключение хочу послать сфокусированный пучок ненависти в сторону издательства Партизан. За время чтения споткнулся о целую кучу опечаток (может быть, до сорока). Книжка формата А5, 300 страниц. Неужели было трудно прочесть? Неужели в издательской промышленности до сих пор нет программного обеспечения, которое автоматически проверяет рукопись на наличие подобных ошибок? Куда смотрят редакторы?