QR код. А как там с IQ?

Designer
Как-то меня спросили, почему майкрософтовская «правилка» текстов не отлавливает все опечатки, и вообще работает из рук вон плохо?
Тогда я ответил вопросом на вопрос, а знают ли они, кто писал эту программу?
Наши же ребята, технари, коих уже много в Кремниевой Долине.
А какие отметки были у этих технарей по родному языку, когда они учились в средней школе?
Правильно, в основном трояки! Так как программа написанная троечниками, может работать «на отлично»?
:-)

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

…………………………………

Сравнительно недавно в повседневность ворвался страшненький черный квадратик состоящий из меньших квадратиков – QR-код.
Кто-то скажет, что он не страшный. Возможно, что да, но, тем не менее, собой он ничего не украшает.
Вспомните, так было и с привычным сейчас бар-кодом, вошедшим в нашу жизнь лет тридцать назад. Он стал появляться в самых неподходящих местах нарушая эстетическое восприятие окружавшего его пространства… Но он работал, и сейчас прекрасно работает, эти оправдывая своё существование, а мы его как-то, как к данность, уже и не замечаем.
Безусловно и к QR-коду мы так же быстро привыкнем, но кто нам мешает рассмотреть его и решить, насколько хорошо он задуман и реализован.

Вопрос о задумке сразу же исчезает, стоит обратить внимание на скорость, с какой он внедряется в окружающее пространство, а вот реализация…
Рассмотрим QR-код внимательно, что он из себя представляет.

QR-код это квадрат образованный хаотично расположенными маленькими квадратиками, которые и несут в себе информацию.
Количество квадратиков образующих «большой квадрат» кода может быть разным и изменяется в зависимость от объёма заложенной информации.
Три угла «большого квадрата» занимают одинаковые фасонные квадраты размером 7 х 7 квадратиков. И не важно каким числом квадратиков образуется «большой квадрат» - угловые всегда сохраняют эту пропорцию.
Эти фасонные квадраты составлены из «ядра» размером 3 х 3 квадратика окруженных «рамкой» толщиной в 1 квадратик размером 7 х 7 квадратиков.
То есть 33 чёрных квадратика и 16 белых. Кроме того, с внутренней стороны эти фасонные квадраты от информационного поля отделяют уголки состоящие из 15-и белых квадратиков. То есть, каждый фасонный квадрат, фактически занимает площадь в 8 х 8 квадратиков.

Зачем нужны эти фасонные квадраты?
Очевидно, для того, чтоб считывающая программа могла правильно сориентироваться и правильно найти начало информации. На это каждый раз жертвуется площадь в 192 квадратика!
Не кажется ли, что это слишком много.
Попробую объяснить.

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

К чему я всё это?
К тому, что избыточность приводит к обратному эффекту. Если в предложении из 4 слов – 3 выделить красным, то выделенным окажется чёрное.
Так и в нашем случае, в ориентацию QR-кода, фактически, определяет свободный угол, а значит, два фасонных квадрата – излишни, зря занимают площадь в 124 квадратика, которую можно использовать под информацию, а значит – уменьшить размеры.
Может эти два «фасонных квадрата» нужны ещё для чего-то?
Не думаю. То, что в свободном углу может не быть черного квадратика – говорит о том, что программе не обязательны 4 угловые точки для корректировки параллельности линий, а были бы и нужны – достаточно было бы иметь по «пустым» углам по одному чёрному квадратику.
Если предположить, что эти 3 «фасонных квадрата» нужны для определения «правильного», а не зеркального положения кода, так из-за диагональной их симметричности такое попросту невозможно, тут необходим обязательный элемент её нарушающий, тогда считывающая программ легко сможет определить, в каком направлении читать заложенную информацию.
Проверено, что сейчас считывающие устройства не способны читать QR-коды, если их инвертировать. То есть нельзя расположить такой код белым цветом на тёмном, а такое иногда бывает необходимым. Поместить можно, но работать он не будет
Сейчас, когда считывающие устройства, в миллисекунды успевают отсканировать толпу и выделить из неё подозрительные лица – сделать так, чтоб программа могла точно определить «негативность» читаемого кода и прочесть весьма несложно.

Что из всего этого вытекает?
А то, что когда это задумалось создание QR-кода – это всё было проделано впопыхах, по накатанной, по аналогии с существующим, без тщательного анализа функции.
Что делать, это сделали программисты. Честь им и хвала, но ещё бы чуток дизайнерского мышления…
:-)

24 сентября 2014 г.
Салоники