Павел Новицкий

Нерегулярные заметки

Magento, Google Chart и Prototype

6 сентября 2013, 0:50

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

Cannot read property "type" of undefined

Самое забавное, что в тестовом скрипте, работающем с Magento через Mage::app('admin'), код отлично отрабатывает, а в админке отваливается.

В итоге нашёл баг репорт от 21 января 2011 года.

Вкратце: функция Array.prototype.reduce в Prototype конфликтует с Google Chart API. Грязный хак решающий проблему:

<script type="text/javascript">
    Array.prototype.reduce = undefined;
</script>

UPD: на дашборде и странице конфигурации, как выяснилось, баг не наблюдается

Вконтакте
Отправить

Социальные виджеты в мобильных темах

5 сентября 2013, 0:52

Где-то 2 раза в месяц нашему замечательному саппорту приходится отвечать на один и тот же вопрос: «Как добавить кнопки „Like“ и „Facebook Connect“ в мобильную тему магазина?» (ВКонтакте, Твиттер, Пинтерест, etc).

Легко! Точно так же, как и для полноценной десктопной версии: берёте соответствующий модуль для вашей CMS, устанавливаете, обновляете шаблоны соответствующей темы. Ну, или читаете документацию и реализуете сами.

Новая модная фича готова. Profit?

А вот и нет. Предлагаю вернуться в самое начало. Нужно добавить какой-то социальный плагин в мобильную тему.

Главный вопрос, который стоит задать — это не «как сделать?», а «для чего?»

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

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

Действительно, от чьего имени отправлять запрос? С какого аккаунта прикажете получать информацию для регистрации в магазине? На чью стену слать комментарии?

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

А что же в случае с мобильной платформой? Люди используют приложения.

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

Итак. Сайт мы открываем в окне мобильного браузера, социальную сеть — в приложении. В итоге при использовании социального плагина пользователя автоматически перебросит на сайт социалки и попросит авторизоваться (пусть даже и на мобильной версии). Попробуйте, это на самом деле та ещё задачка, особенно со сложным паролем. А если учесть ещё и всякие проверки на вход с незнакомого устройства, то уже ни о каком «просто нажми одну кнопку» говорить не приходится. А паранойя, ведь, берёт своё — после авторизации надо в отдельной вкладке снова открыть Фэйсбук (мы же после лайка вернулись таки на первоначальный сайт, не забыли) и разлогиниться. Сколько получается шагов? Три? Пять? Десять? Само собой, банально скопировать ссылку и вставить её в приложении значительно проще.

Так что там говорили про упрощения и расширения для мобильных пользователей?

Социальные виджеты в мобильных темах бессмысленны.


P.S.: темой влияния социальных плагинов на время загрузки страницы займёмся как-нибудь в следующий раз

Вконтакте
Отправить

Про автоматические подписи в письмах

29 августа 2013, 1:04

Здравый смысл продолжает сдавать позиции под напором прогресса и маркетинга. Всё чаще и чаще приходят письма вида:

Здравствуйте Василий,


Мы предоставляем услуги запрошенные в прошлом письме. Для активации необходимого функционала направьте, пожалуйста, запрос на адрес [email protected]


Спасибо что обратились в нашу фирму «Рога и копыта». Всего Вам наилучшего!


Пожалуйста, заполните нашу анкету контроля качества службы поддержки http://www.roga-n-kopita.com/support/generic-survey/



С уважением,

Зицпредседатель Фунт

Служба работы с клиентами

Рога и копыта


584.327.1559

Черноморское отделение
Арбатовской конторы
ПО ЗАГОТОВКЕ
РОГОВ И КОПЫТ

http://www.roga-n-kopita.com/

Адрес в интеренете: http://www.roga-n-kopita.com/

Клиентский отдел: http://www.rng.com/

Телефон: (123) 234-345-456 (бесплатно для региона Энск)
(234) 345-4567
(345) 456-567-678 (город Эмск, черноморский регион)

Факс: (654) 987-3126 или (856) 204-9045

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

С точки зрения корпоративных правил всё замечательно. Рекомендации методички «5 простых способов превратить деловые письма в инструмент маркетинга» выполнены. Можно ставить галочку напротив пункта «работа с клиентами» и идти получать премию.

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

И для сравнения письма прошлых веков.

Вконтакте
Отправить

Памятка по работе с молодыми тестеровщиками

27 августа 2013, 3:05

Очередная попытка воспитать Бабу-Ягу младшего тестировщика в своём коллективе в самом разгаре. В процессе появился такой вот список под названием «сам виноват».

Поленились сделать нормальное описание? Готовьтесь получить в баг-репорте список не только своих «насекомых», но и подробный отчёт о недостатках системы в целом.

Сказали: «Ориентируйся на старое ТЗ»? Весь, даже самый незначительный и уже неактуальный, функционал должен быть реализован. Что-то упущено? Придётся добавить.

Все понадеялись, что новый сотрудник самостоятельно вникнет в детали системы по предоставленной документации? Ну, вы же и сами в состоянии проверить работу при всех возможных входящих данных и настройках, правда?

Все баги превращаете в «фичи»? Ждите старых знакомых в следующем репорте.

