Dmitry Scriptin
Правильный таймер на JavaScript (скринкаст)

Смитрите скринкаст: http://screenr.com/kxZ

Исходный код таймера:

var Timer = function (interval, action) {
    var time = +new Date();
    function run() {
        var newTime = +new Date();
        if (newTime-time >= interval) {
            action();
            time = newTime;
        }
        setTimeout(run, 0);
    }
    this.start = run;
};

// использование:
var timer1 = new Timer(500, action1); // action1 - любая ф-я
timer1.start();
Короткие анонимные функции из строк в JavaScript (скринкаст)

Есть такая библиотека - Functional JavaScript, в которой можно создавать функции из строк. Я решил снять 5-минутный скринкаст на эту тему. Вот он: http://screenr.com/DlD

А вот код:

// собственно, сниппет
String.prototype.func = function () {
    var parts = this.split('|'),
        params = parts.shift(),
        body = 'return ' + parts.join('|');
    return new Function(params, body);
};

// образец
alert ( 'x,y | x+y'.func()(2,3) );
Веб-дизайн: основы процесса создания качественного дизайна

Когда я создаю дизайн сайта, я сначала читаю (или пишу) следующие документы:

Без этих документов дизайна не будет в принципе, так как дизайн - это “разработка для …” (англ. to design = предназначать).

После этого я определяюсь, какое впечатление должен производить (и какое настроение должен создавать) дизайн в целом, логотип (требования к брендингу) и стек шрифтов (требования к типографике). Для этого составляю список эпитетов: “строгий, уверенный в себе, глобальный, ответственный” и т.п. Потом по этому списку можно проводить тестирование, дополнив его антонимами и случайными словами, попросив пользователей выбрать подходящие эпитеты из списка после того, как они взглянут на ваш дизайн - это хороший способ контроля результата.

Потом подбираю цвета (брендинг + психология восприятия) с учетом культурных особенностей пользователей в духе “красный - мотивирующий, синий - успокаивающий” - впрочем, сильно увлекаться этим не стоит. Всего беру, как правило, три цвета (или меньше): базовый, доминирующий и акцент.

В техническом задании (ТЗ) я считаю нужным указывать только технические вопросы:

  • используемые JS/CSS-библиотеки и фреймворки,
  • стандарт верстки (XHTML/HTML/HTML5),
  • поддерживаемые разрешения экрана и платформы (только браузеры или мобильные телефоны тоже?),
  • какие функциональные блоки нужно проработать (меню, блоки цитат, формы и т.п.),
  • в каких браузерах дизайн должен работать и насколько близко к оригиналу (требовать от всех браузеров одинакового результата - тратить деньги зря).

Такие вопросы, как расположение ключевых функциональных блоков, должны решаться при проектировании интерфейса, поэтому дизайнеру/художнику их лучше не оставлять. Вместо этого лучше приложить к ТЗ wireframe‘ы или бумажные наброски вашего интерфейса.

В остальном дизайнер должен иметь свободу действий, если уж это хороший дизайнер.

Чего нельзя делать при создании дизайна:

  • хотеть “красный” или “морской” дизайн. Варианты вроде “легкий, воздушный” тоже не приветствуются - любое важное решение должно иметь обоснование, и желание заказчика тут имеет меньший вес, чем предпочтения пользователей и особенности их восприятия. Если ваш заказчик этого не понимает, закидайте его ссылками на статьи по дизайну, юзабилити и психологии цвета;
  • делать дизайн “для себя” - если вы публикуете работу в сети, то она уже не только для вас. Определитесь сразу, кому вы адресуете свой дизайн;
  • делать “как у google/facebook/крупная-компания” - решения, сработавшие в одних случаях, вовсе не обязательно сработают в вашем, чаще наоборот;
  • создавать дизайн ради уникальности, чтобы выделиться или быть круче знакомого дизайнера - дизайн не обязан быть уникальным.

(подробнее, и не только о дизайне, см. на http://uxmyths.com/)

забавный блог
Anonymous

Старый блог был на blogger.com и в результате кражи пароля был удален. А там много всего интересного было =( А новый мне пока нечем наполнять, не хочу тупо старые статьи сюда копировать.