Использование HTML5 в мобильных устройствах.

Недавнее посещение Николаем Дроздовым нашего Калининградского зоопарка навело меня на воспоминание о проекте «Аудиогид», который я делал по заказу этого самого зоопарка, работая в своей предыдущей компании.

Проект начался с нашего знакомства со Светланой Соколовой, директором Калининградского зоопарка. Это очень деятельный человек, со многими идеями, которые она претворяет в жизнь – достаточно почитать новости про то, что происходит в зоопарке. Одна из ее идей была – сделать аудиогид, который бы вел посетителей зоопарка и рассказывал бы интересные факты о животных. Однако обычное решение такого рода подразумевает выдачу посетителям специального устройства и соответственно посетители должны будут оставлять довольно существенную сумму залога, — но никто ведь не носит с собой несколько тысяч рублей идя в зоопарк!

Таким образом надо было придумать другое решение.

Очевидно, что возможным решением было бы создать мобильное приложение для смартфона, которое бы и работало аудиогидом. Однако пришлось бы писать приложение как минимум для двух платформ — iOS (iPhone, iPad) и Android, а еще и желательно и для Windows Phone, хотя ныне это и экзотика. Это бы сильно удорожило разработку и она не уложилась бы выделенный бюджет.

Тогда мне пришел в голову второй вариант – HTML5! Я вспомнил, что этот новый стандарт поддерживают все современные мобильные ОС, в т.ч. воспроизведение звука. Таким образом мы сможем воспроизводить аудио прямо в мобильном устройстве (практически любом современном), которое будет загружать через интернет с сайта зоопарка. Кроме того, было решено разместить на каждой точке QR-код, отсканировав который, посетитель попадает на загрузку соответствующего аудио фрагмента.

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

И главное – когда к озвучиванию аудио гида подключился Николай Дроздов – его знакомый с детства голос зазвучал в созданной системе – вот тут то и возникло знакомое каждому разработчику ПО чувство творца.

Посмотреть, как это все работает просто – идите в зоопарк 🙂

Ну а на пробу – вот один из QR-кодов – просто отсканируйте его смартфоном (в нем должен быть доступен Интернет).

01

Небольшие технические детали к предыдущей заметке

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

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

Для начала было решен вопрос по идентификации изделий. Тут было все просто – в 1С уже формировались и печатались этикетки со штрих-кодами формата EAN13 и мы просто их стали использовать. Формат штрих-кодов EAN13 как раз и используется для идентификации продукции для конечных покупателей. Не стану повторять общеизвестные факты, подробнее можно прочесть тут.

Далее нам надо было делать идентификацию самих паллет. Важно, что бы идентификатор паллеты был уникальным. В качестве идентификатора мы взяли GUID документа 1С, который потом кодировали в штрих-код формата CODE128, который идеально подходит для этих целей, поскольку не имеет ограничений на длину кода и способен кодировать цифры, отдельные знаки и буквы латиницы. Подробнее об вы также можете прочитать тут. К этому времени в 1С уже печатались упаковочные листы на паллеты, поэтому мы просто добавили туда еще и генерацию и печать штрих-кодов.

Выбор терминала сбора данных (ТСД). На рынке присутствовало, да и сейчас много различных терминалов сбора данных. Для наших целей нужен был ТСД в промышленном исполнении — поскольку работать им предстояло в тяжелых условиях – пыль, перепады температур, не очень аккуратный персонал. Не нужны были возможности в виде WiFi, GPS, мобильной связи – ТСД должен уметь просто сканировать линейный штрих код, уметь передавать и принимать данные при подключении к компьютеру. Также очень важна была возможность разработки собственного приложения под этот ТСД. symbolmc1000В результате поисков был выбран ТСД Symbol MC 1000 (позднее известный как Motorola MC 1000), который обладал приемлемым соотношением цены и возможностей. Модель действительно получилась удачной, ее сняли с производства только в конце 2013 года, теперь вместо нее модель Motorola MC 2100 – насколько она будет удачной покажет время, но потенциал у нее есть.

Модель MC1000 – в промышленном исполнении, что означает что она устойчива к пыли, падениям, работает в широком диапазоне температур. Что важно – производитель предлагает хороший SDK, что позволило быстро разработать программу для ТСД, а также сделать интеграцию с 1С.

Заметки о внедрении и разработке систем штрих-кодирования.

symbolmc1000Начинаю серию заметок, в которых поделюсь опытом разработки и внедрения систем штрих-кодирования. Так получилось, что большую часть таких систем я разрабатывал и внедрял на производстве, а конкретнее – на дверном производстве, однако был опыт и внедрения таких систем и на складах. В общем – есть о чем рассказать, чем и займусь в серии задуманных статей.

Начну с одной истории, которая, как мне кажется до сих вор характерна для многих предприятий, где уже назрело внедрение штрих-кодирования, но уже есть сформировавшаяся система работы и нет возможности резко все поменять и начать сначала. Так и у меня — в 2006 году я работал начальником ИТ отдела фабрики дверей «Оптим» в городе Светлом Калининградской области. Это большое предприятие, которое делало серьезные объемы продукции. В этот момент мы мигрировали с 1С 7.7 конфигурации «ИТРП» на 1С 8 с конфигурацией «Управление производственным предприятием», более менее наладили все процессы (ну по крайней мере продажи оформлялись и бухгалтерия работала, с управление производством было сложнее – но это тема отдельного рассказа и я вероятно тоже опишу свой опыт).

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

В конце концов, руководство поставило мне задачу решить эту проблему.

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

Таким образом, надо было как то заменить тетрадки в руках кладовщиков неким аппаратом, который бы проверял прямо около паллеты ее состав и сигнализировал бы о том, все правильно в нее погружено или нет. Таким аппаратом стал терминал сбора данных (ТСД).

Картинка складывалась, и в результате была построена следующая система работы:

  1. Каждая паллета получала свой именной уникальный штрих-код. Этот штрих-код впечатывался в упаковочный лист (каждая паллета уже имела упаковочный лист с составом паллеты, теперь мы туда печатали еще и штрих-код).
  2. Были закуплены несколько ТСД Symbol MC 1000, была написана программа для этого ТСД, а также сделаны доработки в 1С. Суть программы и доработок в 1С заключалась в том, что каждый заказ, его состав (в т.ч. штрих-коды изделий и штрих-коды паллет) выгружались в память ТСД для контроля.
  3. При контроле кладовщик сканировал штрих-код паллеты и далее сканировал штрих-коды всех дверей, из которых она состояла. После сканирования всех паллет, ТСД сразу сообщал – все верно загружено в паллету или нет. После сканирования данные выгружались обратно в 1С и там автоматически формировались документы перемещения товара с производства на склад готовой продукции.

Вот так была решена поставленная задача. Скорость приемки увеличилась в разы, ошибки «вылавливались» прямо на стадии упаковки и исправлялись быстро. Полученная система почти не меняла уже внедренную программу 1С, мы улучшили отдельный участок работы и получили видимый эффект. Все работы по разработке и внедрению заняли около месяца, но тогда я первый раз делал такую систему, сейчас все делается гораздо быстрее 🙂

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