«Пользователь никогда такого не сделает, не стоит тратить время». Вы никогда не общались с парнями из поддержки, да? Ну, и не удивляйтесь, если в следующий раз список тестов уменьшится до минимально очевидного.

Всё просто. Так что если что-то не заладилось — сам, как уже говорилось, виноват.

Главное не забывать, что опыт — дело наживное. Молодёжь очень быстро всему научится и будет составлять памятки по работе с ленивыми программистами. А пока, будем наставлять и подсказывать.

Вконтакте
Отправить

Дьявол кроется в деталях

3 июля 2013, 14:39

Значение и происхождение фразы я расписал в «Что значит „дьявол кроется в деталях“?»

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

— Бог, любовь, чувства — не надо пытаться понять что это. Как только начнёшь пытаться анализировать, разбирать на составные части, пытаться вычленить суть и подвергнуть всё ананализу ­— чудо исчезнет. Просто прими. Дьявол кроется в деталях.

— Одной из отличительных черт человека является его способность к абстрактному мышлению. Навыки делать обобщения. Первобытному человеку было достаточно знать, что под деревом можно укрыться от дождя. Место, где растёт много деревьев — лес. Какой лес — не важно. Позже пришло понимание, что лес может быть разным. И появились берёза, дуб, осина, вяз и орешник. У деревьев появились отличия. Но эти детали были совершенно излишними в самом начале. Есть задача и минимально необходимая абстрактная база для её решения. Дьявол кроется в деталях.

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

Глубоко копать не будем, пусть логики-рационалисты сами решают что было раньше — яйцо или курица. Когда-нибудь им это обязательно удастся.

А хранителей чудес прямиком отправим к «Психологии влияния» Роберта Чалдини:

Я пришел на эту встречу, посвящённую медитации, и привел с собой заинтересованного друга. По мере того как лекторы объясняли основные принципы, мой друг становился все более беспокойным. По окончании лекции мой друг поднял руку и мягко, но уверенно опроверг изложенные принципы. Менее чем за две минуты он перечислил множество противоречий и неточностей. Воздействие этого выступления на лекторов было угнетающим. После смущенного молчания они попытались дать ответ и, в конце концов, признали, что мысли моего друга «интересные, но требуют более подробного рассмотрения». В конце лекции вербовщиков буквально осадила толпа слушателей, желающих заплатить 75 долларов за курс обучения технике. Озадаченный, я попытался объяснить реакцию аудитории ее неспособностью понять логику доказательств моего коллеги. К моему удивлению, оказалось, что эти люди достаточно хорошо поняли суть высказанных критических замечаний. Именно неопровержимость доводов моего друга заставила их немедленно записаться на курсы. Это были люди с реальными проблемами; и они отчаянно хотели разрешить свои проблемы. Мой друг показал, что теория, на которую они так надеялись, ложная. Паника! Что-то надо было сделать немедленно, прежде чем логика возьмет свое и снова оставит их без надежды. Необходимо было быстро возвести стены, чтобы укрыться за ними от доводов рассудка. И не имеет значения, что крепость, которая строится, похожа на карточный домик. «Скорее в укромное место, чтобы скрыться от логичных мыслей! Вот, возьмите эти деньги. Фюйть, спасен как раз вовремя. Больше не надо думать об этих проблемах».

Вот такое длинное и пространное введение, частично иллюстрирующее дальнейшее. К сожалению, в последнее время появляется ещё одна трактовка: неспособность людей сосредоточиться на одной теме.

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

Что делать с такими людьми? Каждый раз напоминать первоначальную мысль? Брать линейку и за каждое отклонение от темы бить по рукам? Или просто поддаться на провокацию и вернуться к разговору позже? И да, я считаю что подобное поведение ­— это просто провокация. Неосознанная, самопроизвольная, но провокация. Подобная проблема уже давно существует в интернете — «троллей» не любит никто. Но в сети к подобному поведению уже привыкли и частично научились если не противостоять, то, хотя бы, игнорировать. В реальной же жизни такой бессознательный «троллизм» доставляет уйму проблем и съедает необоснованно много времени.

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

1 комментарий

Вконтакте
Отправить

Introduction

1 июля 2013, 1:11

Говорят, считается что в наше время начинать любую статью с таких общих слов как «в наше время», «считается» и «говорят» — это худшее начало для любой продающей статьи. К счастью, это ни разу не маркетинговая статья, а всего лишь первый пост в блоге, так что буду пользоваться ситуацией.

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

Введение имеет большое значение для новых книг, газет и рекламы — всего того, что зависит от первого впечатления. А вводная статья в блоге — это не более чем «Привет, мир, вот и я, давай дружить! Приходите позже, будет интересно!». Так что, приходите, будет интересно.

На самом деле предыдущее предложение здесь только из-за того, что я не придумал как бы половче закончить мысль и пойти дальше. В действительности, я пишу для себя и весь блог — не более чем место субъективных заметок на вольную тему. Само собой, статьи на тему электронной коммерции, веб-разработки, PHP, Magento и Prestashop так же будут — не могу же я обойти стороной работу, но совсем не хочется создавать чисто технический блог. Посмотрим, как оно в дальнейшем получится.

Ну вот, официальная часть закончена, всем спасибо, напитки и сувениры раздаваться не будут.

Вконтакте
Отправить
Позже →
© 2013-2025