четверг, октября 26, 2006

Популярная механика: AJAX не так ужасен

Последний год меня преследовало гадкое ощущение, что я свалился с паровоза по имени Веб и бегу следом по насыпи, безнадёжно отставая. Началось всё с Google Mail, потом Google Maps, дальше пошло-поехало, и когда уже Blogger перешёл на фокусы Web 2.0, я сказал: хватит. Хватит ковылять. Или я догоню паровоз, или буду торговать пирожками на глухом полустанке.

Я слышал, что Web 2.0 — это AJAX. Обладание этой главной тайной дало сил двигаться дальше.

AJAX — это в первую очередь Javascript. Я посмотрел скрипты, которыми Google Mail творит свою престидижитацию, и понял, что этого я не осилю никогда. Ну не вышло у меня с Javascript брака по расчёту. Я его не люблю, и это взаимно.

Мне нужно было, чтобы я писал на PHP, а получил AJAX. Я нашёл какие-то полуразработанные библиотеки и понял, что они: а) уж очень полуразработаны; б) в итоге генерируют всё тот же Javascript. И ещё понял, что когда-то уже это проходил. А именно, когда мне предстояло переписать большой сайт с ASP (освоенный благодаря детскому греху по имени VisualBasic) на неведомый мне PHP. В тот раз я пытался найти инструменты, которые это бы сделали за меня. Тогда поиски убедили меня в необходимости изучить-таки PHP, и это оказалось благом. Опыт подсказывал, что не нужно залипушных библиотек, нужно запастись кофе и цитрамоном и понять-таки этот чёртов AJAX.

Google сразу посоветовал обратить внимание на Prototype. Я обратил. Потом обратил ещё раз. Я обращал примерно по часу в день, и заметил, что с утра всё кажется очень просто, а вот под вечер — совершенно безнадёжно. Поэтому на утро 26 котября я запланировал историческое событие — Первое Употребление AJAX.

Сейчас начало двенадцатого. Первое употребление потребовало часа. Только что я нажал в Firefox на ссылку на своей пробной странице и получил несколько строк, означавшие успех: щелчок мышки запустил механизм Ajax.Updater, который на заднем плане обратился к скрипту на PHP, получил данные и вывел их в нужное место. Всего делов-то.

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

Я мог бы скопировать пример и увидеть его в работе за полминуты. Но нужно было осознать. Разобрать стену.

Теперь скучным языком. Под Web 2.0 главным образом понимается стиль построения документов, когда полностью задействуются возможности Document Object Model. Это значит, что любой элемент в документе может принимать события и создавать их, изменяя себя или другие элементы. Самое смешное, что в этом — ни капли нового. Web 2.0 — это Web 1.0, возможности которого наконец стали использовать.

Это всё равно что проездить на машине год, ни разу не переключившись на третью передачу. Переключись — и машина покажется другой.

Я написал много лирики и мало практических советов. Советов и так в избытке. Присматривающимся к технологии AJAX посоветую начать с библиотеки Prototype, делающей вещи по-настоящему простыми. Там разбираются примеры и даются ссылки на другие примеры. Дерзайте. Возможно, на разбор вашей личной стены вам потребуется не три дня :-)

Календарь «Колизея»: Родился Джеймс Кук

вторник, октября 24, 2006

Популярная механика: Потеть и списывать всласть

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

- сам алгоритм, изложенный во всех профессиональных учебниках и используемый ежедневно массой людей; ни на

- буковки, которыми я набрал этот Яваскрипт, равно как и на электроны, ислученные ЭЛТ моего монитора в процессе работы;

я решил, что безвестный коллега по цеху, сделав Ctrl-C/Ctrl-V, не совершил ничего предосудительного. Его попросили реализовать классическую схему подсчётов, «как у вон тех». Перед ним был выбор: написать всё с нуля (чистая совесть и ещё один изобретённый велосипед) или взять готовое (здравый смысл). Он выбрал второе, и я его поддерживаю. Единственное, что о чём я его попросил — вернуть в код мой комментарий с именем и координатами.

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

Возьмём онлайновый калькулятор специфических расчётов с некоего (реально существующего) сайта. Пытаемся взглянуть на код... Фиг вам! Там фреймы; при попытке открыть ссылку нужного нам фрейма напрямую мы получаем страницу со словами «Копирование запрещено!». Посмотреть исходник по контекстному меню тоже нельзя: нажатие правой кнопки мыши перехватывается яваскриптом: «Sorry, that function is disabled».

