|
История создания DMClient или что новенького?В апреле 2003 года я, удрученный истраченным на чтение форума траффиком, попробовав существующие клиентские программы, но не найдя ту единственную, которая существовала в мечтах, начал писать своего собственного форум-клиента. Планы написать его за выходные почти увенчались успехом - родилась версия 1.0а. Как обычно, после этого ушла почти неделя на то, чтобы сделать более или менее приличный интерфейс и добавить очевидно необходимую функциональность - избранное и локальный поиск, результатом чего стала версия 1.0b. Основная проблема версии 1.0 была связана с методом создания html-страниц для просмотра, что приводило к практически неразрешимым проблемам с навигацией вперед/назад в WebBrowser. Очень скоро я понял, что для этого надо было использовать Asynchronous Pluggable Protocol (APP) [подробности об этом появятся в разделе "Путевые заметки программиста"]. Кроме того, программа была однопотоковой и запрос к серверу этот единственный поток блокировал, со всеми вытекающими последствиями. Исправить было можно, но не хотелось, поскольку было уже ясно, что APP решит эту проблему автоматически. Пользовался я версией 1.0b единолично до июня 2003-го, когда, не смотря на имеющиеся недоработки, я решился предложить программу для общего пользования. Программа неожиданно получила очень теплые отзывы (равно как и bug-репорты и разнообразные хотелки). Вдохновленный теплым приемом, в августе 2003-го я полностью переписал программу с использованием APP. Изменение это очень серьезное, хотя и не заметное для первого взгляда пользователя. Поэтому версия программы была решительно изменена на 2.0a. :) Почитатели программы не замедлили одобрить новую версию программы :) и одновременно вывалили очередную порцию замеченных ошибок и пожеланий. На волне энтузиазма я начал работу над версией 2.0b, надеясь исправить в ней все, что можно быстро исправить и легко реализовать столь желанные любителям браузера Opera интерфейсные улучшения. Но весь мой энтузиазм сгорел в неравной борьбе с функциональностью MDI-окон [опять же, планирую написать об этой борьбе в "Путевых заметках программиста"]. Версия 2.0b так и осталась недоделанной (причем по моей забывчивости все пользовались версией 2.0a с очевидными глюками, которые я исправил сразу же, но, планируя включить все обновления скопом в версию 2.0b, забыл отдать пользователям; грубейшая организационная ошибка...). В феврале 2004-го, благодаря очередному вопросу Nous Mellon-а типа "когда же будет новая версия", эта ошибка вскрылась, а кроме того, я сподвигся на то, чтобы перевести проект на OpenSource-рельсы. Прошло полтора месяца, я уже решил, что пророчество Sir Alex-а о безуспешности идеи OpenSource сбывается, как вдруг в конце марта получил письмо от Gero, который сообщил, что он сделал некоторые изменения в программе. Мы начали совместную работу и после почти полутора месяцев я могу сказать, что сделано очень многое. Конечно, изменения касаются в основном интерфейса программы, но достались они нам тяжелым трудом, и, надеюсь, что пользователи все-таки оценят эту версию программы. Несмотря на затраченные усилия, эта версия получила скромный номер 2.1. |