Моя компания выпускает небольшой программный продукт, разработку которого я недавно взял на себя. Это приложение Windows Forms на C#.
Одна из вещей, которые я заметил, заключается в том, что большая часть информации о том, как используется программное обеспечение, фильтруется через мое начальство, и я чувствую, что мне не хватает важных деталей в некоторых сообщениях.
Я понимаю, что в этой ситуации мне придется работать над проблемами управления, однако, чтобы дать другой взгляд на проблему, я рассматривал технологическое решение. Возможно, что-то похожее на «Программу улучшения качества программного обеспечения Microsoft».
Мне было интересно, есть ли у кого-нибудь опыт или советы по мониторингу и отчетности о поведении пользователей в своих приложениях?
На самом деле, как я пытался показать, OregonGhost, я довольно изолирован от клиентов. К тому же «наблюдение за клиентом» - не совсем тот ответ программиста, на который я надеялся, хотя это хорошее предложение, и спасибо за него.





Я бы посоветовал вам заставить ваше приложение записывать где-нибудь свою «информацию об использовании», а затем, с разрешения пользователей, периодически передавать ее в электронном виде.
Обратите внимание на выделенный выше удар. В зависимости от вашей юрисдикции вы можете столкнуться с серьезными проблемами при передаче любых данных с чужого компьютера без разрешения.
У вас больше шансов получить разрешение, если:
1 / При установке или обновлении вы даете понять, что ваша программа будет собирать информацию и передавать ее только с разрешения.
2 / Вы четко объясняете, что это за информация, и что она содержит только «информацию об использовании», ничего, что можно было бы проследить до пользователя программного обеспечения (БЕЗ серийных номеров и т. д.).
3 / Вы нечасто запрашиваете разрешение на передачу. Если бы у меня была неприятная программа, которая задавала бы мне ежедневные запросы, я бы вскоре вообще перестал ее использовать.
В дополнение к тому, что вы заявили. Мы также показываем клиенту данные, которые отправляем.
Я считаю, что вы уже получили хороший ответ на свой вопрос относительно аспекта конфиденциальности технологического решения.
Я также хотел бы упомянуть, что вы должны попробовать использовать HTTP или HTTPS через обычные порты 80/443 - это наименее вероятно вызовет проблемы с брандмауэрами и прокси. Используйте настройки прокси-сервера MS IE, поскольку они обычно устанавливаются правильно.
С совершенно другой точки зрения я хотел бы сказать, что лучший способ узнать об использовании вашего программного обеспечения - это проверить, есть ли у вас «дружелюбные» пользователи в вашей базе установки, и опросить их. Это может быть какая-то компания-партнер или люди, которые являются вашей «пилотной группой» для бета-версий нового выпуска. Поговори с ними. Возьмите своего менеджера и потратьте день на посещение его сайта, если это возможно, и просто посмотрите сами, как это делается, а затем они нажимают кнопки. Делать записи. Слушайте отзывы. Установите личные отношения, чтобы в следующий раз они поговорили с вами напрямую.
Если ваше приложение невелико, а ваша компания - не Microsoft, гораздо лучше быть ближе к своей пользовательской базе, чем собирать анонимные данные об использовании, которые требуют значительных усилий для сбора и обработки, а затем еще больше усилий для понимания.
Одна из идей - отправлять анонимную статистику с разрешения ваших пользователей.
Другая идея - предоставить в вашем приложении большую кнопку отчета об ошибке / задать вопрос, чтобы они могли сообщить вам, когда происходит что-то, что, по их мнению, не так, вы отправляете состояние приложения вместе с отчетом.
Всегда четко указывайте, что вы собираетесь отправлять, и дайте пользователям возможность быть не анонимными (всегда устанавливайте анонимные данные по умолчанию), и вы можете быть удивлены, когда получите много неанонимных данных по выбору пользователей.
И будьте ясны, используя язык пользователей, НИКОГДА не говорите такие вещи, как «Я собираюсь отправить зашифрованный дамп памяти Blowfish с текущим состоянием стека и кучи приложения. Да / нет?», Но такие вещи, как «Я собираюсь отправить список ваших действий в программе: кнопки, которые вы нажимали, а также тип и количество файлов, которые вы открыли. Это поможет нам создать для вас лучшую программу, но вы можете выбрать то, что вы хотите, чтобы мы получали ».
Отказ от ответственности: я разработчик этого продукта, поэтому я могу быть немного предвзятым, насколько он хорош :)
В настоящее время на рынке есть продукт, который может предоставить вам эту функциональность как для .NET, так и для Java-приложений, который мы называем Runtime Intelligence. См. Подробности: http://www.preemptive.com/runtime-intelligence-services.html.
Этот продукт в настоящее время поставляется как для .NET, так и для Java, а бесплатная версия с ограниченным набором функций будет включена в Visual Studio 2010.
Использование приложения можно отслеживать, начиная от статистики высокого уровня о количестве запусков и о версиях операционной системы / платформы до частоты использования отдельных функций.
Мы предоставляем вам возможность предоставить вашим пользователям возможность выбора или отказа при передаче данных об использовании, и данные отправляются либо через SSL (по умолчанию), либо через стандартный HTTP. Влияние на производительность вашего приложения минимально, и мы делаем все возможное, чтобы не повлиять на скорость отклика вашего кода.
Это решение отлично подходит для оценок или бета-тестирования, поскольку вы можете напрямую отслеживать использование своего приложения, а не полагаться на опросы или гадать, что делают пользователи.
Для выпущенных приложений это обеспечивает основу программы улучшения качества обслуживания клиентов, а наглядность накопленных данных важна для всех, от высшего руководства до разработчика.
Мы обнаружили, что настройка приложения для создания базовых отчетов об использовании занимает менее часа без изменения кода, поскольку мы можем работать непосредственно с двоичными файлами сборки.
Для получения информации о ценах или оценки, пожалуйста, свяжитесь с отделом продаж с нашего сайта, так как я всего лишь разработчик :)
Для получения подробной технической информации или любых других вопросов свяжитесь со мной.
На самом деле, я думаю, вы пытаетесь провести простую бизнес-аналитику.
Не забудьте установить «соответствующий» дашборд, чтобы отслеживать собранные вами данные, хорошенько подумайте над индикатором, который вы реализуете.
Я столкнулся с той же проблемой с нашим текущим проектом. Заказчик использовал программное обеспечение иначе, чем мы в компании. Я узнал большую часть этого, просто наблюдая, как покупатель использует программное обеспечение, но для вас это слишком просто, не так ли? :)