Обходятся эти навороты обидно просто. Откроем блокнот, Файл — Открыть... — и вводим как имя файла известный нам URL Очень Тайной Страницы. Смешно, правда? Весь оберегаемый код попадает в блокнот.

Что внутри?

Несложный и ясный код, но он... нигде не вызывается :-) А при расчётах вызываются таинственные функции xxx(), yyy() и т. п. Где они определены? А не видно!

Ладно, просто сохраним страницу на свой сервер и откроем в браузере. Оба-на! Опять «Копирование запрещено!».

Исследуя исходник ещё раз, находим место, где собака зарыта:

<script language="JavaScript"><!--
function Decode() {
d("4!--4sqhbqd34pghb cmVq=< pusq="0nQJ9QBMSU034t34cfuh" cb6jq="">

Дальше ещё на экран такой белиберды, в которой чистым русским языком читается и строка «Копирование запрещено!». Очевидно, эта функция восстанавливает зашифрованную часто кода, где проверяется текущий адрес страницы (и если он неверен, то «Копирование запрещено!») и определяются функции-призраки xxx() сотоварищи.

Функции Decode и её напарник codeIt восстановят недостающий код только внутри браузера и модифицируют страницу так, что она станет работоспособной. Вот этот момент в исходнике:

<script language="JavaScript"><!--
Decode();document.write(ky);//--></script>

Расшифрованный функцией Decode() код внутри браузера хранится в переменной ky. Вот она, ахиллесова пята. Создаём новую страницу, копируем в неё пару функций Decode()/codeIt() вместе с махинациями над переменной ky, но выводим содержимое этой переменной не в текст документа, а в поле формы <textarea>:

<form name="form1">>
<textarea name="textarea" cols="100" rows="50"></textarea>
</form>
<SCRIPT LANGUAGE="JavaScript"><!--
Decode(); document.form1.textarea.value=ky;</SCRIPT>

Открываем эту страничку в браузере — и что мы видим в текстовом поле? :-)

<!--<CENTER><FONT SIZE=4 FACE="Helvetica"><B><SPAN
style="background-color: #000000"><font color=#FF0000>U</font><font
color=#FF3300>N</font><font color=#FF6600>R</font><font
color=#FF9900>E</font><font color=#FFCC00>G</font><font
color=#FFFF00>I</font><font color=#CCFF00>S</font><font
color=#99FF00>T</font><font color=#66FF00>E</font><font
color=#33FF00>R</font><font color=#00FF00>E</font><font
color=#00FF33>D</font><font color=#00FF66> </font><font
color=#00FF99>E</font><font color=#00FFCC>N</font><font
color=#00FFFF>C</font><font color=#00CCFF>O</font><font
color=#0099FF>D</font><font color=#0066FF>I</font><font
color=#0033FF>N</font><font color=#0000FF>G</font><font
color=#3300FF> </font><font color=#6600FF>B</font><font
color=#9900FF>Y</font><font color=#CC00FF> </font><font
color=#FF00FF>U</font><font color=#FF00CC>S</font><font
color=#FF0099>E</font><font color=#FF0066>R</font></B></SPAN><FONT
SIZE=1><BR><BR>&lt; < this header will be removed once
you are registered &gt; ></FONT></FONT><HR></CENTER>--><SCRIPT>

if(location.href.search('ttp://www.trueurl')<0 || self.parent.frames.length==0) {window.setTimeout('document.write("Копирование запрещено!")',1) ;}

function xxx(n, d) {return MM_findObj(n ,d)}

function zzz() {return Z_N()}

function sss() {return MM_changeSelect()}

function yyy(objName,x,NameS) {return MM_setTextOfSelect(objName,x,NameS)}

function eee(objName,x,NameS) {return MM_setTextOfSelect_s(objName,x,NameS)}

function vvv(objName,x,NameS) {return MM_setTextOfSelect_v(objName,x,NameS)}</SCRIPT>

Большая часть зашифрованного фрагмента содержит красочное сообщение о том, что использовалась незарегистрированная версия шифровальной утилиты :-) А вот и искомые проверки: если текущий URL не содержит подстроки «ttp://www.trueurl» или документ не находится в фрейме, показать кукиш. Ниже — определения функций-призраков, которые просто зеркалят уже давно прочитанные нами функции. Они-то нам и нужны. Выбросив из первоначального текста страницы все Decode()/codeIt() и вставив вместо них эти определения, мы полностью восстанавливаем её функциональность.

