Сегодня мне вспомнился 2009-ый, когда мы только начали, и когда я только начал писать софт, который в настоящее время многие знают и используют. В те времена я ещё не обзавелся микроскопом, чтобы изучать DWM, и вовсю резал по живому. История, которую я хочу вам поведать, посвящена программе Home Basic Color Changer.
Windows 7 Домашняя Базовая несла в себе один маркетинговый трюк: имея на борту полноценное Aero, она не имела никаких средств настройки своего облика. Вот вообще никаких, даже пункта "Персонализация" в контекстном меню Рабочего стола.
Мне пришла в голову мысль как-то исправить ситуацию. Я знал, что все параметры оформления системы хранятся в реестре, и я решил начать с простого - со смены цвета окон.
Мне казалось это чертовски удачной идеей. Во-первых, программа была бы полезна всем пользователям злосчастной Home Basic, коих было немало. Во всяком случае в моем городе все прилавки были завалены девайсами с этой операционкой.Кроме того, я рассчитывал получить неплохой прирост посетителей, жаждущих оформить систему по своему вкусу (и мои ожидания таки да, оправдались).
Засев за бывшую мне в новинку Visual Studio 2008, я неспешно создал в C# вот такой ад:
Самая первая версия просто писала шестнадцатеричный цвет в ColorizationColor и значение ColorizationColorBalance в ветку реестра
HKEY_CURRENT_USER\Software\Microsoft\Windows\DWM
Дабы изменения возымели эффект, требовался выход из системы (и вход).
Надо сказать, это мало кому нравилось, но альтернатив-то не было. Пипл хавал.
Чувство стыда за откровенно дерьмовую реализацию ни на минуту не покидало меня. Я без конца доставал своими терзаниями Хрюккинена, но вопросы создания свистоперделок и поныне ему интересны чуть менее, чем никак.
Принявшись за исследование возможностей улучшения юзабили своего франкенперсонализатора, я пришел к выводу, что можно перезапускать службу DWM, которая после перезапуска прочитает новые значения цвета, и оформит окошки как надо.
Визуально программа не претерпела никаких изменений, однако, теперь она требовала права администратора, и при применении цвета скидывала оформление окон в базовую схему, а затем возвращала назад в Aero.
Побочными эффектами такой выходки были:
- горы кирпичей, которые откладывали пользователи, работающие без прав администратора, так как цвет окон записывался в реестр учётки Администратора, от имени которой они запускали программу;
- всевозможные глюки интерфейсов разных программ, которые были созданы в до-виндовс-семь эпоху и сходили с ума от перерисовки окошек двумя разными движками.
Сама по себе программа навлекла на сайт странного люда, который не читал ни коментов, ни анонсов, а сразу бежал писать, дескать, нечего не роботает. Комментарии пестрели такими вариациями слов русского языка, о существовании которых я и не подозревал, и не отличались умом и сообразительностью. Кроме того, благодаря стараниям одного гадкого индуса, который беззастеничиво давал директ линки на архив с программой, не указывая ни автора, ни сайта разработчика, сюда, тем не менее, стали набегать представители коренного населения Индии и писать те же баг-репорты, но на любых отличных от русского языках. Хрюккинена это безумно веселило, вкупе с моей нервной реакцией на происходящее, и он подливал масло в огонь, время от времени постя такие же комментарии анонимно.
Спустя какое-то время я плотно засел за изучение того, как работает чёртово Aero, и результаты были фееричными. Мне удалось разобрать все параметры реестра, и тогда мне открылось, что у DWM есть не один цвет окон, а два, что есть АПИ, которые позволяют рулить цветом окон на лету, без прав админа и перезапуска служб.
Мне казалось тогда, что то, что я делаю, это реально круто, я накатал целый трактат и создал демонстрационное приложение AeroTuner, которое рулило всеми параметрами диспетчера окон, и кроме того, шикарно работало и на Домашней Базовой:
Это было первое приложение подобного рода, и оно произвело фурор. Столько народу на сайте я никогда не видел, и наверное, не увижу. Программа разлетелась по всему интернету, и хотя статью никто не читал (что было обидно), это был самый популярный материал моего "информационного"(с) и "аналитического"(р) ресурса(тм).
Полученные навыки и успех Аэротюнера определили направление деятельности Winreview на год вперед. Я преуспел в освистоперделивании Домашней Базовой и Начальной семерок настолько, что смог повторить функциональность апплета "Персонализация" в полном объеме с присущими ему покером и куртизанками.
В течение года я допиливал флагманский продукт, лицо Winreview в интернетах, программу Personalization Panel. Она тоже далеко не сразу получилась годной, но в итоге получилась. Позднее, открытый мной способ врубить прозрачность окон в Домашней базовой и заточка Personalization Panel на контроль оформления в пропатченной теме действовали как катализатор популярности программы и проекта, разнося её все дальше и дальше по неведомым просторам всемирной сети.
Home Basic Color Changer больше не требовался.
В один прекрасный день я взял и выпилил его с сайта, решив, что все пользуются Personalization Panel и аеротюнером.
Я жестоко ошибался.
Спустя несколько месяцев я увидел в статистике толпы людей, ломящихся туда, где раньше была страница его загрузки. Я решил, что надо что-то делать и подсунул туда панель. Панель пипл, приходящий за Home Basic Color Changer, брать отказывался. Появились ругательные комментарии. И это при том, сцуко, что злосчастный Home Basic Color Changer был полным говном по сравнению с панелью и функционально нищ!
Беглый опрос целевой аудитории позволил выяснить, что, в общем-то, будь хоть трижды панель хороша, некоторые хотят сменить цвет с голубого на черный, и выкинуть программу в корзину. Надо было что-то делать... и я сделал вот что.
Я взял окно настройки цвета от панели и откомпилил его в исполняемый файл. Так на свет появился Home Basic Color Changer v2:
Эта программа жила, развивалась и грела душу пользователю ещё долгое время, исправно получая бэкпорты фич с панели персонализации. Перед "смертью" винревью она получила, как щас помню, эффект плавной смены цвета и подгон цвета окон под средний цвет обоев. Примерно так изначально работала автоколоризация в ранних сборках Windows 8.
Что было дальше? Дальше настали темные времена. В недобрый час винревью переставало существовать, унося в иной мир все свои статьи и поделки, Хрюккинен пытался пинать труп, но в итоге сдался сам, да и нараставшая лавина разногласий развела нас с ним в разные углы ринга. То, что осталось от Winreview, уже никогда не будет прежним, да и чёрт с ним. Я ни о чем не жалею.
Home Basic Color Changer дал мне бесценные уроки взаимодействия с аудиторией. Я понял, во-первых, с кем я имею дело, и что мне стоит писать на сайте (а что - не писать). Он показал мне, что 99% домашних пользователей смотрят на приложения, состоящие более чем из одного окошка, как на говно. Если приложение состоит более чем из одного окна - я теряю трафик, посетителей, и интерес целевой аудитории. Такова была специфика старого винревью, и именно от неё я бежал тогда, сжигая мосты, меняя движки сайтов и споря с коллегой по цеху.
Что стало с программой? Оригинал, созданный мной, есть на Winaero. Олег Краснов, мой давний приятель и владелец сайта по оформлению системы Темы для Windows перевел программу на русский язык, с моего разрешения:
Русская версия - это последняя реинкарнация программы, и новых, я думаю, уже не будет.
Опыт разработки, полученный в результате этого долгого пути, для меня бесценен и поныне.
💡Узнавайте о новых статьях быстрее. Подпишитесь на наши каналы в Telegram и Twitter.
Спасибо за труды. Спасибо за ПО, спасибо за ресурс. Все интересно и познавательно. Поверьте, увидев по RSS новый пост с вашего ресурса, в первую очередь «бегу» смотреть о чем он 🙂
Спасибо на добром слове 🙂
Сергей здравствуйте! Может быть напишу банальность и очередной раз вызову Ваше неудовольствие, но Ваша программа Personalization Panel стала для меня лично «родной и необходимой» с момента ее появления и до сегодняшнего дня.
За что Вам СПАСИБО! Поясню в двух словах, почему на моей флешке с горячим софтом, есть и творение ваших рук.
По работе (занимаюсь обслуживанием пк и восстановлением систем, спасением данных и тд) часто сталкивался с таким пожеланием клиентов — вот бы в моей системе работала персонализация… Как Вы понимаете, это был крик души пользователей 7-ки стартовой и домашней базовой.
Благодаря Вам, несколько сотен людей стали счастливее и приобщились к прекрасному :)! Особенно девушки! 🙂
Еще раз СПАСИБО!
Ваши статьи и программы действительно весьма полезны и познавательны. Все написано простым и понятным языком, с толикой юмора и улыбкой. Это здорово! Буду и дальше учиться у Вас, с удовольствием читать Ваши статьи, и использовать Ваши программы!
С уважением, Геннадий.
Спасибо на добром слове!
Надеюсь, и далее останусь для вам полезным 🙂