bash.im ithappens.me zadolba.li
11242

Юзер — тоже человек

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

Ракеты Голдберга, которые не взлетают (или взлетают, но как-то криво и через известное место). Судя по описанию, имеется в виду случай самоутверждения. Самоутверждения программиста, который хотел попробовать всё новое. Или самоутверждения его начальства, которое хотело, чтобы было круче и новее, чем у всех.

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

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

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

11241

Ракеты Голдберга

Ракеты и лошадки, говорите?

Вот есть, допустим, сайт — справочник-поисковик по довольно большой базе данных. Работает очень просто: проставил галочки фильтра, нажал кнопку «Поиск», почитал результаты.

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

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

Потом заменили галочки на ползунки ON/OFF. Всё бы ничего, но теперь вместо одного клика их нужно перетягивать из одного положения в другое.

Вместо того чтобы формировать таблицу скриптом на сервере, решили отправлять запрос, который возвращает специально структурированные данные, которые специальный парсер разбирает на массив значений и потом формирует таблицу путём работы с деревом DOM. А чтобы это работало во всех браузерах, добавили проверок и избыточных библиотек.

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

И зачем?

11240

Мой амперсанд травмирует текстбокс

1 августа 2013, 07:15

Работаю системным администратором в вузе. С десяток лет назад ко мне пришёл парень-пользователь:

— У меня это!
— Что именно?
— Ну, это!
— Что «это»?
— У меня не входит!

Понимаю, что речь о логине и пароле, но задаю следующий вопрос:

— Почему?
— Потому что большой!

* * *

Думал, что снаряды в одно и тоже место дважды не попадают. Ага… Где-то с месяц назад приходит девушка:

— У меня это!

Ощущаю лёгкое дежавю.

— Что именно?
— У меня не входит в эту мою штуку!

11239

Когда баг — не враг

1 августа 2013, 07:15

Работал я на заводе подсолнечного масла. Основной площадкой был сам завод, по городу мы обслуживали удалённо ещё два наших элеватора и АТП.

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

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

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

Утро субботы, пять минут до того, как должен был бы зазвонить незаведённый будильник. Мою замученную тушку будит звонок весовщицы, которая не может печатать документы. В спящем режиме помогаю человеку продолжить работу. Компьютер выключается, подушка так близко… Окончательно проснуться помогает мысль о том, что уже пора собираться.

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

11238

Не стареют (д)ушой ветераны

31 июля 2013, 07:15

Компьютерами и сетями занимаюсь примерно с 1995 года. Уже давно практически живу в околоцифровом мире, но оставался последний барьер — аналоговое FM-вещание. Противилась душа тому, чтобы при наличии аналогового вещания создавать дополнительную нагрузку на сотовую сеть. Но я начинал задумываться о том, что при низких ценах на безлимитный GPRS пора переходить на онлайн-радиостанции.

Кто бы мог подумать, что первопроходцем онлайн-вещания в нашей семье станет моя мама (76 лет!), которой в деревне на грядках стало не хватать любимого радио, ибо FM туда не дотягивается, а на АМ этого радио нету? Теперь где-то в дебрях области относительно старенький финский смартфон радует мою маму довольно чистым звуком, потому что сеть есть, а нагрузка на неё минимальна. Как бонус, наконец-то объяснил наглядно, что такое IP-телефония.

11237

Помечено на двойной объём

31 июля 2013, 07:15

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

У хозяина квартиры был кот — не кастрированный, а потому помечающий свою территорию. Комп хозяина стоял на столе с открытой боковой крышкой. На борту непозволительно раскрытого системного блока стояло две планки памяти по 256 МБ каждая.

В общем, мохнатая тварь решила присвоить себе системник хозяина путём его пометки. Мы «мяу» сказать не успели, как комп был помечен и ушёл в ребут. Из ребута выходить отказался, а писком спикера подсказал нам о неисправности памяти. Неоднократно промыв всё, что можно, и перезапустив комп, мы поняли что игры сегодня не будет, и остаётся идти за пивом без надежды на исцеление.

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

Минут через тридцать Димка подаёт мне планку: «Попробуй, вдруг заработает». Ставим планку на место. Комп заводится, причём с одной планкой оперативы на 512 МБ. 512 из 256 — как так?!

К сожалению, фокус больше ни разу не сработал, но в тот день мы всё же поиграли.

11236

Железяка, давай-ка по-нашему

31 июля 2013, 07:15

Смотрю мультсериал с торрента на смартфоне. Мало того, что обещаный автором раздачи перевод на русский полностью отсутствует и вместо него слышно только оригинальную озвучку, так ещё и видеоряд нещадно подлагивает. Захожу в настройки плеера, переключаю декодирование с аппаратного на программное. Лаги исчезают. Более того, откуда-то из глубин багованных аудиоконтейнеров программный декодер добыл недостающую русскую озвучку! После серии переключений декодеров выяснилось, что программный декодер воспроизводит видео без лагов и с русской озвучкой всегда, а аппаратный через раз.

О каком соблюдении стандартов может идти речь, когда даже обычные мультфильмы воспроизводятся по-разному в зависимости от фазы Луны и погоды на Марсе?

11235

Не снижая оборотов

В конторе вырубается свет минут на десять. Сразу звонит оператор:

— Максим, тут всё пищит! Приходи срочно!
— Привет, Наташа. Так света нет, вот и пищит всё.
— И что делать?
— Ждать, когда дадут. Сохраните все документы на всякий случай, пока упсы держат.
— А как работать? Работать надо!
— Эмм… Сейчас велосипед с динамо принесу, крутить будешь!
— Кого принесёшь?!
— Велосипед с динамо. Свет вырабатывать будешь, чтобы не пищало.

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

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

11234

Обойдёмся без железок

30 июля 2013, 07:45

Почитав про оживление биосов, вспомнил и свои мытарства в те годы. Писали мы ПО под PC-совместимые контроллеры Fastwel RTU188, в которых биос вместе со всей операционной системой жили на флешке. Загрузчик прошивок не терпел отключения питания в процессе перепрошивки, система оставалась без загрузчика. Долго ли, коротко — набралось штук шесть убитых ПЛК. А программатора флешки нет, хотя она на ПЛК в «кроватке». И тут в голову вступило — раз загрузчик перепрошивает биос, значит, и мы сможем.

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

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

3. Берём флешку с убитого ПЛК, на палец сажаем кусочек двустороннего скотча, на него флешку — и не дыша вставляем флешку в кроватку, стараясь добиться одновременного касания контактов. Если продолжает мигать, значит, удалось. Тогда замыканием дискретного входа разрешаем прошивку сектора биоса в повреждённую флешку.

Таким образом удалось восстановить все ПЛК с повреждённым сектором биоса. Казалось бы, проще программатор найти? Но это подход электронщика, а мы все были программерами и отмочили этот эксперимент для собственного удовольствия — можем и так, без постороннего железа.