Видит бог, это было несложно.

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

А можно посоветовать другое: смотреть на вещи шире, не заставлять людей делать заново уже сделанную вами работу — тем более что вам от этого ни холодно, ни жарко. «Когда дело сделано, человек должен удалиться», — говорил Конфуций; он, конечно, не был силён в веб-разработке, но разбирался в более фундаментальным вещах :-) И последнее: ценно не то, что вы сделали (это уже стреляный патрон), а ваш потенциал, украсть который никак нельзя :-) Поэтому закончим здесь цитатой, вынесенной в заголовок, но в более развёрнутой форме:

В чем могли, они подражали, но им мыслей моих не украсть —
Я их всех позади оставил потеть и списывать всласть.

Редъярд Киплинг, «Мэри Глостер».

Календарь «Колизея»: День ООН

четверг, октября 19, 2006

ДДД: Постер «Родимой сторонки»

Просматривая архивы, набрёл на вкусный постер четырёхлетней давности, сделанный для «Родимой сторонки» (мясомолочное подразделение «Синергии»).



Это небезупречно (особенно на сегодняшний придирчивый взгляд) сделанный коллаж из цифровых и бумажных фото, рисунков и трёхмерного примитива.

Мясопродукты я получил в «Синергии» на фотобумаге, все по отдельности. Сложил их в «Фотошопе» в меру небрежной, в меру живописной кучкой. В середину пристроил луковицу, снятую на фотоаппарат цифровой видеокамеры Sony (довольно убогий фотоаппарат, надо сказать, но на луковицу его хватило).

Детали первого плана (пельмени, ложка, чеснок, ломоть хлеба — на самом деле молочный сухарь) снял поштучно дома прямо на кухонном столе на Olympus E-10.

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

Кувшин быстренько соорудил в «Блендере».

Стол, на котором это всё покоится, набросал Wacom'овским пером в Painter, благо ему и надлежало быть слегка набросанным и не оттягивать на себя внимание.

Свёл всё в «Фотошопе» и срастил тенями. Наложил календарь и надписи.

Получилось неплохо, у меня в кабинете до сих пор висит.

Делал, насколько помню, ещё какие-то постеры-путеводители по продукции мясокомбината, но они были гораздо более скучные. Особенно в изготовлении :-)

Календарь «Колизея»: родился Галич

вторник, октября 17, 2006

ДДД: проект «Палеодеревня» — комплект визиток

Лицевая сторона на русском:



Оборот на английском:



Оборот на русском — Анохин:



Оборот на русском — Нургалиева:



Оборот на русском — Долженко:



Оборот на русском — Коногорова:



Лицевая сторона на английском:



Оборот на английском — Нургалиева:

Календарь «Колизея»: Международный день борьбы за ликвидацию нищеты

пятница, октября 13, 2006

Выше темпы высева!

Знакомой привезли из Китая медиа-плейер. Ну, Sony, конечно (хотя с таким же успехом могли написать Sharp или Grundig).

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

Переключили мы на русский... ну яти в конце слов и тИНейДжерСкИЙ рЕГиСТр — это полбеды... а вот такое как понять, например?



Я так и не догнал, что этим настраивается и какой темп высева лично мне бы больше всего подошёл. Чёрт его знает, чем они там у себя в Китае с этими плейерами занимаются. Может, баканализы делают?

ДДД: проект «Палеодеревня» — визитка на английском

четверг, октября 12, 2006

Кто я и зачем я (версия 3.0 от 29.02.12)

Практически с каждым человеком, для которого я что-то делаю, происходит один и тот же разговор: кто я и зачем занимаюсь тем, чем занимаюсь. Поэтому я всё-таки собрался и изложил это письменно в форме наиболее популярных вопросов и ответов.

Кто ты?

Я Сергей, вот моя визитка:



Что умеешь делать?

