Компания
23,38
рейтинг
4 июня 2015 в 12:49

Разработка → Обновленная и расширенная версия DriverPack Online – первая по значимости, 16 по номеру

Когда ты поддерживаешь сотни офисных и домашних ПК, то без набора универсальных драйверов уже не обойтись. Без сомнений, самым популярным решением здесь является 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 пробрасывается через название файла, вот так:

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?

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

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

Автор: @ArtX
DriverPack Solution
рейтинг 23,38
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

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

  • 0
    К сожалению, в ReactOS пока невозможно запустить HTA-приложение.
    • +3
      Исправляйтесь :)
      Реально это реализовать?
      • +2
        Реализовать реально, но пока не ясно, сколько шагов для этого потребуется.
  • +3
    И да, мы экспериментировали с node-webkit – нам он не подошел.
    Рассказывайте в деталях, черт побери!

    Мне кажется подходящая для вас инфраструктура выглядит следующим образом:
    Core (не важно на чем, хоть .Net) + Embedded Browser (CEF) + UI (HTML/CSS/JS)
  • +7
    Штука безусловно хорошая, но у меня следующий вопрос — DriverPack Solution все еще нагло меняет OEM информацию в винде или его от этого наконец отучили?
    • +7
      Эту ужасную функцию мы выпилили очень давно.
      Сори, что такое было :(
  • +3
    Сегодня узнал про вас впервые. Ваш сервис реально удобен! 2 кнопки нажал — все драйвера поставились. Да и софт тоже.
    • +2
      Спасибо :)
  • 0
    Дурацкий вопрос. Вам ФРИИшный акселлератор хоть чем-то помог?
    • +1
      Во ФРИИ есть умные люди :)
      И за последние несколько месяцев мы дважды делали сильный рывок по конверсиям. Об этом тоже могу в отдельном посте рассказать, если интересно?
      • +2
        Очень интересно в разрезе чем рывки по конверсии помогли.
        • +2
          Т.е. интересна полная аналитика с цифрами и выводами? Правильно я понял?
          • +1
            Конечно интересны и цифры и выводы.
            Но больше интересно для чего можно использовались полученные выводы и стоили эти выводы сотрудничества.
  • 0
    Переписали, но антивирусник все равно выругался.
    • 0
      С Symantec-ом боремся… Например, с Касперским у нас есть договор на добавление в White-лист, а с Symantec нету :(
      Постоянно им пишем, они убирают срабатывания, потом их алгоритмы опять возвращают. Может кто подскажет, куда писать?
      • +1
        Через это обращались? Можно еще попробовать позвонить на какой-нибудь из общий телефон по России, узнать про это.
  • 0
    У вас нет просто доступа к базе драйверов, с поиском аналогично devid.info (который, кажется, перестал обновляться)? Не хочется лишний раз устанавливать программы, хочется выкачивать вручную.
    • 0
      У нас очень хорошая и актуальная база и есть готовые наработки, чтобы заменить devid.info. Наш сервис появится по адресу: devid.drp.su
      • 0
        Насколько я понимаю, пока что там просто поиск по базе всё того же devid.info, нет?
        • 0
          Да, пока это так…
  • +1
    Перешёл на вкладочку «Софт», снял галочки со всех приложений. Количество «не установленных программ» не изменилось. После перехода на вкладку «Драйверы» и возврата обратно все галочки восстанавливаются.
    • 0
      Спасибо! Исправим.
  • 0
    Чутка смущает этот драйвер
    Скриншот
    image

    p.s. у меня i7-4790k
    • 0
      Либо исправили либо что-то другое, у меня на i7-4790K показывает «Intel® 4th Gen Core processor Controller — 0C00» тоже от 07.25.2013.
      • 0
        Может потому что у меня был слегка убиты ножки сокета на мат.плате и их чинили? :)
        • +1
          И тихонько превратился процессор в Xeon :)
  • +1
    Дрова распознал и поставил нормально. Только еще зачем-то Оперу мне заинсталил, хотя я устанавливал только дрова.
  • +1
    А я бы вот не отказался скачать 10 гигабайт. Только вот по ссылке на торрент качается битый iso версии 15.6. Обидно немножко, а? :)
    • +1
      Странно, так как торрент клиент всегда сверяет хеш-суммы.
      Проверьте, пожалуйста, контрольную сумму — должна быть MD5: 3621069ae2e484882c6bf4b3c6bcb749
      • 0
        Виноват — моя ошибка была, перехешировал, докачалось полпроцента и все открывается.
  • 0
    Пользовался вашим продуктом, когда на винде сидел — очень удобная софтина. Особенно «тыжпрограммисты» занимающиеся переустановкой винды очень радуются )

    P.S. совет: разумно было бы добавить пагинацию на страницы поиска драйверов по модели ноутбука, а то отдавать 21к записей за рас это не ок… И грузится страница долго и тормозит ацки. Все равно же есть поиск по модели, какой смысл отдавать все модели сразу. (http://drp.su/drivers/notebooks/?v=Lenovo&l=ru)
    • 0
      Большое спасибо! Сделаем :)
  • +5
    Вот бы версию online но с драйверами для сетевых карт. Чтобы сначала ставились драйвера на сетевухи и уже потом, когда есть подключение к интернету, подкачивалось остальное. Получилась бы чудесная штука, которая бы сочетала небольшой размер онлайн версии с универсальностью полной.
    • 0
      Не DriverPack-ом единым. Попробуйте Snappy Driver Installer — он может выборочно скачивать/обновлять пакеты драйверов и докачивать в процессе установки только необходимые.
      • +1
        Не увидел разницы в контексте моего прошлого комментария, сразу же зашел на страницу скачивания, там на выбор две версии, 1.8 МБ онлайн версия, либо монстр на 9.16 ГБ.
        • 0
          Вы невнимательно прочли мой комментарий. Я же писал — "… выборочно обновлять и скачивать пакеты драйверов". На практике это значит онлайн версия 1.8 Мб + докачка только пака драйверов на сетевые карты ~ 300 Мб (Wi-Fi и Ethernet карты) = ровно то что вы и хотели.
          • 0
            Если так — пожалуй действительно может стоить внимания. Странно что они не афишируют это как свою «фишку», вобщем-то немаловажная функция.
  • +1
    Предлагает установить:
    — Skype 7.4.0.102 когда у меня установлен 7.5.0.102
    — uTorrent 3.2.3.xxxxx когда у меня установлен 3.4.3.xxxxx

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

    Полезная штука, спасибо!
    • 0
      Спасибо большое!
      Исправим!
  • 0
    Как-то чересчур «минималистично» — нужно писать что драйверы и так установлены, но есть обновления для них
  • 0
    А Girls Aloud в курсе, что они уже моделями ноутбуков подрабатывают? Это, вообще, законно?
    • 0
      Ого :)
      Даже не знал, что есть такие девочки… Нам дизайнер рисовал, он обычно фотобанки использует, я уточню.
  • 0
    Скачал полную ферсию драйверпака. Ставлю дрова, а антивирус находит несклько вирусов.

    1. Откатил снапшот ФС чтобы почистить.
    2. Скачал snappy-driver-installer.sourceforge.net/ru/index.php
    3. Поставил.
    4. Никакой вирусни.
  • 0
    Был плохого мнения о программе, уже толком не помню из-за чего, по-моему из-за установки не правильных драйверов на сетевую карту и прочее, на днях опробую на пациентах и попробую изменить мнение.
    • 0
      Надеюсь наш продукт реабилитируется в ваших глазах!
      Удачи!
  • 0
    А Яндекс.Браузер версии 7.2 — это что? У него такого номера не было, и поэтому сильно настораживает.
  • +1
    По моему сейчас драйвера в большинстве случаев и не нужно ставить руками. Винда сама поставит большинство, что не найдет то поставит центр обновлений, и обновит кстати сам, пусть и не всё.
    Компании где есть хотя бы один сервер могут развернуть WDS со всеми нужными драйверами.
    Для домашнего компа (для себя любимого), я бы ставить не стал — надежнее все же с офф сайта скачать.

    Остается одна ниша для этого пака — выездные мастера, для них это удобно. Заботится о качестве не нужно, а что вызовут еще — а это заработок.
    • 0
      Это нормально, что есть множество вариантов как решить одну задачу. DriverPack хороший инструмент и для некоторых задач подходит лучше всего.
  • 0
    1. Интерфейс ужасен. 80% времени она тупо показывал мне что ставятся драйвера. Даже имени текущего драйвера не говорил.
    2. После установки рекомендованного набора драйверов компьютер больше не смог загрузиться, пришлось откатывать винду к последней точке восстановления.
    Ужасно господа, ужасно.
    • 0
      Мне жаль, что так вышло… Мы старательно тестируем все драйверы. Но не мы их пишем, а обновления выходят каждую неделю. Поэтому иногда возникают проблемы.

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

      Спасибо!
  • +1
    Попробовал обновить драйвера вашей программой DriverPack Online. Когда заметил что появилась Опера на рабочем столе понял неладное и закрыл вашу чудо программу. Оперу удалю. Как посмотреть каким еще мусором вы успели загадить мой компьютер?
    • 0
      Надо просто внимательно читать надписи и снимать лишние галочки. Я согласен что когда вас пишут что-то «мелким шрифтом» это плохо, но бдительность терять нельзя никогда.
    • +1
      аналогичная история, вовремя отменил. Стоило хотя бы предупреждать.
      Страница драйверов, список драйверов, кнопка «установить все». Ожидаемое поведение — будут установлены все драйверы из списка.

      А ставиться еще и софт с другой вкладки. Стоит хотя бы предупреждать. Я слишком наивен?
      • –2
        Я бы банил хабрааккаунты за статьи призывающие пользоваться такими продуктами.
        • –1
          Огромное количество сервисных-инженеров и сисадминов экономят массу времени на установке дров!
          Это совсем не значит, что они криворукие и не могут это сделать ручками. Просто когда тебе нужно по 20 компов в день приводить в чувства, то не обойтись без DriverPack, который это автоматизирует.
          И причем монетизируется проект по схеме Win-Win, что никто никому ничего не платит, а ценность получают все!!!
  • 0
    У меня на двух компьютерах была проблема с тем, что при установке драйверов полная версия подвисает на последнем драйвере.причем на одном компе я ставил всего один драйвер.подвисание заключается в том, что вся анимация продолжается, но ничего не происходит… причем ничего не происходит ни через полчаса, ни через 3-4 часа… не подскажите в чём может быть дело? а так же когда обновится полная версия? а то часто настраиваю компьютеры на которых нет интернета
  • 0
    Ребят, извините, но «не очень». На 2-х компах пробовал — ни на одном не сработала. И рассчитывайте на то, что устанавливают драйвера на машинках, где они на видюху не установлены. А-то каша из символов получается.
  • 0
    Программа хорошая. Но объясните мне, почему когда я снимаю галочку, чтобы не ставить ваш нотификатор — он всегда ставится!
    Если уж у вас есть кнопка «Установить драйвера», то пусть она ставит только драйвера. А не как верхняя.

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

Самое читаемое Разработка