Учет всего и вся


Как многие уже поняли из предыдущего опроса, мы в нашей маленькой, но очень гордой компании (а я уже не один – за прошлый месяц компания по числу сотрудников выросла на 100% и нас теперь аж двое! Вот он, эффект “низкой базы”!) занимаемся созданием онлайновой складской учетной системы. Тематика не очень близкая к данному сайту, но поверьте – при создании системы то один, то другой лайфхак приходится то примерять на себя, а то и вовсе придумывать заново.

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

Вот примерно так сейчас выглядят некоторые учетные системы. Узнаете? Взято у Джеффа Аттвуда: http://b23.ru/p1t9

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

Пока в 2007 году я не увидел сервис под названием Twitter. Предельно простая, я бы сказал – аскетичная система коротких сообщений росла органически, постепенно внедряя то, что придумывали сами пользователи – например, хэштеги и значок @ перед именем пользователя… Чем-то это напомнило мне историю об архитекторах парка, асфальтирующих тропинки, которые люди протоптали на газонах – они просто делали удобнее то, чем все уже и так пользуются! Кажется, правильное направление было найдено.

И мы принялись за работу. Повторять функционал знаменитой на всю страну 1С было бы глупо. Не использовать потенциал, который дает возможность совместной работы в Сети – глупо втройне. Мы решили создать предельно простую систему складского учета, “понимающую” человека, ее использующего, ориентированную в первую очередь на “помочь сделать тебе то, что ты хочешь” нежели на “шаг влево, шаг вправо – попытка к бегству”, свойственную традиционным системам. В ходе работы над проектом как-то само собой оказалось, что буквально каждый элемент привычных систем управления требуется если не изобрести заново, то уж по крайней мере критически пересмотреть.

Самый простой пример – поиск. Знаете, что произойдет в большинстве учетных систем, если вы хотя бы на один знак ошибетесь в написании названия товара? Вам с удовольствием сообщат, что подобного товара в системе нет и… правильно – предложат создать новый, порождая и без того немалую путаницу в огромной базе данных! В итоге спустя некоторое время в системе начинают функционировать сразу несколько товаров-призраков, отличающихся друг от друга буквально парой символов, лишним пробелом, запятой вместо точки. Я уже не говорю про товары, допускающие двойное написание – догадайтесь с первого раза как в системе заведены духи – L’oreal, Лореаль или Л’ореаль?  В то же время пользователям поисковых систем такие трудности неведомы – программистами Yandex, Google и Bing давным давно освоены разнообразные алгоритмы нечеткого поиска, предлагающие нам наиболее похожий по написанию и смыслу вариант, если по вашему запросу ничего не найдено:

Да, в последнее время у многих вендоров появились опции, отдаленно напоминающие такой удобный “нечеткий поиск”, но его настройка и поддержание в рабочем состоянии – задача нетривиальная и ложится на программистов и системных администраторов. В то время как у поисковиков все “просто работает”.

Дальше – больше. Похоже, что-то необъяснимое мешает встроить в учетные системы нормальную поддержку дат, когда вместо абстрактного 10.12.2012 (где нередка путаница вида: “это двенадцатое октября или 10 декабря?”) на экране вы видите предельно понятное: “Строка платежа – завтра, в четверг”. И мы уже не говорим о правильной типографике, подборе и размере шрифтов, склонении числительных и правильную работу с округлениями – обо всем этом крупные вендоры давно позабыли и вместо этого идут по пути постоянного усложнения своих детищ, в результате чего экран типичной “учетки” сегодня похож, скорее, на панель управления космическим кораблем, в тонкостях которых тщетно пытается разобраться не только начинающий, а даже и “продвинутый” пользователь. Посмотрите, как это выглядит.

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

Показываем даты на понятном языке
Подсказываем правильное название

 

14 Comments

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

  2. Совет по датам и прочим параметрам, которые нужно потом находить и определять: это хорошо, когда человек наблюдает надпись "Три дня назад", но на мой взгляд главная суть данных в таблице – максимально показать эти данные пользователю. Пользователь открывает таблицу как раз для того, что бы увидеть там данные, определенные данные. Поэтому важно ему эти данные показать. На мой взгляд "Три дня назад" – это параматр группировки или фильтра, но не параметр части данных.

  3. Какой поисковый движок используете?

Comments are closed.