Я делаю вещи, которые будут показываться людям, печататься или публиковаться в интернете. Это включает:
  • Компьютерную вышивку на одежде и всяческих платочках-салфетках (подробно об этом — на моём оффсайте);
  • вёрстку (хорошую вёрстку, когда я верстаю текст с помощью компьютера; чаще, увы, бывает наоборот);
  • графику («хорошая графика», в отличие от «хорошей вёрстки», — категория субъективная, поэтому объясню так: я профессионально работал с Corel DRAW начиная с версии 2.1; с Photoshop — с версии 2.5; с PageMaker — с версии 3.0; сравните это с текущими версиями этих пакетов — это даст почву для оценки опыта).
Профессионально — с Corel DRAW?

Так сложилось. В то время не было Illustrator под Windows, а Макинтошей — у дизайнеров :-) Последние годы я делаю основной упор на программное обеспечение с открытым исходным кодом: Inkscape в области векторной графики, Scribus в вёрстке и Gimp в растровой графике. Но когда конкретная задача требует Adobe CS, она его получает.

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

В конечном итоге это всё для вас не важно. Я делаю графику.

Далее.
  • Веб-резработку, включая программирование: Javascript и PHP/MySQL. Для вас это значит, что страницы не будут мёртвыми блоками текста и картинок, а ваши адресаты смогут с ними (а через них — с вами) взаимодействовать.
  • Если вам нужно отпечатать что-то больше и красивое, я могу без вашего участия взаимодействовать с печатниками и производственниками Находки, благо я их почти всех знаю.
Иначе говоря, делаешь всё?

Нет. Есть вещи, которых я не умею или предпочитаю не заниматься:
  • В области интернета — Flash. Опыт небольшой, само по себе это мне неинтересно. Считаю Flash злом. Но это не значит, что ваш сайт обречён быть скучным. Вот вполне себе живой сайт, сделанный без капли Flash.
  • В области веб-программирования — все технологии Microsoft: ASP, MS SQL, SharePoint, можно перечислять дальше. Можно сказать, что я и Microsoft считаю злом :-) Это началось со случая, когда мне пришлось переписать веб-сайт с ASP на PHP. С тех пор я зарёкся использовать нестандартные и закрытые технологии. Мало того, что они могут измениться или исчезнуть в любой момент; они технически очень неудобны и неоптимальны.
  • В этой же области: я не возьмусь делать ваш сайт под управлением конкретной системы (Джумла, Битрикс, допишите дальше). Во-первых, я их не знаю. Во-вторых, нет недостатка в людях, которые заведомо знают их лучше: правильнее нанять их. Моя цель — делать сайты, управлять которыми удобно, как в обычных CMS, но которые потребляют на порядок меньше ресурсов, чем обычные CMS. При этом вы попадаете в роковую зависимость от меня как разработчика йессс!. В утешение могу заверить, что  любой PHP-программист разберётся в любом моём сайте в течение одного дня, и любой веб-разработчик встретит там то, с чем он давно привык работать.
  • Я больше не фотографирую, хотя при необходимости посоветую вам либо недорогих, но хороших фотографов в Находке, либо дорогого, но очень хорошего.
На этом твои минусы заканчиваются?

Не совсем. Есть ещё особенности в работе, тоже не всегда приятные.
  • Я не делаю «трёх вариантов на выбор»: мне жаль своего времени и ваших денег, которые потратятся на заведомо ненужную работу. Я предпочитаю как можно лучше уяснить, что нужно сделать; потом показываю своё предложение для критики, и чаще всего её получаю; дорабатываю, показываю, и так далее, пока не будет достигнут результат, удовлетворяющий всех. Я обнаружил, что клиент почти никогда не знает, что ему нужно, поэтому нужно дать ему вещь, о которой он скажет, что хорошо, а что плохо. Думая над «хорошо» и «плохо», он сам приходит к пониманию своих желаний. А плодить варианты — значит просто усугублять его непонимание.

    Это очень важный момент, который не всегда приветствуется заказчиками, привыкшими «полистать меню», поэтому я его так подробно объясняю. Дизайн, предлагаемый мной, я считаю хорошим и пригодным для немедленного использования. Если вы так не считаете — это моя недоработка и мои издержки, и мы обязательно доведём дело до обоюдного удовлетворения. Но если вы хотите сразу получить на выбор два или более законченных дизайна, вы должны понимать, что покупаете две работы, одну из которых выбросите. Оно вам надо? Если надо — нет проблем.
  • Я склонен к оптимизму в оценках времени. Я борюсь с этим, но не всегда успешно. Когда я говорю, что работа займёт неделю, лучше строить планы, исходя из двух. С меня станется и за три дня её сделать, но лучше всё-таки вам быть пессимистом — чтобы уравновесить мой оптимизм.
