Апрель 28, 2010
Секрет хорошего дизайна заключается в том, чтобы дать пользователю набор простых методов для выполнения задач, свести к минимуму возможность ошибки и скрыть от него те функции, которые ему в подавляющем большинстве случаев не потребуются.
Чаще всего этот тезис вызывает паралич мозга у программистов, которые меряют продукт с точки зрения функционала, и, после три тысячи пятисотой сборки, они уже не видят трудности с доступом к функции, для которой нужно всего лишь войти в настройки, выбрать третью вкладку, оттуда вызвать диалог, в котором надо запустить поиск, щелкнуть правой кнопкой мыши, чтобы вызвать контекстное меню и выбрать пункт в третьем подменю второго подпункта. Трудность, однако, есть. Также не всегда очевиден тезис, что не все, что в принципе настраиваемо, должно быть настраиваемо. Почему? Потому что каждая дополнительная опция загромождает интерфейс, делая его менее понятным и более сложным в освоении при том, что осознанно менять значение по умолчанию будет один пользователь из тысячи.
Для примера можно рассмотреть с точки зрения простоты использования три open source клиента обмена мгновенными сообщениями, каждый из которых поддерживает множество протоколов и даже, возможно, аудио-видео чаты: kopete, pidgin, empathy.
Исходно спросим себя, что же захочет сделать в программе пользователь? Например так:
- Поговорить с человеком из контакт-листа
- Найти человека, которого нет в контакт-листе и добавить его туда
- Поговорить с человеком, не добавляя его в контакт лист
- Отправить файл контакту
- Посмотреть информацию о контакте, с которым разговаривает или о контакте из списка
- Включить/выключить текстовые и звуковые оповещения
- Смайлики поменять, как же без этого.
- Поменять внешний вид окна чата – шрифты, сам способ отображения, если такое возможно
- Поменять внешний вид списка контактов – включить/выключить отображение аватаров, статус, показать или скрыть контакты не в сети
Читать далее
Апрель 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.
Апрель 27, 2010
Для сайта fistashki.org потребовалось доработать меню для обеспечивания корректной работы выпадающих подменю. При этом пункты, над которыми наводилась мышь, должны были подсвечиваться зеленым цветом, в том числе и пункт меню, соответствующий текущей странице, который в обычном состоянии должен был быть черным. Кроме того, в раскрывающемся списке ширина пунктов должна определяться по ширине самого длинного пункта меню.
Работа была произведена, меню работает в ie6-8, FF 2.0+, opera 9.6+, safari 4 и chrome 4 (две последние версии указаны такими просто потому, что под рукой не было более ранних версию браузеров для проверки).
Изначально хотел описать создание меню по шагам с остановками на всех встреченных багах, но прошел месяц, и могу только наметить общие технические приемы, которые были применены.
И да, поиск в интернете показал, что это чуть ли не единственная реализация, которая стабильно правильно работает в IE8! Продолжительные аплодисменты, переходящие в бурные овации. Читать далее
Апрель 20, 2010
Набор сюжетных штампов, Персей с лицом американского морского пехотинца и хорошие спецэффекты – что еще нужно для хорошего кино?
Заинтересовали следующие вопросы:
- Что же это за могущество людей, у которых в армии несколько десятков человек?
- Почему в царстве мертвых видно Луну?
- Почему в царство мертвых можно просто прийти?
….
Вообще, пришел к выводу, что если на актеров-героев надеть скафандры и отправить на Марс бороться с нечистью, то получилось бы примерно так же.
Читать далее
Апрель 18, 2010
Мое строгое убеждение состоит в том, что идеальная управленческая система будет стоять либо на зомби либо на роботах, которые будут занимать все технические управленческие должности, а люди превратятся в рабов, занимающихся починкой и отладкой этих машин. Какова ирония – работать на машины, которые обеспечивают функционирование твоего мира! Людей не должно быть в транспорте – задача техническая, и должна решаться соответствующими методами. Я уже представляю себе мир под управлением немногочисленных электронных супермозгов. Один мозг отвечается полностью за эффективную работу транспортной сети, второй – за воспитательную работу среди следующего поколения механиков-ремонтников-людей, третий – за эффективное планирование использования ресурсов и т.д. От людей в перспективе вообще можно будет отказаться, потому что они зачастую нарушают стабильность системы и из-за своей шизы или прочей корысти. В итоге получим идеальный мир для людей, в котором места для людей не будет. Можно пойти еще дальше – для электронного разума вообще нет такого понятия, как старость, т.к. этот вопрос решается простым изготовлением дополнительных комплектующих, а это убивает несколько проблем: одна – стремление сделать все за недолгий отведенный срок, и, как следствие, само ощущение течения времени.
Отсюда еще интереснее. В фантастической литературе делают ту ошибку, что предполагают, что инопланетный мир будет хоть как-то похож на наш, я имею в виду человеческий фактор – скандалы, интриги, расследования, советы, любовь, дружбу, зависть, ненависть. А теперь представим мир, в котором основной целью на железном уровне запрограммированы стабильность и планомерное развитие, существует несколько высших представителей, которые определеяют развитие общества, а вопросы между ними однозначно решаются полуавтоматическими методами. Нет места для корысти, есть только совместный труд и обеспечивание потреностей всех и каждого. Коммунизм.
Но это недостижимый утопический идеал, начинать нужно с малого – например, вшивание чипов при рождение несомненно помогло бы при решении проблемы уклонистов в армии, беглецов а местах заключения, проблемы нарушения правил пдд (превысил скорость, чип самостоятельно посылает сигнал на ближайший пост ДПС); таким же образом можно бороться с проблемой взяток.
Апрель 12, 2010
За что люблю интернет, так за то, что он порою внезапно приносит удивительных авторов и их книги. В этот раз на одной из каррикатур было сравнение Оруэлла 1984 и книги «О дивный новый мир» Хаксли. Второго автора не читал, поэтому решил немедленно ознакомиться и совершенно не разочаровался. Читать далее
Апрель 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>
Апрель 6, 2010
Как известно, интернет эксплорер 6 не дружит со многими технологиями, отчасти просто потому, что слишком стар для подобных вещей, но легче от этого не становится.
Вот и сейчас удар пришел с неожиданной стороны, засада оказалась в теге body
Читать далее
Апрель 5, 2010
Не прошло и миллиона лет, как я решил привести форму комментариев в божеский вид. Теперь она выглядит примерно так, как я хотел бы, чтобы она выглядела во всех блогах: имя к комментарию можно указывать как вручную так и по openid, есть возможность подписаться на комментарии к посту, чтобы не тупить над открытой вкладкой.
Из недоделок – плагин подписок не руссифицирован, поэтому неопытный пользователь непременно споткнется о нерусские буквы. В хорошем обществе за это бьют, но я могу ответить :)
Немного о хорошем: рядом с работой нашелся магазин крымских вин. Зашел, ознакомился с ассортиментом и почти почувствовал морской ялтинский воздух. Здрауствуй белый крымский! Привет, бастардо!
Апрель 3, 2010
Ознакомился с книгой Павла Шеремета «Саакашвили / Грузия. Погибшие мечты». Книга полезна хотя бы тем, чтобы получить представление о том, что в Грузии было до и стало благодаря Саакашвили.
В России формируют его образ только в виде психопата, который то жует галстук, то от самолетов пытается скрываться, но это только одна сторона.
Другой стороной является то, что только после революции в стране начала формироваться нормальная армия, государство обрело единство и целостность (не считая двух республик). Очень интересно читать про организацию современной грузинской полиции, да и вообще про все методы управления в стране. Например – уволить из государственных структур всех служащих до 40 лет, разогнать полицию для организации новой, сделать зарплату чиновников в несколько раз выше средней по стране и при этом незамедлительно карать при намеках на взятки. Или законодательно признать заслуживающими наказания всех людей, которые признают себя ворами в законе. Или построить президентскую резиденцию в бедном районе столицы, чтобы решить денежные проблемы жителей засчет подъема цен на недвижимость.
С другой стороны, борьба со СМИ, разгром телеканала Имеди, отъем бизнеса у предпринимателей и финальный провал в Южной Осетии и связанные со всем этим политические игры.
Чем больше читаю, тем больше хочется оказаться в Грузии и посмотреть, как же оно там на самом деле. Есть ли у кого на примете литература, освещающая ситуацию в стране под каким-либо другим углом?
В заключение хочу послать сфокусированный пучок ненависти в сторону издательства Партизан. За время чтения споткнулся о целую кучу опечаток (может быть, до сорока). Книжка формата А5, 300 страниц. Неужели было трудно прочесть? Неужели в издательской промышленности до сих пор нет программного обеспечения, которое автоматически проверяет рукопись на наличие подобных ошибок? Куда смотрят редакторы?