Когда ты поддерживаешь сотни офисных и домашних ПК, то без набора универсальных драйверов уже не обойтись. Без сомнений, самым популярным решением здесь является DriverPack Full, который имеет огромную базу драйверов, размером в 10 Gb! Это целых 910 000 драйверов собранных и протестированных вручную.

Если же нужно настроить только 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: сделать его быстрым и надежным, и в то же время простым и понятным для любому пользователю.

Отдельная благодарность Денису Седченко за дизайн приложения.
Улучшился ли на ваш взгляд интерфейс DriverPack Solution Online?

Проголосовало 294 человека. Воздержалось 194 человека.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Комментарии (56)


  1. Jeditobe
    04.06.2015 12:53

    К сожалению, в ReactOS пока невозможно запустить HTA-приложение.


    1. ArtX Автор
      04.06.2015 13:10
      +3

      Исправляйтесь :)
      Реально это реализовать?


      1. Jeditobe
        04.06.2015 13:54
        +2

        Реализовать реально, но пока не ясно, сколько шагов для этого потребуется.


  1. naum
    04.06.2015 13:23
    +3

    И да, мы экспериментировали с node-webkit – нам он не подошел.
    Рассказывайте в деталях, черт побери!

    Мне кажется подходящая для вас инфраструктура выглядит следующим образом:
    Core (не важно на чем, хоть .Net) + Embedded Browser (CEF) + UI (HTML/CSS/JS)


  1. Alexsey
    04.06.2015 13:27
    +7

    Штука безусловно хорошая, но у меня следующий вопрос — DriverPack Solution все еще нагло меняет OEM информацию в винде или его от этого наконец отучили?


    1. ArtX Автор
      04.06.2015 13:33
      +7

      Эту ужасную функцию мы выпилили очень давно.
      Сори, что такое было :(


  1. vc54
    04.06.2015 14:00
    +3

    Сегодня узнал про вас впервые. Ваш сервис реально удобен! 2 кнопки нажал — все драйвера поставились. Да и софт тоже.


    1. ArtX Автор
      04.06.2015 14:02
      +2

      Спасибо :)


  1. kekekeks
    04.06.2015 14:08

    Дурацкий вопрос. Вам ФРИИшный акселлератор хоть чем-то помог?


    1. ArtX Автор
      04.06.2015 14:14
      +1

      Во ФРИИ есть умные люди :)
      И за последние несколько месяцев мы дважды делали сильный рывок по конверсиям. Об этом тоже могу в отдельном посте рассказать, если интересно?


      1. ErshoFF
        04.06.2015 14:44
        +2

        Очень интересно в разрезе чем рывки по конверсии помогли.


        1. ArtX Автор
          04.06.2015 15:12
          +2

          Т.е. интересна полная аналитика с цифрами и выводами? Правильно я понял?


          1. ErshoFF
            04.06.2015 15:33
            +1

            Конечно интересны и цифры и выводы.
            Но больше интересно для чего можно использовались полученные выводы и стоили эти выводы сотрудничества.


  1. Dal
    04.06.2015 14:25

    Переписали, но антивирусник все равно выругался.


    1. ArtX Автор
      04.06.2015 14:30

      С Symantec-ом боремся… Например, с Касперским у нас есть договор на добавление в White-лист, а с Symantec нету :(
      Постоянно им пишем, они убирают срабатывания, потом их алгоритмы опять возвращают. Может кто подскажет, куда писать?


      1. Dal
        04.06.2015 19:14
        +1

        Через это обращались? Можно еще попробовать позвонить на какой-нибудь из общий телефон по России, узнать про это.


  1. Evengard
    04.06.2015 14:35

    У вас нет просто доступа к базе драйверов, с поиском аналогично devid.info (который, кажется, перестал обновляться)? Не хочется лишний раз устанавливать программы, хочется выкачивать вручную.


    1. ArtX Автор
      04.06.2015 15:14

      У нас очень хорошая и актуальная база и есть готовые наработки, чтобы заменить devid.info. Наш сервис появится по адресу: devid.drp.su


      1. Evengard
        04.06.2015 15:56

        Насколько я понимаю, пока что там просто поиск по базе всё того же devid.info, нет?


        1. ArtX Автор
          04.06.2015 15:58

          Да, пока это так…


  1. ICELedyanoj
    04.06.2015 15:09
    +1

    Перешёл на вкладочку «Софт», снял галочки со всех приложений. Количество «не установленных программ» не изменилось. После перехода на вкладку «Драйверы» и возврата обратно все галочки восстанавливаются.


    1. ArtX Автор
      04.06.2015 15:13

      Спасибо! Исправим.


  1. AndreyBerezhnoy
    04.06.2015 15:16

    Чутка смущает этот драйвер

    Скриншот
    image


    1. russum
      04.06.2015 18:09

      Либо исправили либо что-то другое, у меня на i7-4790K показывает «Intel® 4th Gen Core processor Controller — 0C00» тоже от 07.25.2013.


      1. AndreyBerezhnoy
        04.06.2015 18:13

        Может потому что у меня был слегка убиты ножки сокета на мат.плате и их чинили? :)


        1. ingrysty
          04.06.2015 23:08
          +1

          И тихонько превратился процессор в Xeon :)


  1. VeTaLv
    04.06.2015 16:12
    +1

    Дрова распознал и поставил нормально. Только еще зачем-то Оперу мне заинсталил, хотя я устанавливал только дрова.


  1. 7313
    04.06.2015 16:24
    +1

    А я бы вот не отказался скачать 10 гигабайт. Только вот по ссылке на торрент качается битый iso версии 15.6. Обидно немножко, а? :)


    1. ArtX Автор
      04.06.2015 16:41
      +1

      Странно, так как торрент клиент всегда сверяет хеш-суммы.
      Проверьте, пожалуйста, контрольную сумму — должна быть MD5: 3621069ae2e484882c6bf4b3c6bcb749


      1. 7313
        04.06.2015 20:29

        Виноват — моя ошибка была, перехешировал, докачалось полпроцента и все открывается.


  1. ShadowsMind
    04.06.2015 16:43

    Пользовался вашим продуктом, когда на винде сидел — очень удобная софтина. Особенно «тыжпрограммисты» занимающиеся переустановкой винды очень радуются )

    P.S. совет: разумно было бы добавить пагинацию на страницы поиска драйверов по модели ноутбука, а то отдавать 21к записей за рас это не ок… И грузится страница долго и тормозит ацки. Все равно же есть поиск по модели, какой смысл отдавать все модели сразу. (http://drp.su/drivers/notebooks/?v=Lenovo&l=ru)


    1. ArtX Автор
      04.06.2015 16:49

      Большое спасибо! Сделаем :)


  1. Kamikaze
    04.06.2015 17:10
    +5

    Вот бы версию online но с драйверами для сетевых карт. Чтобы сначала ставились драйвера на сетевухи и уже потом, когда есть подключение к интернету, подкачивалось остальное. Получилась бы чудесная штука, которая бы сочетала небольшой размер онлайн версии с универсальностью полной.


    1. srs2k
      04.06.2015 17:39

      Не DriverPack-ом единым. Попробуйте Snappy Driver Installer — он может выборочно скачивать/обновлять пакеты драйверов и докачивать в процессе установки только необходимые.


      1. Kamikaze
        04.06.2015 17:45
        +1

        Не увидел разницы в контексте моего прошлого комментария, сразу же зашел на страницу скачивания, там на выбор две версии, 1.8 МБ онлайн версия, либо монстр на 9.16 ГБ.


        1. srs2k
          04.06.2015 18:22

          Вы невнимательно прочли мой комментарий. Я же писал — "… выборочно обновлять и скачивать пакеты драйверов". На практике это значит онлайн версия 1.8 Мб + докачка только пака драйверов на сетевые карты ~ 300 Мб (Wi-Fi и Ethernet карты) = ровно то что вы и хотели.


          1. Kamikaze
            04.06.2015 18:27

            Если так — пожалуй действительно может стоить внимания. Странно что они не афишируют это как свою «фишку», вобщем-то немаловажная функция.


  1. 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

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

    Полезная штука, спасибо!


    1. ArtX Автор
      04.06.2015 18:08

      Спасибо большое!
      Исправим!


  1. MrMerak
    04.06.2015 18:19

    Как-то чересчур «минималистично» — нужно писать что драйверы и так установлены, но есть обновления для них


  1. LumberJack
    04.06.2015 19:13

    А Girls Aloud в курсе, что они уже моделями ноутбуков подрабатывают? Это, вообще, законно?


    1. ArtX Автор
      05.06.2015 13:12

      Ого :)
      Даже не знал, что есть такие девочки… Нам дизайнер рисовал, он обычно фотобанки использует, я уточню.


  1. 3draven
    04.06.2015 20:46

    Скачал полную ферсию драйверпака. Ставлю дрова, а антивирус находит несклько вирусов.

    1. Откатил снапшот ФС чтобы почистить.
    2. Скачал snappy-driver-installer.sourceforge.net/ru/index.php
    3. Поставил.
    4. Никакой вирусни.


  1. Chijikson
    04.06.2015 20:46

    Был плохого мнения о программе, уже толком не помню из-за чего, по-моему из-за установки не правильных драйверов на сетевую карту и прочее, на днях опробую на пациентах и попробую изменить мнение.


    1. ArtX Автор
      05.06.2015 13:10

      Надеюсь наш продукт реабилитируется в ваших глазах!
      Удачи!


  1. tundrawolf_kiba
    04.06.2015 21:34

    А Яндекс.Браузер версии 7.2 — это что? У него такого номера не было, и поэтому сильно настораживает.


  1. Actor
    05.06.2015 07:04
    +1

    По моему сейчас драйвера в большинстве случаев и не нужно ставить руками. Винда сама поставит большинство, что не найдет то поставит центр обновлений, и обновит кстати сам, пусть и не всё.
    Компании где есть хотя бы один сервер могут развернуть WDS со всеми нужными драйверами.
    Для домашнего компа (для себя любимого), я бы ставить не стал — надежнее все же с офф сайта скачать.

    Остается одна ниша для этого пака — выездные мастера, для них это удобно. Заботится о качестве не нужно, а что вызовут еще — а это заработок.


    1. ArtX Автор
      05.06.2015 13:15

      Это нормально, что есть множество вариантов как решить одну задачу. DriverPack хороший инструмент и для некоторых задач подходит лучше всего.


  1. randoom
    05.06.2015 12:38

    1. Интерфейс ужасен. 80% времени она тупо показывал мне что ставятся драйвера. Даже имени текущего драйвера не говорил.
    2. После установки рекомендованного набора драйверов компьютер больше не смог загрузиться, пришлось откатывать винду к последней точке восстановления.
    Ужасно господа, ужасно.


    1. ArtX Автор
      05.06.2015 13:20

      Мне жаль, что так вышло… Мы старательно тестируем все драйверы. Но не мы их пишем, а обновления выходят каждую неделю. Поэтому иногда возникают проблемы.

      Если вы пришлете логи, то мы это исправим! Это можно сделать прямо из интерфейса. Приложение проанализирует и соберет нужную информацию о ПК, создаст отчет и отправит нам на сервер. Мы заменим сбойный драйвер на стабильный предыдущей версии.

      Спасибо!


  1. AEG
    06.06.2015 07:24
    +1

    Попробовал обновить драйвера вашей программой DriverPack Online. Когда заметил что появилась Опера на рабочем столе понял неладное и закрыл вашу чудо программу. Оперу удалю. Как посмотреть каким еще мусором вы успели загадить мой компьютер?


    1. k0ldbl00d
      06.06.2015 12:34

      Надо просто внимательно читать надписи и снимать лишние галочки. Я согласен что когда вас пишут что-то «мелким шрифтом» это плохо, но бдительность терять нельзя никогда.


    1. KhodeN
      07.06.2015 15:21
      +1

      аналогичная история, вовремя отменил. Стоило хотя бы предупреждать.
      Страница драйверов, список драйверов, кнопка «установить все». Ожидаемое поведение — будут установлены все драйверы из списка.

      А ставиться еще и софт с другой вкладки. Стоит хотя бы предупреждать. Я слишком наивен?


      1. randoom
        09.06.2015 13:46
        -2

        Я бы банил хабрааккаунты за статьи призывающие пользоваться такими продуктами.


        1. ArtX Автор
          09.06.2015 14:23
          -1

          Огромное количество сервисных-инженеров и сисадминов экономят массу времени на установке дров!
          Это совсем не значит, что они криворукие и не могут это сделать ручками. Просто когда тебе нужно по 20 компов в день приводить в чувства, то не обойтись без DriverPack, который это автоматизирует.
          И причем монетизируется проект по схеме Win-Win, что никто никому ничего не платит, а ценность получают все!!!


  1. BreakHeart
    30.06.2015 15:07

    У меня на двух компьютерах была проблема с тем, что при установке драйверов полная версия подвисает на последнем драйвере.причем на одном компе я ставил всего один драйвер.подвисание заключается в том, что вся анимация продолжается, но ничего не происходит… причем ничего не происходит ни через полчаса, ни через 3-4 часа… не подскажите в чём может быть дело? а так же когда обновится полная версия? а то часто настраиваю компьютеры на которых нет интернета