Кстати, поговорим о деньгах.

Поговорим.

Есть очень ориентировочная цифра, которую я использую, когда нет других идей: 3000 р/день. Чаще всего из неё высчитывается стоимость «бумажных» (в широком смысле) работ. Например, уличный баннер потребует примерно дня. Брошюра — пары дней, небольшая книга — пары недель. И цифра проясняется.

Цены на веб-сайты: от 10 т. р. до сколько вам угодно. Нижняя граница соответствует сайту-визитке «о нас — прайс — контакты». В большинстве случаев сайты стоят дороже или значительно дороже, но шокированных ценой я пока не видел :) Ведь действительно большие и дорогие сайты не делаются одним человеком. Но если ваш веб-проект требует всего лишь веб-дизайнера, верстальщика и программиста, вы можете сэкономить.

Я не беру работу, стоящую меньше 1000 рублей, как бы мала она ни была.

Всё сказанное выше не касается вышивки. Цены на неё известны заранее.

Рассчитаться можно наличными или безналично, переводом на карточный счёт или Яndex.Деньги.

Где ты обучался всему этому?

В основном у станка. Я закончил факультет журналистики ДВГУ по газетной специализации. Ещё во время учёбы стал работать художником-рекламщиком во владивостокском «Конкуренте», затем вместе со всей редакцией «Конкурента» уволился, чтобы запустить газету «Новости». В ежедневных «Новостях» я верстал 2 и 4 полосы (выпали по жребию), в еженедельных — вёл компьютерную рубрику. Параллельно с «Новостями» помогал оформлять автомобильную газету «Звезда автострады». Затем уехал в Находку заниматься тем, чем занимаюсь (запустил первый веб-сайт в 1995 году, во времена Netscape Navigator и головокружительных скоростей 28800).

Есть ли вообще смысл в одиночной работе, когда рекламный рынок заполнен серьёзными компаниями?

Отвечу притчей из жизни. Недавно у меня что-то загремело в машине. Отвратительный стук. Я поехал в серьёзный автосервис, где мне за 200 рублей выдали список деталей, подлежащих замене. В том числе некоторые сайлентблоки, которые в моей машине конструктивно отсутствуют. Я попал в конвейер, понимаете? И меня конвейерно обработали, применив типовое решение. Никто даже не смотрел мою машину.

Я выкинул список и поехал в бокс к умельцу Олегу. Он подёргал руль и сказал: люфтует левый наконечник рулевой тяги. Сегодня я купил новый наконечник, снова посетил бокс, где Олег за 10 минут и сто рублей его заменил. Стук исчез.

Олег аккуратно и недорого сделал для меня то, что я сам делать не умею.

Я стараюсь аккуратно и недорого делать то, чего не умеет делать кто-то ещё.

Это нормальный круговорот услуг в природе. Если вы будете думать про меня как про мастера из бокса, вы будете где-то рядом с истиной. Конечно, конвейер иногда предпочтительнее. Я и сам меняю масло только в автосервисах: для этого нужно оборудование, отсутствующее у умельцев, и не требуется свойственный умельцам индивидуальный подход. Но когда возникает проблема, я еду туда, где мои железки будут смотреть глазами и дёргать руками. Мне там больше нравится.

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

Как теперь нам перейти к настоящему разговору?

Я в самом начале дал визитку — звоните, пишите. Если разговор будет касаться веб-сайта, прочтите, пожалуйста, вот это.

Календарь «Колизея» на завтра: родился Савелий Крамаров

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

Завтра — день рождения Крамарова.



Corel DRAW трижды зависала, пока рисовал Савелия Викторыча! Не понял этого знака... но лучше всего был второй вариант, очень похож :-) Этот — четвёртый.

ДДД: проект «Палеодеревня» — визитная карточка

Это набросок визитки, представляющей проект.


Другой вариант

среда, октября 11, 2006

ДДД: «Пилигрим» — CD-каталоги Aroma и Decoria

Закончил оцифровку увесистых каталогов ПВХ-материалов Aroma и Decoria. Вышел 150-мегабайтный компакт-диск с автозапуском и двумя галереями, то есть по технологии то же самое, что каталог Nichiha.





