Если же нужно настроить только 1 компьютер, то качать 10 Gb — совсем не хочется, поэтому был сделан DriverPack Online. У него были свои недостатки, которые мы попробовали исправить в новом релизе. Так что остановимся подробнее на самых интересных моментах разработки.
С нуля
Было решено переписать и перепроектировать DriverPack Online с нуля. Нашей целью было сделать легкое и простое приложение, предоставляющее пользователю функционал Full-версии.
Мы использовали тот же стек технологий. Знаю, что есть люди, которые недолюбливают HTA. Но, друзья, это работает так, как нужно нашим пользователям.
Любой админ, который хоть раз писал скрипты VBScript или клепал «сайт визитку», без проблем сможет «подпилить» DriverPack под себя. Никакой компиляции, просто HTML и JavaScript, в котором даже школьник разберётся.
И да, мы экспериментировали с node-webkit – нам он не подошел.
Аналитика
В вебе существует множество, ставших стандартом, решений и мы смогли перенести их в Desktop. При помощи скрипта Statistics.js из приложения отправляются события в Google Analytics и «Яндекс.Метрику».
Statistics.js умеет:
- Работать с отправлять события Events в GA (category, action, label);
- Поддерживает Dimensions (настройки в statistics.config);
- Проброс ClientID с сайта;
- Генерация ClientID, если он не пробросился;
- Генерация правильного URL для отправки через Measurement Protocol;
- Отправка событий в «Яндекс.Метрику» (через yaCounter.hit() ).
Синтаксис отправки событий получается довольно простой:
statistics.event(
{
category: 'desktop',
action: 'opened',
label: '16.1.1'
}
);
Благодаря этому мы можем анализировать проблемы, находить сбойные или несовместимые драйверы и конфигурации ещё раньше, чем нам об этом напишут пользователи… И в конце концов, надо понимать, насколько удобен и понятен сам продукт пользователю.
Вот как выглядит карта событий, отправляемых из DriverPack:
Google Analytics и ClientID
В Google Analytics внешние события отправляются через Measurement Protocol протокол, поэтому его интеграция проблем не вызвала. Но, мы пошли дальше и научились прокидывать ClientID с сайта, прямо в приложение! Нужно это, чтобы можно было понять откуда изначально пришел пользователь и по какой поисковой фразе и связывать это с тем, что он делает внутри приложении.
Из сайта в приложение ClientID пробрасывается через название файла, вот так:
http://download.drp.su/online/DriverPack-Online_2089238336.1403776545.exe
Мы можем рассказать подробно о том, насколько легко это настроить, но в другом посте, если кому-то интересно.
«Яндекс.Метрика»
Google Analytics — это хорошо, но два инструмента лучше, поэтому обратились к «Метрике». Огромный минус Google Analytics заключается в “сэмплировании”, которое включается для ресурсов с большим трафиком. Оно очень сильно бьёт данные и верить такой статистике уже нельзя. «Яндекс.Метрика» помогает нам проверять/подтверждать выводы, сделанные на данных из Google Analytics.
С «Метрикой» пришлось повозиться, так как у них нету никакого REST API для отправки событий. Но, мы смогли подружить обычный JavaScript-код отслеживания с HTA.
Отправляя в «Метрику» события о действиях пользователя (хиты), мы также отправляем JSON объект, содержащий информацию о конфигурации компьютера.
Интерфейс «Метрики» позволяет работать с этими данными и находить очень интересные инсайды: ниже скрин с показателями отказов использования нашего приложения на компах пользователей двух групп: с объемом оперативки 1 Gb и более 2 Gb.
Из этой диаграммы можно сделать вывод, что у пользователей компов с 1 Gb оперативки на борту показатель отказов выше в 1,5 раза, чем у пользователей компов с больше объемом памяти. Это довольно просто вывод, но иногда находятся действительно супер неочевидные вещи.
Авто-тесты
HTA — работает на движке Internet Explorer, поэтому DriverPack должен корректно работать абсолютно в разном окружении и исполняться на разных движках. Если пренебречь невозможными сочетаниями вида «Window 8.1 x IE6», можно сказать, что количество вариантов это декартово произведение [Windows ver] x [IE ver] — это немало, не говоря уже о том, что твориться с зоопарком антивирусов на компьютерах юзеров.
Чтобы всё это тестить, мы:
1. Поднимаем серию виртуалок;
2. Через Dropbox деплоится последняя версия приложения;
3. Юнит-тесты запускаются каждую минуту через планировщик;
4. Отчеты с машин собираются в одной Dropbox-папке.
Таким образом мы значительно сократили затраты на процесс тестирования.
Тестирование драйверов
Авто-тестами мы покрываем код приложение. Но 910 000 драйверов протестировать на виртуалках — не возможно. Поэтому мы создали «Удаленную лаборатория тестирования драйверов», о которой рассказывали на Хабре.
Всё это в новом, на наш взгляд, минималистичном дизайне.
Напоследок
Скачать DriverPack Online: http://drp.su/ru/
Страница на GitHub: https://github.com/DriverPackSolution/DriverPack-Solution/tree/DriverPack-16
Change Log: https://github.com/DriverPackSolution/DriverPack-Solution/commits/DriverPack-16?page=1
P.S. Спасибо тем, кто откликнулся на одну из наших предыдущих публикаций.
Вы реально помогли нам немного улучшить DriverPack: сделать его быстрым и надежным, и в то же время простым и понятным для любому пользователю.
Отдельная благодарность Денису Седченко за дизайн приложения.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Комментарии (56)
naum
04.06.2015 13:23+3И да, мы экспериментировали с node-webkit – нам он не подошел.
Рассказывайте в деталях, черт побери!
Мне кажется подходящая для вас инфраструктура выглядит следующим образом:
Core (не важно на чем, хоть .Net) + Embedded Browser (CEF) + UI (HTML/CSS/JS)
Dal
04.06.2015 14:25Переписали, но антивирусник все равно выругался.
ArtX Автор
04.06.2015 14:30С Symantec-ом боремся… Например, с Касперским у нас есть договор на добавление в White-лист, а с Symantec нету :(
Постоянно им пишем, они убирают срабатывания, потом их алгоритмы опять возвращают. Может кто подскажет, куда писать?
Evengard
04.06.2015 14:35У вас нет просто доступа к базе драйверов, с поиском аналогично devid.info (который, кажется, перестал обновляться)? Не хочется лишний раз устанавливать программы, хочется выкачивать вручную.
ArtX Автор
04.06.2015 15:14У нас очень хорошая и актуальная база и есть готовые наработки, чтобы заменить devid.info. Наш сервис появится по адресу: devid.drp.su
ICELedyanoj
04.06.2015 15:09+1Перешёл на вкладочку «Софт», снял галочки со всех приложений. Количество «не установленных программ» не изменилось. После перехода на вкладку «Драйверы» и возврата обратно все галочки восстанавливаются.
AndreyBerezhnoy
04.06.2015 15:16Чутка смущает этот драйвер
Скриншотrussum
04.06.2015 18:09Либо исправили либо что-то другое, у меня на i7-4790K показывает «Intel® 4th Gen Core processor Controller — 0C00» тоже от 07.25.2013.
AndreyBerezhnoy
04.06.2015 18:13Может потому что у меня был слегка убиты ножки сокета на мат.плате и их чинили? :)
VeTaLv
04.06.2015 16:12+1Дрова распознал и поставил нормально. Только еще зачем-то Оперу мне заинсталил, хотя я устанавливал только дрова.
7313
04.06.2015 16:24+1А я бы вот не отказался скачать 10 гигабайт. Только вот по ссылке на торрент качается битый iso версии 15.6. Обидно немножко, а? :)
ShadowsMind
04.06.2015 16:43Пользовался вашим продуктом, когда на винде сидел — очень удобная софтина. Особенно «тыжпрограммисты» занимающиеся переустановкой винды очень радуются )
P.S. совет: разумно было бы добавить пагинацию на страницы поиска драйверов по модели ноутбука, а то отдавать 21к записей за рас это не ок… И грузится страница долго и тормозит ацки. Все равно же есть поиск по модели, какой смысл отдавать все модели сразу. (http://drp.su/drivers/notebooks/?v=Lenovo&l=ru)
Kamikaze
04.06.2015 17:10+5Вот бы версию online но с драйверами для сетевых карт. Чтобы сначала ставились драйвера на сетевухи и уже потом, когда есть подключение к интернету, подкачивалось остальное. Получилась бы чудесная штука, которая бы сочетала небольшой размер онлайн версии с универсальностью полной.
srs2k
04.06.2015 17:39Не DriverPack-ом единым. Попробуйте Snappy Driver Installer — он может выборочно скачивать/обновлять пакеты драйверов и докачивать в процессе установки только необходимые.
Kamikaze
04.06.2015 17:45+1Не увидел разницы в контексте моего прошлого комментария, сразу же зашел на страницу скачивания, там на выбор две версии, 1.8 МБ онлайн версия, либо монстр на 9.16 ГБ.
srs2k
04.06.2015 18:22Вы невнимательно прочли мой комментарий. Я же писал — "… выборочно обновлять и скачивать пакеты драйверов". На практике это значит онлайн версия 1.8 Мб + докачка только пака драйверов на сетевые карты ~ 300 Мб (Wi-Fi и Ethernet карты) = ровно то что вы и хотели.
Kamikaze
04.06.2015 18:27Если так — пожалуй действительно может стоить внимания. Странно что они не афишируют это как свою «фишку», вобщем-то немаловажная функция.
russum
04.06.2015 18:07+1Предлагает установить:
— Skype 7.4.0.102 когда у меня установлен 7.5.0.102
— uTorrent 3.2.3.xxxxx когда у меня установлен 3.4.3.xxxxx
Из-за этого хотелось бы видеть версии уже установленных драйверов к которым он предлагает обновления, если они конечно есть.
Полезная штука, спасибо!
MrMerak
04.06.2015 18:19Как-то чересчур «минималистично» — нужно писать что драйверы и так установлены, но есть обновления для них
LumberJack
04.06.2015 19:13А Girls Aloud в курсе, что они уже моделями ноутбуков подрабатывают? Это, вообще, законно?
ArtX Автор
05.06.2015 13:12Ого :)
Даже не знал, что есть такие девочки… Нам дизайнер рисовал, он обычно фотобанки использует, я уточню.
3draven
04.06.2015 20:46Скачал полную ферсию драйверпака. Ставлю дрова, а антивирус находит несклько вирусов.
1. Откатил снапшот ФС чтобы почистить.
2. Скачал snappy-driver-installer.sourceforge.net/ru/index.php
3. Поставил.
4. Никакой вирусни.
Chijikson
04.06.2015 20:46Был плохого мнения о программе, уже толком не помню из-за чего, по-моему из-за установки не правильных драйверов на сетевую карту и прочее, на днях опробую на пациентах и попробую изменить мнение.
tundrawolf_kiba
04.06.2015 21:34А Яндекс.Браузер версии 7.2 — это что? У него такого номера не было, и поэтому сильно настораживает.
Actor
05.06.2015 07:04+1По моему сейчас драйвера в большинстве случаев и не нужно ставить руками. Винда сама поставит большинство, что не найдет то поставит центр обновлений, и обновит кстати сам, пусть и не всё.
Компании где есть хотя бы один сервер могут развернуть WDS со всеми нужными драйверами.
Для домашнего компа (для себя любимого), я бы ставить не стал — надежнее все же с офф сайта скачать.
Остается одна ниша для этого пака — выездные мастера, для них это удобно. Заботится о качестве не нужно, а что вызовут еще — а это заработок.ArtX Автор
05.06.2015 13:15Это нормально, что есть множество вариантов как решить одну задачу. DriverPack хороший инструмент и для некоторых задач подходит лучше всего.
randoom
05.06.2015 12:381. Интерфейс ужасен. 80% времени она тупо показывал мне что ставятся драйвера. Даже имени текущего драйвера не говорил.
2. После установки рекомендованного набора драйверов компьютер больше не смог загрузиться, пришлось откатывать винду к последней точке восстановления.
Ужасно господа, ужасно.ArtX Автор
05.06.2015 13:20Мне жаль, что так вышло… Мы старательно тестируем все драйверы. Но не мы их пишем, а обновления выходят каждую неделю. Поэтому иногда возникают проблемы.
Если вы пришлете логи, то мы это исправим! Это можно сделать прямо из интерфейса. Приложение проанализирует и соберет нужную информацию о ПК, создаст отчет и отправит нам на сервер. Мы заменим сбойный драйвер на стабильный предыдущей версии.
Спасибо!
AEG
06.06.2015 07:24+1Попробовал обновить драйвера вашей программой DriverPack Online. Когда заметил что появилась Опера на рабочем столе понял неладное и закрыл вашу чудо программу. Оперу удалю. Как посмотреть каким еще мусором вы успели загадить мой компьютер?
k0ldbl00d
06.06.2015 12:34Надо просто внимательно читать надписи и снимать лишние галочки. Я согласен что когда вас пишут что-то «мелким шрифтом» это плохо, но бдительность терять нельзя никогда.
KhodeN
07.06.2015 15:21+1аналогичная история, вовремя отменил. Стоило хотя бы предупреждать.
Страница драйверов, список драйверов, кнопка «установить все». Ожидаемое поведение — будут установлены все драйверы из списка.
А ставиться еще и софт с другой вкладки. Стоит хотя бы предупреждать. Я слишком наивен?randoom
09.06.2015 13:46-2Я бы банил хабрааккаунты за статьи призывающие пользоваться такими продуктами.
ArtX Автор
09.06.2015 14:23-1Огромное количество сервисных-инженеров и сисадминов экономят массу времени на установке дров!
Это совсем не значит, что они криворукие и не могут это сделать ручками. Просто когда тебе нужно по 20 компов в день приводить в чувства, то не обойтись без DriverPack, который это автоматизирует.
И причем монетизируется проект по схеме Win-Win, что никто никому ничего не платит, а ценность получают все!!!
BreakHeart
30.06.2015 15:07У меня на двух компьютерах была проблема с тем, что при установке драйверов полная версия подвисает на последнем драйвере.причем на одном компе я ставил всего один драйвер.подвисание заключается в том, что вся анимация продолжается, но ничего не происходит… причем ничего не происходит ни через полчаса, ни через 3-4 часа… не подскажите в чём может быть дело? а так же когда обновится полная версия? а то часто настраиваю компьютеры на которых нет интернета
Jeditobe
К сожалению, в ReactOS пока невозможно запустить HTA-приложение.
ArtX Автор
Исправляйтесь :)
Реально это реализовать?
Jeditobe
Реализовать реально, но пока не ясно, сколько шагов для этого потребуется.