Проект Колибри
Posted: Thu Mar 15, 2007 11:42 pm
Переписывание ядра это, по моему мнению, отличный момент, чтобы
разработать и внедрить комплексный подход к развитию проекта Колибри.
Без сомнения, проект от этого приобретет более зрелый вид и это позволит
избежать некоторых граблей, случаи наступания на которые другими
командами разработчиков уже известны. С другой стороны, я уверен, вы
заинтересованы в появлении новых разработчиков, тестеров и, наконец,
польсователей.
Я предлагаю обсудить ключевые моменты, что бы определиться как
двигаться дальше. А начинать стоит с простых вещей, хотябы для того,
чтобы понять совпадает ли мнение разработчиков в команде или нет.
1. Что такое Колибри?
Колибри это Операционная Система, написанная на Ассемблере. Факт?
Факт. Но в этом она не уникальна. Она обладает определенным набором
характеристик. Что-то есть, что-то не доделано. А дальше что? И
задавшись этим вопростом, некоторые поймут, что не обладают видением
будущего проекта. Разработка ведется хаотически. Понятно, что при
сравнительно небольшом количестве разработчиков, есть желание сказать
"делайте, что хотите, лишь бы что-то делалось". Но даже приближенная
оценка ситуации текущей и планы на будущее позволят скоординировать
разработку, показать, что действительно сейчас важно написать и какая
работа одного программиста может пригодится другому. Если вы не против
такого удобства, давайте двигаться дальше.
2. Что такое Колибри?
Нет, это не дежавю. Теперь вы видите, что вопрос намного глубже и
шире. Понятно, что если и существовала самоцель написать ОС на голом
Ассемблере, то она себя почти исчерпала. Операционная Система должна
отвечать на определенные требования людей и, исходя из них,
позиционировать себя относительно других программных продуктов. Если
вы смотрите вперед, то понимаете, рано или поздно придется не только
отвечать на вопрос зачем нужна Колибри ВАМ, но и, что более важно,
зачем нужна Колибри другим людям. И ответ на такой вопрос покажет,
какой круг людей может заинтересоваться вашим проектом, кто придет вам
на помошь и кто будет вам так или иначе мешать.
Забегая вперед, я хочу поделиться своими ответами на вопрос, который
уже дважды задал вам.
Колибри это:
а) Учебная среда. Ах этот дух низкоуровнего программирования. У многих
программистов возникает желание попробовать свои силы в разработке ОС.
Колибри может быть предоставлен как живой пример для программ изучения
Ассемблера. Но почему именно Ассемблер? Прикладные программы вполне
могут быть написаны на других языках.
б) Мобильная ОС. Довольно популярными стали так называемые Live OS,
работающие с CD,DVD,Flash. И тут Колибри может смело заявить о своих
преимуществах, имея максимально компактные приложения. Есть
возможность спроектировать защиту на более низком уровне, что сделает
Колибри более надежной средой обитания.
в) Сервер. Колибри может стать сервером (ftp,http,route) с наименьшими
системными требования относительно удобства работы. Как и линуксовым
однодискетным операционкам, Колибри не нужен жесткий диск, но
преимущества перед ними у вас куда более впечатляющие.
Вот три примера, у вас могут быть другие. И, естественно, это будущее,
которое надо закладывать сейчас и работать-работать-работать. В
последнем вас упрекнуть нельзя, видя чего вы уже добились.
3. Ограничения
Когда вы будете определяться с концепцией Колибри, не стесняйте свое
воображение. Но на следующем этапе вам придется трезво просмотреть все
перечисленные вами пункты. Далее прибегну к цитированию методологии
MSF:
"Рамки проекта определяют, что должно быть сделано для реализации
единого видения. Они являются результатом компромисса между
сформулированными целями и условиями реальности и отражают
приоритезацию заказчиком имеющихся требований к создаваемому решению."
В вашем случае заказчиком является как потенциальный пользователь
Колибри, так и каждый из вас в отдельности. Нахождение компромисса
штука сложная, но архинужная. Большое количество проектов умерло от
того, что поставили нереальные цели и надорвались.
Когда появится эта расплывчатая, но впринципе реалистичная картинка,
можно двигаться дальше и разбить проект на стадии. Точнее сказать -
версии. Потребуется все тот же трезвый ум. Главная задача на этом
этапе - опредилить какие функции появятся в ближайшей версии, а какие
будут реализованы в последующих. Причем при оценке значимости, в
первую очередь рекомендуется реализовывать наиболее критические
моменты. Скорее всего тут стоит уже разделять разработку ядра и
прикладных программ в случае, если ими занимаются отдельные люди.
Немаловажным моментом является еще и то, что прежде всего необходимо
обеспечить минимальную функциональность. Оформление и возможность
дополнительных настроек идут на втором плане. Это касается как ядра,
так и каждой программы. Но хорошо бы продумать и оставить, если это
возможно, задатки под будущие изменения. А когда и этот этап останется
позади, многое встанет на свои места. Разработчики GUI смогут
договориться с разработчиками ядра, а разработчики программ с кодерами
GUI. Понятно, что стоит делать сейчас, а что отложить на потом. Все
счастливы.
4. Люди
Дальнейший текс уже будет адресован не столько к нипосредственным
разработчикам, сколько к руководителю или человеку по связям, если
такие имеются )
Определившись с концепцией Колибри, вы поймете, какова будет ваша
целевая аудитория и как с ней работать. А это важно знать, чтобы
понять как заинтересовать и привлечь к себе дополнительные руки. Да и
я уверен, никто не против, чтобы про Колибри узнали многие, верно?
Мало того, нужно, чтобы у них еще и сложилось благоприятное мнение,
т.к. от него зависит число тех, кто реально захочет помочь. В
принципе, относительно вашего проекта люди будут делиться на
заинтересованных, незаинтересованных и отрицательно настроенных.
Поговорим про первых.
Все положительно заинтересованные личности, в свою очередь будут
делиться на программистов, тестеров и пользователей. У всех из них
есть определенные потребности, к которым стоит прислушиваться по ходу
развития любой программы. Пользователям важно, чтобы все было красиво,
понятно и удобно. Тестерам важны появляющиеся в сроки обновления и
возможность сообщать о результатах своих тестов. Программистам же
нужна хорошо и удобно оформленная документация и средства для
разработки.
О документации подробнее немножко. Некоторые ее недооценивают и не
уделяют достаточного внимания, хотя именно документация помогает
избежать многократного появления одних и тех же вопросов. Не исключит
их, конечно, но уменьшит - бесспорно. Как документация составляется?
Либо одним человеком по продукту другого, либо самим автором. Первый
вариан требует детального знания, второй замедляет разработку. Поэтому
я предлагаю вам третий способ, на который я натолкнулся при изучении
.NET. В коде самой программы по ходу ее разработки ставятся
комментарии, уверен, многие уже взяли это за правило. Но некоторые из
таких комментариев должны стать обязательными для образцовой программы
Колибри. Эти особые коментарии, которые помечены маркерами, при
последующей обработке исходника другой программой, могут помочь в
формировании хэлпового файла. Образцом может стать man из юниксовой
среды. Т.е. программа будет строить автоматические хэлп файлы
нипосредственно по исходникам программ и тромбовать где-то у себя или
же в каталогах исходных кодов.
5. Sense & Look
Внешний вид и "дух" Колибри, это еще одно направление для развития.
Место, где развернуться художникам рука об руку с разработчиками GUI.
У Колибри, как и любого другого уважающего себя программного продукта
должен быть свой стиль. Хорошо, если это будет модно и свежо. Моим
видением "духа" Колибри являются три слова:
Живой Легкий Быстрый
Представьте настоящую живую колибри. Она маленькая, юркая, постоянно в
движении. Стекло. Сейчас очень популярен эффект цветного стекла, на
это можно сделать ставку. Не буду вас учить как рисовать GUI, но
дизайнерам очень понравится ОС, в которой можно легко менять внешний
вид окон и контролзов. Все, что я говорил в разделе 5 также касается и
сайта. Сайт должен быть красивым. Я бы даже сказал обязан. Практика
показывает, что от обертки иной раз зависит даже больше, чем от
начинки. Начинку поймешь, только когда попробуешь, а вот, чтобы
человек взял попробовать, нужна привлекательная обертка.
6. Заключение
Я тут много говорил, может и не стоило все вот так сразу, но
накопилось. Над постом посидел не один день, искал, читал,
анализировал. Прошу не воспринимать мои слова как нравоучения. Многое
из этого говорили умные дядьки, которые на таких вещах делают деньги.
За вами всегда остается право прислушиваться или нет, но рано или
поздно проекты дозревают до уровня понимания подобных вещей.. если
преждевременно не разваливаются. Последнего мнебы крайне не хотелось.
В свою очередь, могу оказать помощь, как только определюсь с рамками
моего свободного времени.
Я приглашаю к дискуссии.
разработать и внедрить комплексный подход к развитию проекта Колибри.
Без сомнения, проект от этого приобретет более зрелый вид и это позволит
избежать некоторых граблей, случаи наступания на которые другими
командами разработчиков уже известны. С другой стороны, я уверен, вы
заинтересованы в появлении новых разработчиков, тестеров и, наконец,
польсователей.
Я предлагаю обсудить ключевые моменты, что бы определиться как
двигаться дальше. А начинать стоит с простых вещей, хотябы для того,
чтобы понять совпадает ли мнение разработчиков в команде или нет.
1. Что такое Колибри?
Колибри это Операционная Система, написанная на Ассемблере. Факт?
Факт. Но в этом она не уникальна. Она обладает определенным набором
характеристик. Что-то есть, что-то не доделано. А дальше что? И
задавшись этим вопростом, некоторые поймут, что не обладают видением
будущего проекта. Разработка ведется хаотически. Понятно, что при
сравнительно небольшом количестве разработчиков, есть желание сказать
"делайте, что хотите, лишь бы что-то делалось". Но даже приближенная
оценка ситуации текущей и планы на будущее позволят скоординировать
разработку, показать, что действительно сейчас важно написать и какая
работа одного программиста может пригодится другому. Если вы не против
такого удобства, давайте двигаться дальше.
2. Что такое Колибри?
Нет, это не дежавю. Теперь вы видите, что вопрос намного глубже и
шире. Понятно, что если и существовала самоцель написать ОС на голом
Ассемблере, то она себя почти исчерпала. Операционная Система должна
отвечать на определенные требования людей и, исходя из них,
позиционировать себя относительно других программных продуктов. Если
вы смотрите вперед, то понимаете, рано или поздно придется не только
отвечать на вопрос зачем нужна Колибри ВАМ, но и, что более важно,
зачем нужна Колибри другим людям. И ответ на такой вопрос покажет,
какой круг людей может заинтересоваться вашим проектом, кто придет вам
на помошь и кто будет вам так или иначе мешать.
Забегая вперед, я хочу поделиться своими ответами на вопрос, который
уже дважды задал вам.
Колибри это:
а) Учебная среда. Ах этот дух низкоуровнего программирования. У многих
программистов возникает желание попробовать свои силы в разработке ОС.
Колибри может быть предоставлен как живой пример для программ изучения
Ассемблера. Но почему именно Ассемблер? Прикладные программы вполне
могут быть написаны на других языках.
б) Мобильная ОС. Довольно популярными стали так называемые Live OS,
работающие с CD,DVD,Flash. И тут Колибри может смело заявить о своих
преимуществах, имея максимально компактные приложения. Есть
возможность спроектировать защиту на более низком уровне, что сделает
Колибри более надежной средой обитания.
в) Сервер. Колибри может стать сервером (ftp,http,route) с наименьшими
системными требования относительно удобства работы. Как и линуксовым
однодискетным операционкам, Колибри не нужен жесткий диск, но
преимущества перед ними у вас куда более впечатляющие.
Вот три примера, у вас могут быть другие. И, естественно, это будущее,
которое надо закладывать сейчас и работать-работать-работать. В
последнем вас упрекнуть нельзя, видя чего вы уже добились.
3. Ограничения
Когда вы будете определяться с концепцией Колибри, не стесняйте свое
воображение. Но на следующем этапе вам придется трезво просмотреть все
перечисленные вами пункты. Далее прибегну к цитированию методологии
MSF:
"Рамки проекта определяют, что должно быть сделано для реализации
единого видения. Они являются результатом компромисса между
сформулированными целями и условиями реальности и отражают
приоритезацию заказчиком имеющихся требований к создаваемому решению."
В вашем случае заказчиком является как потенциальный пользователь
Колибри, так и каждый из вас в отдельности. Нахождение компромисса
штука сложная, но архинужная. Большое количество проектов умерло от
того, что поставили нереальные цели и надорвались.
Когда появится эта расплывчатая, но впринципе реалистичная картинка,
можно двигаться дальше и разбить проект на стадии. Точнее сказать -
версии. Потребуется все тот же трезвый ум. Главная задача на этом
этапе - опредилить какие функции появятся в ближайшей версии, а какие
будут реализованы в последующих. Причем при оценке значимости, в
первую очередь рекомендуется реализовывать наиболее критические
моменты. Скорее всего тут стоит уже разделять разработку ядра и
прикладных программ в случае, если ими занимаются отдельные люди.
Немаловажным моментом является еще и то, что прежде всего необходимо
обеспечить минимальную функциональность. Оформление и возможность
дополнительных настроек идут на втором плане. Это касается как ядра,
так и каждой программы. Но хорошо бы продумать и оставить, если это
возможно, задатки под будущие изменения. А когда и этот этап останется
позади, многое встанет на свои места. Разработчики GUI смогут
договориться с разработчиками ядра, а разработчики программ с кодерами
GUI. Понятно, что стоит делать сейчас, а что отложить на потом. Все
счастливы.
4. Люди
Дальнейший текс уже будет адресован не столько к нипосредственным
разработчикам, сколько к руководителю или человеку по связям, если
такие имеются )
Определившись с концепцией Колибри, вы поймете, какова будет ваша
целевая аудитория и как с ней работать. А это важно знать, чтобы
понять как заинтересовать и привлечь к себе дополнительные руки. Да и
я уверен, никто не против, чтобы про Колибри узнали многие, верно?
Мало того, нужно, чтобы у них еще и сложилось благоприятное мнение,
т.к. от него зависит число тех, кто реально захочет помочь. В
принципе, относительно вашего проекта люди будут делиться на
заинтересованных, незаинтересованных и отрицательно настроенных.
Поговорим про первых.
Все положительно заинтересованные личности, в свою очередь будут
делиться на программистов, тестеров и пользователей. У всех из них
есть определенные потребности, к которым стоит прислушиваться по ходу
развития любой программы. Пользователям важно, чтобы все было красиво,
понятно и удобно. Тестерам важны появляющиеся в сроки обновления и
возможность сообщать о результатах своих тестов. Программистам же
нужна хорошо и удобно оформленная документация и средства для
разработки.
О документации подробнее немножко. Некоторые ее недооценивают и не
уделяют достаточного внимания, хотя именно документация помогает
избежать многократного появления одних и тех же вопросов. Не исключит
их, конечно, но уменьшит - бесспорно. Как документация составляется?
Либо одним человеком по продукту другого, либо самим автором. Первый
вариан требует детального знания, второй замедляет разработку. Поэтому
я предлагаю вам третий способ, на который я натолкнулся при изучении
.NET. В коде самой программы по ходу ее разработки ставятся
комментарии, уверен, многие уже взяли это за правило. Но некоторые из
таких комментариев должны стать обязательными для образцовой программы
Колибри. Эти особые коментарии, которые помечены маркерами, при
последующей обработке исходника другой программой, могут помочь в
формировании хэлпового файла. Образцом может стать man из юниксовой
среды. Т.е. программа будет строить автоматические хэлп файлы
нипосредственно по исходникам программ и тромбовать где-то у себя или
же в каталогах исходных кодов.
5. Sense & Look
Внешний вид и "дух" Колибри, это еще одно направление для развития.
Место, где развернуться художникам рука об руку с разработчиками GUI.
У Колибри, как и любого другого уважающего себя программного продукта
должен быть свой стиль. Хорошо, если это будет модно и свежо. Моим
видением "духа" Колибри являются три слова:
Живой Легкий Быстрый
Представьте настоящую живую колибри. Она маленькая, юркая, постоянно в
движении. Стекло. Сейчас очень популярен эффект цветного стекла, на
это можно сделать ставку. Не буду вас учить как рисовать GUI, но
дизайнерам очень понравится ОС, в которой можно легко менять внешний
вид окон и контролзов. Все, что я говорил в разделе 5 также касается и
сайта. Сайт должен быть красивым. Я бы даже сказал обязан. Практика
показывает, что от обертки иной раз зависит даже больше, чем от
начинки. Начинку поймешь, только когда попробуешь, а вот, чтобы
человек взял попробовать, нужна привлекательная обертка.
6. Заключение
Я тут много говорил, может и не стоило все вот так сразу, но
накопилось. Над постом посидел не один день, искал, читал,
анализировал. Прошу не воспринимать мои слова как нравоучения. Многое
из этого говорили умные дядьки, которые на таких вещах делают деньги.
За вами всегда остается право прислушиваться или нет, но рано или
поздно проекты дозревают до уровня понимания подобных вещей.. если
преждевременно не разваливаются. Последнего мнебы крайне не хотелось.
В свою очередь, могу оказать помощь, как только определюсь с рамками
моего свободного времени.
Я приглашаю к дискуссии.