Чистого времени ушло часов двенадцать. Впрочем, в нашей жизни чистое время — то же самое, что сферический конь в вакууме, поэтому сканирование длилось дня три, а оформление в галереи и подготовка диска — ещё дважды по кусочку дня. Работа несложная, но довольно кропотливая. Хотя и постарался более-менее отстроить сканер перед запуском конвейера, цветовой сдвиг в сканах всё же присутствует (чёрная точка должна начинаться процентов на 15 раньше, слегка недоставало красного). Пришлось пройти по всем крупномасштабным изображениями и поправить цветность вручную, держа рядом каталог для образца.

Впрочем, первый этап приёмки работы происходил на мониторе ноутбука — а у ноутбуков цветность замечательно регулируется перемещением головы относительно картинки! :-)

Потом, правда, посмотрели и на настольном ЖК-мониторе. Вопросов по цветопередаче стало меньше.

Всё-таки со старой доброй (излучающей, электризующей, громоздкой, пискливой) электронно-лучевой трубкой ещё не скоро можно будет расстаться, если имеешь дело с графикой.

Календарь «Колизея»: Годовщина Чёрного вторника (1994)

понедельник, октября 09, 2006

Календарь «Колизея»: Первое взятие Берлина русскими



И хотя день рождения ВВП был позавчера, всё-таки:

ДДД: Постер «Палеодеревни»

Мелкие доработки по постеру проекта «Палеодеревня». Меньше головоломок, больше ясности.

четверг, октября 05, 2006

Календарь «Колизея» — ночные встречи

Кстати (см. КК за 3 октября), приснился Есенин ночью с 4-го на 5-е. Говорил с ним по телефону, обсуждали поездку в Китай. Клёвый парень, только замороченный слегка — кажется, с домашними нелады. Утром вспомнил, что позавчера был его день варенья.

Весь разговор не выходило из головы, что Есенина играет труднопереносимый Безруков.

Послезавтра день рождения Путина. Лечь спать в белой рубашке?

ДДД: «Пилигрим» — ещё два CD-каталога

Вдохновлённый успешным переводом печатного каталога Nichiha на компакт-диск, «Пилигрим» заказал оцифровку ещё двух каталогов отделочных материалов — ламината, плитки и т. п. Работа, кажется, технически не сложная (хотя неизвестно, как поведёт себя сканер с лакированный плиткой), но физически довольно тяжёлая. То есть буквально. Для переноса каталогов пришлось выкопать из кладовки отпускную сумку. Там кило 14 на вес. Плитка-то натуральная, и дощечки тоже :-)

Календарь «Колизея»: День учителя

понедельник, октября 02, 2006

Календарь «Колизея»: день рождения Махатмы Ганди

Идеальная CRM

или Как мы сформулировали технические задание на написание системы работы с клиентами.

Только что отдел маркетинга прислал черновик техзадания на написание системы CRM. В документе 6 594 знаков, не считая пробелов. Язык — рафинированный техно-канцелярский:

1.1. ТЗ является основным документом, определяющим требования и порядок создания (развития или модернизации - далее создания) информационной системы (далее ИС), в соответствии с которым проводится разработка ИС и ее приемка при вводе в действие.

...ну и так далее.

Главное требование к системе: увеличение продаж на 50% с клиента в течение полутора лет.

Мы долго совещались и, постепенно убирая всё лишнее и несущественное, послали в отдел маркетинга следующий доработанный вариант:

Техническое задание к информационной системе по работе с клиентами (ИС).

1. Требуемые значения показателей, которые должны быть достигнуты в результате создания ИС:

1.1. Увеличить объёмы продаж на 50% в течение полутора лет для каждого клиента.

2. Требования к системе:

2.1. Система должна выводить список клиентов и кнопку «Увеличить объём продаж на 50%» напротив каждого клиента.

2.2. При нажатии на кнопку клиенту высылается письмо «Уважаемый имя, просим вас увеличить объём бизнеса с нашей компанией на 50%».

2.3. После нажатия кнопка деактивируется и активируется снова по прошествии 1,5 лет.

Итого 510 знаков, не считая пробелов. Зачёт.

воскресенье, октября 01, 2006

Календарь «Колизея»: День пожилых людей

ДДД: приглашение на показ коллекции мод Helena Elange — окончательный вариант.

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

Поиск по этому блогу